project:
  name: project
  collection: iam.projects
  attributes:
  - &project
    parameter_name: projectsId
    attribute_name: project
    help: The project name.
    property: core/project

location:
  name: location
  collection: iam.projects.locations
  attributes:
  - *project
  - &location
    parameter_name: locationsId
    attribute_name: location
    help: The location name.
  disable_auto_completers: false

wf_location:
  name: location
  collection: iam.locations
  attributes:
  - &wf_location
    parameter_name: locationsId
    attribute_name: location
    help: The location for the workforce pool.
  disable_auto_completers: false

service_account:
  name: serviceAccount
  collection: iam.projects.serviceAccounts
  attributes:
  - *project
  - &service_account
    parameter_name: serviceAccountsId
    attribute_name: service_account
    help: |
      The name of the IAM ServiceAccount.
  disable_auto_completers: false

iam_account:
  name: iamAccount
  collection: iam.projects.serviceAccounts
  attributes:
  - *project
  - &iam_account
    parameter_name: serviceAccountsId
    attribute_name: iam-account
    help: |
      The name of the IAM ServiceAccount.
  disable_auto_completers: false

iam_key:
  name: iamKey
  collection: iam.projects.serviceAccounts.keys
  attributes:
  - *project
  - *iam_account
  - &iam_key
    parameter_name: keysId
    attribute_name: iam_key
    help: |
      The ID of the IAM ServiceAccountKey.
  disable_auto_completers: false

workload_identity_pool:
  name: workload identity pool
  collection: iam.projects.locations.workloadIdentityPools
  request_id_field: workloadIdentityPoolId
  attributes:
  - *project
  - *location
  - &workload_identity_pool
    parameter_name: workloadIdentityPoolsId
    attribute_name: workload_identity_pool
    help: |
      The ID to use for the pool, which becomes the final component of the resource name. This value
      should be 4-32 characters, and may contain the characters [a-z0-9-]. The prefix `gcp-` is
      reserved for use by Google, and may not be specified.
  disable_auto_completers: false

workload_identity_pool_operation:
  name: workload identity pool operation
  collection: iam.projects.locations.workloadIdentityPools.operations
  attributes:
  - *project
  - *location
  - *workload_identity_pool
  - &workload_identity_pool_operation
    parameter_name: operationsId
    attribute_name: operation
    help: |
      The ID of the operation.
  disable_auto_completers: false

workload_identity_pool_provider:
  name: workload identity pool provider
  collection: iam.projects.locations.workloadIdentityPools.providers
  request_id_field: workloadIdentityPoolProviderId
  attributes:
  - *project
  - *location
  - *workload_identity_pool
  - &workload_identity_pool_provider
    parameter_name: providersId
    attribute_name: provider
    help: |
      The ID for the provider, which becomes the final component of the resource name. This value
      must be 4-32 characters, and may contain the characters [a-z0-9-]. The prefix `gcp-` is
      reserved for use by Google, and may not be specified.
  disable_auto_completers: false

workload_identity_pool_provider_operation:
  name: workload identity pool provider operation
  collection: iam.projects.locations.workloadIdentityPools.providers.operations
  attributes:
  - *project
  - *location
  - *workload_identity_pool
  - *workload_identity_pool_provider
  - &workload_identity_pool_provider_operation
    parameter_name: operationsId
    attribute_name: operation
    help: |
      The ID of the operation.
  disable_auto_completers: false

workload_identity_pool_provider_key:
  name: workload identity pool provider key
  collection: iam.projects.locations.workloadIdentityPools.providers.keys
  request_id_field: workloadIdentityPoolProviderKeyId
  attributes:
  - *project
  - *location
  - *workload_identity_pool
  - *workload_identity_pool_provider
  - &workload_identity_pool_provider_key
    parameter_name: keysId
    attribute_name: key
    help: |
      The ID for the key, which becomes the final component of the resource name. This value
      must be 4-32 characters, and may contain the characters [a-z0-9-]. The prefix `gcp-` is
      reserved for use by Google, and may not be specified.
  disable_auto_completers: false

workload_identity_pool_provider_key_operation:
  name: workload identity pool provider key operation
  collection: iam.projects.locations.workloadIdentityPools.providers.keys.operations
  attributes:
  - *project
  - *location
  - *workload_identity_pool
  - *workload_identity_pool_provider
  - *workload_identity_pool_provider_key
  - &workload_identity_pool_provider_key_operation
    parameter_name: operationsId
    attribute_name: operation
    help: |
      The ID of the operation.
  disable_auto_completers: false

workload_identity_pool_namespace:
  name: workload identity pool namespace
  collection: iam.projects.locations.workloadIdentityPools.namespaces
  request_id_field: workloadIdentityPoolNamespaceId
  attributes:
  - *project
  - *location
  - *workload_identity_pool
  - &workload_identity_pool_namespace
    parameter_name: namespacesId
    attribute_name: namespace
    help: |
      The ID to use for the namespace. This value must be 2-63 characters, and may contain the
      characters [a-z0-9-]. The prefix `gcp-` is reserved for use by Google, and may not be
      specified.
  disable_auto_completers: false

workload_identity_pool_namespace_operation:
  name: workload identity pool namespace operation
  collection: iam.projects.locations.workloadIdentityPools.namespaces.operations
  attributes:
  - *project
  - *location
  - *workload_identity_pool
  - *workload_identity_pool_namespace
  - &workload_identity_pool_namespace_operation
    parameter_name: operationsId
    attribute_name: operation
    help: |
      The ID of the operation.
  disable_auto_completers: false

workload_identity_pool_namespace_workload_source:
  name: workload source
  collection: iam.projects.locations.workloadIdentityPools.namespaces.workloadSources
  request_id_field: workloadSourceId
  attributes:
  - *project
  - *location
  - *workload_identity_pool
  - *workload_identity_pool_namespace
  - &workload_identity_pool_namespace_workload_source
    parameter_name: workloadSourcesId
    attribute_name: workload_source
    help: |
      The ID of the workload source, which becomes the final component of the resource name.
      This value corresponds to a boundary from within which workloads can be matched. This
      value is formatted as follows:

      * `project-[project_number]` - A Google Cloud project.
  disable_auto_completers: false

workload_identity_pool_namespace_workload_source_operation:
  name: workload source operation
  collection: iam.projects.locations.workloadIdentityPools.namespaces.workloadSources.operations
  attributes:
  - *project
  - *location
  - *workload_identity_pool
  - *workload_identity_pool_namespace
  - *workload_identity_pool_namespace_workload_source
  - &workload_identity_pool_namespace_workload_source_operation
    parameter_name: operationsId
    attribute_name: operation
    help: |
      The ID of the operation.
  disable_auto_completers: false

workload_identity_pool_managed_identity:
  name: workload identity pool managed identity
  collection: iam.projects.locations.workloadIdentityPools.namespaces.managedIdentities
  request_id_field: workloadIdentityPoolManagedIdentityId
  attributes:
  - *project
  - *location
  - *workload_identity_pool
  - *workload_identity_pool_namespace
  - &workload_identity_pool_managed_identity
    parameter_name: managedIdentitiesId
    attribute_name: managed_identity
    help: |
      The ID to use for the managed identity. This value must be 2-63 characters and may
      contain the characters [a-z0-9-]. The prefix `gcp-` is reserved for use by Google, and
      may not be specified.
  disable_auto_completers: false

workload_identity_pool_managed_identity_operation:
  name: workload identity pool managed identity operation
  collection: iam.projects.locations.workloadIdentityPools.namespaces.managedIdentities.operations
  attributes:
  - *project
  - *location
  - *workload_identity_pool
  - *workload_identity_pool_namespace
  - *workload_identity_pool_managed_identity
  - &workload_identity_pool_managed_identity_operation
    parameter_name: operationsId
    attribute_name: operation
    help: |
      The ID of the operation.
  disable_auto_completers: false

workload_identity_pool_managed_identity_workload_source:
  name: workload source
  collection: iam.projects.locations.workloadIdentityPools.namespaces.managedIdentities.workloadSources
  request_id_field: workloadSourceId
  attributes:
  - *project
  - *location
  - *workload_identity_pool
  - *workload_identity_pool_namespace
  - *workload_identity_pool_managed_identity
  - &workload_identity_pool_managed_identity_workload_source
    parameter_name: workloadSourcesId
    attribute_name: workload_source
    help: |
      The ID of the workload source, which becomes the final component of the resource name.
      This value corresponds to a boundary from within which workloads can be matched. This
      value is formatted as follows:

      * `project-[project_number]` - A Google Cloud project.
  disable_auto_completers: false

workload_identity_pool_managed_identity_workload_source_operation:
  name: workload source operation
  collection: iam.projects.locations.workloadIdentityPools.namespaces.managedIdentities.workloadSources.operations
  attributes:
  - *project
  - *location
  - *workload_identity_pool
  - *workload_identity_pool_namespace
  - *workload_identity_pool_managed_identity
  - *workload_identity_pool_managed_identity_workload_source
  - &workload_identity_pool_managed_identity_workload_source_operation
    parameter_name: operationsId
    attribute_name: operation
    help: |
      The ID of the operation.
  disable_auto_completers: false

multitypeResources:
  workload_source:
    name: workload source
    resources:
      -*workload_identity_pool_namespace_workload_source
      -*workload_identity_pool_managed_identity_workload_source

positional_workforce_pool:
  name: workforce pool
  collection: iam.locations.workforcePools
  request_id_field: workforcePoolId
  attributes:
  - *wf_location
  - &positional_workforce_pool
    parameter_name: workforcePoolsId
    attribute_name: workforce_pool
    help: |
      The ID to use for the workforce pool, which becomes the final component of the
      resource name. This value must be a globally unique string of 6 to 63 lowercase letters,
      digits, or hyphens. It must start with a letter, and cannot have a trailing hyphen.
      The prefix `gcp-` is reserved for use by Google, and may not be specified.
  disable_auto_completers: false

workforce_pool:
  name: workforce pool
  collection: iam.locations.workforcePools
  request_id_field: workforcePoolId
  attributes:
  - *wf_location
  - &workforce_pool
    parameter_name: workforcePoolsId
    attribute_name: workforce-pool
    help: |
      The ID to use for the workforce pool, which becomes the final component of the resource name.
      This value must be a globally unique string of 6 to 63 lowercase letters, digits, or hyphens.
      It must start with a letter, and cannot have a trailing hyphen. The prefix `gcp-` is reserved
      for use by Google, and may not be specified.
  disable_auto_completers: false

workforce_pool_operation:
  name: workforce pool operation
  collection: iam.locations.workforcePools.operations
  attributes:
  - *wf_location
  - *positional_workforce_pool
  - &workforce_pool_operation
    parameter_name: operationsId
    attribute_name: operation
    help: |
      The ID of the operation.
  disable_auto_completers: false

workforce_pool_provider:
  name: workforce pool provider
  collection: iam.locations.workforcePools.providers
  request_id_field: workforcePoolProviderId
  attributes:
  - *wf_location
  - *positional_workforce_pool
  - &workforce_pool_provider
    parameter_name: providersId
    attribute_name: provider
    help: |
      The ID to use for the workforce pool provider, which becomes the final component of the
      resource name. This value must be unique within the workforce pool, 4-32 characters in length,
      and may contain the characters [a-z0-9-]. The prefix `gcp-` is reserved for use by Google,
      and may not be specified.
  disable_auto_completers: false

workforce_pool_provider_operation:
  name: workforce pool provider operation
  collection: iam.locations.workforcePools.providers.operations
  attributes:
  - *wf_location
  - *positional_workforce_pool
  - *workforce_pool_provider
  - &workforce_pool_provider_operation
    parameter_name: operationsId
    attribute_name: operation
    help: |
      The ID of the operation.
  disable_auto_completers: false

workforce_pool_provider_key:
  name: workforce pool provider key
  collection: iam.locations.workforcePools.providers.keys
  request_id_field: workforcePoolProviderKeyId
  attributes:
  - *wf_location
  - *positional_workforce_pool
  - *workforce_pool_provider
  - &workforce_pool_provider_key
    parameter_name: keysId
    attribute_name: key
    help: |
      The ID for the key, which becomes the final component of the resource name. This value
      must be 4-32 characters, and may contain the characters [a-z0-9-]. The prefix `gcp-` is
      reserved for use by Google, and may not be specified.
  disable_auto_completers: false

workforce_pool_provider_key_operation:
  name: workforce pool provider key operation
  collection: iam.locations.workforcePools.providers.keys.operations
  attributes:
  - *wf_location
  - *positional_workforce_pool
  - *workforce_pool_provider
  - *workforce_pool_provider_key
  - &workforce_pool_provider_key_operation
    parameter_name: operationsId
    attribute_name: operation
    help: |
      The ID of the operation.
  disable_auto_completers: false

workforce_pool_subject:
  name: workforce pool subject
  collection: iam.locations.workforcePools.subjects
  request_id_field: workforcePoolSubjectId
  attributes:
  - *wf_location
  - *positional_workforce_pool
  - &workforce_pool_subject
    parameter_name: subjectsId
    attribute_name: subject
    help: |
      The ID to use for the workforce pool subject, which becomes the final component of the
      resource name.
  disable_auto_completers: false

workforce_pool_subject_operation:
  name: workforce pool subject operation
  collection: iam.locations.workforcePools.subjects.operations
  attributes:
  - *wf_location
  - *positional_workforce_pool
  - *workforce_pool_subject
  - &workforce_pool_subject_operation
    parameter_name: operationsId
    attribute_name: operation
    help: |
      The ID of the operation.
  disable_auto_completers: false

workforce_pool_provider_scim_tenant:
  name: workforce pool provider scim tenant
  collection: iam.locations.workforcePools.providers.scimTenants
  request_id_field: workforcePoolProviderScimTenantId
  attributes:
  - *wf_location
  - *workforce_pool
  - *workforce_pool_provider
  - &scim_tenant_id_attr
    parameter_name: scimTenantsId
    attribute_name: scim-tenant
    help: |
      The ID for the SCIM tenant, which becomes the final component of the resource name.
      This value must be 4-32 characters, alphanumeric ([a-z0-9-]), and cannot start with gcp-.
  disable_auto_completers: false

workforce_pool_provider_scim_token:
  name: workforce pool provider scim token
  collection: iam.locations.workforcePools.providers.scimTenants.tokens
  request_id_field: workforcePoolProviderScimTokenId
  attributes:
  - *wf_location
  - *positional_workforce_pool
  - *workforce_pool_provider
  - *scim_tenant_id_attr
  - &scim_token_id_attr
    parameter_name: tokensId
    attribute_name: token
    help: |
      The ID for the SCIM token, which becomes the final component of the resource name. This value
      This value should be 4-32 characters, and may contain the characters [a-z0-9-]. It must start
      with a lowercase letter, and end with a lowercase letter or number. Additionally, the prefix
      `gcp-` is reserved for use by Google, and may not be specified.
  disable_auto_completers: false

oauth_client:
  name: oauth client
  collection: iam.projects.locations.oauthClients
  request_id_field: oauthClientId
  attributes:
  - *project
  - *location
  - &oauth_client
    parameter_name: oauthClientsId
    attribute_name: oauth_client
    help: |
      ID to use for the OAuth client, which becomes the final component of the resource name.
      This value should be 4-32 characters, and may contain the characters [a-z0-9-].
      The prefix `gcp-` is reserved for use by Google, and may not be specified.
  disable_auto_completers: false

oauth_client_credential:
  name: oauth client credential
  collection: iam.projects.locations.oauthClients.credentials
  request_id_field: oauthClientCredentialId
  attributes:
  - *project
  - *location
  - *oauth_client
  - &oauth_client_credential
    parameter_name: credentialsId
    attribute_name: credential
    help: |
      ID to use for the OAuth client credential, which becomes the final component of the
      resource name. This value should be 4-32 characters, and may contain the characters [a-z0-9-].
      The prefix `gcp-` is reserved for use by Google, and may not be specified.
  disable_auto_completers: false
