{
  "description": "AzureAssignedIdentity contains the identity <-> pod mapping which is matched.",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": "string"
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "description": "AzureAssignedIdentitySpec contains the relationship between an AzureIdentity and an AzureIdentityBinding.",
      "properties": {
        "azureBindingRef": {
          "description": "AzureBindingRef is an embedded resource referencing the AzureIdentityBinding used by the AzureAssignedIdentity, which requires x-kubernetes-embedded-resource fields to be true",
          "properties": {
            "apiVersion": {
              "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
              "type": "string"
            },
            "kind": {
              "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
              "type": "string"
            },
            "metadata": {
              "type": "object"
            },
            "spec": {
              "description": "AzureIdentityBindingSpec matches the pod with the Identity. Used to indicate the potential matches to look for between the pod/deployment and the identities present.",
              "properties": {
                "azureIdentity": {
                  "type": "string"
                },
                "metadata": {
                  "type": "object"
                },
                "selector": {
                  "type": "string"
                },
                "weight": {
                  "description": "Weight is used to figure out which of the matching identities would be selected.",
                  "type": "integer"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "status": {
              "description": "AzureIdentityBindingStatus contains the status of an AzureIdentityBinding.",
              "properties": {
                "availableReplicas": {
                  "format": "int32",
                  "type": "integer"
                },
                "metadata": {
                  "type": "object"
                }
              },
              "type": "object",
              "additionalProperties": false
            }
          },
          "type": "object",
          "x-kubernetes-embedded-resource": true,
          "additionalProperties": false
        },
        "azureIdentityRef": {
          "description": "AzureIdentityRef is an embedded resource referencing the AzureIdentity used by the AzureAssignedIdentity, which requires x-kubernetes-embedded-resource fields to be true",
          "properties": {
            "apiVersion": {
              "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
              "type": "string"
            },
            "kind": {
              "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
              "type": "string"
            },
            "metadata": {
              "type": "object"
            },
            "spec": {
              "description": "AzureIdentitySpec describes the credential specifications of an identity on Azure.",
              "properties": {
                "adEndpoint": {
                  "type": "string"
                },
                "adResourceID": {
                  "description": "For service principal. Option param for specifying the  AD details.",
                  "type": "string"
                },
                "auxiliaryTenantIDs": {
                  "description": "Service principal auxiliary tenant ids",
                  "items": {
                    "type": "string"
                  },
                  "nullable": true,
                  "type": "array"
                },
                "clientID": {
                  "description": "Both User Assigned MSI and SP can use this field.",
                  "type": "string"
                },
                "clientPassword": {
                  "description": "Used for service principal",
                  "properties": {
                    "name": {
                      "description": "Name is unique within a namespace to reference a secret resource.",
                      "type": "string"
                    },
                    "namespace": {
                      "description": "Namespace defines the space within which the secret name must be unique.",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "metadata": {
                  "type": "object"
                },
                "replicas": {
                  "format": "int32",
                  "nullable": true,
                  "type": "integer"
                },
                "resourceID": {
                  "description": "User assigned MSI resource id.",
                  "type": "string"
                },
                "tenantID": {
                  "description": "Service principal primary tenant id.",
                  "type": "string"
                },
                "type": {
                  "description": "UserAssignedMSI or Service Principal",
                  "type": "integer"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "status": {
              "description": "AzureIdentityStatus contains the replica status of the resource.",
              "properties": {
                "availableReplicas": {
                  "format": "int32",
                  "type": "integer"
                },
                "metadata": {
                  "type": "object"
                }
              },
              "type": "object",
              "additionalProperties": false
            }
          },
          "type": "object",
          "x-kubernetes-embedded-resource": true,
          "additionalProperties": false
        },
        "metadata": {
          "type": "object"
        },
        "nodename": {
          "type": "string"
        },
        "pod": {
          "type": "string"
        },
        "podNamespace": {
          "type": "string"
        },
        "replicas": {
          "format": "int32",
          "nullable": true,
          "type": "integer"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "description": "AzureAssignedIdentityStatus contains the replica status of the resource.",
      "properties": {
        "availableReplicas": {
          "format": "int32",
          "type": "integer"
        },
        "metadata": {
          "type": "object"
        },
        "status": {
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
