# Copyright 2023 Google LLC. All Rights Reserved.
# 
# 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.
info:
  title: Compute/NetworkFirewallPolicy
  description: The Compute NetworkFirewallPolicy resource
  x-dcl-struct-name: NetworkFirewallPolicy
  x-dcl-has-iam: false
paths:
  get:
    description: The function used to get information about a NetworkFirewallPolicy
    parameters:
    - name: networkFirewallPolicy
      required: true
      description: A full instance of a NetworkFirewallPolicy
  apply:
    description: The function used to apply information about a NetworkFirewallPolicy
    parameters:
    - name: networkFirewallPolicy
      required: true
      description: A full instance of a NetworkFirewallPolicy
  delete:
    description: The function used to delete a NetworkFirewallPolicy
    parameters:
    - name: networkFirewallPolicy
      required: true
      description: A full instance of a NetworkFirewallPolicy
  deleteAll:
    description: The function used to delete all NetworkFirewallPolicy
    parameters:
    - name: project
      required: true
      schema:
        type: string
    - name: location
      required: true
      schema:
        type: string
  list:
    description: The function used to list information about many NetworkFirewallPolicy
    parameters:
    - name: project
      required: true
      schema:
        type: string
    - name: location
      required: true
      schema:
        type: string
components:
  schemas:
    NetworkFirewallPolicy:
      title: NetworkFirewallPolicy
      x-dcl-id: projects/{{project}}/global/firewallPolicies/{{name}}
      x-dcl-locations:
      - region
      - global
      x-dcl-parent-container: project
      x-dcl-has-create: true
      x-dcl-has-iam: false
      x-dcl-read-timeout: 0
      x-dcl-apply-timeout: 0
      x-dcl-delete-timeout: 0
      type: object
      required:
      - name
      - project
      properties:
        creationTimestamp:
          type: string
          x-dcl-go-name: CreationTimestamp
          readOnly: true
          description: Creation timestamp in RFC3339 text format.
          x-kubernetes-immutable: true
        description:
          type: string
          x-dcl-go-name: Description
          description: An optional description of this resource. Provide this property
            when you create the resource.
        fingerprint:
          type: string
          x-dcl-go-name: Fingerprint
          readOnly: true
          description: Fingerprint of the resource. This field is used internally
            during updates of this resource.
          x-kubernetes-immutable: true
        id:
          type: string
          x-dcl-go-name: Id
          readOnly: true
          description: The unique identifier for the resource. This identifier is
            defined by the server.
          x-kubernetes-immutable: true
        location:
          type: string
          x-dcl-go-name: Location
          description: The location of this resource.
          x-kubernetes-immutable: true
        name:
          type: string
          x-dcl-go-name: Name
          description: User-provided name of the Network firewall policy. The name
            should be unique in the project in which the firewall policy is created.
            The name must be 1-63 characters long, and comply with RFC1035. Specifically,
            the name must be 1-63 characters long and match the regular expression
            [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase
            letter, and all following characters must be a dash, lowercase letter,
            or digit, except the last character, which cannot be a dash.
          x-kubernetes-immutable: true
        project:
          type: string
          x-dcl-go-name: Project
          description: The project for the resource
          x-kubernetes-immutable: true
          x-dcl-references:
          - resource: Cloudresourcemanager/Project
            field: name
            parent: true
        region:
          type: string
          x-dcl-go-name: Region
          readOnly: true
          description: '[Output Only] URL of the region where the regional firewall
            policy resides. This field is not applicable to global firewall policies.
            You must specify this field as part of the HTTP request URL. It is not
            settable as a field in the request body.'
          x-kubernetes-immutable: true
        ruleTupleCount:
          type: integer
          format: int64
          x-dcl-go-name: RuleTupleCount
          readOnly: true
          description: Total count of all firewall policy rule tuples. A firewall
            policy can not exceed a set number of tuples.
          x-kubernetes-immutable: true
        selfLink:
          type: string
          x-dcl-go-name: SelfLink
          readOnly: true
          description: Server-defined URL for the resource.
          x-kubernetes-immutable: true
        selfLinkWithId:
          type: string
          x-dcl-go-name: SelfLinkWithId
          readOnly: true
          description: Server-defined URL for this resource with the resource id.
          x-kubernetes-immutable: true
