#[non_exhaustive]pub struct Projection {
pub resource: Resource,
pub forge_id: Option<u64>,
pub roles: Vec<RoleAssignment>,
pub required_check: Option<String>,
pub archived: bool,
pub visibility: Option<Visibility>,
pub owners: Vec<ForgeAccount>,
}Expand description
What the VTC says a repository should look like on the forge: the enforced projection of §2.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.resource: ResourceThe resource the VTC holds for the repository.
forge_id: Option<u64>The forge id the VTC recorded, if it has one. When set, a state with the same id at a different resource is a rename, not a new repo.
roles: Vec<RoleAssignment>Desired roles for people with linked accounts. Nobody else should hold a direct role.
required_check: Option<String>The check that must be required on the default branch
(Verify commit trust). None for a repo not yet bootstrapped.
archived: boolWhether the repository should be archived.
visibility: Option<Visibility>The visibility the VTC recorded, if it tracks one.
owners: Vec<ForgeAccount>The repository’s owners with linked forge accounts. Where the forge guards workflows with owner review, two or more owners must all be reviewers; one owner is a solo repository with no review guard.