{
  "description": "VolumeAttachmentStatus is the status of a VolumeAttachment request.",
  "properties": {
    "attachError": {
      "description": "VolumeError captures an error encountered during a volume operation.",
      "properties": {
        "errorCode": {
          "description": "errorCode is a numeric gRPC code representing the error encountered during Attach or Detach operations.\n\nThis is an optional, beta field that requires the MutableCSINodeAllocatableCount feature gate being enabled to be set.",
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "message": {
          "description": "message represents the error encountered during Attach or Detach operation. This string may be logged, so it should not contain sensitive information.",
          "type": [
            "string",
            "null"
          ]
        },
        "time": {
          "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": false
    },
    "attached": {
      "description": "attached indicates the volume is successfully attached. This field must only be set by the entity completing the attach operation, i.e. the external-attacher.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "attachmentMetadata": {
      "additionalProperties": {
        "type": [
          "string",
          "null"
        ]
      },
      "description": "attachmentMetadata is populated with any information returned by the attach operation, upon successful attach, that must be passed into subsequent WaitForAttach or Mount calls. This field must only be set by the entity completing the attach operation, i.e. the external-attacher.",
      "type": [
        "object",
        "null"
      ]
    },
    "detachError": {
      "description": "VolumeError captures an error encountered during a volume operation.",
      "properties": {
        "errorCode": {
          "description": "errorCode is a numeric gRPC code representing the error encountered during Attach or Detach operations.\n\nThis is an optional, beta field that requires the MutableCSINodeAllocatableCount feature gate being enabled to be set.",
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "message": {
          "description": "message represents the error encountered during Attach or Detach operation. This string may be logged, so it should not contain sensitive information.",
          "type": [
            "string",
            "null"
          ]
        },
        "time": {
          "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "attached"
  ],
  "type": "object",
  "additionalProperties": false,
  "$schema": "http://json-schema.org/schema#"
}