{
  "slug": "gcloud-transfer-jobs-create-update-accepts-storage-class-inclusion-flags-cfc0398333e9",
  "title": "gcloud transfer jobs create/update accepts storage class inclusion flags",
  "tools": [
    "gcloud"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-09-15T00:00:00.000Z",
  "announced_at": "2026-09-15T00:00:00.000Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "For a transfer job sourced from Amazon S3, set `--include-storage-classes` to the classes to transfer; use `gcloud transfer jobs update <job-name> --clear-include-storage-classes` to remove the filter.",
    "examples": [
      "gcloud transfer jobs create s3://<source-bucket> gs://<destination-bucket> --include-storage-classes=STANDARD,GLACIER",
      "gcloud transfer jobs update <job-name> --include-storage-classes=STANDARD,GLACIER",
      "gcloud transfer jobs update <job-name> --clear-include-storage-classes"
    ],
    "gotchas": [
      "SOURCE (required): Source location; use `s3://<bucket>` for an Amazon S3 source.",
      "DESTINATION (required): Destination location; Google Cloud Storage uses `gs://<bucket>`.",
      "NAME (required): Name of the transfer job to update.",
      "--include-storage-classes: Comma-separated Amazon S3 storage classes to include; objects in other classes are skipped. Example values: `STANDARD,GLACIER`.",
      "--clear-include-storage-classes: Removes the storage class filter from the object conditions.",
      "Prerequisite: Storage class filtering applies to transfers from Amazon S3. Valid values are Amazon S3 storage class names.",
      "Prerequisite: Restore S3 Glacier Deep Archive (`DEEP_ARCHIVE`) and Glacier Flexible Retrieval (`GLACIER`) objects before transferring them.",
      "Docs conflict: The Google filtering guide, last updated 2026-09-30, says storage class filtering is not supported in gcloud CLI. This conflicts with the release note and current gcloud create/update references, which document the flags; the conflicting guide statement is not used."
    ]
  },
  "why_it_matters": "Configure a transfer job to include selected storage classes.",
  "sources": [
    "https://docs.cloud.google.com/sdk/docs/release-notes#58500_2026-09-15",
    "https://docs.cloud.google.com/sdk/gcloud/reference/transfer/jobs/create",
    "https://docs.cloud.google.com/sdk/gcloud/reference/transfer/jobs/update",
    "https://docs.cloud.google.com/storage-transfer/docs/filtering-by-storage-class"
  ],
  "rank": 0.93019,
  "judge": {
    "publish": true,
    "judge_model": "codex-cli/gpt-6-luna+typesafe/jev-1.13.0",
    "prompt_version": "extract-v7+enrich-v1+judge-v2x3+jev-publish-v1"
  },
  "review_state": "approved",
  "provenance": {
    "run_id": "cloud-20261008",
    "verdict_id": "cloud-20261008:cloud-20261008-ca069dd3319b9cd6-10:gate",
    "evidence_hash": "2cdad55fd8fcce12f20a9292761cb3eb19e48695c9efc9fe801d517007409da2"
  },
  "review": {
    "draft_hash": "3c86b3f845cb4ae7401e95a033a3abc9cf39cd165fb0ef86f0f292a9ec7f3490",
    "reviewer": "publication-gate",
    "reviewed_at": "2026-10-07T00:00:00.000Z",
    "decision": "cloud-20261008:gate",
    "reason": "2 of 3 judge runs approved with p_yes >= 0.9 (mean 0.93 >= 0.9; 2 needed) and Jev gave 0.71 (>= 0.6 needed)."
  }
}
