_description: """This service provides storage settings managmement""" _default { internal: true allow_roles: ["system", "root", "admin"] } _definitions { include "_common.conf" aws_bucket { type: object description: Settings per S3 bucket properties { bucket { description: The name of the bucket type: string } subdir { description: The path to match type: string } host { description: Host address (for minio servers) type: string } key { description: Access key type: string } secret { description: Secret key type: string } token { description: Access token type: string } multipart { description: Multipart upload type: boolean default: true } acl { description: ACL type: string } secure { description: Use SSL connection type: boolean default: true } region { description: AWS Region type: string } verify { description: Verify server certificate type: boolean default: true } use_credentials_chain { description: Use host configured credentials type: boolean default: false } } } aws { type: object description: AWS S3 storage settings properties { key { description: Access key type: string } secret { description: Secret key type: string } region { description: AWS region type: string } token { description: Access token type: string } use_credentials_chain { description: If set then use host credentials type: boolean default: false } buckets { description: Credential settings per bucket type: array items {"$ref": "#/definitions/aws_bucket"} } } } google_bucket { type: object description: Settings per Google storage bucket properties { bucket { description: The name of the bucket type: string } project { description: The name of the project type: string } subdir { description: The path to match type: string } credentials_json { description: The contents of the credentials json file type: string } } } google { type: object description: Google storage settings properties { project { description: Project name type: string } credentials_json { description: The contents of the credentials json file type: string } buckets { description: Credentials per bucket type: array items {"$ref": "#/definitions/google_bucket"} } } } azure_container { type: object description: Azure container settings properties { account_name { description: Account name type: string } account_key { description: Account key type: string } container_name { description: The name of the container type: string } } } azure { type: object description: Azure storage settings properties { containers { description: Credentials per container type: array items {"$ref": "#/definitions/azure_container"} } } } } set_settings { "2.31" { description: Set Storage settings request { type: object properties { aws {"$ref": "#/definitions/aws"} google {"$ref": "#/definitions/google"} azure {"$ref": "#/definitions/azure"} } } response { type: object properties { updated { description: "Number of settings documents updated (0 or 1)" type: integer enum: [0, 1] } } } } } reset_settings { "2.31" { description: Reset selected storage settings request { type: object properties { keys { description: The names of the settings to delete type: array items { type: string enum: ["azure", "aws", "google"] } } } } response { type: object properties { updated { description: "Number of settings documents updated (0 or 1)" type: integer enum: [0, 1] } } } } } get_settings { "2.22" { description: Get storage settings request { type: object additionalProperties: false } response { type: object properties { last_update { description: "Settings last update time (UTC) " type: string format: "date-time" } aws {"$ref": "#/definitions/aws"} google {"$ref": "#/definitions/google"} azure {"$ref": "#/definitions/azure"} } } } }