ShareResourceWithPrincipal
groups.shares.create(ShareCreateParams**kwargs) -> object
POST/gitpod.v1.GroupService/ShareResourceWithPrincipal
Shares a resource directly with a principal (user or service account).
Use this method to:
- Grant a user or service account direct access to a runner, project, or other resource
- Share resources without creating and managing groups manually
Examples
-
Share a runner with a user:
Grants admin access to a runner for a specific user.
resourceType: RESOURCE_TYPE_RUNNER resourceId: "d2c94c27-3b76-4a42-b88c-95a85e392c68" principal: PRINCIPAL_USER principalId: "f53d2330-3795-4c5d-a1f3-453121af9c60" role: RESOURCE_ROLE_RUNNER_ADMIN -
Share a runner with a service account:
Grants user access to a runner for a service account.
resourceType: RESOURCE_TYPE_RUNNER resourceId: "d2c94c27-3b76-4a42-b88c-95a85e392c68" principal: PRINCIPAL_SERVICE_ACCOUNT principalId: "a1b2c3d4-5678-90ab-cdef-1234567890ab" role: RESOURCE_ROLE_RUNNER_USER
Authorization
Requires admin role on the specific resource.
ShareResourceWithPrincipal
import os
from gitpod import Gitpod
client = Gitpod(
bearer_token=os.environ.get("GITPOD_API_KEY"), # This is the default and can be omitted
)
share = client.groups.shares.create(
principal="PRINCIPAL_SERVICE_ACCOUNT",
principal_id="a1b2c3d4-5678-90ab-cdef-1234567890ab",
resource_id="d2c94c27-3b76-4a42-b88c-95a85e392c68",
resource_type="RESOURCE_TYPE_RUNNER",
role="RESOURCE_ROLE_RUNNER_USER",
)
print(share){}Returns Examples
{}