Add script to generate integrations.json (#13073)
|
@ -42,6 +42,10 @@
|
|||
"type": "string"
|
||||
}
|
||||
},
|
||||
"logo": {
|
||||
"description": "Path to the logo for the integration. The path must start with '/integration-logos/'",
|
||||
"type": "string"
|
||||
},
|
||||
"tags": {
|
||||
"description": "List of tags describing the integration. While we're using RST, only one tag is supported per integration.",
|
||||
"type": "array",
|
||||
|
|
|
@ -27,12 +27,14 @@ versions:
|
|||
integrations:
|
||||
- integration-name: Amazon Athena
|
||||
external-doc-url: https://aws.amazon.com/athena/
|
||||
logo: /integration-logos/aws/Amazon-Athena_light-bg@4x.png
|
||||
tags: [aws]
|
||||
- integration-name: Amazon CloudFormation
|
||||
external-doc-url: https://aws.amazon.com/cloudformation/
|
||||
tags: [aws]
|
||||
- integration-name: Amazon CloudWatch Logs
|
||||
external-doc-url: https://aws.amazon.com/cloudwatch/
|
||||
logo: /integration-logos/aws/Amazon-CloudWatch_light-bg@4x.png
|
||||
tags: [aws]
|
||||
- integration-name: Amazon DataSync
|
||||
external-doc-url: https://aws.amazon.com/datasync/
|
||||
|
@ -41,9 +43,11 @@ integrations:
|
|||
tags: [aws]
|
||||
- integration-name: Amazon DynamoDB
|
||||
external-doc-url: https://aws.amazon.com/dynamodb/
|
||||
logo: /integration-logos/aws/Amazon-DynamoDB_light-bg@4x.png
|
||||
tags: [aws]
|
||||
- integration-name: Amazon EC2
|
||||
external-doc-url: https://aws.amazon.com/ec2/
|
||||
logo: /integration-logos/aws/Amazon-EC2_light-bg@4x.png
|
||||
tags: [aws]
|
||||
- integration-name: Amazon ECS
|
||||
external-doc-url: https://aws.amazon.com/ecs/
|
||||
|
@ -55,6 +59,7 @@ integrations:
|
|||
external-doc-url: https://aws.amazon.com/emr/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-amazon/operators/emr.rst
|
||||
logo: /integration-logos/aws/Amazon-EMR_light-bg@4x.png
|
||||
tags: [aws]
|
||||
- integration-name: Amazon Glacier
|
||||
external-doc-url: https://aws.amazon.com/glacier/
|
||||
|
@ -63,12 +68,15 @@ integrations:
|
|||
tags: [aws]
|
||||
- integration-name: Amazon Kinesis Data Firehose
|
||||
external-doc-url: https://aws.amazon.com/kinesis/data-firehose/
|
||||
logo: /integration-logos/aws/Amazon-Kinesis-Data-Firehose_light-bg@4x.png
|
||||
tags: [aws]
|
||||
- integration-name: Amazon Redshift
|
||||
external-doc-url: https://aws.amazon.com/redshift/
|
||||
logo: /integration-logos/aws/Amazon-Redshift_light-bg@4x.png
|
||||
tags: [aws]
|
||||
- integration-name: Amazon SageMaker
|
||||
external-doc-url: https://aws.amazon.com/sagemaker/
|
||||
logo: /integration-logos/aws/Amazon-SageMaker_light-bg@4x.png
|
||||
tags: [aws]
|
||||
- integration-name: Amazon SecretsManager
|
||||
external-doc-url: https://aws.amazon.com/secrets-manager/
|
||||
|
@ -80,27 +88,33 @@ integrations:
|
|||
tags: [aws]
|
||||
- integration-name: Amazon Simple Notification Service (SNS)
|
||||
external-doc-url: https://aws.amazon.com/sns/
|
||||
logo: /integration-logos/aws/Amazon-Simple-Notification-Service-SNS_light-bg@4x.png
|
||||
tags: [aws]
|
||||
- integration-name: Amazon Simple Queue Service (SQS)
|
||||
external-doc-url: https://aws.amazon.com/sqs/
|
||||
logo: /integration-logos/aws/Amazon-Simple-Queue-Service-SQS_light-bg@4x.png
|
||||
tags: [aws]
|
||||
- integration-name: Amazon Simple Storage Service (S3)
|
||||
external-doc-url: https://aws.amazon.com/s3/
|
||||
logo: /integration-logos/aws/Amazon-Simple-Storage-Service-S3_light-bg@4x.png
|
||||
tags: [aws]
|
||||
- integration-name: Amazon Web Services
|
||||
external-doc-url: https://aws.amazon.com/
|
||||
tags: [aws]
|
||||
- integration-name: AWS Batch
|
||||
external-doc-url: https://aws.amazon.com/batch/
|
||||
logo: /integration-logos/aws/AWS-Batch_light-bg@4x.png
|
||||
tags: [aws]
|
||||
- integration-name: AWS DataSync
|
||||
external-doc-url: https://aws.amazon.com/datasync/
|
||||
tags: [aws]
|
||||
- integration-name: AWS Glue
|
||||
external-doc-url: https://aws.amazon.com/glue/
|
||||
logo: /integration-logos/aws/AWS-Glue_light-bg@4x.png
|
||||
tags: [aws]
|
||||
- integration-name: AWS Lambda
|
||||
external-doc-url: https://aws.amazon.com/lambda/
|
||||
logo: /integration-logos/aws/AWS-Lambda_light-bg@4x.png
|
||||
tags: [aws]
|
||||
- integration-name: AWS Step Functions
|
||||
external-doc-url: https://aws.amazon.com/step-functions/
|
||||
|
|
|
@ -29,6 +29,7 @@ integrations:
|
|||
external-doc-url: http://cassandra.apache.org/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-apache-cassandra/operators.rst
|
||||
logo: /integration-logos/apache/cassandra-3.png
|
||||
tags: [apache]
|
||||
|
||||
sensors:
|
||||
|
|
|
@ -27,6 +27,7 @@ versions:
|
|||
integrations:
|
||||
- integration-name: Apache Druid
|
||||
external-doc-url: https://druid.apache.org/
|
||||
logo: /integration-logos/apache/druid-1.png
|
||||
tags: [apache]
|
||||
|
||||
operators:
|
||||
|
|
|
@ -28,9 +28,11 @@ versions:
|
|||
integrations:
|
||||
- integration-name: Hadoop Distributed File System (HDFS)
|
||||
external-doc-url: https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html
|
||||
logo: /integration-logos/apache/hadoop.png
|
||||
tags: [apache]
|
||||
- integration-name: WebHDFS
|
||||
external-doc-url: https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/WebHDFS.html
|
||||
logo: /integration-logos/apache/hadoop.png
|
||||
tags: [apache]
|
||||
|
||||
sensors:
|
||||
|
|
|
@ -27,6 +27,7 @@ versions:
|
|||
integrations:
|
||||
- integration-name: Apache Hive
|
||||
external-doc-url: https://hive.apache.org/
|
||||
logo: /integration-logos/apache/hive.png
|
||||
tags: [apache]
|
||||
|
||||
operators:
|
||||
|
|
|
@ -26,6 +26,7 @@ versions:
|
|||
integrations:
|
||||
- integration-name: Apache Pig
|
||||
external-doc-url: https://pig.apache.org/
|
||||
logo: /integration-logos/apache/pig.png
|
||||
tags: [apache]
|
||||
|
||||
operators:
|
||||
|
|
|
@ -26,6 +26,7 @@ versions:
|
|||
integrations:
|
||||
- integration-name: Apache Pinot
|
||||
external-doc-url: https://pinot.apache.org/
|
||||
logo: /integration-logos/apache/pinot.png
|
||||
tags: [apache]
|
||||
|
||||
hooks:
|
||||
|
|
|
@ -28,6 +28,7 @@ integrations:
|
|||
external-doc-url: https://spark.apache.org/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-apache-spark/operators.rst
|
||||
logo: /integration-logos/apache/spark.png
|
||||
tags: [apache]
|
||||
|
||||
operators:
|
||||
|
|
|
@ -26,6 +26,7 @@ versions:
|
|||
integrations:
|
||||
- integration-name: Apache Sqoop
|
||||
external-doc-url: https://sqoop.apache.org/
|
||||
logo: /integration-logos/apache/sqoop.png
|
||||
tags: [apache]
|
||||
|
||||
operators:
|
||||
|
|
|
@ -45,6 +45,7 @@ integrations:
|
|||
external-doc-url: https://cloud.google.com/automl/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/automl.rst
|
||||
logo: /integration-logos/gcp/Cloud-AutoML.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google BigQuery Data Transfer Service
|
||||
external-doc-url: https://cloud.google.com/bigquery/transfer/
|
||||
|
@ -55,16 +56,19 @@ integrations:
|
|||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/bigquery.rst
|
||||
external-doc-url: https://cloud.google.com/bigquery/
|
||||
logo: /integration-logos/gcp/BigQuery.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Bigtable
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/bigtable.rst
|
||||
external-doc-url: https://cloud.google.com/bigtable/
|
||||
logo: /integration-logos/gcp/Cloud-Bigtable.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Cloud Build
|
||||
external-doc-url: https://cloud.google.com/cloud-build/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/cloud_build.rst
|
||||
logo: /integration-logos/gcp/Cloud-Build.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Cloud Data Loss Prevention (DLP)
|
||||
external-doc-url: https://cloud.google.com/dlp/
|
||||
|
@ -80,9 +84,11 @@ integrations:
|
|||
external-doc-url: https://cloud.google.com/functions/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/functions.rst
|
||||
logo: /integration-logos/gcp/Cloud-Functions.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Cloud Key Management Service (KMS)
|
||||
external-doc-url: https://cloud.google.com/kms/
|
||||
logo: /integration-logos/gcp/Key-Management-Service.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Cloud Life Sciences
|
||||
external-doc-url: https://cloud.google.com/life-sciences/
|
||||
|
@ -94,6 +100,7 @@ integrations:
|
|||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/cloud_memorystore.rst
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/cloud_memorystore_memcached.rst
|
||||
logo: /integration-logos/gcp/Cloud-Memorystore.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Cloud OS Login
|
||||
external-doc-url: https://cloud.google.com/compute/docs/oslogin/
|
||||
|
@ -102,6 +109,7 @@ integrations:
|
|||
external-doc-url: https://cloud.google.com/pubsub/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/pubsub.rst
|
||||
logo: /integration-logos/gcp/Cloud-PubSub.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Cloud Secret Manager
|
||||
external-doc-url: https://cloud.google.com/secret-manager/
|
||||
|
@ -110,17 +118,20 @@ integrations:
|
|||
external-doc-url: https://cloud.google.com/spanner/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/spanner.rst
|
||||
logo: /integration-logos/gcp/Cloud-Spanner.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Cloud Speech-to-Text
|
||||
external-doc-url: https://cloud.google.com/speech-to-text/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/speech_to_text.rst
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/translate_speech.rst
|
||||
logo: /integration-logos/gcp/Cloud-Speech-to-Text.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Cloud SQL
|
||||
external-doc-url: https://cloud.google.com/sql/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/cloud_sql.rst
|
||||
logo: /integration-logos/gcp/Cloud-SQL.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Cloud Stackdriver
|
||||
external-doc-url: https://cloud.google.com/stackdriver
|
||||
|
@ -131,36 +142,43 @@ integrations:
|
|||
external-doc-url: https://cloud.google.com/gcs/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/gcs.rst
|
||||
logo: /integration-logos/gcp/Cloud-Storage.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Cloud Tasks
|
||||
external-doc-url: https://cloud.google.com/tasks/
|
||||
logo: /integration-logos/gcp/Cloud-Tasks.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Cloud Text-to-Speech
|
||||
external-doc-url: https://cloud.google.com/text-to-speech/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/text_to_speech.rst
|
||||
logo: /integration-logos/gcp/Cloud-Text-to-Speech.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Cloud Translation
|
||||
external-doc-url: https://cloud.google.com/translate/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/translate.rst
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/translate_speech.rst
|
||||
logo: /integration-logos/gcp/Cloud-Translation-API.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Cloud Video Intelligence
|
||||
external-doc-url: https://cloud.google.com/video_intelligence/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/video_intelligence.rst
|
||||
logo: /integration-logos/gcp/Cloud-Video-Intelligence-API.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Cloud Vision
|
||||
external-doc-url: https://cloud.google.com/vision/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/vision.rst
|
||||
logo: /integration-logos/gcp/Cloud-Vision-API.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Compute Engine
|
||||
external-doc-url: https://cloud.google.com/compute/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/compute.rst
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/compute_ssh.rst
|
||||
logo: /integration-logos/gcp/Compute-Engine.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Data Proc
|
||||
external-doc-url: https://cloud.yandex.com/services/data-proc
|
||||
|
@ -172,6 +190,7 @@ integrations:
|
|||
tags: [gcp]
|
||||
- integration-name: Google Dataflow
|
||||
external-doc-url: https://cloud.google.com/dataflow/
|
||||
logo: /integration-logos/gcp/Cloud-Dataflow.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Data Fusion
|
||||
external-doc-url: https://cloud.google.com/data-fusion/
|
||||
|
@ -187,11 +206,13 @@ integrations:
|
|||
external-doc-url: https://cloud.google.com/dataproc/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/dataproc.rst
|
||||
logo: /integration-logos/gcp/Cloud-Dataproc.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Datastore
|
||||
external-doc-url: https://cloud.google.com/datastore/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/datastore.rst
|
||||
logo: /integration-logos/gcp/Cloud-Datastore.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Deployment Manager
|
||||
external-doc-url: https://cloud.google.com/deployment-manager/
|
||||
|
@ -235,21 +256,25 @@ integrations:
|
|||
external-doc-url: https://cloud.google.com/storage/transfer/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/cloud_storage_transfer_service.rst
|
||||
logo: /integration-logos/gcp/Cloud-Storage.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Kubernetes Engine
|
||||
external-doc-url: https://cloud.google.com/kubernetes_engine/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/kubernetes_engine.rst
|
||||
logo: /integration-logos/gcp/Kubernetes-Engine.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Machine Learning Engine
|
||||
external-doc-url: https://cloud.google.com/ai-platform/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/mlengine.rst
|
||||
logo: /integration-logos/gcp/AI-Platform.png
|
||||
tags: [gcp]
|
||||
- integration-name: Google Cloud Natural Language
|
||||
external-doc-url: https://cloud.google.com/natural-language/
|
||||
how-to-guide:
|
||||
- /docs/apache-airflow-providers-google/operators/cloud/natural_language.rst
|
||||
logo: /integration-logos/gcp/Cloud-NLP.png
|
||||
tags: [gcp]
|
||||
|
||||
operators:
|
||||
|
|
|
@ -30,21 +30,26 @@ integrations:
|
|||
tags: [azure]
|
||||
- integration-name: Microsoft Azure Blob Storage
|
||||
external-doc-url: https://azure.microsoft.com/en-us/services/storage/blobs/
|
||||
logo: /integration-logos/azure/Blob Storage.svg
|
||||
tags: [azure]
|
||||
- integration-name: Microsoft Azure Container Instances
|
||||
external-doc-url: https://azure.microsoft.com/en-us/services/container-instances/
|
||||
logo: /integration-logos/azure/Container Instances.svg
|
||||
tags: [azure]
|
||||
- integration-name: Microsoft Azure Cosmos DB
|
||||
external-doc-url: https://azure.microsoft.com/en-us/services/cosmos-db/
|
||||
logo: /integration-logos/azure/Azure Cosmos DB.svg
|
||||
tags: [azure]
|
||||
- integration-name: Microsoft Azure Data Explorer
|
||||
external-doc-url: https://azure.microsoft.com/en-us/services/data-explorer/
|
||||
tags: [azure]
|
||||
- integration-name: Microsoft Azure Data Lake Storage
|
||||
external-doc-url: https://azure.microsoft.com/en-us/services/storage/data-lake-storage/
|
||||
logo: /integration-logos/azure/Data Lake Storage.svg
|
||||
tags: [azure]
|
||||
- integration-name: Microsoft Azure Files
|
||||
external-doc-url: https://azure.microsoft.com/en-us/services/storage/files/
|
||||
logo: /integration-logos/azure/Azure Files.svg
|
||||
tags: [azure]
|
||||
- integration-name: Microsoft Azure FileShare
|
||||
external-doc-url: https://cloud.google.com/storage/
|
||||
|
|
После Ширина: | Высота: | Размер: 86 KiB |
После Ширина: | Высота: | Размер: 28 KiB |
После Ширина: | Высота: | Размер: 51 KiB |
После Ширина: | Высота: | Размер: 139 KiB |
После Ширина: | Высота: | Размер: 110 KiB |
После Ширина: | Высота: | Размер: 26 KiB |
После Ширина: | Высота: | Размер: 65 KiB |
После Ширина: | Высота: | Размер: 42 KiB |
После Ширина: | Высота: | Размер: 7.1 KiB |
После Ширина: | Высота: | Размер: 4.3 KiB |
После Ширина: | Высота: | Размер: 4.2 KiB |
После Ширина: | Высота: | Размер: 10 KiB |
После Ширина: | Высота: | Размер: 7.1 KiB |
После Ширина: | Высота: | Размер: 7.4 KiB |
После Ширина: | Высота: | Размер: 2.1 KiB |
После Ширина: | Высота: | Размер: 9.2 KiB |
После Ширина: | Высота: | Размер: 5.1 KiB |
После Ширина: | Высота: | Размер: 6.2 KiB |
После Ширина: | Высота: | Размер: 7.5 KiB |
Двоичные данные
docs/integration-logos/aws/Amazon-Simple-Notification-Service-SNS_light-bg@4x.png
Normal file
После Ширина: | Высота: | Размер: 7.9 KiB |
Двоичные данные
docs/integration-logos/aws/Amazon-Simple-Queue-Service-SQS_light-bg@4x.png
Normal file
После Ширина: | Высота: | Размер: 8.6 KiB |
Двоичные данные
docs/integration-logos/aws/Amazon-Simple-Storage-Service-S3_light-bg@4x.png
Normal file
После Ширина: | Высота: | Размер: 7.1 KiB |
|
@ -0,0 +1,11 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" class="fxs-portal-svg" id="FxSymbol0-0fb" role="presentation" viewBox="0 0 23.981 22" focusable="false" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<g>
|
||||
<title/>
|
||||
<title>Cosmos_DB_2</title>
|
||||
<path class="msportalfx-svg-c15" fill="#59b4d9" d="M 19.8 9.8 A 7.98 7.98 0 1 1 10.3 4 a 7.95 7.95 0 0 1 9.5 5.8 Z"/>
|
||||
<path class="msportalfx-svg-c01" opacity="0.5" fill="#ffffff" d="M 11 14.9 a 2.112 2.112 0 0 0 -2.1 -2.1 h -0.4 A 2.015 2.015 0 0 0 7 10.3 H 4.4 a 7.8 7.8 0 0 0 1.9 6.8 h 2.6 a 2.2 2.2 0 0 0 2.1 -2.2 Z m 2.6 -8.7 v 0.4 h -0.9 a 2.2 2.2 0 0 0 0 4.4 H 20 a 7.624 7.624 0 0 0 -4.1 -6.2 H 15 a 1.367 1.367 0 0 0 -1.4 1.4 Z m 6.4 6.3 h -4.3 a 1.793 1.793 0 0 0 -1.8 1.8 a 2.92 2.92 0 0 0 0.2 0.9 a 1.812 1.812 0 0 0 -1.2 2.2 a 1.631 1.631 0 0 0 1.7 1.2 h 1.2 a 7.947 7.947 0 0 0 4.2 -6.1 Z"/>
|
||||
<path class="msportalfx-svg-c13" fill="#b8d432" d="M 3.2 6.4 a 0.215 0.215 0 0 1 -0.2 -0.2 A 2.8 2.8 0 0 0 0.2 3.4 c -0.1 0.1 -0.2 -0.1 -0.2 -0.2 A 0.215 0.215 0 0 1 0.2 3 A 2.8 2.8 0 0 0 3 0.2 c 0 -0.2 0.1 -0.2 0.2 -0.2 s 0.3 0 0.3 0.2 A 2.8 2.8 0 0 0 6.3 3 a 0.2 0.2 0 0 1 0 0.4 a 2.8 2.8 0 0 0 -2.8 2.8 c 0 0.1 -0.1 0.2 -0.3 0.2 Z"/>
|
||||
<path class="msportalfx-svg-c15" fill="#59b4d9" d="M 20.3 22 c -0.1 0 -0.1 0 -0.1 -0.1 a 1.666 1.666 0 0 0 -1.7 -1.6 c -0.1 0 -0.1 0 -0.1 -0.1 s 0 -0.1 0.1 -0.1 a 1.735 1.735 0 0 0 1.7 -1.6 c 0 -0.1 0 -0.1 0.1 -0.1 s 0.1 0 0.1 0.1 a 1.666 1.666 0 0 0 1.7 1.6 c 0.1 0 0.1 0 0.1 0.1 s 0 0.1 -0.1 0.1 a 1.735 1.735 0 0 0 -1.7 1.6 c 0.1 0.1 0 0.1 -0.1 0.1 Z"/>
|
||||
<path d="M 23.7 4.6 c -0.8 -1.2 -2.6 -1.5 -5.5 -0.8 a 19.752 19.752 0 0 0 -2.6 0.8 a 7.837 7.837 0 0 1 1.5 1 c 0.5 -0.1 1 -0.3 1.4 -0.4 a 9.079 9.079 0 0 1 2.3 -0.3 c 0.9 0 1.4 0.2 1.6 0.5 c 0.3 0.5 0 1.7 -1.6 3.6 a 9.428 9.428 0 0 1 -1 1 a 34.078 34.078 0 0 1 -6 4.6 A 27.9 27.9 0 0 1 7 17.7 c -2.9 0.9 -4.9 0.9 -5.3 0.2 s 0.4 -2.5 2.6 -4.6 a 11.019 11.019 0 0 1 -0.2 -1.8 C 0.7 14.6 -0.4 17.3 0.4 18.7 a 3.51 3.51 0 0 0 3 1.2 a 15.047 15.047 0 0 0 5.1 -1.1 a 33.625 33.625 0 0 0 6 -3 a 41.869 41.869 0 0 0 5.4 -4 a 17.044 17.044 0 0 0 1.9 -1.9 c 2 -2.3 2.6 -4.1 1.9 -5.3 Z"/>
|
||||
</g>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 2.1 KiB |
|
@ -0,0 +1,8 @@
|
|||
<svg data-slug-id="storage-files" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" class="fxs-portal-svg" id="FxSymbol0-05f" role="presentation" focusable="false" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<path fill="#A0A1A2" d="M0,45.1c0,1,0.8,1.9,1.8,1.9h46.3c1,0,1.9-0.8,1.9-1.9V12H0V45.1z"></path>
|
||||
<path fill="#7A7A7A" d="M48.1,4.1H1.8C0.8,4.1,0,5,0,6v6h50V6c0-1-0.8-1.6-1.9-1.6"></path>
|
||||
<rect x="4" y="25.5" fill="#B8D432" width="42" height="7"></rect>
|
||||
<rect x="4" y="15" fill="#FFFFFF" width="42" height="7"></rect>
|
||||
<rect x="4" y="36" fill="#B8D432" width="42" height="7"></rect>
|
||||
<path opacity="0.2" fill="#FFFFFF" d="M2,4C0.9,4,0,4.9,0,6v7.3v3.3v28c0,1.1,0.9,2,2,2h2.2L43.6,4H2z"></path>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 710 B |
|
@ -0,0 +1,9 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="fxs-portal-svg" id="FxSymbol0-05f" role="presentation" viewBox="0 0 50 50" focusable="false">
|
||||
<path fill="#A0A1A2" d="M0,44.8c0,1,0.8,1.9,1.8,1.9h46.3c1,0,1.9-0.8,1.9-1.9l0-33.1H0V44.8z"/>
|
||||
<path fill="#7A7A7A" d="M48.1,4H1.8C0.8,4,0,4.9,0,5.9v5.7h50l0-5.7C50,4.9,49.2,4,48.1,4"/>
|
||||
<rect x="3.7" y="15.1" fill="#0072C6" width="20.4" height="13"/>
|
||||
<rect x="3.7" y="29.9" fill="#0072C6" width="20.4" height="13"/>
|
||||
<rect x="25.9" y="15.1" fill="#FFFFFF" width="20.3" height="13"/>
|
||||
<rect x="25.9" y="29.9" fill="#0072C6" width="20.3" height="13"/>
|
||||
<path opacity="0.2" fill="#FFFFFF" d="M2,4C0.9,4,0,4.9,0,6v7.3v3.3v28c0,1.1,0.9,2,2,2h2.2L43.6,4H2z"/>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 742 B |
|
@ -0,0 +1,9 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" class="fxs-portal-svg" id="FxSymbol0-05f" role="presentation" viewBox="0 0 50 50" focusable="false" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<g>
|
||||
<title/>
|
||||
<path class="msportalfx-svg-c15" fill="#59b4d9" d="M 42 11.318 C 41.64 4.74 36.015 -0.301 29.437 0.059 A 11.926 11.926 0 0 0 20.4 5.011 a 9.444 9.444 0 0 0 -14.932 9.8 A 8.97 8.97 0 0 0 9.164 31.95 h 30.378 c 5.779 -0.003 10.461 -4.689 10.458 -10.468 a 10.463 10.463 0 0 0 -8 -10.164 Z"/>
|
||||
<path class="msportalfx-svg-c17" fill="#804998" d="M 13.1 21.95 a 1 1 0 0 0 -1 1 v 26 a 1 1 0 0 0 1 1 h 24 a 1 1 0 0 0 1 -1 v -26 a 1 1 0 0 0 -1 -1 h -24 Z"/>
|
||||
<path class="msportalfx-svg-c01" fill="#ffffff" d="M 23.1 21.95 v -7 h -3 l 5 -7 l 5 7 h -3 v 7 Z m 10 3 h -18 v 22 h 20 v -22 h -2 Z"/>
|
||||
<path class="msportalfx-svg-c17" fill="#804998" d="M 17.067 26.95 h 4 v 18 h -4 Z m 6 0 h 4 v 18 h -4 Z m 6 0 h 4 v 18 h -4 Z"/>
|
||||
</g>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 962 B |
|
@ -0,0 +1,37 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="fxs-portal-svg" id="FxSymbol0-05f" role="presentation" viewBox="0 0 50 50" focusable="false">
|
||||
<path fill="#3E3E3E" d="M44,50H6c-3.314,0-6-2.686-6-6V8h50v36C50,47.314,47.314,50,44,50z"/>
|
||||
<path fill="#804998" d="M41.45,37c-2.235,0-4.16-0.953-5.038-2.326c-0.195-0.305-0.631-0.306-0.827-0.002
|
||||
C34.699,36.046,32.757,37,30.5,37c-2.258,0-4.202-0.956-5.087-2.331c-0.195-0.304-0.631-0.304-0.826,0
|
||||
C23.702,36.044,21.758,37,19.5,37c-2.255,0-4.196-0.952-5.082-2.324c-0.197-0.305-0.633-0.303-0.828,0.003
|
||||
C12.717,36.049,10.812,37,8.6,37c-1.491,0-2.841-0.432-3.831-1.133C4.446,35.639,4,35.893,4,36.288V46h42V35.287
|
||||
C44.997,36.322,43.334,37,41.45,37z"/>
|
||||
<path opacity="0.1" fill="#FFFFFF" enable-background="new " d="M41.45,37c-2.235,0-4.16-0.953-5.038-2.326
|
||||
c-0.195-0.305-0.631-0.306-0.827-0.002C34.699,36.046,32.757,37,30.5,37c-2.258,0-4.202-0.956-5.087-2.331
|
||||
c-0.195-0.304-0.631-0.304-0.826,0C23.702,36.044,21.758,37,19.5,37c-2.255,0-4.196-0.952-5.082-2.324
|
||||
c-0.197-0.305-0.633-0.303-0.828,0.003C12.717,36.049,10.812,37,8.6,37c-1.491,0-2.841-0.432-3.831-1.133
|
||||
C4.446,35.639,4,35.893,4,36.288V46h42V35.287C44.997,36.322,43.334,37,41.45,37z"/>
|
||||
<path opacity="0.2" fill="#FFFFFF" enable-background="new " d="M41.45,37c-2.235,0-4.16-0.953-5.038-2.326
|
||||
c-0.195-0.305-0.631-0.306-0.827-0.002C34.699,36.046,32.757,37,30.5,37c-2.258,0-4.202-0.956-5.087-2.331
|
||||
c-0.195-0.304-0.631-0.304-0.826,0C23.702,36.044,21.758,37,19.5,37c-2.255,0-4.196-0.952-5.082-2.324
|
||||
c-0.197-0.305-0.633-0.303-0.828,0.003C12.717,36.049,10.812,37,8.6,37c-1.491,0-2.841-0.432-3.831-1.133
|
||||
C4.446,35.639,4,35.893,4,36.288v1.901C4.982,39.279,6.674,40,8.6,40c2.687,0,4.92-1.402,5.401-3.254
|
||||
C14.49,38.598,16.764,40,19.5,40c2.738,0,5.013-1.404,5.5-3.258C25.487,38.596,27.762,40,30.5,40c2.737,0,5.011-1.403,5.5-3.256
|
||||
C36.484,38.597,38.738,40,41.45,40c1.885,0,3.547-0.678,4.55-1.713v-3C44.997,36.322,43.334,37,41.45,37z"/>
|
||||
<path fill="#59B4D9" d="M41.45,7c-2.235,0-4.16-0.953-5.038-2.326c-0.195-0.305-0.631-0.306-0.827-0.002
|
||||
C34.699,6.046,32.757,7,30.5,7c-2.258,0-4.202-0.956-5.087-2.331c-0.195-0.304-0.631-0.304-0.826,0C23.702,6.044,21.758,7,19.5,7
|
||||
c-2.255,0-4.196-0.952-5.082-2.324c-0.197-0.305-0.633-0.303-0.828,0.003C12.717,6.049,10.812,7,8.6,7
|
||||
C7.109,7,5.759,6.568,4.769,5.867C4.446,5.639,4,5.893,4,6.288V16h42V6.349c0-0.391-0.438-0.647-0.762-0.428
|
||||
C44.247,6.59,42.916,7,41.45,7z"/>
|
||||
<path fill="#B8D432" d="M41.45,22c-2.235,0-4.16-0.953-5.038-2.326c-0.195-0.305-0.631-0.306-0.827-0.002
|
||||
C34.699,21.046,32.757,22,30.5,22c-2.258,0-4.202-0.956-5.087-2.331c-0.195-0.304-0.631-0.304-0.826,0
|
||||
C23.702,21.044,21.758,22,19.5,22c-2.255,0-4.196-0.952-5.082-2.324c-0.197-0.305-0.633-0.303-0.828,0.003
|
||||
C12.717,21.049,10.812,22,8.6,22c-1.491,0-2.841-0.432-3.831-1.133C4.446,20.639,4,20.893,4,21.288V31h42V20.287
|
||||
C44.997,21.322,43.334,22,41.45,22z"/>
|
||||
<path opacity="0.2" fill="#FFFFFF" enable-background="new " d="M41.45,22c-2.235,0-4.16-0.953-5.038-2.326
|
||||
c-0.195-0.305-0.631-0.306-0.827-0.002C34.699,21.046,32.757,22,30.5,22c-2.258,0-4.202-0.956-5.087-2.331
|
||||
c-0.195-0.304-0.631-0.304-0.826,0C23.702,21.044,21.758,22,19.5,22c-2.255,0-4.196-0.952-5.082-2.324
|
||||
c-0.197-0.305-0.633-0.303-0.828,0.003C12.717,21.049,10.812,22,8.6,22c-1.491,0-2.841-0.432-3.831-1.133
|
||||
C4.446,20.639,4,20.893,4,21.288v1.901C4.982,24.279,6.674,25,8.6,25c2.687,0,4.92-1.402,5.401-3.254
|
||||
C14.49,23.598,16.764,25,19.5,25c2.738,0,5.013-1.404,5.5-3.258C25.487,23.596,27.762,25,30.5,25c2.737,0,5.011-1.403,5.5-3.256
|
||||
C36.484,23.597,38.738,25,41.45,25c1.885,0,3.547-0.678,4.55-1.713v-3C44.997,21.322,43.334,22,41.45,22z"/>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 3.6 KiB |
После Ширина: | Высота: | Размер: 6.1 KiB |
После Ширина: | Высота: | Размер: 6.1 KiB |
После Ширина: | Высота: | Размер: 6.0 KiB |
После Ширина: | Высота: | Размер: 8.2 KiB |
После Ширина: | Высота: | Размер: 6.9 KiB |
После Ширина: | Высота: | Размер: 7.2 KiB |
После Ширина: | Высота: | Размер: 7.1 KiB |
После Ширина: | Высота: | Размер: 4.3 KiB |
После Ширина: | Высота: | Размер: 4.9 KiB |
После Ширина: | Высота: | Размер: 4.1 KiB |
После Ширина: | Высота: | Размер: 3.7 KiB |
После Ширина: | Высота: | Размер: 6.6 KiB |
После Ширина: | Высота: | Размер: 6.5 KiB |
После Ширина: | Высота: | Размер: 5.8 KiB |
После Ширина: | Высота: | Размер: 3.7 KiB |
После Ширина: | Высота: | Размер: 4.1 KiB |
После Ширина: | Высота: | Размер: 17 KiB |
После Ширина: | Высота: | Размер: 4.9 KiB |
После Ширина: | Высота: | Размер: 6.5 KiB |
После Ширина: | Высота: | Размер: 5.7 KiB |
После Ширина: | Высота: | Размер: 5.7 KiB |
После Ширина: | Высота: | Размер: 4.7 KiB |
После Ширина: | Высота: | Размер: 6.9 KiB |
После Ширина: | Высота: | Размер: 6.8 KiB |
|
@ -271,6 +271,7 @@ def check_invalid_integration(yaml_files: Dict[str, Dict]):
|
|||
def check_doc_files(yaml_files: Dict[str, Dict]):
|
||||
print("Checking doc files")
|
||||
current_doc_urls = []
|
||||
current_logo_urls = []
|
||||
for provider in yaml_files.values():
|
||||
if 'integrations' in provider:
|
||||
current_doc_urls.extend(
|
||||
|
@ -279,6 +280,9 @@ def check_doc_files(yaml_files: Dict[str, Dict]):
|
|||
if 'how-to-guide' in guides
|
||||
for guide in guides['how-to-guide']
|
||||
)
|
||||
current_logo_urls.extend(
|
||||
integration['logo'] for integration in provider['integrations'] if 'logo' in integration
|
||||
)
|
||||
if 'transfers' in provider:
|
||||
current_doc_urls.extend(
|
||||
op['how-to-guide'] for op in provider['transfers'] if 'how-to-guide' in op
|
||||
|
@ -293,9 +297,15 @@ def check_doc_files(yaml_files: Dict[str, Dict]):
|
|||
"/docs/" + os.path.relpath(f, start=DOCS_DIR)
|
||||
for f in glob(f"{DOCS_DIR}/apache-airflow-providers-*/operators.rst", recursive=True)
|
||||
}
|
||||
expected_logo_urls = {
|
||||
"/" + os.path.relpath(f, start=DOCS_DIR)
|
||||
for f in glob(f"{DOCS_DIR}/integration-logos/**/*", recursive=True)
|
||||
if os.path.isfile(f)
|
||||
}
|
||||
|
||||
try:
|
||||
assert_sets_equal(set(expected_doc_urls), set(current_doc_urls))
|
||||
assert_sets_equal(set(expected_logo_urls), set(current_logo_urls))
|
||||
except AssertionError as ex:
|
||||
print(ex)
|
||||
sys.exit(1)
|
||||
|
|
|
@ -0,0 +1,84 @@
|
|||
#!/usr/bin/env python
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
|
||||
# pylint: disable=no-name-in-module
|
||||
from docs.exts.provider_yaml_utils import load_package_data
|
||||
|
||||
# pylint: enable=no-name-in-module
|
||||
|
||||
AIRFLOW_SITE_DIR = os.environ.get('AIRFLOW_SITE_DIRECTORY')
|
||||
ROOT_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, os.pardir))
|
||||
DOCS_DIR = os.path.join(ROOT_DIR, 'docs')
|
||||
|
||||
if __name__ != "__main__":
|
||||
raise SystemExit(
|
||||
"This file is intended to be executed as an executable program. You cannot use it as a module."
|
||||
"To run this script, run the ./generate-integrations-json.py command"
|
||||
)
|
||||
|
||||
if not (
|
||||
AIRFLOW_SITE_DIR
|
||||
and os.path.isdir(AIRFLOW_SITE_DIR)
|
||||
and os.path.isdir(os.path.join(AIRFLOW_SITE_DIR, 'docs-archive'))
|
||||
):
|
||||
raise SystemExit(
|
||||
'Before using this script, set the environment variable AIRFLOW_SITE_DIRECTORY. This variable '
|
||||
'should contain the path to the airflow-site repository directory. '
|
||||
'${AIRFLOW_SITE_DIRECTORY}/docs-archive must exists.'
|
||||
)
|
||||
|
||||
ALL_PROVIDER_YAMLS = load_package_data()
|
||||
|
||||
result_integrations = []
|
||||
for provider_info in ALL_PROVIDER_YAMLS:
|
||||
for integration in provider_info.get('integrations', []):
|
||||
doc_url = integration.get("how-to-guide")
|
||||
if doc_url:
|
||||
doc_url = doc_url[0].strip()
|
||||
doc_url = re.sub(f'/{provider_info["package-name"]}/', r"\g<0>stable/", doc_url)
|
||||
doc_url = re.sub(r'\.rst', '.html', doc_url)
|
||||
else:
|
||||
doc_url = f"/docs/{provider_info['package-name'].lower()}/stable/index.html"
|
||||
logo = integration.get("logo")
|
||||
|
||||
result = {
|
||||
'name': integration['integration-name'],
|
||||
'url': doc_url,
|
||||
}
|
||||
if logo:
|
||||
result['logo'] = logo
|
||||
result_integrations.append(result)
|
||||
|
||||
result_integrations = sorted(result_integrations, key=lambda x: x['name'])
|
||||
with open(os.path.join(AIRFLOW_SITE_DIR, 'landing-pages/site/static/integrations.json'), 'w') as f:
|
||||
f.write(
|
||||
json.dumps(
|
||||
result_integrations,
|
||||
indent=4,
|
||||
)
|
||||
)
|
||||
|
||||
shutil.copytree(
|
||||
src=os.path.join(DOCS_DIR, 'integration-logos'),
|
||||
dst=os.path.join(AIRFLOW_SITE_DIR, 'landing-pages/site/static/integration-logos'),
|
||||
dirs_exist_ok=True,
|
||||
)
|