Skip to content

Expose end_time_behavior on GKE Cluster maintenance_exclusion.exclusion_options #903

@Bhavikshah406

Description

@Bhavikshah406

Problem

The Cluster managed resource (container.gcp.upbound.io / namespaced variant) models GKE maintenance exclusions under spec.forProvider.maintenancePolicy.maintenanceExclusion, including exclusionOptions with scope.

The underlying Terraform resource google_container_cluster also supports end_time_behavior on maintenance_policy.maintenance_exclusion.exclusion_options (Terraform attribute end_time_behavior), which controls behavior when the exclusion end time is reached (e.g. UNTIL_END_OF_SUPPORT).

That field is not exposed on the Crossplane CRDs / generated types today, so users cannot declare the same policy they can in Terraform.

Expected behavior

Managed resource specs should allow optional endTimeBehavior (camelCase in CRD) under each maintenance exclusion’s exclusionOptions, mapped to Terraform end_time_behavior, consistent with other exclusionOptions fields.

Context

  • In Terraform Google provider 6.x (the version range this provider is currently generated against), the exported provider schema for google_container_cluster may not yet list end_time_behavior; the attribute appears in newer 7.x provider schemas. Regardless, the GKE API supports the behavior and Terraform documents/validates it in current provider code.
  • Implementation may be a targeted API + CRD + config/schema.json update while remaining on Terraform 6.x, or may be picked up automatically after a future Terraform provider major bump and full regeneration.

Acceptance criteria

  • endTimeBehavior is available on exclusionOptions for Cluster (cluster-scoped and namespaced APIs as applicable).
  • CRD OpenAPI documents the field; optional string, aligned with Terraform semantics.
  • config/schema.json / metadata updated if the repo requires them to stay in sync for generation or CI.

References

  • Terraform: google_container_clustermaintenance_policymaintenance_exclusionexclusion_optionsend_time_behavior
  • GKE: maintenance exclusion options / end time behavior (provider docs mirror API behavior)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions