internal override HttpRequestMessageBuilder BuildRequest(HttpRequestMessageBuilder requestMessageBuilder) { if (EncryptionConfig == null) { EncryptionConfig = ServerSideEncryptionConfiguration.GetSSEConfigurationWithS3Rule(); } requestMessageBuilder.AddQueryParameter("encryption", ""); var body = utils.MarshalXML(EncryptionConfig, "http://s3.amazonaws.com/doc/2006-03-01/"); // Convert string to a byte array var bodyInBytes = Encoding.ASCII.GetBytes(body); requestMessageBuilder.BodyParameters.Add("content-type", "text/xml"); requestMessageBuilder.SetBody(bodyInBytes); return(requestMessageBuilder); }
// Put Encryption Configuration for the bucket public async static Task Run(MinioClient minio, string bucketName = "my-bucket-name", ServerSideEncryptionConfiguration config = null) { try { Console.WriteLine("Running example for API: SetBucketEncryptionAsync"); await minio.SetBucketEncryptionAsync( new SetBucketEncryptionArgs() .WithBucket(bucketName) .WithEncryptionConfig(config) ); Console.WriteLine($"Assigned encryption configuration to bucket {bucketName}"); Console.WriteLine(); } catch (Exception e) { Console.WriteLine($"[Bucket] Exception: {e}"); } }
// Get Encryption Configuration for the bucket public async static Task Run(MinioClient minio, string bucketName = "my-bucket-name") { try { Console.WriteLine("Running example for API: GetBucketEncryptionAsync"); ServerSideEncryptionConfiguration config = await minio.GetBucketEncryptionAsync( new GetBucketEncryptionArgs() .WithBucket(bucketName) ); Console.WriteLine($"Got encryption configuration for bucket {bucketName}."); if (config != null && config.Rule != null && config.Rule.Apply != null) { Console.WriteLine("Server Side Encryption Algorithm: " + config.Rule.Apply.SSEAlgorithm); } Console.WriteLine(); } catch (Exception e) { Console.WriteLine($"[Bucket] Exception: {e}"); } }
public SetBucketEncryptionArgs WithKMSConfig(string keyId = null) { EncryptionConfig = ServerSideEncryptionConfiguration.GetSSEConfigurationWithKMSRule(keyId); return(this); }
public SetBucketEncryptionArgs WithAESConfig() { EncryptionConfig = ServerSideEncryptionConfiguration.GetSSEConfigurationWithS3Rule(); return(this); }
public SetBucketEncryptionArgs WithEncryptionConfig(ServerSideEncryptionConfiguration config) { EncryptionConfig = config; return(this); }