infracloud/dev-scripts/migrate_mfe_buckets.ps1

38 lines
1.8 KiB
PowerShell

$env:OCI_CONFIG_FILE = "C:\Users\TiagoRibeiro\.oci\config"
$env:OCI_KEY_FILE = "C:\Users\TiagoRibeiro\.oci\api_key.pem"
$NAMESPACE = "grbb7qzeuoag"
$DEV_COMPARTMENT = "ocid1.compartment.oc1..aaaaaaaa76x3nykkjwvctpr6px34dysu3pbg7p62h2r65fegt7fvbrioll3a"
$mfes = @("auth", "person", "poc", "shell", "user", "formalization")
foreach ($mfe in $mfes) {
$oldBucket = "mfe-mfe-$mfe-dev"
$newBucket = "mfe-$mfe-dev"
Write-Host "`n--- Processing MFE: $mfe ---"
# 1. Ensure new bucket exists in DEV compartment
$exists = & "C:\oci\bin\oci.exe" os bucket get --namespace-name $NAMESPACE --bucket-name $newBucket 2>$null
if (!$exists) {
Write-Host "Creating bucket $newBucket in DEV compartment..."
& "C:\oci\bin\oci.exe" os bucket create --namespace-name $NAMESPACE --name $newBucket --compartment-id $DEV_COMPARTMENT --public-access-type ObjectReadWithoutList
} else {
Write-Host "Bucket $newBucket already exists."
}
# 2. Check if duplicate bucket exists to migrate
$oldExists = & "C:\oci\bin\oci.exe" os bucket get --namespace-name $NAMESPACE --bucket-name $oldBucket 2>$null
if ($oldExists) {
Write-Host "Found duplicate bucket $oldBucket. Migrating objects to $newBucket..."
$objects = & "C:\oci\bin\oci.exe" os object list --namespace-name $NAMESPACE --bucket-name $oldBucket --all --query "data[*].name" | ConvertFrom-Json
foreach ($obj in $objects) {
Write-Host " Copying $obj..."
& "C:\oci\bin\oci.exe" os object copy --namespace-name $NAMESPACE --bucket-name $oldBucket --destination-bucket $newBucket --source-object-name $obj
}
Write-Host "Migration complete for $mfe. You can now manually delete $oldBucket after verification."
}
}