google / google/stellar-engine

[Feature Request] gem4gov: add a license-retraction command (retractLicenseConfig) + range-reclaim helper

Open
#123 0 comments 0 reactions 0 assignees View on GitHub
enhancement gemini for government Level of Effort - Medium Priority - Low
Dominant language
HCL
Stars
49
Forks
20
Avg merge
3d 14h
Merged PRs (30d)
28

Description

The licensing API documents `retractLicenseConfig` (project → billing account), but the CLI has no retract command — the `license` group has `list` and `distribute` only (`grep -n retractLicenseConfig gem4gov.py` → no matches). Add `gem4gov license retract`, optionally with a batch/range helper.

## Use Case
Post-engagement license reclamation across a range of orgs/projects is entirely manual today. Operators reclaiming distributed licenses back to a central billing account have no scripted path.

## Proposed Solution
Add `gem4gov license retract` wrapping `retractLicenseConfig`, mirroring `distribute`'s structure; optionally a batch/range helper for operators reclaiming across many projects/orgs.

## Compliance & Deployment Context
* **Target Deployment Type(s):**
* [ ] US Region Restricted (e.g., Access Policy constraint)
* [ ] FedRAMP Medium
* [x] FedRAMP High
* [ ] DoD IL4
* [ ] DoD IL5
* [ ] All / General
* **Relevant NIST 800-53r5 Controls:** AC-2 (account management / deprovisioning).

## Reusability Check
Stellar Engine prioritizes reusability.
* [x] I have checked if this functionality can be achieved by extending an existing module or blueprint. (Extends the existing `license` group.)
* [x] I have verified that this does not duplicate existing functionality.

## Alternatives Considered
Manual reclamation via REST per project (current state); leaving licenses distributed (cost and audit hygiene both suffer).

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

Contributor guide

Open the contributing guide

Research direction

Start in gem4gov.py by examining the existing license group and its distribute command, then compare the documented retractLicenseConfig API referenced in the issue. Implement the retract command for project-to-billing-account reclamation; treat the batch/range helper as optional and confirm the command is available under the license group.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, cloud
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.