## Get catalog maintenance configuration `client.R2DataCatalog.MaintenanceConfigs.Get(ctx, bucketName, query) (*MaintenanceConfigGetResponse, error)` **get** `/accounts/{account_id}/r2-catalog/{bucket_name}/maintenance-configs` Retrieve the maintenance configuration for a specific catalog, including compaction settings and credential status. ### Parameters - `bucketName string` Specifies the R2 bucket name. - `query MaintenanceConfigGetParams` - `AccountID param.Field[string]` Use this to identify the account. ### Returns - `type MaintenanceConfigGetResponse struct{…}` Contains maintenance configuration and credential status. - `CredentialStatus MaintenanceConfigGetResponseCredentialStatus` Shows the credential configuration status. - `const MaintenanceConfigGetResponseCredentialStatusPresent MaintenanceConfigGetResponseCredentialStatus = "present"` - `const MaintenanceConfigGetResponseCredentialStatusAbsent MaintenanceConfigGetResponseCredentialStatus = "absent"` - `MaintenanceConfig MaintenanceConfigGetResponseMaintenanceConfig` Configures maintenance for the catalog. - `Compaction MaintenanceConfigGetResponseMaintenanceConfigCompaction` Configures compaction for catalog maintenance. - `State MaintenanceConfigGetResponseMaintenanceConfigCompactionState` Specifies the state of maintenance operations. - `const MaintenanceConfigGetResponseMaintenanceConfigCompactionStateEnabled MaintenanceConfigGetResponseMaintenanceConfigCompactionState = "enabled"` - `const MaintenanceConfigGetResponseMaintenanceConfigCompactionStateDisabled MaintenanceConfigGetResponseMaintenanceConfigCompactionState = "disabled"` - `TargetSizeMB MaintenanceConfigGetResponseMaintenanceConfigCompactionTargetSizeMB` Sets the target file size for compaction in megabytes. Defaults to "128". - `const MaintenanceConfigGetResponseMaintenanceConfigCompactionTargetSizeMB64 MaintenanceConfigGetResponseMaintenanceConfigCompactionTargetSizeMB = "64"` - `const MaintenanceConfigGetResponseMaintenanceConfigCompactionTargetSizeMB128 MaintenanceConfigGetResponseMaintenanceConfigCompactionTargetSizeMB = "128"` - `const MaintenanceConfigGetResponseMaintenanceConfigCompactionTargetSizeMB256 MaintenanceConfigGetResponseMaintenanceConfigCompactionTargetSizeMB = "256"` - `const MaintenanceConfigGetResponseMaintenanceConfigCompactionTargetSizeMB512 MaintenanceConfigGetResponseMaintenanceConfigCompactionTargetSizeMB = "512"` - `SnapshotExpiration MaintenanceConfigGetResponseMaintenanceConfigSnapshotExpiration` Configures snapshot expiration settings. - `MaxSnapshotAge string` Specifies the maximum age for snapshots. The system deletes snapshots older than this age. Format: where unit is d (days), h (hours), m (minutes), or s (seconds). Examples: "7d" (7 days), "48h" (48 hours), "2880m" (2,880 minutes). Defaults to "7d". - `MinSnapshotsToKeep int64` Specifies the minimum number of snapshots to retain. Defaults to 100. - `State MaintenanceConfigGetResponseMaintenanceConfigSnapshotExpirationState` Specifies the state of maintenance operations. - `const MaintenanceConfigGetResponseMaintenanceConfigSnapshotExpirationStateEnabled MaintenanceConfigGetResponseMaintenanceConfigSnapshotExpirationState = "enabled"` - `const MaintenanceConfigGetResponseMaintenanceConfigSnapshotExpirationStateDisabled MaintenanceConfigGetResponseMaintenanceConfigSnapshotExpirationState = "disabled"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/r2_data_catalog" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) maintenanceConfig, err := client.R2DataCatalog.MaintenanceConfigs.Get( context.TODO(), "my-data-bucket", r2_data_catalog.MaintenanceConfigGetParams{ AccountID: cloudflare.F("0123456789abcdef0123456789abcdef"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", maintenanceConfig.CredentialStatus) } ``` #### Response ```json { "errors": [], "messages": [], "result": { "credential_status": "present", "maintenance_config": { "compaction": { "state": "enabled", "target_size_mb": "128" }, "snapshot_expiration": { "max_snapshot_age": "7d", "min_snapshots_to_keep": 100, "state": "enabled" } } }, "success": true } ```