{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/microsoft.graph.servicePrincipalLockConfiguration",
  "title": "servicePrincipalLockConfiguration",
  "required": [
    "@odata.type"
  ],
  "type": "object",
  "properties": {
    "allProperties": {
      "type": "boolean",
      "description": "Enables locking all sensitive properties. The sensitive properties are keyCredentials, passwordCredentials, and tokenEncryptionKeyId.",
      "nullable": true
    },
    "credentialsWithUsageSign": {
      "type": "boolean",
      "description": "Locks the keyCredentials and passwordCredentials properties for modification where credential usage type is Sign.",
      "nullable": true
    },
    "credentialsWithUsageVerify": {
      "type": "boolean",
      "description": "Locks the keyCredentials and passwordCredentials properties for modification where credential usage type is Verify. This locks OAuth service principals.",
      "nullable": true
    },
    "isEnabled": {
      "type": "boolean",
      "description": "Enables or disables service principal lock configuration. To allow the sensitive properties to be updated, update this property to false to disable the lock on the service principal."
    },
    "tokenEncryptionKeyId": {
      "type": "boolean",
      "description": "Locks the tokenEncryptionKeyId property for modification on the service principal.",
      "nullable": true
    },
    "@odata.type": {
      "type": "string"
    }
  }
}