Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[Feature Request] gem4gov: add a license-assignment command (batchUpdateUserLicenses)

Abierto
#121 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
58/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
google-cloud, python
Área
api, cli, cloud

Línea de trabajo

Empieza en gem4gov.py localizando el grupo existente gem4gov license y el comando distribute, y compáralos con la solicitud batchUpdateUserLicenses de v1 documentada en el issue. Implementa el comportamiento solicitado de asignación, desasignación y conciliación usando el endpoint y la estructura de payload indicados. Se considera terminado cuando los comandos admiten los flujos de trabajo de asignación y eliminación descritos y producen solicitudes CLI auditables.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Enhancement Gemini - Government Level of Effort - Medium Priority - Medium

Feature Description

The gem4gov license group wraps distributeLicenseConfig (distribute) and lists configs (list), but has no user-assignment command. Add gem4gov license assign (plus unassign/reconcile) wrapping the public Discovery Engine batchUpdateUserLicenses REST method, mirroring the existing distribute command's structure.

Use Case

Assigning a license to an individual user currently requires the Gemini Enterprise console "Manage users" page or a manually created REST call (grep -n batchUpdateUserLicenses gem4gov.py → no matches). A CLI command makes assignment scriptable, idempotent, and auditable — producing cleaner audit evidence for license oversight.

Proposed Solution

Add gem4gov license assign wrapping the documented API. Verified schema (Google's public "Get subscriptions and assign licenses" docs):
POST https://{us|eu|}discoveryengine.googleapis.com/v1/projects/{PROJECT_ID}/locations/{LOCATION}/userStores/default_user_store:batchUpdateUserLicenses
body { inlineSource: { userLicenses: [{ userPrincipal, licenseConfig }], updateMask: { paths: ["userPrincipal","licenseConfig"] } }, deleteUnassignedUserLicenses: bool }.
Note: v1 (not v1alpha), default_user_store, licenseConfig is the project-level config path. Unassign = omit licenseConfig + deleteUnassignedUserLicenses: true.

Compliance & Deployment Context

  • Target Deployment Type(s):
    • US Region Restricted (e.g., Access Policy constraint)
    • FedRAMP Medium
    • FedRAMP High
    • DoD IL4
    • DoD IL5
    • All / General
  • Relevant NIST 800-53r5 Controls: AC-2 (account management) — auditable, repeatable license assignment.

Reusability Check

Stellar Engine prioritizes reusability.

  • I have checked if this functionality can be achieved by extending an existing module or blueprint. (Extends the existing license group; no wrapper exists anywhere in the repo.)
  • I have verified that this does not duplicate existing functionality. (Checked all 61 open/closed issues; #100 proposes converting the CLI to Terraform — if that lands, this ask translates to the TF implementation.)

Alternatives Considered

Console clicks (not scriptable/auditable at scale); hand-rolled REST calls (works, but every operator reinvents the request shape).

Additional Context

Verified at main @ 3728fc98. Related: #100 (CLI→Terraform conversion).

Lenguaje dominante
HCL
Estrellas
51
Forks
21
Merge medio
1 d 17 h
PR fusionados (30 d)
29

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de google/stellar-engine

Todos los issues de google/stellar-engine

Issues similares

Más issues de Backend & API Design

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.