Skip to content

GCP.Jobs reference

Source: src/GCP/Jobs/Tenant.ts

A Cloud Talent Solution tenant. Tenants isolate jobs and companies for different customer groups.

Tenants have no labels field, so Alchemy stamps ownership into externalId for list / nuke. The server-assigned tenant id is identity — changing tenantId replaces the tenant. externalId updates in place.

Generated identifier

const tenant = yield* GCP.Jobs.Tenant("Acme", {});

Explicit external id

const tenant = yield* GCP.Jobs.Tenant("Acme", {
externalId: "acme-corp",
});

Re-declare the same logical id with changed props; the engine keeps the physical resource and updates it in place.

const tenant = yield* GCP.Jobs.Tenant("Acme", {
externalId: "acme-holdings",
});

Source: src/GCP/Jobs/TenantsCompany.ts

A Cloud Talent Solution company — the hiring entity that owns job postings.

Companies have no labels field, so Alchemy stamps ownership into the client-side externalId for list / nuke (never into the seeker-visible display name). Parent tenant and company id are identity — changing either replaces the company. Display name, URIs, size, and related fields update in place.

const tenant = yield* GCP.Jobs.Tenant("Acme", {});
const company = yield* GCP.Jobs.TenantsCompany("Labs", {
parent: tenant.name,
displayName: "Acme Labs",
websiteUri: "https://www.example.com",
});

Re-declare the same logical id with changed props; the engine keeps the physical resource and updates it in place.

const company = yield* GCP.Jobs.TenantsCompany("Labs", {
parent: tenant.name,
displayName: "Acme Research",
headquartersAddress: "Mountain View, CA",
});

Source: src/GCP/Jobs/TenantsJob.ts

A Cloud Talent Solution job posting.

Jobs have no labels field, so Alchemy stamps ownership into the client-side requisitionId for list / nuke (never into the seeker-visible title or description). Parent tenant, company, and job id are identity — changing any of them replaces the job. Title, description, addresses, and related fields update in place. A company cannot be deleted while it still has jobs.

const job = yield* GCP.Jobs.TenantsJob("Engineer", {
parent: tenant.name,
company: company.name,
title: "Software Engineer",
description: "Build Cloud Talent integrations.",
addresses: ["Mountain View, CA"],
applicationInfo: { uris: ["https://www.example.com/apply"] },
});

Re-declare the same logical id with changed props; the engine keeps the physical resource and updates it in place.

const job = yield* GCP.Jobs.TenantsJob("Engineer", {
parent: tenant.name,
company: company.name,
title: "Staff Software Engineer",
description: "Build Cloud Talent integrations.",
promotionValue: 1,
});