mmv1/products/firebaseapphosting/Backend.yaml (79 lines of code) (raw):

# Copyright 2025 Google Inc. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. --- name: Backend description: A Backend is the primary resource of App Hosting. base_url: projects/{{project}}/locations/{{location}}/backends update_mask: true self_link: projects/{{project}}/locations/{{location}}/backends/{{backend_id}} create_url: projects/{{project}}/locations/{{location}}/backends?backendId={{backend_id}} # Always forces deletion because the child resource default `Domain` is always present. delete_url: projects/{{project}}/locations/{{location}}/backends/{{backend_id}}?force=true update_verb: PATCH id_format: projects/{{project}}/locations/{{location}}/backends/{{backend_id}} import_format: - "projects/{{project}}/locations/{{location}}/backends/{{backend_id}}" - "{{project}}/{{location}}/{{backend_id}}" - "{{location}}/{{backend_id}}" examples: - name: firebase_app_hosting_backend_minimal primary_resource_id: example vars: backend_id: "mini" service_act_id: "firebase-app-hosting-compute" test_env_vars: project_id: "PROJECT_NAME" test_vars_overrides: # prevent tests from colliding with each other service_act_id: '"tf-test-fah-minimal"' - name: firebase_app_hosting_backend_full primary_resource_id: example vars: backend_id: "full" service_act_id: "firebase-app-hosting-compute" test_env_vars: project_id: "PROJECT_NAME" test_vars_overrides: # prevent tests from colliding with each other service_act_id: '"tf-test-fah-full"' - name: firebase_app_hosting_backend_github primary_resource_id: example vars: backend_id: "my-backend-gh" test_env_vars: project_id: "PROJECT_NAME" exclude_test: true # Can't establish a Github connection in automated tests. autogen_async: true async: operation: timeouts: insert_minutes: 20 update_minutes: 20 delete_minutes: 20 base_url: "{{op_id}}" actions: - create - delete - update type: OpAsync result: resource_inside_response: true include_project: false autogen_status: QmFja2VuZA== parameters: - name: location type: String description: The canonical IDs of a Google Cloud location such as "us-east1". immutable: true url_param_only: true required: true - name: backendId type: String description: |- Id of the backend. Also used as the service ID for Cloud Run, and as part of the default domain name. immutable: true url_param_only: true required: true properties: - name: servingLocality type: Enum description: |- Immutable. Specifies how App Hosting will serve the content for this backend. It will either be contained to a single region (REGIONAL_STRICT) or allowed to use App Hosting's global-replicated serving infrastructure (GLOBAL_ACCESS). enum_values: - "REGIONAL_STRICT" - "GLOBAL_ACCESS" immutable: true required: true - name: appId type: String description: |- The [ID of a Web App](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects.webApps#WebApp.FIELDS.app_id) associated with the backend. required: true - name: serviceAccount type: String description: |- The name of the service account used for Cloud Build and Cloud Run. Should have the role roles/firebaseapphosting.computeRunner or equivalent permissions. required: true - name: annotations type: KeyValueAnnotations description: |- Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. - name: displayName type: String description: Human-readable name. 63 character limit. - name: environment type: String description: |- The environment name of the backend, used to load environment variables from environment specific configuration. - name: labels type: KeyValueLabels description: |- Unstructured key value map that can be used to organize and categorize objects. - name: etag type: Fingerprint description: |- Server-computed checksum based on other values; may be sent on update or delete to ensure operation is done on expected resource. output: true - name: name type: String description: |- Identifier. The resource name of the backend. Format: `projects/{project}/locations/{locationId}/backends/{backendId}`. output: true - name: createTime type: Time description: Time at which the backend was created. output: true - name: deleteTime type: Time description: Time at which the backend was deleted. output: true - name: updateTime type: Time description: Time at which the backend was last updated. output: true - name: uid type: String description: System-assigned, unique identifier. output: true - name: uri type: String description: The primary URI to communicate with the backend. output: true - name: codebase type: NestedObject description: |- The connection to an external source repository to watch for event-driven updates to the backend. properties: - name: repository type: String description: |- The resource name for the Developer Connect [`gitRepositoryLink`](https://cloud.google.com/developer-connect/docs/api/reference/rest/v1/projects.locations.connections.gitRepositoryLinks) connected to this backend, in the format: projects/{project}/locations/{location}/connections/{connection}/gitRepositoryLinks/{repositoryLink} required: true - name: rootDirectory type: String description: |- If `repository` is provided, the directory relative to the root of the repository to use as the root for the deployed web app. - name: managedResources type: Array description: A list of the resources managed by this backend. output: true item_type: type: NestedObject properties: - name: runService type: NestedObject output: true description: |- A managed Cloud Run [`service`](https://cloud.google.com/run/docs/reference/rest/v2/projects.locations.services#resource:-service). properties: - name: service type: String output: true description: |- The name of the Cloud Run [`service`](https://cloud.google.com/run/docs/reference/rest/v2/projects.locations.services#resource:-service), in the format: projects/{project}/locations/{location}/services/{serviceId}