# ol.protocol53.protocols

Provider capability extension points.

## RecordGetter

Retrieves all records in one zone.

_protocol_

[source,window=_blank](https://github.com/outskirtslabs/protocol53/blob/main/api/src/main/ol/protocol53/protocols.clj#L4-L6)

### -get-records!

```clojure
(-get-records! provider zone opts)
```

---

## RecordAppender

Appends records without modifying existing records.

_protocol_

[source,window=_blank](https://github.com/outskirtslabs/protocol53/blob/main/api/src/main/ol/protocol53/protocols.clj#L8-L10)

### -append-records!

```clojure
(-append-records! provider zone records opts)
```

---

## RecordSetter

Replaces the selected complete RRsets.

_protocol_

[source,window=_blank](https://github.com/outskirtslabs/protocol53/blob/main/api/src/main/ol/protocol53/protocols.clj#L12-L14)

### -set-records!

```clojure
(-set-records! provider zone records opts)
```

---

## RecordDeleter

Deletes matching records and ignores misses.

_protocol_

[source,window=_blank](https://github.com/outskirtslabs/protocol53/blob/main/api/src/main/ol/protocol53/protocols.clj#L16-L18)

### -delete-records!

```clojure
(-delete-records! provider zone records opts)
```

---

## ZoneLister

Lists zones supported by record operations.

_protocol_

[source,window=_blank](https://github.com/outskirtslabs/protocol53/blob/main/api/src/main/ol/protocol53/protocols.clj#L20-L22)

### -list-zones!

```clojure
(-list-zones! provider opts)
```
