diff --git a/docs/json_schemas/azure_storage/v0/provider.json b/docs/json_schemas/azure_storage/v0/provider.json new file mode 100644 index 00000000..082ca1e3 --- /dev/null +++ b/docs/json_schemas/azure_storage/v0/provider.json @@ -0,0 +1,109 @@ +{ + "$defs": { + "AzureStorageProviderAppData": { + "properties": { + "container": { + "description": "The name of the Azure storage container provided by the provider.", + "examples": [ + "mycontainer" + ], + "title": "Container", + "type": "string" + }, + "storage_account": { + "description": "The name of Azure storage account.", + "examples": [ + "test-storage-account" + ], + "title": "Storage account", + "type": "string" + }, + "connection_protocol": { + "$ref": "#/$defs/ConnectionProtocolEnum", + "default": "abfss", + "description": "The connection protocol to be used to connect to Azure Storage.", + "examples": [ + "wasb", + "wasbs", + "abfs", + "abfss" + ], + "title": "Connection protocol" + }, + "secret_key": { + "description": "Secret key corresponding to the storage account for connecting to the object storage.", + "examples": [ + "random-secret-key" + ], + "format": "password", + "title": "Secret key", + "type": "string", + "writeOnly": true + }, + "path": { + "description": "The path inside the container to store objects.", + "examples": [ + "foo/bar" + ], + "format": "path", + "title": "Path", + "type": "string" + }, + "endpoint": { + "description": "The endpoint corresponding to the specific container and storage account.", + "examples": [ + "abfss://test-container@test-account.dfs.core.windows.net/" + ], + "title": "Endpoint URL", + "type": "string" + } + }, + "required": [ + "container", + "storage_account", + "secret_key", + "path", + "endpoint" + ], + "title": "AzureStorageProviderAppData", + "type": "object" + }, + "BaseModel": { + "properties": {}, + "title": "BaseModel", + "type": "object" + }, + "ConnectionProtocolEnum": { + "enum": [ + "wasb", + "wasbs", + "abfs", + "abfss" + ], + "title": "ConnectionProtocolEnum", + "type": "string" + } + }, + "description": "The schema for the provider side of this interface.", + "properties": { + "unit": { + "anyOf": [ + { + "$ref": "#/$defs/BaseModel" + }, + { + "type": "null" + } + ], + "default": null + }, + "app": { + "$ref": "#/$defs/AzureStorageProviderAppData" + } + }, + "required": [ + "app" + ], + "title": "ProviderSchema", + "type": "object" +} \ No newline at end of file diff --git a/docs/json_schemas/azure_storage/v0/requirer.json b/docs/json_schemas/azure_storage/v0/requirer.json new file mode 100644 index 00000000..4d5af5a6 --- /dev/null +++ b/docs/json_schemas/azure_storage/v0/requirer.json @@ -0,0 +1,65 @@ +{ + "$defs": { + "AzureStorageRequirerAppData": { + "properties": { + "container": { + "description": "The name of the container that's requested by the requirer.", + "examples": [ + "mycontainer" + ], + "title": "container", + "type": "string" + }, + "requested-secrets": { + "description": "Any provider field which should be transfered as Juju Secret", + "examples": [ + [ + "username", + "password", + "tls-ca", + "uris" + ] + ], + "items": { + "type": "string" + }, + "title": "Requested secrets", + "type": "array" + } + }, + "required": [ + "container", + "requested-secrets" + ], + "title": "AzureStorageRequirerAppData", + "type": "object" + }, + "BaseModel": { + "properties": {}, + "title": "BaseModel", + "type": "object" + } + }, + "description": "The schema for the requirer side of this interface.", + "properties": { + "unit": { + "anyOf": [ + { + "$ref": "#/$defs/BaseModel" + }, + { + "type": "null" + } + ], + "default": null + }, + "app": { + "$ref": "#/$defs/AzureStorageRequirerAppData" + } + }, + "required": [ + "app" + ], + "title": "RequirerSchema", + "type": "object" +} \ No newline at end of file