# 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/RouterInterface
  description: The Compute RouterInterface resource
  x-dcl-struct-name: RouterInterface
  x-dcl-has-iam: false
paths:
  get:
    description: The function used to get information about a RouterInterface
    parameters:
    - name: routerInterface
      required: true
      description: A full instance of a RouterInterface
  apply:
    description: The function used to apply information about a RouterInterface
    parameters:
    - name: routerInterface
      required: true
      description: A full instance of a RouterInterface
  delete:
    description: The function used to delete a RouterInterface
    parameters:
    - name: routerInterface
      required: true
      description: A full instance of a RouterInterface
  deleteAll:
    description: The function used to delete all RouterInterface
    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 RouterInterface
    parameters:
    - name: project
      required: true
      schema:
        type: string
    - name: location
      required: true
      schema:
        type: string
components:
  schemas:
    RouterInterface:
      title: RouterInterface
      x-dcl-id: projects/{{project}}/regions/{{location}}/routers/{{router}}
      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
      - router
      properties:
        ipRange:
          type: string
          x-dcl-go-name: IPRange
          description: IP address and range of the interface
        linkedVpnTunnel:
          type: string
          x-dcl-go-name: LinkedVpnTunnel
          description: URI of the linked VPN tunnel, which must be in the same region
            as the router
          x-dcl-references:
          - resource: Compute/VpnTunnel
            field: selfLink
        location:
          type: string
          x-dcl-go-name: Location
          description: The location of the resource
          x-kubernetes-immutable: true
        managementType:
          type: string
          x-dcl-go-name: ManagementType
          x-dcl-go-type: RouterInterfaceManagementTypeEnum
          readOnly: true
          description: 'The resource that configures and manages this interface Possible
            values: MANAGED_BY_USER, MANAGED_BY_ATTACHMENT'
          x-kubernetes-immutable: true
          enum:
          - MANAGED_BY_USER
          - MANAGED_BY_ATTACHMENT
        name:
          type: string
          x-dcl-go-name: Name
          description: Name of this interface entry
          x-kubernetes-immutable: true
        project:
          type: string
          x-dcl-go-name: Project
          description: The project id of the resource
          x-kubernetes-immutable: true
          x-dcl-references:
          - resource: Cloudresourcemanager/Project
            field: name
            parent: true
        router:
          type: string
          x-dcl-go-name: Router
          description: The router of the resource
          x-kubernetes-immutable: true
          x-dcl-references:
          - resource: Compute/Router
            field: name
            parent: true
