# 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: ContainerAzure/Client
  description: AzureClient resources hold client authentication information needed
    by the Anthos Multi-Cloud API to manage Azure resources on your Azure subscription.When
    an AzureCluster is created, an AzureClient resource needs to be provided and all
    operations on Azure resources associated to that cluster will authenticate to
    Azure services using the given client.AzureClient resources are immutable and
    cannot be modified upon creation.Each AzureClient resource is bound to a single
    Azure Active Directory Application and tenant.
  x-dcl-struct-name: AzureClient
  x-dcl-has-iam: false
  x-dcl-ref:
    text: API reference
    url: https://cloud.google.com/anthos/clusters/docs/multi-cloud/reference/rest/v1/projects.locations.azureClients
  x-dcl-guides:
  - text: Multicloud overview
    url: https://cloud.google.com/anthos/clusters/docs/multi-cloud
paths:
  get:
    description: The function used to get information about a Client
    parameters:
    - name: client
      required: true
      description: A full instance of a Client
  apply:
    description: The function used to apply information about a Client
    parameters:
    - name: client
      required: true
      description: A full instance of a Client
  delete:
    description: The function used to delete a Client
    parameters:
    - name: client
      required: true
      description: A full instance of a Client
  deleteAll:
    description: The function used to delete all Client
    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 Client
    parameters:
    - name: project
      required: true
      schema:
        type: string
    - name: location
      required: true
      schema:
        type: string
components:
  schemas:
    Client:
      title: AzureClient
      x-dcl-id: projects/{{project}}/locations/{{location}}/azureClients/{{name}}
      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
      - tenantId
      - applicationId
      - project
      - location
      properties:
        applicationId:
          type: string
          x-dcl-go-name: ApplicationId
          description: The Azure Active Directory Application ID.
          x-kubernetes-immutable: true
        certificate:
          type: string
          x-dcl-go-name: Certificate
          readOnly: true
          description: Output only. The PEM encoded x509 certificate.
          x-kubernetes-immutable: true
        createTime:
          type: string
          format: date-time
          x-dcl-go-name: CreateTime
          readOnly: true
          description: Output only. The time at which this resource was created.
          x-kubernetes-immutable: true
        location:
          type: string
          x-dcl-go-name: Location
          description: The location for the resource
          x-kubernetes-immutable: true
        name:
          type: string
          x-dcl-go-name: Name
          description: The name of this resource.
          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
        tenantId:
          type: string
          x-dcl-go-name: TenantId
          description: The Azure Active Directory Tenant ID.
          x-kubernetes-immutable: true
        uid:
          type: string
          x-dcl-go-name: Uid
          readOnly: true
          description: Output only. A globally unique identifier for the client.
          x-kubernetes-immutable: true
