# 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/TargetSslProxy
  description: The Compute TargetSslProxy resource
  x-dcl-struct-name: TargetSslProxy
  x-dcl-has-iam: false
paths:
  get:
    description: The function used to get information about a TargetSslProxy
    parameters:
    - name: targetSslProxy
      required: true
      description: A full instance of a TargetSslProxy
  apply:
    description: The function used to apply information about a TargetSslProxy
    parameters:
    - name: targetSslProxy
      required: true
      description: A full instance of a TargetSslProxy
  delete:
    description: The function used to delete a TargetSslProxy
    parameters:
    - name: targetSslProxy
      required: true
      description: A full instance of a TargetSslProxy
  deleteAll:
    description: The function used to delete all TargetSslProxy
    parameters:
    - name: project
      required: true
      schema:
        type: string
  list:
    description: The function used to list information about many TargetSslProxy
    parameters:
    - name: project
      required: true
      schema:
        type: string
components:
  schemas:
    TargetSslProxy:
      title: TargetSslProxy
      x-dcl-id: projects/{{project}}/global/targetSslProxies/{{name}}
      x-dcl-locations:
      - 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:
        description:
          type: string
          x-dcl-go-name: Description
          description: An optional description of this resource. Provide this property
            when you create the resource.
          x-kubernetes-immutable: true
        id:
          type: integer
          format: int64
          x-dcl-go-name: Id
          description: The unique identifier for the resource. This identifier is
            defined by the server.
          x-kubernetes-immutable: true
        name:
          type: string
          x-dcl-go-name: Name
          description: Name of the resource. Provided by the client when the resource
            is created. The name must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
            Specifically, the name must be 1-63 characters long and match the regular
            expression `)?` 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
        proxyHeader:
          type: string
          x-dcl-go-name: ProxyHeader
          x-dcl-go-type: TargetSslProxyProxyHeaderEnum
          description: Specifies the type of proxy header to append before sending
            data to the backend, either `NONE` or `PROXY_V1`. The default is `NONE`.
          x-kubernetes-immutable: true
          default: NONE
          enum:
          - NONE
          - PROXY_V1
        selfLink:
          type: string
          x-dcl-go-name: SelfLink
          readOnly: true
          description: Server-defined URL for the resource.
          x-kubernetes-immutable: true
        service:
          type: string
          x-dcl-go-name: Service
          description: URL to the BackendService resource.
          x-kubernetes-immutable: true
        sslCertificates:
          type: array
          x-dcl-go-name: SslCertificates
          description: URLs to `SslCertificate` resources that are used to authenticate
            connections to Backends. At least one SSL certificate must be specified.
            Currently, you may specify up to 15 SSL certificates.
          x-kubernetes-immutable: true
          x-dcl-send-empty: true
          x-dcl-list-type: list
          items:
            type: string
            x-dcl-go-type: string
            x-dcl-references:
            - resource: Compute/SslCertificate
              field: selfLink
        sslPolicy:
          type: string
          x-dcl-go-name: SslPolicy
          description: URL of SslPolicy resource that will be associated with the
            TargetSslProxy resource. If not set, the TargetSslProxy resource will
            not have any SSL policy configured.
          x-kubernetes-immutable: true
