Skip to content

feat(apigee): add remaining google_apigee resources#885

Open
displague wants to merge 2 commits intocrossplane-contrib:mainfrom
displague:apigee_resources
Open

feat(apigee): add remaining google_apigee resources#885
displague wants to merge 2 commits intocrossplane-contrib:mainfrom
displague:apigee_resources

Conversation

@displague
Copy link
Copy Markdown

Description of your changes

Add support for the following Google Apigee resources:

  • google_apigee_api: API proxy management
  • google_apigee_api_product: API product configuration
  • google_apigee_app_group: Application group management
  • google_apigee_control_plane_access: Control plane access config
  • google_apigee_developer: Developer account management
  • google_apigee_dns_zone: DNS zone configuration
  • google_apigee_environment_addons_config: Environment addons
  • google_apigee_environment_iam_binding: Environment IAM bindings
  • google_apigee_environment_iam_policy: Environment IAM policies
  • google_apigee_environment_keyvaluemaps: Key-value map storage
  • google_apigee_environment_keyvaluemaps_entries: KVM entries
  • google_apigee_flowhook: Flow hook management
  • google_apigee_keystores_aliases_pkcs12: PKCS12 keystore aliases
  • google_apigee_keystores_aliases_self_signed_cert: Self-signed cert aliases
  • google_apigee_security_action: Security action configuration
  • google_apigee_security_monitoring_condition: Security monitoring
  • google_apigee_security_profile_v2: Security profiles v2
  • google_apigee_sharedflow: Shared flow management
  • google_apigee_sharedflow_deployment: Shared flow deployments

Configuration changes:

  • config/generated.lst: Added 19 new Apigee resources in alphabetical order
  • config/externalname.go: Configured external name patterns for all new
    resources following Terraform import format conventions
  • config/cluster/apigee/config.go: Added cross-resource references for
    proper resource relationships (org_id -> organization, env_id ->
    environment, sharedflow -> sharedflow, etc.)

Generated artifacts:

  • API type definitions for cluster and namespaced scopes (v1beta1)
  • Terraform resource bindings and state management
  • CustomResourceDefinitions (CRDs) for Kubernetes integration
  • Example YAML manifests demonstrating resource usage
  • Controller setup and registration code

This includes:

  • 76+ type definition files (apis/cluster/apigee/v1beta1/ and apis/namespaced/apigee/v1beta1/)
  • 38 CRD manifests (package/crds/apigee.gcp..io_.yaml)
  • 66 example YAML files (examples-generated/{cluster,namespaced}/apigee/v1beta1/)
  • 38 controller directories with generated reconciliation logic
  • Updated controller setup files for resource registration

Fixes #

I have:

  • Read and followed Crossplane's contribution process.
  • Run make reviewable to ensure this PR is ready for review.

How has this code been tested

@displague displague marked this pull request as ready for review February 20, 2026 00:08
displague and others added 2 commits February 19, 2026 20:47
Add support for the following Google Apigee resources:
- google_apigee_api: API proxy management
- google_apigee_api_product: API product configuration
- google_apigee_app_group: Application group management
- google_apigee_control_plane_access: Control plane access config
- google_apigee_developer: Developer account management
- google_apigee_dns_zone: DNS zone configuration
- google_apigee_environment_addons_config: Environment addons
- google_apigee_environment_iam_binding: Environment IAM bindings
- google_apigee_environment_iam_policy: Environment IAM policies
- google_apigee_environment_keyvaluemaps: Key-value map storage
- google_apigee_environment_keyvaluemaps_entries: KVM entries
- google_apigee_flowhook: Flow hook management
- google_apigee_keystores_aliases_pkcs12: PKCS12 keystore aliases
- google_apigee_keystores_aliases_self_signed_cert: Self-signed cert aliases
- google_apigee_security_action: Security action configuration
- google_apigee_security_monitoring_condition: Security monitoring
- google_apigee_security_profile_v2: Security profiles v2
- google_apigee_sharedflow: Shared flow management
- google_apigee_sharedflow_deployment: Shared flow deployments

Configuration changes:
- config/generated.lst: Added 19 new Apigee resources in alphabetical order
- config/externalname.go: Configured external name patterns for all new
  resources following Terraform import format conventions
- config/cluster/apigee/config.go: Added cross-resource references for
  proper resource relationships (org_id -> organization, env_id ->
  environment, sharedflow -> sharedflow, etc.)
- config/namespaced/apigee/config.go: Added identical cross-resource
  references for namespaced resource scope

All resources follow the established TargetServer pattern with proper
external name templates and reference configurations for both cluster
and namespaced scopes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Marques Johansson <317653+displague@users.noreply.github.com>
Generate all required code artifacts for the 19 new Apigee resources:

Generated artifacts:
- API type definitions for cluster and namespaced scopes (v1beta1)
- Terraform resource bindings and state management
- CustomResourceDefinitions (CRDs) for Kubernetes integration
- Example YAML manifests demonstrating resource usage
- Controller setup and registration code

This includes:
- 76+ type definition files (apis/cluster/apigee/v1beta1/ and apis/namespaced/apigee/v1beta1/)
- 38 CRD manifests (package/crds/apigee.gcp.*.io_*.yaml)
- 66 example YAML files (examples-generated/{cluster,namespaced}/apigee/v1beta1/)
- 38 controller directories with generated reconciliation logic
- Updated controller setup files for resource registration

All generated code follows the upjet code generation patterns and
includes proper reference resolution, deep copy methods, and conversion
hubs for API version management. Both cluster and namespaced scopes
have complete reference configurations.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Marques Johansson <317653+displague@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant