{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/spectro-cloud/main/json-schema/spectro-cloud-v1-azure-cloud-account-schema.json",
  "title": "v1AzureCloudAccount",
  "x-generated": "2026-10-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/spectro-cloud-clouds-api-openapi.yml#/components/schemas/v1AzureCloudAccount",
  "properties": {
    "azureEnvironment": {
      "default": "AzurePublicCloud",
      "description": "Contains configuration for Azure cloud",
      "enum": [
        "AzureChinaCloud",
        "AzurePublicCloud",
        "AzureUSGovernment",
        "AzureUSGovernmentCloud",
        "AzureUSSecretCloud"
      ],
      "type": "string"
    },
    "clientId": {
      "description": "Client ID(Directory ID) is a unique identifier generated by Azure AD that is tied to an application",
      "type": "string"
    },
    "clientSecret": {
      "description": "ClientSecret is the secret associated with Client",
      "type": "string"
    },
    "settings": {
      "$ref": "#/$defs/v1CloudAccountSettings",
      "description": "Palette internal cloud settings"
    },
    "tenantId": {
      "description": "Tenant ID is the ID for the Azure AD tenant that the user belongs to.",
      "type": "string"
    },
    "tenantName": {
      "description": "Tenant ID is the ID for the Azure AD tenant that the user belongs to.",
      "type": "string"
    },
    "tls": {
      "$ref": "#/$defs/v1AzureSecretTlsConfig",
      "description": "TLS configuration for the Azure secret"
    }
  },
  "required": [
    "tenantId",
    "clientId",
    "clientSecret"
  ],
  "type": "object",
  "$defs": {
    "v1AzureSecretTlsConfig": {
      "description": "TLS configuration for the AWS secret",
      "properties": {
        "cert": {
          "description": "Certificate is the TLS certificate used to authenticate the Azure secret",
          "type": "string"
        }
      },
      "type": "object"
    },
    "v1CloudAccountSettings": {
      "description": "Cloud account settings",
      "properties": {
        "disablePropertiesRequest": {
          "description": "Will disable certain properties request to cloud and the input is collected directly from the user",
          "type": "boolean",
          "x-omitempty": false
        }
      },
      "type": "object"
    }
  }
}