You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							63 lines
						
					
					
						
							1.4 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							63 lines
						
					
					
						
							1.4 KiB
						
					
					
				
								syntax = "proto3";
							 | 
						|
								
							 | 
						|
								package messaging_pb;
							 | 
						|
								
							 | 
						|
								option go_package = "github.com/seaweedfs/seaweedfs/weed/pb/s3_pb";
							 | 
						|
								option java_package = "seaweedfs.client";
							 | 
						|
								option java_outer_classname = "S3Proto";
							 | 
						|
								
							 | 
						|
								//////////////////////////////////////////////////
							 | 
						|
								
							 | 
						|
								service SeaweedS3 {
							 | 
						|
								
							 | 
						|
								    rpc Configure (S3ConfigureRequest) returns (S3ConfigureResponse) {
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								//////////////////////////////////////////////////
							 | 
						|
								
							 | 
						|
								message S3ConfigureRequest {
							 | 
						|
								    bytes s3_configuration_file_content = 1;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								message S3ConfigureResponse {
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								message S3CircuitBreakerConfig {
							 | 
						|
								    S3CircuitBreakerOptions global=1;
							 | 
						|
								    map<string, S3CircuitBreakerOptions> buckets= 2;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								message S3CircuitBreakerOptions {
							 | 
						|
								    bool enabled=1;
							 | 
						|
								    map<string, int64> actions = 2;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								//////////////////////////////////////////////////
							 | 
						|
								// Bucket Metadata
							 | 
						|
								
							 | 
						|
								message CORSRule {
							 | 
						|
								    repeated string allowed_headers = 1;
							 | 
						|
								    repeated string allowed_methods = 2;
							 | 
						|
								    repeated string allowed_origins = 3;
							 | 
						|
								    repeated string expose_headers = 4;
							 | 
						|
								    int32 max_age_seconds = 5;
							 | 
						|
								    string id = 6;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								message CORSConfiguration {
							 | 
						|
								    repeated CORSRule cors_rules = 1;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								message BucketMetadata {
							 | 
						|
								    map<string, string> tags = 1;
							 | 
						|
								    CORSConfiguration cors = 2;
							 | 
						|
								    EncryptionConfiguration encryption = 3;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								message EncryptionConfiguration {
							 | 
						|
								    string sse_algorithm = 1; // "AES256" or "aws:kms"
							 | 
						|
								    string kms_key_id = 2; // KMS key ID (optional for aws:kms)
							 | 
						|
								    bool bucket_key_enabled = 3; // S3 Bucket Keys optimization
							 | 
						|
								}
							 |