Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
189 changes: 189 additions & 0 deletions modules/backend/metadata.display.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,51 @@ spec:
cdn_policy:
name: cdn_policy
title: Cdn Policy
properties:
signed_url_cache_max_age_sec:
name: signed_url_cache_max_age_sec
title: Signed URL Cache Max Age Sec
regexValidation: "^[0-9]+$"
validation: Must be a non-negative integer representing the maximum cache age in seconds, for example 0, 300, or 3600. Only numeric digits are allowed
cache_mode:
name: cache_mode
title: Cache Mode
enumValueLabels:
- label: CACHE_ALL_STATIC
value: CACHE_ALL_STATIC
- label: USE_ORIGIN_HEADERS
value: USE_ORIGIN_HEADERS
- label: FORCE_CACHE_ALL
value: FORCE_CACHE_ALL
bypass_cache_on_request_headers:
name: bypass_cache_on_request_headers
title: Bypass Cache On Request Headers
regexValidation: ^[A-Za-z][A-Za-z0-9-]{0,62}$
validation: "Must be a valid HTTP header name: start with a letter, contain only letters [A–Z, a–z], digits [0–9], or hyphens [-], and be at most 63 characters long"
cache_key_policy:
name: cache_key_policy
title: Cache Key Policy
properties:
query_string_blacklist:
name: query_string_blacklist
title: Query String Blacklist
regexValidation: ^[a-zA-Z0-9_-]+$
validation: Must only contain letters (a–z, A–Z), numbers (0–9), underscores (_), or hyphens (-)
query_string_whitelist:
name: query_string_whitelist
title: Query String Whitelist
regexValidation: ^[a-zA-Z0-9_-]+$
validation: Must only contain letters (a–z, A–Z), numbers (0–9), underscores (_), or hyphens (-)
include_http_headers:
name: include_http_headers
title: Include Http Headers
regexValidation: ^[A-Za-z][A-Za-z0-9-]{0,62}$
validation: "Must be a valid HTTP header name: start with a letter, contain only letters [A–Z, a–z], digits [0–9], or hyphens [-], and be at most 63 characters long"
include_named_cookies:
name: include_named_cookies
title: Include Named Cookies
regexValidation: "^[A-Za-z0-9!#%&'*+.^_|~-]{1,63}$"
validation: "Must be a valid cookie name: 1–63 characters, containing only letters [A–Z, a–z], digits [0–9], and the special characters [! # % & ' * + . ^ _ | ~ -]"
compression_mode:
name: compression_mode
title: Compression Mode
Expand All @@ -51,9 +96,13 @@ spec:
custom_request_headers:
name: custom_request_headers
title: Custom Request Headers
regexValidation: ^[A-Za-z][A-Za-z0-9-]{0,62}$
validation: "Must be a valid HTTP header name: start with a letter, contain only letters [A–Z, a–z], digits [0–9], or hyphens [-], and be at most 63 characters long"
custom_response_headers:
name: custom_response_headers
title: Custom Response Headers
regexValidation: ^[A-Za-z][A-Za-z0-9-]{0,62}$
validation: "Must be a valid HTTP header name: start with a letter, contain only letters [A–Z, a–z], digits [0–9], or hyphens [-], and be at most 63 characters long"
description:
name: description
title: Description
Expand All @@ -66,18 +115,93 @@ spec:
firewall_networks:
name: firewall_networks
title: Firewall Networks
regexValidation: "^(projects/[a-z][a-z0-9-]{4,28}[a-z0-9]/global/networks/[a-zA-Z0-9-_]+|[a-zA-Z0-9-_]+)$"
validation: Network must be a valid network name or a full resource path.
firewall_projects:
name: firewall_projects
title: Firewall Projects
regexValidation: ^[a-z][a-z0-9-]{4,28}[a-z0-9]$
validation: Project ID must be 6 to 30 characters, consist of lowercase letters, numbers, and hyphens, and start with a letter
firewall_source_ranges:
name: firewall_source_ranges
title: Firewall Source Ranges
regexValidation: "^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9]).){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])/([0-9]|[1-2][0-9]|3[0-2])$"
validation: Must be a valid CIDR range
groups:
name: groups
title: Groups
properties:
balancing_mode:
name: balancing_mode
title: Balancing Mode
enumValueLabels:
- label: CONNECTION
value: CONNECTION
- label: RATE
value: RATE
- label: UTILIZATION
value: UTILIZATION
- label: CUSTOM_METRICS
value: CUSTOM_METRICS
health_check:
name: health_check
title: Health Check
properties:
host:
name: host
title: Host
regexValidation: "^(([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?[.])+[a-zA-Z]{2,63}|[0-9]{1,3}([.][0-9]{1,3}){3}|(\\[?[A-Fa-f0-9:]+\\]?))$"
validation: Must be a valid hostname (RFC 1035), IPv4 address, or IPv6 address
request_path:
name: request_path
title: Request Path
regexValidation: "^/.*$"
validation: Must start with a forward slash `/` and can include any valid path characters.
request:
name: request
title: Request
regexValidation: "^[ -~]*$"
validation: Must contain only ASCII characters
response:
name: response
title: Response
regexValidation: "^[ -~]*$"
validation: Must contain only ASCII characters
port_name:
name: port_name
title: Port Name
regexValidation: ^[a-z]([-a-z0-9]{0,61}[a-z0-9])?$
validation: Must start with a lowercase letter, contain only lowercase letters, digits, or hyphens, and end with a letter or digit
proxy_header:
name: proxy_header
title: Proxy Header
enumValueLabels:
- label: NONE
value: NONE
- label: PROXY_V1
value: PROXY_V1
port_specification:
name: port_specification
title: Port Specification
enumValueLabels:
- label: USE_FIXED_PORT
value: USE_FIXED_PORT
- label: USE_NAMED_PORT
value: USE_NAMED_PORT
- label: USE_SERVING_PORT
value: USE_SERVING_PORT
protocol:
name: protocol
title: Protocol
enumValueLabels:
- label: HTTP
value: HTTP
- label: HTTPS
value: HTTPS
- label: HTTP2
value: HTTP2
- label: TCP
value: TCP
host_path_mappings:
name: host_path_mappings
title: Host Path Mappings
Expand All @@ -102,6 +226,23 @@ spec:
locality_lb_policy:
name: locality_lb_policy
title: Locality Lb Policy
enumValueLabels:
- label: ROUND_ROBIN
value: ROUND_ROBIN
- label: LEAST_REQUEST
value: LEAST_REQUEST
- label: RING_HASH
value: RING_HASH
- label: RANDOM
value: RANDOM
- label: ORIGINAL_DESTINATION
value: ORIGINAL_DESTINATION
- label: MAGLEV
value: MAGLEV
- label: WEIGHTED_MAGLEV
value: WEIGHTED_MAGLEV
- label: WEIGHTED_ROUND_ROBIN
value: WEIGHTED_ROUND_ROBIN
log_config:
name: log_config
title: Log Config
Expand All @@ -116,24 +257,72 @@ spec:
port_name:
name: port_name
title: Port Name
regexValidation: ^[a-z]([-a-z0-9]{0,61}[a-z0-9])?$
validation: Must start with a lowercase letter, contain only lowercase letters, digits, or hyphens, and end with a letter or digit
project_id:
name: project_id
title: Project Id
protocol:
name: protocol
title: Protocol
enumValueLabels:
- label: HTTP
value: HTTP
- label: HTTPS
value: HTTPS
- label: HTTP2
value: HTTP2
- label: TCP
value: TCP
security_policy:
name: security_policy
title: Security Policy
regexValidation: "^(projects/[a-z][a-z0-9-]{4,28}[a-z0-9]/global/securityPolicies/[a-z0-9-]+|[a-z0-9-]+)$"
validation: Must be a valid security policy name or full resource path in the format "projects/{project}/global/securityPolicies/{policy}"
serverless_neg_backends:
name: serverless_neg_backends
title: Serverless Neg Backends
properties:
type:
name: type
title: Type
enumValueLabels:
- label: Cloud Run
value: cloud-run
- label: Cloud Function
value: cloud-function
- label: App Engine
value: app-engine
service_name:
name: service_name
title: Service Name
regexValidation: ^[a-z]([-a-z0-9]{0,61}[a-z0-9])?$
validation: Must be a valid service name (lowercase, hyphens, numbers, up to 63 chars).
session_affinity:
name: session_affinity
title: Session Affinity
enumValueLabels:
- label: NONE
value: NONE
- label: CLIENT_IP
value: CLIENT_IP
- label: CLIENT_IP_PORT_PROTO
value: CLIENT_IP_PORT_PROTO
- label: CLIENT_IP_PROTO
value: CLIENT_IP_PROTO
- label: GENERATED_COOKIE
value: GENERATED_COOKIE
- label: HEADER_FIELD
value: HEADER_FIELD
- label: HTTP_COOKIE
value: HTTP_COOKIE
- label: STRONG_COOKIE_AFFINITY
value: STRONG_COOKIE_AFFINITY
target_service_accounts:
name: target_service_accounts
title: Target Service Accounts
regexValidation: ^[a-z][a-z0-9-]{4,28}[a-z0-9]@[a-z][a-z0-9-]{4,28}[a-z0-9].iam.gserviceaccount.com$
validation: Service account email must be in the format {account-id}@{project-id}.iam.gserviceaccount.com
target_tags:
name: target_tags
title: Target Tags
Expand Down
37 changes: 37 additions & 0 deletions modules/frontend/metadata.display.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,16 @@ spec:
address:
name: address
title: Address
regexValidation: "^(0.0.0.0|((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9]).){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])|([0-9a-fA-F:]+(/[0-9]{1,3})?)|(https://www.googleapis.com/compute/v1/projects/[a-z][a-z0-9-]{4,28}[a-z0-9]/(global|regions/[a-z0-9-]+)/addresses/[a-z][a-z0-9-]{0,61}[a-z0-9])|(projects/[a-z][a-z0-9-]{4,28}[a-z0-9]/(global|regions/[a-z0-9-]+)/addresses/[a-z][a-z0-9-]{0,61}[a-z0-9])|(regions/[a-z0-9-]+/addresses/[a-z][a-z0-9-]{0,61}[a-z0-9])|(global/addresses/[a-z][a-z0-9-]{0,61}[a-z0-9])|([a-z][a-z0-9-]{0,61}[a-z0-9]))$"
validation: "Must be a valid IP address (IPv4, IPv6, or 0.0.0.0) or a Compute Address reference in one of the following formats: https://www.googleapis.com/compute/v1/projects/{project}/(global|regions/{region})/addresses/{name}, projects/{project}/(global|regions/{region})/addresses/{name}, regions/{region}/addresses/{name}, global/addresses/{name}, or {address-name}"
certificate:
name: certificate
title: Certificate
certificate_map:
name: certificate_map
title: Certificate Map
regexValidation: "^projects/[a-z][a-z0-9-]{4,28}[a-z0-9]/locations/global/certificateMaps/[a-zA-Z][a-zA-Z0-9-]{0,62}[a-zA-Z0-9]$"
validation: "Must be in the format projects/{project}/locations/global/certificateMaps/{name}"
create_address:
name: create_address
title: Create Address
Expand Down Expand Up @@ -73,6 +77,8 @@ spec:
ipv6_address:
name: ipv6_address
title: Ipv6 Address
regexValidation: ^(([0-9A-Fa-f]{1,4}:){1,7}[0-9A-Fa-f]{1,4}|::1|::)$
validation: Must be a valid IPv6 address.
labels:
name: labels
title: Labels
Expand All @@ -95,6 +101,8 @@ spec:
network:
name: network
title: Network
regexValidation: "^(projects/[a-z][a-z0-9-]{4,28}[a-z0-9]/global/networks/[a-zA-Z0-9-_]+|[a-zA-Z0-9-_]+)$"
validation: Network must be a valid network name or a full resource path.
private_key:
name: private_key
title: Private Key
Expand All @@ -104,24 +112,53 @@ spec:
quic:
name: quic
title: Quic
enumValueLabels:
- label: ENABLE
value: ENABLE
- label: DISABLE
value: DISABLE
- label: NONE
value: NONE
random_certificate_suffix:
name: random_certificate_suffix
title: Random Certificate Suffix
server_tls_policy:
name: server_tls_policy
title: Server Tls Policy
regexValidation: "^projects/[a-z0-9][-a-z0-9]{4,28}[a-z0-9]/locations/[a-z0-9-]+/serverTlsPolicies/[a-z]([-a-z0-9]{0,61}[a-z0-9])$"
validation: Must be a valid server TLS policy full resource URL.
ssl:
name: ssl
title: Ssl
ssl_certificates:
name: ssl_certificates
title: Ssl Certificates
regexValidation: "^(https://www.googleapis.com/compute/v1/)?projects/[a-z0-9][-a-z0-9]{4,28}[a-z0-9]/global/sslCertificates/[a-z]([-a-z0-9]{0,61}[a-z0-9])$|^[a-z]([-a-z0-9]{0,61}[a-z0-9])$"
validation: Must be a valid SSL certificate resource URL.
ssl_policy:
name: ssl_policy
title: Ssl Policy
regexValidation: "^(https://www.googleapis.com/compute/v1/)?projects/[a-z0-9][-a-z0-9]{4,28}[a-z0-9]/global/sslPolicies/[a-z]([-a-z0-9]{0,61}[a-z0-9])$|^[a-z]([-a-z0-9]{0,61}[a-z0-9])$"
validation: Must be a valid SSL policy name or full resource URL.
url_map_input:
name: url_map_input
title: Url Map Input
properties:
host:
name: host
title: Host
regexValidation: "^([*]|([*][.])?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)+)$"
validation: "Must be a valid host pattern: a fully qualified domain name (e.g., example.com), or a wildcard in the first component only (e.g., *.example.com). Must contain only lowercase letters, digits, hyphens (-), and dots (.), and be 1–255 characters long"
path:
name: path
title: Path
regexValidation: "^(.*)$"
validation: Path values must start with "/"
backend_service:
name: backend_service
title: Backend Service
regexValidation: "^projects/[a-z][a-z0-9-]{4,28}[a-z0-9]/global/(backendServices|backendBuckets)/[a-z]([a-z0-9-]{0,61}[a-z0-9])?$"
validation: Must be a reference to a global backend service or backend bucket in the format [projects/{project}/global/backendServices/{name}] or [projects/{project}/global/backendBuckets/{name}]
url_map_resource_uri:
name: url_map_resource_uri
title: Url Map Resource Uri
Expand Down