pub struct S3StorageBinding {
pub access_key_id: Option<BindingValueString>,
pub bucket_name: BindingValueString,
pub endpoint: Option<BindingValueString>,
pub force_path_style: Option<bool>,
pub region: Option<BindingValueString>,
pub secret_access_key: Option<BindingValueString>,
}Expand description
S3 storage binding configuration.
Targets AWS S3 by default. Setting endpoint targets any S3-compatible
store instead (MinIO, Ceph RGW, NetApp StorageGRID, Cloudflare R2, …),
which is how Kubernetes deployments outside a cloud account attach the
customer’s existing object storage.
JSON schema
{
"description": "S3 storage binding configuration.\n\nTargets AWS S3 by default. Setting `endpoint` targets any S3-compatible\nstore instead (MinIO, Ceph RGW, NetApp StorageGRID, Cloudflare R2, ...),\nwhich is how Kubernetes deployments outside a cloud account attach the\ncustomer's existing object storage.",
"type": "object",
"required": [
"bucketName"
],
"properties": {
"accessKeyId": {
"description": "Static access key ID. Unset means the ambient AWS credential chain.",
"oneOf": [
{
"type": "null"
},
{
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_String"
}
]
}
]
},
"bucketName": {
"$ref": "#/components/schemas/BindingValue_String"
},
"endpoint": {
"description": "Endpoint of an S3-compatible store, e.g. `https://minio.internal:9000`.\nUnset means AWS S3.",
"oneOf": [
{
"type": "null"
},
{
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_String"
}
]
}
]
},
"forcePathStyle": {
"description": "Use path-style URLs (`endpoint/bucket/key`) instead of virtual-hosted\nones (`bucket.endpoint/key`). Defaults to `true` when `endpoint` is\nset, since most S3-compatible stores require it.",
"type": [
"boolean",
"null"
]
},
"region": {
"description": "Region to sign requests for. Defaults to the ambient AWS region, or\n`us-east-1` for S3-compatible endpoints.",
"oneOf": [
{
"type": "null"
},
{
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_String"
}
]
}
]
},
"secretAccessKey": {
"description": "Static secret access key; required when `accessKeyId` is set.",
"oneOf": [
{
"type": "null"
},
{
"allOf": [
{
"$ref": "#/components/schemas/BindingValue_String"
}
]
}
]
}
}
}Fields§
§access_key_id: Option<BindingValueString>Static access key ID. Unset means the ambient AWS credential chain.
bucket_name: BindingValueString§endpoint: Option<BindingValueString>Endpoint of an S3-compatible store, e.g. https://minio.internal:9000.
Unset means AWS S3.
force_path_style: Option<bool>Use path-style URLs (endpoint/bucket/key) instead of virtual-hosted
ones (bucket.endpoint/key). Defaults to true when endpoint is
set, since most S3-compatible stores require it.
region: Option<BindingValueString>Region to sign requests for. Defaults to the ambient AWS region, or
us-east-1 for S3-compatible endpoints.
secret_access_key: Option<BindingValueString>Static secret access key; required when accessKeyId is set.