# Copyright 2025 Google LLC
#
# 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.

apiVersion: blueprints.cloud.google.com/v1alpha1
kind: BlueprintMetadata
metadata:
  name: terraform-google-regional-lb-http-backend-display
  annotations:
    config.kubernetes.io/local-config: "true"
spec:
  info:
    title: HTTP Regional Load balancer backend module
    source:
      repo: https://github.com/googlestaging/terraform-google-regional-lb-http.git
      sourceType: git
      dir: /modules/backend
  ui:
    input:
      variables:
        affinity_cookie_ttl_sec:
          name: affinity_cookie_ttl_sec
          title: Affinity Cookie Ttl Sec
        connection_draining_timeout_sec:
          name: connection_draining_timeout_sec
          title: Connection Draining Timeout Sec
        description:
          name: description
          title: Description
        enable_cdn:
          name: enable_cdn
          title: Enable Cdn
        firewall_networks:
          name: firewall_networks
          title: Firewall Networks
        firewall_projects:
          name: firewall_projects
          title: Firewall Projects
        firewall_source_ranges:
          name: firewall_source_ranges
          title: Firewall Source Ranges
        groups:
          name: groups
          title: Groups
        health_check:
          name: health_check
          title: Health Check
        host_path_mappings:
          name: host_path_mappings
          title: Host Path Mappings
          level: 1
        load_balancing_scheme:
          name: load_balancing_scheme
          title: Load Balancing Scheme
          enumValueLabels:
            - label: EXTERNAL_MANAGED
              value: EXTERNAL_MANAGED
            - label: INTERNAL_MANAGED
              value: INTERNAL_MANAGED
          level: 1
        locality_lb_policy:
          name: locality_lb_policy
          title: Locality Lb Policy
        name:
          name: name
          title: Name
          regexValidation: ^[a-z][a-z0-9-]{0,40}[a-z0-9]$
          validation: Use lowercase letters, numbers, and hyphens. Start with a letter and end with letter/number. Must be 42 characters or fewer.
        port_name:
          name: port_name
          title: Port Name
        project_id:
          name: project_id
          title: Project Id
        protocol:
          name: protocol
          title: Protocol
        region:
          name: region
          title: Region
        security_policy:
          name: security_policy
          title: Security Policy
        serverless_neg_backends:
          name: serverless_neg_backends
          title: Serverless Neg Backends
        session_affinity:
          name: session_affinity
          title: Session Affinity
        target_service_accounts:
          name: target_service_accounts
          title: Target Service Accounts
        target_tags:
          name: target_tags
          title: Target Tags
        timeout_sec:
          name: timeout_sec
          title: Timeout Sec
