action superset_post_database { label: "post_database" description: "Create a new Database." provider: superset method: POST path: "/database/" encoding: json input: { type: "object" required: ["database_name"] properties: { allow_csv_upload: { type: "boolean" description: "Allow to upload CSV file data into this databaseIf selected, please set the schemas allowed for csv upload in Extra." } allow_ctas: { type: "boolean" description: "Allow CREATE TABLE AS option in SQL Lab" } allow_cvas: { type: "boolean" description: "Allow CREATE VIEW AS option in SQL Lab" } allow_dml: { type: "boolean" description: "Allow users to run non-SELECT statements (UPDATE, DELETE, CREATE, ...) in SQL Lab" } allow_multi_schema_metadata_fetch: { type: "boolean" description: "Allow SQL Lab to fetch a list of all tables and all views across all database schemas. For large data warehouse with thousands of tables, this can be expensive and put strain on the system." } allow_run_async: { type: "boolean" description: "Operate the database in asynchronous mode, meaning that the queries are executed on remote workers as opposed to on the web server itself. This assumes that you have a Celery worker setup as well as a results backend. Refer to the installation docs for more information." } cache_timeout: { type: "integer" format: "int32" description: "Duration (in seconds) of the caching timeout for charts of this database. A timeout of 0 indicates that the cache never expires. Note this defaults to the global timeout if undefined." } configuration_method: { description: "Configuration_method is used on the frontend to inform the backend whether to explode parameters or to provide only a sqlalchemy_uri." type: "object" } database_name: { type: "string" description: "A database name to identify this connection." } encrypted_extra: { type: "string" description: "

JSON string containing additional connection configuration.
This is used to provide connection information for systems like Hive, Presto, and BigQuery, which do not conform to the username:password syntax normally used by SQLAlchemy.

" } engine: { type: "string" description: "SQLAlchemy engine to use" } expose_in_sqllab: { type: "boolean" description: "Expose this database to SQLLab" } extra: { type: "string" description: "

JSON string containing extra configuration elements.
1. The engine_params object gets unpacked into the sqlalchemy.create_engine call, while the metadata_params gets unpacked into the sqlalchemy.MetaData call.
2. The metadata_cache_timeout is a cache timeout setting in seconds for metadata fetch of this database. Specify it as \"metadata_cache_timeout\": {\"schema_cache_timeout\": 600, \"table_cache_timeout\": 600}. If unset, cache will not be enabled for the functionality. A timeout of 0 indicates that the cache never expires.
3. The schemas_allowed_for_csv_upload is a comma separated list of schemas that CSVs are allowed to upload to. Specify it as \"schemas_allowed_for_csv_upload\": [\"public\", \"csv_upload\"]. If database flavor does not support schema or any schema is allowed to be accessed, just leave the list empty
4. the version field is a string specifying the this db's version. This should be used with Presto DBs so that the syntax is correct
5. The allows_virtual_table_explore field is a boolean specifying whether or not the Explore button in SQL Lab results is shown.

" } force_ctas_schema: { type: "string" description: "When allowing CREATE TABLE AS option in SQL Lab, this option forces the table to be created in this schema" } impersonate_user: { type: "boolean" description: "If Presto, all the queries in SQL Lab are going to be executed as the currently logged on user who must have permission to run them.
If Hive and hive.server2.enable.doAs is enabled, will run the queries as service account, but impersonate the currently logged on user via hive.server2.proxy.user property." } parameters: { type: "object" description: "DB-specific parameters for configuration" } server_cert: { type: "string" description: "

Optional CA_BUNDLE contents to validate HTTPS requests. Only available on certain database engines.

" } sqlalchemy_uri: { type: "string" description: "

Refer to the SqlAlchemy docs for more information on how to structure your URI.

" } } } output: { type: "object" properties: { id: { type: "number" } result: { type: "object" required: ["database_name"] properties: { allow_csv_upload: { type: "boolean" description: "Allow to upload CSV file data into this databaseIf selected, please set the schemas allowed for csv upload in Extra." } allow_ctas: { type: "boolean" description: "Allow CREATE TABLE AS option in SQL Lab" } allow_cvas: { type: "boolean" description: "Allow CREATE VIEW AS option in SQL Lab" } allow_dml: { type: "boolean" description: "Allow users to run non-SELECT statements (UPDATE, DELETE, CREATE, ...) in SQL Lab" } allow_multi_schema_metadata_fetch: { type: "boolean" description: "Allow SQL Lab to fetch a list of all tables and all views across all database schemas. For large data warehouse with thousands of tables, this can be expensive and put strain on the system." } allow_run_async: { type: "boolean" description: "Operate the database in asynchronous mode, meaning that the queries are executed on remote workers as opposed to on the web server itself. This assumes that you have a Celery worker setup as well as a results backend. Refer to the installation docs for more information." } cache_timeout: { type: "integer" format: "int32" description: "Duration (in seconds) of the caching timeout for charts of this database. A timeout of 0 indicates that the cache never expires. Note this defaults to the global timeout if undefined." } configuration_method: { description: "Configuration_method is used on the frontend to inform the backend whether to explode parameters or to provide only a sqlalchemy_uri." type: "object" } database_name: { type: "string" description: "A database name to identify this connection." } encrypted_extra: { type: "string" description: "

JSON string containing additional connection configuration.
This is used to provide connection information for systems like Hive, Presto, and BigQuery, which do not conform to the username:password syntax normally used by SQLAlchemy.

" } engine: { type: "string" description: "SQLAlchemy engine to use" } expose_in_sqllab: { type: "boolean" description: "Expose this database to SQLLab" } extra: { type: "string" description: "

JSON string containing extra configuration elements.
1. The engine_params object gets unpacked into the sqlalchemy.create_engine call, while the metadata_params gets unpacked into the sqlalchemy.MetaData call.
2. The metadata_cache_timeout is a cache timeout setting in seconds for metadata fetch of this database. Specify it as \"metadata_cache_timeout\": {\"schema_cache_timeout\": 600, \"table_cache_timeout\": 600}. If unset, cache will not be enabled for the functionality. A timeout of 0 indicates that the cache never expires.
3. The schemas_allowed_for_csv_upload is a comma separated list of schemas that CSVs are allowed to upload to. Specify it as \"schemas_allowed_for_csv_upload\": [\"public\", \"csv_upload\"]. If database flavor does not support schema or any schema is allowed to be accessed, just leave the list empty
4. the version field is a string specifying the this db's version. This should be used with Presto DBs so that the syntax is correct
5. The allows_virtual_table_explore field is a boolean specifying whether or not the Explore button in SQL Lab results is shown.

" } force_ctas_schema: { type: "string" description: "When allowing CREATE TABLE AS option in SQL Lab, this option forces the table to be created in this schema" } impersonate_user: { type: "boolean" description: "If Presto, all the queries in SQL Lab are going to be executed as the currently logged on user who must have permission to run them.
If Hive and hive.server2.enable.doAs is enabled, will run the queries as service account, but impersonate the currently logged on user via hive.server2.proxy.user property." } parameters: { type: "object" description: "DB-specific parameters for configuration" } server_cert: { type: "string" description: "

Optional CA_BUNDLE contents to validate HTTPS requests. Only available on certain database engines.

" } sqlalchemy_uri: { type: "string" description: "

Refer to the SqlAlchemy docs for more information on how to structure your URI.

" } } } } } }