# Copyright 2022 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.

egress: map(include('firewall_rule'), required=False)
ingress: map(include('firewall_rule'), required=False)
---
firewall_rule:
  deny: bool(required=False)
  description: str(required=False)
  destination_ranges: list(str(), required=False)
  disabled: bool(required=False)
  # enable_logging:
  #   include_metadata: bool(required=False)
  priority: int(required=False)
  source_ranges: list(str(), required=False)
  sources: list(str(), required=False)
  targets: list(str(), required=False)
  use_service_accounts: bool(required=False)
  rules: list(include('rule'), required=False)
---
rule:
  protocol: str()
  ports: list(num())
