project:
  name: project
  collection: gkebackup.projects
  attributes:
  - &project
    parameter_name: projectsId
    attribute_name: project
    help: Cloud Project name.

default_project:
  name: project
  collection: gkebackup.projects
  attributes:
  - &default_project
    parameter_name: projectsId
    attribute_name: project
    property: core/project
    help: Cloud Project name.

location:
  name: location
  collection: gkebackup.projects.locations
  attributes:
  - *default_project
  - &location
    parameter_name: locationsId
    attribute_name: location
    help: Google Cloud location.

default_location:
  name: location
  collection: gkebackup.projects.locations
  attributes:
  - *default_project
  - &default_location
    parameter_name: locationsId
    attribute_name: location
    property: gkebackup/location
    help: Google Cloud location.

operation:
  name: operation
  collection: gkebackup.projects.locations.operations
  attributes:
  - *default_project
  - *default_location
  - &operation
    parameter_name: operationsId
    attribute_name: operation
    help: ID of the operation.

backup_plan:
  name: backup plan
  collection: gkebackup.projects.locations.backupPlans
  request_id_field: backupPlanId
  attributes:
  - *default_project
  - *default_location
  - &backup_plan
    parameter_name: backupPlansId
    attribute_name: backup-plan
    help: Backup Plan name.

# TODO(124305522): Use backup_plan once the bug is fixed.
positional_backup_plan:
  name: backup plan
  collection: gkebackup.projects.locations.backupPlans
  request_id_field: backupPlanId
  attributes:
  - *default_project
  - *default_location
  - &positional_backup_plan
    parameter_name: backupPlansId
    attribute_name: backup_plan
    help: Backup Plan name.

default_backup_plan:
  name: backup plan
  collection: gkebackup.projects.locations.backupPlans
  request_id_field: backupPlanId
  attributes:
  - *default_project
  - *default_location
  - &default_backup_plan
    parameter_name: backupPlansId
    attribute_name: backup-plan
    property: gkebackup/backup_plan
    help: Backup Plan name.

positional_backup_channel:
  name: backup channel
  collection: gkebackup.projects.locations.backupChannels
  request_id_field: backupChannelId
  attributes:
  - *default_project
  - *default_location
  - &positional_backup_channel
    parameter_name: backupChannelsId
    attribute_name: backup_channel
    help: Backup Channel name.

backup_channel:
  name: backup channel
  collection: gkebackup.projects.locations.backupChannels
  request_id_field: backupChannelId
  attributes:
  - *default_project
  - *default_location
  - &backup_channel
    parameter_name: backupChannelsId
    attribute_name: backup-channel
    help: Backup Channel name.

backup_plan_binding:
  name: backup plan binding
  collection: gkebackup.projects.locations.backupChannels.backupPlanBindings
  request_id_field: backupPlanBindingId
  attributes:
  - *default_project
  - *default_location
  - *backup_channel
  - &backup_plan_binding
    parameter_name: backupPlanBindingsId
    attribute_name: backup_plan_binding
    help: Backup Plan Binding name.

backup:
  name: backup
  collection: gkebackup.projects.locations.backupPlans.backups
  request_id_field: backupId
  attributes:
  - *default_project
  - *default_location
  - *default_backup_plan
  - &backup
    parameter_name: backupsId
    attribute_name: backup
    help: Backup name.

default_backup:
  name: backup
  collection: gkebackup.projects.locations.backupPlans.backups
  request_id_field: backupId
  attributes:
  - *default_project
  - *default_location
  - *default_backup_plan
  - &default_backup
    parameter_name: backupsId
    attribute_name: backup
    property: gkebackup/backup
    help: Backup name.

volume_backup:
  name: volume backup
  collection: gkebackup.projects.locations.backupPlans.backups.volumeBackups
  request_id_field: volumeBackupId
  attributes:
  - *default_project
  - *default_location
  - *default_backup_plan
  - *default_backup
  - &volume_backup
    parameter_name: volumeBackupsId
    attribute_name: volume_backup
    help: Volume Backup name.

restore_plan:
  name: restore plan
  collection: gkebackup.projects.locations.restorePlans
  request_id_field: restorePlanId
  attributes:
  - *default_project
  - *default_location
  - &restore_plan
    parameter_name: restorePlansId
    attribute_name: restore-plan
    help: Restore Plan name.

# TODO(124305522): Use restore_plan once the bug is fixed.
positional_restore_plan:
  name: restore plan
  collection: gkebackup.projects.locations.restorePlans
  request_id_field: restorePlanId
  attributes:
  - *default_project
  - *default_location
  - &positional_restore_plan
    parameter_name: restorePlansId
    attribute_name: restore_plan
    help: Restore Plan name.

default_restore_plan:
  name: restore plan
  collection: gkebackup.projects.locations.restorePlans
  request_id_field: restorePlanId
  attributes:
  - *default_project
  - *default_location
  - &default_restore_plan
    parameter_name: restorePlansId
    attribute_name: restore-plan
    property: gkebackup/restore_plan
    help: Restore Plan name.

positional_restore_channel:
  name: restore channel
  collection: gkebackup.projects.locations.restoreChannels
  request_id_field: restoreChannelId
  attributes:
  - *default_project
  - *default_location
  - &positional_restore_channel
    parameter_name: restoreChannelsId
    attribute_name: restore_channel
    help: Restore Channel name.

restore_channel:
  name: restore channel
  collection: gkebackup.projects.locations.restoreChannels
  request_id_field: restoreChannelId
  attributes:
  - *default_project
  - *default_location
  - &restore_channel
    parameter_name: restoreChannelsId
    attribute_name: restore-channel
    help: Restore Channel name.

restore_plan_binding:
  name: restore plan binding
  collection: gkebackup.projects.locations.restoreChannels.restorePlanBindings
  request_id_field: restorePlanBindingId
  attributes:
  - *default_project
  - *default_location
  - *restore_channel
  - &restore_plan_binding
    parameter_name: restorePlanBindingsId
    attribute_name: restore_plan_binding
    help: Restore Plan Binding name.

restore:
  name: restore
  collection: gkebackup.projects.locations.restorePlans.restores
  request_id_field: restoreId
  attributes:
  - *default_project
  - *default_location
  - *default_restore_plan
  - &restore
    parameter_name: restoresId
    attribute_name: restore
    help: Restore name.

default_restore:
  name: restore
  collection: gkebackup.projects.locations.restorePlans.restores
  request_id_field: restoreId
  attributes:
  - *default_project
  - *default_location
  - *default_restore_plan
  - &default_restore
    parameter_name: restoresId
    attribute_name: restore
    property: gkebackup/restore
    help: Restore name.

volume_restore:
  name: volume restore
  collection: gkebackup.projects.locations.restorePlans.restores.volumeRestores
  request_id_field: volumeRestoreId
  attributes:
  - *default_project
  - *default_location
  - *default_restore_plan
  - *default_restore
  - &volume_restore
    parameter_name: volumeRestoresId
    attribute_name: volume_restore
    help: Volume Restore name.
