Interface IAMResourceTypes

All Known Implementing Classes:
IAMResourceTypesImpl

public interface IAMResourceTypes
Client interface for discovering the IAM access model: resource types, actions, action sets, resource-type-to-action mappings, and per-service policy schemas. All operations are project-scoped reads.

Most list results are opaque-token paginated: each response carries a nextPageToken; pass it back as the pageToken argument to fetch the next page. The listResourceTypeActions operation is an exception - it uses cursor-based pagination keyed on lastAction (the action of the last item received).

  • Method Details

    • listResourceTypes

      ResourceTypeList listResourceTypes(String projectId, String serviceId)
      Lists the registered resource types for a service within a project, first page (operationId listResourceTypes).
      Parameters:
      projectId - the IAM project id, project:<id> (for example project:abc-123); a bare Resource Manager UUID is rejected, convert it with ProjectIds.of(String). Project-scoped endpoints need an STS access-policy token (new IAM(BearerTokenProvider))
      serviceId - the fully qualified service id to list resource types for (required)
      Returns:
      the first page of resource types
    • listResourceTypes

      ResourceTypeList listResourceTypes(String projectId, String serviceId, String pageToken, Integer pageSize, String projectErn)
      Lists the registered resource types for a service within a project, controlling pagination (operationId listResourceTypes).
      Parameters:
      projectId - the IAM project id, project:<id> (for example project:abc-123); a bare Resource Manager UUID is rejected, convert it with ProjectIds.of(String). Project-scoped endpoints need an STS access-policy token (new IAM(BearerTokenProvider))
      serviceId - the fully qualified service id to list resource types for (required)
      pageToken - the opaque page token from a prior response, or null for the first page
      pageSize - the maximum number of results per page, or null for the server default
      projectErn - the project ERN (optional, mutually exclusive with projectId), or null
      Returns:
      the requested page of resource types
    • listActions

      ActionList listActions(String projectId, String serviceId)
      Lists the available actions for a service within a project, first page (operationId listActions).
      Parameters:
      projectId - the IAM project id, project:<id> (for example project:abc-123); a bare Resource Manager UUID is rejected, convert it with ProjectIds.of(String). Project-scoped endpoints need an STS access-policy token (new IAM(BearerTokenProvider))
      serviceId - the fully qualified service id to list actions for (required)
      Returns:
      the first page of actions
    • listActions

      ActionList listActions(String projectId, String serviceId, String pageToken, Integer pageSize, String projectErn)
      Lists the available actions for a service within a project, controlling pagination (operationId listActions).
      Parameters:
      projectId - the IAM project id, project:<id> (for example project:abc-123); a bare Resource Manager UUID is rejected, convert it with ProjectIds.of(String). Project-scoped endpoints need an STS access-policy token (new IAM(BearerTokenProvider))
      serviceId - the fully qualified service id to list actions for (required)
      pageToken - the opaque page token from a prior response, or null for the first page
      pageSize - the maximum number of results per page, or null for the server default
      projectErn - the project ERN (optional, mutually exclusive with projectId), or null
      Returns:
      the requested page of actions
    • listActionSets

      ServiceActionSetList listActionSets(String projectId, String serviceId)
      Lists the action sets for a service within a project, first page (operationId listActionSets).
      Parameters:
      projectId - the IAM project id, project:<id> (for example project:abc-123); a bare Resource Manager UUID is rejected, convert it with ProjectIds.of(String). Project-scoped endpoints need an STS access-policy token (new IAM(BearerTokenProvider))
      serviceId - the service to list action sets for
      Returns:
      the first page of action sets
    • listActionSets

      ServiceActionSetList listActionSets(String projectId, String serviceId, String pageToken, Integer pageSize, String projectErn)
      Lists the action sets for a service within a project, controlling pagination (operationId listActionSets).
      Parameters:
      projectId - the IAM project id, project:<id> (for example project:abc-123); a bare Resource Manager UUID is rejected, convert it with ProjectIds.of(String). Project-scoped endpoints need an STS access-policy token (new IAM(BearerTokenProvider))
      serviceId - the service to list action sets for
      pageToken - the opaque page token from a prior response, or null for the first page
      pageSize - the maximum number of results per page, or null for the server default
      projectErn - the project ERN (optional, mutually exclusive with projectId), or null
      Returns:
      the requested page of action sets
    • listResourceTypeActions

      ResourceTypeActionPage listResourceTypeActions(String projectId, String serviceId, String resourceType)
      Pages the resource-type-to-action mappings for a service and resource type within a project, first page (operationId pageResourceTypeActions).
      Parameters:
      projectId - the IAM project id, project:<id> (for example project:abc-123); a bare Resource Manager UUID is rejected, convert it with ProjectIds.of(String). Project-scoped endpoints need an STS access-policy token (new IAM(BearerTokenProvider))
      serviceId - the fully qualified service id owning the resource type (required)
      resourceType - the resource type within the service (required)
      Returns:
      the first page of resource-type actions
    • listResourceTypeActions

      ResourceTypeActionPage listResourceTypeActions(String projectId, String serviceId, String resourceType, String resourceTypeServiceId, String lastAction, Integer pageSize, String projectErn)
      Pages the resource-type-to-action mappings for a service and resource type within a project, controlling cursor-based pagination (operationId pageResourceTypeActions).

      This operation uses cursor-based pagination keyed on lastAction: pass the action of the last item received from the previous page as lastAction to retrieve the next page.

      Parameters:
      projectId - the IAM project id, project:<id> (for example project:abc-123); a bare Resource Manager UUID is rejected, convert it with ProjectIds.of(String). Project-scoped endpoints need an STS access-policy token (new IAM(BearerTokenProvider))
      serviceId - the fully qualified service id owning the resource type (required)
      resourceType - the resource type within the service (required)
      resourceTypeServiceId - the service id of the resource type when different from serviceId, or null
      lastAction - the id of the last action received (the cursor), or null for the first page
      pageSize - the maximum number of results per page, or null for the server default
      projectErn - the project ERN (optional, mutually exclusive with projectId), or null
      Returns:
      the requested page of resource-type actions
    • getServicePolicySchema

      ServicePolicySchema getServicePolicySchema(String projectId, String serviceId)
      Gets the policy schema for a service within a project (operationId getServicePolicySchema).
      Parameters:
      projectId - the IAM project id, project:<id> (for example project:abc-123); a bare Resource Manager UUID is rejected, convert it with ProjectIds.of(String). Project-scoped endpoints need an STS access-policy token (new IAM(BearerTokenProvider))
      serviceId - the service to fetch the policy schema for
      Returns:
      the service policy schema