Update microsite, move to mdoc (#1023)
We used to rely on `tut` for docs, however it is deprecated to be replaced with mdoc. Moved to an `mdoc` folder structure and updated all of the links (what a pain).
12
build.sbt
@ -378,8 +378,8 @@ lazy val docSettings = Seq(
|
||||
micrositeHomepage := "http://vinyldns.io",
|
||||
micrositeDocumentationUrl := "/api",
|
||||
micrositeGitterChannelUrl := "vinyldns/Lobby",
|
||||
micrositeTwitterCreator := "@vinyldns",
|
||||
micrositeDocumentationLabelDescription := "API Documentation",
|
||||
micrositeShareOnSocial := false,
|
||||
micrositeExtraMdFiles := Map(
|
||||
file("CONTRIBUTING.md") -> ExtraMdFileConfig(
|
||||
"contributing.md",
|
||||
@ -390,13 +390,17 @@ lazy val docSettings = Seq(
|
||||
micrositePushSiteWith := GitHub4s,
|
||||
micrositeGithubToken := sys.env.get("SBT_MICROSITES_PUBLISH_TOKEN"),
|
||||
ghpagesNoJekyll := false,
|
||||
fork in tut := true,
|
||||
micrositeEditButton := Some(MicrositeEditButton("Improve this page", "/edit/master/modules/docs/src/main/tut/{{ page.path }}")),
|
||||
fork in mdoc := true,
|
||||
mdocIn := (sourceDirectory in Compile).value / "mdoc",
|
||||
micrositeCssDirectory := (resourceDirectory in Compile).value / "microsite" / "css",
|
||||
micrositeCompilingDocsTool := WithMdoc,
|
||||
micrositeFavicons := Seq(MicrositeFavicon("favicon16x16.png", "16x16"), MicrositeFavicon("favicon32x32.png", "32x32")),
|
||||
micrositeEditButton := Some(MicrositeEditButton("Improve this page", "/edit/master/modules/docs/src/main/mdoc/{{ page.path }}")),
|
||||
includeFilter in makeSite := "*.html" | "*.css" | "*.png" | "*.jpg" | "*.jpeg" | "*.gif" | "*.js" | "*.swf" | "*.md" | "*.webm" | "*.ico" | "CNAME" | "*.yml" | "*.svg" | "*.json" | "*.csv"
|
||||
)
|
||||
|
||||
lazy val docs = (project in file("modules/docs"))
|
||||
.enablePlugins(MicrositesPlugin)
|
||||
.enablePlugins(MicrositesPlugin, MdocPlugin)
|
||||
.settings(docSettings)
|
||||
|
||||
// release stages
|
||||
|
@ -8,10 +8,10 @@ The VinylDNS documentation is published to the `gh-pages` branch after each succ
|
||||
## Documentation Structure
|
||||
- The documentation site is built with the [sbt-microsites](https://47deg.github.io/sbt-microsites/) plugin.
|
||||
- The [docs module](https://github.com/vinyldns/vinyldns/tree/master/modules/docs/src/main) contains most content for the documentation site:
|
||||
- The text content is in the [tut](https://github.com/vinyldns/vinyldns/tree/master/modules/docs/src/main/tut/) directory
|
||||
- The text content is in the [docs](https://github.com/vinyldns/vinyldns/tree/master/modules/docs/docs/) directory
|
||||
- The primary menu is built through setting a position value in the linked file ([example](https://github.com/vinyldns/vinyldns/blob/master/modules/docs/src/main/tut/index.md)) or in [build.sbt](https://github.com/vinyldns/vinyldns/blob/master/build.sbt) if the target link is not a file in the docs module.
|
||||
- The sidebar menu is maintained in the [menu.yml](https://github.com/vinyldns/vinyldns/tree/master/modules/docs/src/main/resources/microsite/data/menu.yml)
|
||||
- Images are stored in the [img](https://github.com/vinyldns/vinyldns/tree/master/modules/docs/src/main/tut/img/) directory.
|
||||
- The sidebar menu is maintained in the [menu.yml](https://github.com/vinyldns/vinyldns/tree/master/modules/docs/docs/menu.yml)
|
||||
- Images are stored in the [img](https://github.com/vinyldns/vinyldns/tree/master/modules/docs/src/main/resources/microsite/img/) directory.
|
||||
- Custom CSS is stored in the [custom.css](https://github.com/vinyldns/vinyldns/tree/master/modules/docs/src/main/resources/microsite/css/custom.css) file.
|
||||
- The [Contributing Guide](https://www.vinyldns.io/contributing.html) is the [CONTRIBUTING.md](https://github.com/vinyldns/vinyldns/blob/master/CONTRIBUTING.md) file at the root of the VinylDNS project.
|
||||
- The sbt-microsite configuration is in the docSettings section of the [build.sbt](https://github.com/vinyldns/vinyldns/blob/master/build.sbt) in the root of the VinylDNS project.
|
@ -9,9 +9,9 @@ section: "api"
|
||||
Manually approves a batch change in pending review status given the batch change ID, resulting in revalidation and
|
||||
submission for backend processing. Only system administrators (ie. support or super user) can manually review a batch
|
||||
change. In the event that a batch change is approved and still encounters non-fatal errors, it will remain in manual
|
||||
review state until a successful approval (**202** Accepted) or [rejection](../api/reject-batchchange) (**200** OK).
|
||||
review state until a successful approval (**202** Accepted) or [rejection](reject-batchchange.html) (**200** OK).
|
||||
|
||||
Note: If [manual review is disabled](../../operator/config-api#manual-review) in the VinylDNS instance,
|
||||
Note: If [manual review is disabled](../operator/config-api.html#manual-review) in the VinylDNS instance,
|
||||
users trying to access this endpoint will encounter a **404 Not Found** response since it will not exist.
|
||||
|
||||
|
||||
@ -45,7 +45,7 @@ Code | description |
|
||||
403 | **Forbidden** User is not a system administrator (ie. support or super user) or is attempting to approve a scheduled batch prior to its scheduled due date. |
|
||||
404 | **NotFound** Batch change does not exist.
|
||||
|
||||
Since we re-run validations upon successful approval, the [create batch error codes](../api/create-batchchange#http-response-types) still hold, so it is possible to see them as well.
|
||||
Since we re-run validations upon successful approval, the [create batch error codes](create-batchchange.html#http-response-types) still hold, so it is possible to see them as well.
|
||||
|
||||
|
||||
#### HTTP RESPONSE ATTRIBUTES <a id="http-response-attributes" />
|
||||
@ -56,8 +56,8 @@ userId | string | The unique identifier of the user that created the
|
||||
userName | string | The username of the user that created the batch change. |
|
||||
comments | string | Conditional: comments about the batch change, if provided. |
|
||||
createdTimestamp | date-time | The timestamp (UTC) when the batch change was created. |
|
||||
changes | Array of SingleChange | Array of single changes within a batch change. A *SingleChange* can either be a [SingleAddChange](../api/batchchange-model#singleaddchange-attributes) or a [SingleDeleteRRSetChange](../api/batchchange-model#singledeleterrsetchange-). |
|
||||
status | BatchChangeStatus | [Status of the batch change](../api/batchchange-model#batchchange-attributes). |
|
||||
changes | Array of SingleChange | Array of single changes within a batch change. A *SingleChange* can either be a [SingleAddChange](batchchange-model.html#singleaddchange-attributes) or a [SingleDeleteRRSetChange](batchchange-model.html#singledeleterrsetchange-attributes). |
|
||||
status | BatchChangeStatus | [Status of the batch change](batchchange-model.html#batchchange-attributes). |
|
||||
id | string | The unique identifier for this batch change. |
|
||||
ownerGroupId | string | Conditional: Record ownership assignment, if provided. |
|
||||
approvalStatus | BatchChangeApprovalStatus | Whether the batch change is currently awaiting manual review. Will be **ManuallyApproved** status when approving. |
|
@ -77,7 +77,7 @@ in the DNS backend.
|
||||
#### Single Change Errors
|
||||
Single change errors can be further classified as *non-fatal* or *fatal* errors. The presence of one or more fatal
|
||||
errors will result in an immediate failure (ie. hard stop) and no changes in the batch will be accepted. The behavior of non-fatal errors depends
|
||||
on whether [manual review is configured on](../../operator/config-api#additional-configuration-settings): if manual review
|
||||
on whether [manual review is configured on](../operator/config-api.html#additional-configuration-settings): if manual review
|
||||
is disabled, non-fatal errors are treated as fatal errors; if manual review is enabled, batches with only non-fatal errors will enter
|
||||
a pending review state.
|
||||
|
||||
@ -102,10 +102,14 @@ Note: if a user submits a batch change with `allowManualReview` set to false, th
|
||||
the VinylDNS instance is configured to have manual review disabled.
|
||||
|
||||
##### Non-Fatal Errors
|
||||
[non-fatal-errors]: #non-fatal-errors
|
||||
|
||||
- [Zone Discovery Failed](#ZoneDiscoveryFailed)
|
||||
- [Record Requires Manual Review](#RecordRequiresManualReview)
|
||||
|
||||
##### Fatal Errors
|
||||
[fatal-errors]: #fatal-errors
|
||||
|
||||
- [Invalid Domain Name](#InvalidDomainName)
|
||||
- [Invalid Length](#InvalidLength)
|
||||
- [Invalid Record Type](#InvalidRecordType)
|
||||
@ -157,7 +161,7 @@ Record set with name <input> requires manual review.
|
||||
|
||||
##### Details:
|
||||
|
||||
Based on a [configurable list](../operator/config-api#manual-review-domains), VinylDNS will determine if the given inputName requires manual review before it can be processed.
|
||||
Based on a [configurable list](../operator/config-api.html#manual-review-domains), VinylDNS will determine if the given inputName requires manual review before it can be processed.
|
||||
|
||||
### Fatal Errors <a id="fatal-errors"></a>
|
||||
#### Invalid Domain Name <a id="InvalidDomainName"></a>
|
||||
@ -333,7 +337,7 @@ Record "<input>" Does Not Exist: cannot delete a record that does not exist.
|
||||
##### Details:
|
||||
|
||||
A record with the given name could not be found in VinylDNS.
|
||||
If the record exists in DNS, then you should [sync the zone](../api/sync-zone) for that record to bring VinylDNS up to date with what is in the DNS backend.
|
||||
If the record exists in DNS, then you should [sync the zone](sync-zone.html) for that record to bring VinylDNS up to date with what is in the DNS backend.
|
||||
|
||||
|
||||
#### CNAME Conflict <a id="CNAMEConflict"></a>
|
||||
@ -480,7 +484,7 @@ If there are issues with the batch change input data provided in the batch chang
|
||||
|
||||
Code | description |
|
||||
------------ | :---------- |
|
||||
404 | **Not Found** - batch change not found for specified ID in [get batch change](../api/get-batchchange) request. |
|
||||
404 | **Not Found** - batch change not found for specified ID in [get batch change](get-batchchange.html) request. |
|
||||
|
||||
##### ERROR MESSAGE:
|
||||
|
||||
@ -490,7 +494,7 @@ Batch change with id <id> cannot be found
|
||||
|
||||
##### DETAILS:
|
||||
|
||||
The batch ID specified in the [get batch change](../api/get-batchchange) request does not exist.
|
||||
The batch ID specified in the [get batch change](get-batchchange.html) request does not exist.
|
||||
|
||||
|
||||
#### MALFORMED JSON ERRORS <a id="malformed-json-errors" />
|
@ -14,22 +14,23 @@ section: "api"
|
||||
- [Batch Change Example](#batchchange-example)
|
||||
|
||||
#### BATCH CHANGE INFORMATION <a id="batchchange-info" />
|
||||
[batchchange-info]: #batchchange-info
|
||||
|
||||
Batch change is an alternative to submitting individual [RecordSet](../api/recordset-model) changes and provides the following:
|
||||
Batch change is an alternative to submitting individual [RecordSet](recordset-model.html) changes and provides the following:
|
||||
|
||||
- The ability to accept multiple changes in a single API call.
|
||||
- The ability to include records of multiple record types across multiple zones.
|
||||
- Input names are entered as fully-qualified domain names (or IP addresses for **PTR** records), so users don't have to think in record/zone context.
|
||||
- All record validations are processed simultaneously. [Fatal errors](../api/batchchange-errors#fatal-errors) for any
|
||||
- All record validations are processed simultaneously. [Fatal errors](batchchange-errors.html#fatal-errors) for any
|
||||
change in the batch will result in a **400** response and none will be applied.
|
||||
- Support for [manual review](../../operator/config-api#additional-configuration-settings) if enabled in your VinylDNS instance.
|
||||
- Support for [manual review](../operator/config-api.html#additional-configuration-settings) if enabled in your VinylDNS instance.
|
||||
Batch change will remain in limbo until a system administrator (ie. support or super user) either rejects it resulting in
|
||||
an immediate failure or approves it resulting in revalidation and submission for processing.
|
||||
- Support for [notifications](../../operator/config-api#additional-configuration-settings) when a batch change is rejected or implemented.
|
||||
- Support for [notifications](../operator/config-api.html#additional-configuration-settings) when a batch change is rejected or implemented.
|
||||
|
||||
A batch change consists of multiple single changes which can be a combination of [SingleAddChanges](#singleaddchange-attributes) and [SingleDeleteRRSetChanges](#singledeleterrsetchange-attributes).
|
||||
|
||||
**Note:** In the portal batch change is referred to as [DNS Change](../portal/dns-changes).
|
||||
**Note:** In the portal batch change is referred to as [DNS Change](../portal/dns-changes.html).
|
||||
|
||||
To update an existing record, you must delete the record first and add the record again with the updated changes.
|
||||
|
||||
@ -41,6 +42,7 @@ Batch changes are also susceptible to the following restrictions:
|
||||
|
||||
|
||||
#### BATCH CHANGE ATTRIBUTES <a id="batchchange-attributes" />
|
||||
[batchchange-attributes]: #batchchange-attributes
|
||||
|
||||
name | type | description |
|
||||
------------ | :---------- | :---------- |
|
||||
@ -49,7 +51,7 @@ userName | string | The username of the user that created the batch ch
|
||||
comments | string | Optional comments about the batch change. |
|
||||
createdTimestamp | date-time | The timestamp (UTC) when the batch change was created. |
|
||||
changes | Array of SingleChange | Array of single changes within a batch change. A *SingleChange* can either be a [SingleAddChange](#singleaddchange-attributes) or a [SingleDeleteRRSetChange](#singledeleterrsetchange-attributes). |
|
||||
status | BatchChangeStatus | - **PendingProcessing** - at least one change in batch has not finished processing<br>- **Complete** - all changes have been processed successfully<br>- **Failed** - all changes failed during processing<br>- **PartialFailure** - some changes have failed and the rest were successful<br>- **PendingReview** - one or more changes requires manual [approval](../api/approve-batchchange)/[rejection](../api/reject-batchchange) by a system administrator (ie. super or support user) to proceed<br>- **Rejected** - the batch change was rejected by a system administrator (ie. super or support user) and no changes were applied<br>- **Scheduled** - the batch change is scheduled for a later date at which time it needs to be approved to proceed.<br>- **Cancelled** - the PendingReview batch change was cancelled by its creator before review.|
|
||||
status | BatchChangeStatus | - **PendingProcessing** - at least one change in batch has not finished processing<br>- **Complete** - all changes have been processed successfully<br>- **Failed** - all changes failed during processing<br>- **PartialFailure** - some changes have failed and the rest were successful<br>- **PendingReview** - one or more changes requires manual [approval](approve-batchchange.html)/[rejection](reject-batchchange.html) by a system administrator (ie. super or support user) to proceed<br>- **Rejected** - the batch change was rejected by a system administrator (ie. super or support user) and no changes were applied<br>- **Scheduled** - the batch change is scheduled for a later date at which time it needs to be approved to proceed.<br>- **Cancelled** - the PendingReview batch change was cancelled by its creator before review.|
|
||||
id | string | The unique identifier for this batch change. |
|
||||
ownerGroupId | string | Record ownership assignment. Required if any records in the batch change are in shared zones and are new or unowned. |
|
||||
approvalStatus | BatchChangeApprovalStatus | Whether the batch change is currently awaiting manual review. Can be one of **AutoApproved**, **PendingReview**, **ManuallyApproved**, **Rejected**, or **Cancelled**. |
|
||||
@ -61,10 +63,12 @@ scheduledTime | date-time | Optional requested date and time to process the b
|
||||
cancelledTimestamp | date-time | Optional date and time a batch change was cancelled by its creator. |
|
||||
|
||||
#### SINGLE CHANGE ATTRIBUTES <a id="singlechange-attributes" />
|
||||
[singlechange-attributes]: #singlechange-attributes
|
||||
|
||||
A successful batch change response consists of a corresponding [SingleAddChange](#singleaddchange-attributes) or [SingleDeleteRRSetChange](#singledeleterrsetchange-attributes) for each batch change input. See the [batch change create](../api/create-batchchange) page for details on constructing a batch change request.
|
||||
A successful batch change response consists of a corresponding [SingleAddChange](#singleaddchange-attributes) or [SingleDeleteRRSetChange](#singledeleterrsetchange-attributes) for each batch change input. See the [batch change create](create-batchchange.html) page for details on constructing a batch change request.
|
||||
|
||||
#### SingleAddChange <a id="singleaddchange-attributes" />
|
||||
[singleaddchange-attributes]: #singleaddchange-attributes
|
||||
|
||||
name | type | description |
|
||||
------------ | :------------ | :---------- |
|
||||
@ -72,7 +76,7 @@ changeType | ChangeInputType | Type of change input. Can either be an **Add**
|
||||
inputName | string | The fully-qualified domain name of the record which was provided in the create batch request. |
|
||||
type | RecordType | Type of DNS record, supported records for batch changes are currently: **A**, **AAAA**, **CNAME**, and **PTR**. |
|
||||
ttl | long | The time-to-live in seconds. |
|
||||
record | [RecordData](../api/recordset-model#record-data) | The data added for this record, which varies by record type. |
|
||||
record | [RecordData](recordset-model.html#record-data) | The data added for this record, which varies by record type. |
|
||||
status | SingleChangeStatus | Status for this change. Can be one of: **Pending**, **Complete**, **Failed**, **NeedsReview** or **Rejected**. |
|
||||
recordName | string | The name of the record. Record names for the apex will be match the zone name (including terminating dot). |
|
||||
zoneName | string | The name of the zone. |
|
||||
@ -84,13 +88,14 @@ validationErrors | Array of BatchChangeError | Array containing any validation e
|
||||
id | string | The unique identifier for this change. |
|
||||
|
||||
#### SingleDeleteRRSetChange <a id="singledeleterrsetchange-attributes" />
|
||||
[singledeleterrsetchange-attributes]: #singledeleterrsetchange-attributes
|
||||
|
||||
name | type | description |
|
||||
------------ | :------------ | :---------- |
|
||||
changeType | ChangeInputType | Type of change input. Can either be an **Add** or **DeleteRecordSet**. [See more details](#changetype-values) about behavior of `changeType` interaction. |
|
||||
inputName | string | The fully-qualified domain name of the record which was provided in the create batch request. |
|
||||
type | RecordType | Type of DNS record, supported records for batch changes are currently: **A**, **AAAA**, **CNAME**, and **PTR**. |
|
||||
record | [RecordData](../api/recordset-model#record-data) | Optional. The data deleted for this record, which varies by record type. If not provided, the entire DNS recordset was deleted. |
|
||||
record | [RecordData](recordset-model.html#record-data) | Optional. The data deleted for this record, which varies by record type. If not provided, the entire DNS recordset was deleted. |
|
||||
status | SingleChangeStatus | Status for this change. Can be one of: **Pending**, **Complete**, **Failed**, **NeedsReview** or **Rejected**. |
|
||||
recordName | string | The name of the record. Record names for the apex will be match the zone name (including terminating dot). |
|
||||
zoneName | string | The name of the zone. |
|
||||
@ -103,6 +108,8 @@ id | string | The unique identifier for this change. |
|
||||
|
||||
|
||||
#### ChangeType Values <a id="changetype-values" />
|
||||
[changetype-values]: #changetype-values
|
||||
|
||||
There are two valid `changeType`s for a `SingleChange`: **Add** and **DeleteRecordSet**
|
||||
|
||||
`changeType`s can be used independently or combined to achieve the desired behavior described below.
|
||||
@ -113,6 +120,7 @@ There are two valid `changeType`s for a `SingleChange`: **Add** and **DeleteReco
|
||||
- Update an existing record set: 1. **DeleteRecordSet** specifying existing record data (single entry delete) or not specifying record data (full delete) *and* 2. **Add** with record data
|
||||
|
||||
#### BATCH CHANGE EXAMPLE <a id="batchchange-example" />
|
||||
[batchchange-example]: #batchchange-example
|
||||
|
||||
Successful batch change response example with a [SingleAddChange](#singleaddchange-attributes) and a [SingleDeleteRRSetChange](#singledeleterrsetchange-attributes).
|
||||
|
@ -8,7 +8,7 @@ section: "api"
|
||||
|
||||
Cancels a batch change that is PendingReview. Only the user who created the batch change can cancel it.
|
||||
|
||||
Note: If [manual review is disabled](../../operator/config-api#manual-review) in the VinylDNS instance,
|
||||
Note: If [manual review is disabled](../operator/config-api.html#manual-review) in the VinylDNS instance,
|
||||
users trying to access this endpoint will encounter a **404 Not Found** response since it will not exist.
|
||||
|
||||
#### HTTP REQUEST
|
||||
@ -34,4 +34,4 @@ Code | description |
|
||||
|
||||
#### HTTP RESPONSE ATTRIBUTES <a id="http-response-attributes" />
|
||||
|
||||
See [Batch Change Model attributes](../api/batchchange-model#batchchange-attributes)
|
||||
See [Batch Change Model attributes](batchchange-model.html#batchchange-attributes)
|
@ -6,7 +6,7 @@ section: "api"
|
||||
|
||||
# Create Batch Change
|
||||
|
||||
Creates a batch change with [SingleAddChanges](../api/batchchange-model#singleaddchange-attributes) and/or [SingleDeleteRRSetChanges](../api/batchchange-model#singledeleterrsetchange-attributes) across different zones. A delete and add of the same record will be treated as an update on that record set. Regardless of the input order in the batch change, all deletes for the same recordset will be logically applied before the adds.
|
||||
Creates a batch change with [SingleAddChanges](batchchange-model.html#singleaddchange-attributes) and/or [SingleDeleteRRSetChanges](batchchange-model.html#singledeleterrsetchange-attributes) across different zones. A delete and add of the same record will be treated as an update on that record set. Regardless of the input order in the batch change, all deletes for the same recordset will be logically applied before the adds.
|
||||
|
||||
Current supported record types for creating a batch change are: **A**, **AAAA**, **CNAME**, **MX**, **PTR**, **TXT**. A batch must contain at least one change and no more than 20 changes.
|
||||
Supported record types for records in shared zones may vary. Contact your VinylDNS administrators to find the allowed record types.
|
||||
@ -16,7 +16,7 @@ This does not apply to zone administrators or users with specific ACL access rul
|
||||
|
||||
> POST /zones/batchrecordchanges?allowManualReview={true | false}
|
||||
|
||||
Note that the batch change request inputs are a subset of the full [batch change model](../api/batchchange-model#batchchange-attributes).
|
||||
Note that the batch change request inputs are a subset of the full [batch change model](batchchange-model.html#batchchange-attributes).
|
||||
|
||||
#### HTTP REQUEST PARAMS
|
||||
|
||||
@ -24,7 +24,7 @@ name | type | required? | description |
|
||||
------------ | :------------ | ----------- | :---------- |
|
||||
comments | string | no | Optional comments about the batch change. |
|
||||
changes | Array of ChangeInput| yes | Set of *ChangeInput*s in the batch change. A *ChangeInput* is an [AddChangeInput](#addchangeinput-attributes) or [DeleteChangeInput](#deletechangeinput-attributes). Type is inferred from specified *changeType*.|
|
||||
ownerGroupId | string | sometimes | Record ownership assignment. Required if any records in the batch change are in [shared zones](../api/zone-model#shared-zones) and are new or unowned. |
|
||||
ownerGroupId | string | sometimes | Record ownership assignment. Required if any records in the batch change are in [shared zones](zone-model.html#shared-zones) and are new or unowned. |
|
||||
scheduledTime | date-time | no | Optional datetime. Stored as UTC. Batch change will not be processed until after the scheduled time. Required format is an ISO 8601 date time string.|
|
||||
allowManualReview | boolean | no | Optional override to control whether manual review is enabled for the batch change request. Default value is `true`. Must be passed in as a query parameter, not in the request body. |
|
||||
|
||||
@ -36,7 +36,7 @@ changeType | ChangeInputType | yes | Type of change input. Must be set
|
||||
inputName | string | yes | The fully qualified domain name of the record being added. For **PTR**, the input name is a valid IPv4 or IPv6 address. |
|
||||
type | RecordType | yes | Type of DNS record. Supported records for batch changes are currently: **A**, **AAAA**, **CNAME**, and **PTR**. |
|
||||
ttl | long | no | The time-to-live in seconds. The minimum and maximum values are 30 and 2147483647, respectively. If excluded, this will be set to the system default for new adds, or the existing TTL for updates |
|
||||
record | [RecordData](../api/recordset-model#record-data) | yes | The data for the record. |
|
||||
record | [RecordData](recordset-model.html#record-data) | yes | The data for the record. |
|
||||
|
||||
##### DeleteChangeInput <a id="deletechangeinput-attributes" />
|
||||
|
||||
@ -45,7 +45,7 @@ name | type | required? | description |
|
||||
changeType | ChangeInputType | yes | Type of change input. Must be **DeleteRecordSet** for *DeleteChangeInput*. |
|
||||
inputName | string | yes | The fully qualified domain name of the record being deleted. |
|
||||
type | RecordType | yes | Type of DNS record. Supported records for batch changes are currently: **A**, **AAAA**, **CNAME**, and **PTR**. |
|
||||
record | [RecordData](../api/recordset-model#record-data) | no | The data for the record. If specified, only this DNS entry for the existing DNS recordset will be deleted; if unspecified, the entire DNS recordset will be deleted. |
|
||||
record | [RecordData](recordset-model.html#record-data) | no | The data for the record. If specified, only this DNS entry for the existing DNS recordset will be deleted; if unspecified, the entire DNS recordset will be deleted. |
|
||||
|
||||
|
||||
#### EXAMPLE HTTP REQUEST
|
||||
@ -102,20 +102,21 @@ The first two items in the changes list are SingleAddChanges of an **A** record
|
||||
|
||||
|
||||
#### HTTP RESPONSE TYPES
|
||||
[http-response-types]: #http-response-types
|
||||
|
||||
Code | description |
|
||||
------------ | :---------- |
|
||||
202 | **Accepted** - The batch change is validated and is returned in the response body. Based on `status`, the batch will either be sent for immediate backend processing (`PendingProcessing`) or pending manual review (`PendingReview`). |
|
||||
400 | **Bad Request** - Error in the batch change. See [Batch Change Errors](../api/batchchange-errors) page. |
|
||||
400 | **Bad Request** - Error in the batch change. See [Batch Change Errors](batchchange-errors.html) page. |
|
||||
403 | **Forbidden** - The user does not have the access required to perform the action. |
|
||||
413 | **Request Entity Too Large** - Cannot request more than <limit> changes in a single batch change request. |
|
||||
422 | **Unprocessable Entity** - the batch does not contain any changes, thus cannot be processed. |
|
||||
|
||||
A batch change goes through numerous validations before it is processed. This results in corresponding BadRequest or error responses. View the full list of batch change errors [here](../api/batchchange-errors).
|
||||
A batch change goes through numerous validations before it is processed. This results in corresponding BadRequest or error responses. View the full list of batch change errors [here](batchchange-errors.html).
|
||||
|
||||
#### HTTP RESPONSE ATTRIBUTES
|
||||
|
||||
On success, the response from create batch change includes the fields the user input, as well as some additional information provided by the system. This response is the same as that of [get batch change](../api/get-batchchange#http-response-attributes).
|
||||
On success, the response from create batch change includes the fields the user input, as well as some additional information provided by the system. This response is the same as that of [get batch change](get-batchchange.html#http-response-attributes).
|
||||
|
||||
|
||||
#### EXAMPLE RESPONSE
|
@ -20,8 +20,8 @@ zoneId | string | yes | id of the zone where the recordset
|
||||
name | string | yes | the name of the recordset being updated |
|
||||
type | string | yes | the type of recordset |
|
||||
ttl | integer | yes | the TTL in seconds |
|
||||
records | array of record data | yes | record data for recordset, see [RecordSet Model](../api/recordset-model) |
|
||||
ownerGroupId | string | no | Record ownership assignment, applicable if the recordset is in a [shared zone](../api/zone-model#shared-zones) |
|
||||
records | array of record data | yes | record data for recordset, see [RecordSet Model](recordset-model.html) |
|
||||
ownerGroupId | string | no | Record ownership assignment, applicable if the recordset is in a [shared zone](zone-model.html#shared-zones) |
|
||||
|
||||
#### EXAMPLE HTTP REQUEST
|
||||
```
|
@ -15,7 +15,7 @@ if no info is provided the default VinylDNS connections will be used
|
||||
|
||||
#### HTTP REQUEST PARAMS
|
||||
|
||||
**zone fields** - adminGroupId, name, and email are required - refer to [zone model](../api/zone-model) |
|
||||
**zone fields** - adminGroupId, name, and email are required - refer to [zone model](zone-model.html) |
|
||||
|
||||
#### EXAMPLE HTTP REQUEST
|
||||
```
|
||||
@ -41,7 +41,7 @@ Code | description |
|
||||
name | type | description |
|
||||
------------ | ------------- | :---------- |
|
||||
status | string | Status of zone change |
|
||||
zone | map | Refer to [zone model](../api/zone-model) |
|
||||
zone | map | Refer to [zone model](zone-model.html) |
|
||||
created | string | The timestamp (UTC) the change was initiated |
|
||||
changeType | string | Type of change requested (Create, Update, Sync, Delete); in this case Create |
|
||||
userId | string | The user id that initiated the change |
|
@ -8,7 +8,7 @@ section: "api"
|
||||
|
||||
Abandons an existing zone that has already been connected to.
|
||||
The zone will be disconnected from VinylDNS, but the RecordSets still exist in the backend DNS zone.
|
||||
To delete the RecordSets see [Delete RecordSet](../api/delete-recordset)
|
||||
To delete the RecordSets see [Delete RecordSet](delete-recordset.html)
|
||||
|
||||
*Note: We do not recommend that you abandon zones, as your zone history will be lost after the Delete. This endpoint is provided in certain situations where a zone was incorrectly started.*
|
||||
|
@ -38,11 +38,11 @@ userId | string | The unique identifier of the user that created the
|
||||
userName | string | The username of the user that created the batch change. |
|
||||
comments | string | Optional comments about the batch change. |
|
||||
createdTimestamp | date-time | The timestamp (UTC) when the batch change was created. |
|
||||
changes | Array of SingleChange | Array of single changes within a batch change. A *SingleChange* can either be a [SingleAddChange](../api/batchchange-model#singleaddchange-attributes) or a [SingleDeleteRRSetChange](../api/batchchange-model#singledeleterrsetchange-). |
|
||||
status | BatchChangeStatus | [Status of the batch change](../api/batchchange-model#batchchange-attributes). |
|
||||
changes | Array of SingleChange | Array of single changes within a batch change. A *SingleChange* can either be a [SingleAddChange](batchchange-model.html#singleaddchange-attributes) or a [SingleDeleteRRSetChange](batchchange-model.html#singledeleterrsetchange-attributes). |
|
||||
status | BatchChangeStatus | [Status of the batch change](batchchange-model.html#batchchange-attributes). |
|
||||
id | string | The unique identifier for this batch change. |
|
||||
scheduledTime | date-time | Optional requested date and time to process the batch change. |
|
||||
approvalStatus| BatchChangeApprovalStatus |[Approval status of the batch change](../api/batchchange-model#batchchange-attributes). |
|
||||
approvalStatus| BatchChangeApprovalStatus |[Approval status of the batch change](batchchange-model.html#batchchange-attributes). |
|
||||
reviewerId | string | Optional identifier of reviewer if batch change required manual review |
|
||||
reviewComment | string | Optional comment by reviewer if batch change required manual review |
|
||||
reviewTimestamp | date-time | Optional timestamp (UTC) when the batch change was reviewed if manual review was required. |
|
@ -37,7 +37,7 @@ records | array of record data | Array of record data objects |
|
||||
id | string | The unique ID of the record set |
|
||||
account | string | **DEPRECATED** the ID of the account that created the record set |
|
||||
accessLevel | string | accessLevel that user has to record set based off acl rules and whether or not user is in Zone Admin Group |
|
||||
ownerGroupId | string | Record ownership assignment, if found, applicable if the recordset is in a [shared zone](../api/zone-model#shared-zones) |
|
||||
ownerGroupId | string | Record ownership assignment, if found, applicable if the recordset is in a [shared zone](zone-model.html#shared-zones) |
|
||||
ownerGroupName | string | Name of assigned owner group, if found |
|
||||
|
||||
#### EXAMPLE RESPONSE
|
@ -25,7 +25,7 @@ Code | description |
|
||||
|
||||
name | type | description |
|
||||
------------ | ------------- | :---------- |
|
||||
zone | map | refer to [zone model](../api/zone-model) |
|
||||
zone | map | refer to [zone model](zone-model.html) |
|
||||
|
||||
#### EXAMPLE RESPONSE
|
||||
|
@ -25,7 +25,7 @@ Code | description |
|
||||
|
||||
name | type | description |
|
||||
------------ | ------------- | :---------- |
|
||||
zone | map | refer to [zone model](../api/zone-model) |
|
||||
zone | map | refer to [zone model](zone-model.html) |
|
||||
|
||||
#### EXAMPLE RESPONSE
|
||||
|
13
modules/docs/src/main/mdoc/api/index.md
Executable file
@ -0,0 +1,13 @@
|
||||
---
|
||||
layout: docs
|
||||
title: "API documentation"
|
||||
section: "api"
|
||||
---
|
||||
|
||||
# API documentation
|
||||
|
||||
* [Authentication](auth-mechanism.html)
|
||||
* [Zone](zone-model.html)
|
||||
* [RecordSet](recordset-model.html)
|
||||
* [Batch Change](batchchange-model.html)
|
||||
* [Membership](membership-model.html)
|
@ -52,7 +52,7 @@ userName | string | The username of the user that created the batch ch
|
||||
comments | string | Conditional: comments about the batch change, if provided. |
|
||||
createdTimestamp | date-time | The timestamp (UTC) when the batch change was created. |
|
||||
totalChanges | int | The total number of single changes within the batch change. |
|
||||
status | BatchChangeStatus | [Status of the batch change](../api/batchchange-model#batchchange-attributes). |
|
||||
status | BatchChangeStatus | [Status of the batch change](batchchange-model.html#batchchange-attributes). |
|
||||
id | string | The unique identifier for this batch change. |
|
||||
ownerGroupName | string | Conditional: Record ownership assignment, if provided. |
|
||||
approvalStatus | BatchChangeApprovalStatus | Whether the batch change is currently awaiting manual review. Can be one of **AutoApproved**, **PendingReview**, **ManuallyApproved**, **Rejected**, or **Cancelled**. |
|
@ -40,8 +40,8 @@ maxItems | integer | maxItems sent in request, default is 100 |
|
||||
|
||||
name | type | description |
|
||||
------------ | ------------- | :---------- |
|
||||
newGroup | map | The new group as a result of the change, refer to [Membership Model]("../api/membership-model") |
|
||||
oldGroup | map | The old group before the change, refer to [Membership Model]("../api/membership-model") |
|
||||
newGroup | map | The new group as a result of the change, refer to [Membership Model]("/api/membership-model") |
|
||||
oldGroup | map | The old group before the change, refer to [Membership Model]("/api/membership-model") |
|
||||
created | string | Millisecond timestamp that change was created
|
||||
userId | string | User Id of user who made the change |
|
||||
changeType | string | The type change, either Create, Update, or Delete |
|
@ -24,7 +24,7 @@ Code | description |
|
||||
|
||||
name | type | description |
|
||||
------------ | ------------- | :---------- |
|
||||
admins | Array of Users | refer to [membership model](../api/membership-model) |
|
||||
admins | Array of Users | refer to [membership model](membership-model.html) |
|
||||
|
||||
#### EXAMPLE RESPONSE
|
||||
|
@ -31,7 +31,7 @@ Code | description |
|
||||
|
||||
name | type | description |
|
||||
------------ | ------------- | :---------- |
|
||||
members | Array of Users | refer to [membership model](../api/membership-model), these Users will also include an isAdmin attribute |
|
||||
members | Array of Users | refer to [membership model](membership-model.html), these Users will also include an isAdmin attribute |
|
||||
startFrom | *any* | startFrom sent in request, will not be returned if not provided |
|
||||
nextId | *any* | nextId, used as startFrom parameter of next page request, will not be returned if members are exhausted |
|
||||
maxItems | integer | maxItems sent in request, default is 100 |
|
@ -32,7 +32,7 @@ Code | description |
|
||||
|
||||
name | type | description |
|
||||
------------ | ------------- | :---------- |
|
||||
groups | Array of Groups | refer to [membership model](../api/membership-model) |
|
||||
groups | Array of Groups | refer to [membership model](membership-model.html) |
|
||||
groupNameFilter | string | name filter sent in request |
|
||||
startFrom | *any* | startFrom sent in request, will not be returned if not provided |
|
||||
nextId | *any* | nextId, used as startFrom parameter of next page request, will not be returned if groups are exhausted |
|
@ -17,7 +17,7 @@ Retrieves a list of RecordSets from the zone
|
||||
name | type | required? | description |
|
||||
------------ | ------------- | ----------- | :---------- |
|
||||
recordNameFilter | string | no | Characters that are part of the record name to search for. The wildcard character `*` is supported, for example `www*`. Omit the wildcard when searching for an exact record name. |
|
||||
recordTypeFilter | Array of RecordType | no | An array of record types to filter for listing record sets. Refer to [recordset mode](../api/recordset-model) for supported types. Invalid record types will be ignored. If left empty or no valid record types are provided, then all record types will be returned. |
|
||||
recordTypeFilter | Array of RecordType | no | An array of record types to filter for listing record sets. Refer to [recordset mode](recordset-model.html) for supported types. Invalid record types will be ignored. If left empty or no valid record types are provided, then all record types will be returned. |
|
||||
nameSort | string | no | Name sort order for record sets returned by list record set response. Valid values are `ASC` (ascending; default) and `DESC` (descending).
|
||||
startFrom | *any* | no | In order to advance through pages of results, the startFrom is set to the `nextId` that is returned on the previous response. It is up to the client to maintain previous pages if the client wishes to advance forward and backward. If not specified, will return the first page of results |
|
||||
maxItems | integer | no | The number of items to return in the page. Valid values are 1 to 100. Defaults to 100 if not provided. |
|
||||
@ -35,7 +35,7 @@ Code | description |
|
||||
|
||||
name | type | description |
|
||||
------------ | ------------- | :---------- |
|
||||
recordSets | Array of RecordSets | refer to [recordset model](../api/recordset-model), the RecordSet data will also include the accessLevel the requesting user has based off acl rules and membership in Zone Admin Group |
|
||||
recordSets | Array of RecordSets | refer to [recordset model](recordset-model.html), the RecordSet data will also include the accessLevel the requesting user has based off acl rules and membership in Zone Admin Group |
|
||||
startFrom | *any* | startFrom sent in request, will not be returned if not provided |
|
||||
nextId | *any* | nextId, used as startFrom parameter of next page request, will not be returned if record sets are exhausted |
|
||||
maxItems | integer | maxItems sent in request, default is 100 |
|
@ -17,7 +17,7 @@ Retrieves a list of RecordSets globally in the VinylDNS database based on search
|
||||
name | type | required? | description |
|
||||
------------ | ------------- | ----------- | :---------- |
|
||||
recordNameFilter | string | yes | Characters that are part of the record name to search for. The wildcard character `*` is supported, for example `www*`. Omit the wildcard when searching for an exact record name. At least two alphanumeric characters are **required** for searching. |
|
||||
recordTypeFilter | Array of RecordType | no | An array of record types to filter for listing record sets. Refer to [recordset mode](../api/recordset-model) for supported types. Invalid record types will be ignored. If left empty or no valid record types are provided, then all record types will be returned. |
|
||||
recordTypeFilter | Array of RecordType | no | An array of record types to filter for listing record sets. Refer to [recordset mode](recordset-model.html) for supported types. Invalid record types will be ignored. If left empty or no valid record types are provided, then all record types will be returned. |
|
||||
recordOwnerGroupFilter | string | no | Owner group ID for record set. |
|
||||
nameSort | string | no | Name sort order for record sets returned by list record set response. Valid values are `ASC` (ascending; default) and `DESC` (descending). |
|
||||
startFrom | *any* | no | In order to advance through pages of results, the startFrom is set to the `nextId` that is returned on the previous response. It is up to the client to maintain previous pages if the client wishes to advance forward and backward. If not specified, will return the first page of results |
|
||||
@ -34,7 +34,7 @@ Code | description |
|
||||
|
||||
name | type | description |
|
||||
------------ | ------------- | :---------- |
|
||||
recordSets | Array of RecordSets | refer to [recordset model](../api/recordset-model) |
|
||||
recordSets | Array of RecordSets | refer to [recordset model](recordset-model.html) |
|
||||
startFrom | *any* | startFrom sent in request, will not be returned if not provided |
|
||||
nextId | *any* | nextId, used as startFrom parameter of next page request, will not be returned if record sets are exhausted |
|
||||
maxItems | integer | `maxItems` sent in request, default is 100 |
|
@ -33,7 +33,7 @@ Code | description |
|
||||
|
||||
name | type | description |
|
||||
------------ | ------------- | :---------- |
|
||||
zones | Array of [Zones](../api/zone-model#zone-attributes) | An array of the zones found. The zones are sorted alphabetically by zone name. |
|
||||
zones | Array of [Zones](zone-model.html#zone-attributes) | An array of the zones found. The zones are sorted alphabetically by zone name. |
|
||||
startFrom | *any* | (optional) The startFrom parameter that was sent in on the HTTP request. Will not be present if the startFrom parameter was not sent |
|
||||
nextId | *any* | (optional) The identifier to be passed in as the *startFrom* parameter to retrieve the next page of results. If there are no results left, this field will not be present.|
|
||||
maxItems | int | The maxItems parameter that was sent in the HTTP request. This will be 100 if not sent. |
|
@ -16,12 +16,12 @@ section: "api"
|
||||
#### MEMBERSHIP BREAKDOWN
|
||||
|
||||
Every zone can be connected to by only one group in VinylDNS. That initial group will be the admin group for that zone,
|
||||
which can be changed later on in a [Zone Update](../api/update-zone). Every member of the admin group
|
||||
which can be changed later on in a [Zone Update](update-zone.html). Every member of the admin group
|
||||
will be an admin of that zone, and can preform zone syncs, zone updates, zone deletes, and record set changes regardless
|
||||
of any Access Control Rules set on them.
|
||||
<br><br>
|
||||
While users in the admin group will have complete zone access, further users can be given limited membership through [Zone
|
||||
ACL Rules](../api/zone-model#zone-acl-rule-attr)
|
||||
ACL Rules](zone-model.html#zone-acl-rule-attr)
|
||||
|
||||
#### GROUP ATTRIBUTES <a id="group-attributes"></a>
|
||||
|
@ -58,7 +58,7 @@ Current supported record types are: A, AAAA, CNAME, DS, MX, NAPTR, NS, PTR, SOA,
|
||||
Each individual record encodes its data in a record data object, in which each record type has different required attributes
|
||||
<br><br>
|
||||
SOA records and NS origin records (record with the same name as the zone) are currently read-only and cannot be created, updated or deleted.
|
||||
Non-origin NS records can be created or updated for [approved name servers](../operator/config-api#additional-configuration-settings) only. Any non-origin NS record can be deleted.
|
||||
Non-origin NS records can be created or updated for [approved name servers](../operator/config-api.html#additional-configuration-settings) only. Any non-origin NS record can be deleted.
|
||||
|
||||
record type | attribute | type |
|
||||
------------ | :---------- | :---------- |
|
@ -9,7 +9,7 @@ section: "api"
|
||||
Manually rejects a batch change in pending review status given the batch change ID, resulting in immediate failure. Only
|
||||
system administrators (ie. support or super user) can manually review a batch change.
|
||||
|
||||
Note: If [manual review is disabled](../../operator/config-api#manual-review) in the VinylDNS instance,
|
||||
Note: If [manual review is disabled](../operator/config-api.html#manual-review) in the VinylDNS instance,
|
||||
users trying to access this endpoint will encounter a **404 Not Found** response since it will not exist.
|
||||
|
||||
|
||||
@ -51,8 +51,8 @@ userId | string | The unique identifier of the user that created the
|
||||
userName | string | The username of the user that created the batch change. |
|
||||
comments | string | Conditional: comments about the batch change, if provided. |
|
||||
createdTimestamp | date-time | The timestamp (UTC) when the batch change was created. |
|
||||
changes | Array of SingleChange | Array of single changes within a batch change. A *SingleChange* can either be a [SingleAddChange](../api/batchchange-model#singleaddchange-attributes) or a [SingleDeleteRRSetChange](../api/batchchange-model#singledeleterrsetchange-). |
|
||||
status | BatchChangeStatus | [Status of the batch change](../api/batchchange-model#batchchange-attributes). |
|
||||
changes | Array of SingleChange | Array of single changes within a batch change. A *SingleChange* can either be a [SingleAddChange](batchchange-model.html#singleaddchange-attributes) or a [SingleDeleteRRSetChange](batchchange-model.html#singledeleterrsetchange-attributes). |
|
||||
status | BatchChangeStatus | [Status of the batch change](batchchange-model.html#batchchange-attributes). |
|
||||
id | string | The unique identifier for this batch change. |
|
||||
ownerGroupId | string | Conditional: Record ownership assignment, if provided. |
|
||||
approvalStatus | BatchChangeApprovalStatus | Whether the batch change is currently awaiting manual review. Will be **Rejected** status when rejecting. |
|
@ -41,7 +41,7 @@ Code | description |
|
||||
name | type | description |
|
||||
------------ | ------------- | :---------- |
|
||||
status | string | Sync status |
|
||||
zone | map | Refer to [zone model](../api/zone-model) |
|
||||
zone | map | Refer to [zone model](zone-model.html) |
|
||||
created | string | The timestamp (UTC) the sync was initiated |
|
||||
changeType | string | Type of change requested (Create, Update, Sync, Delete); in this case Sync |
|
||||
userId | string | The user ID that initiated the change |
|
@ -22,8 +22,8 @@ id | string | yes | the id of the recordset being upda
|
||||
name | string | yes | the name of the recordset being updated |
|
||||
type | string | yes | the type of recordset |
|
||||
ttl | integer | yes | the TTL in seconds |
|
||||
records | array of record data | yes | record data for recordset, see [RecordSet Model](../api/recordset-model) |
|
||||
ownerGroupId | string | sometimes* | Record ownership assignment, applicable if the recordset is in a [shared zone](../api/zone-model#shared-zones) |
|
||||
records | array of record data | yes | record data for recordset, see [RecordSet Model](recordset-model.html) |
|
||||
ownerGroupId | string | sometimes* | Record ownership assignment, applicable if the recordset is in a [shared zone](zone-model.html#shared-zones) |
|
||||
|
||||
*Note: If a recordset has an ownerGroupId you must include that value in the update request, otherwise the update will remove the ownerGroupId value
|
||||
|
@ -14,7 +14,7 @@ Updates an existing zone that has already been connected to. Used to update the
|
||||
|
||||
#### HTTP REQUEST PARAMS
|
||||
|
||||
**zone fields**, refer to [zone model](../api/zone-model) |
|
||||
**zone fields**, refer to [zone model](zone-model.html) |
|
||||
|
||||
#### EXAMPLE HTTP REQUEST
|
||||
|
||||
@ -54,7 +54,7 @@ Code | description |
|
||||
|
||||
name | type | description |
|
||||
------------ | ------------- | :---------- |
|
||||
zone | map | Zone sent with update request, refer to [zone model](../api/zone-model) |
|
||||
zone | map | Zone sent with update request, refer to [zone model](zone-model.html) |
|
||||
userId | string | The user id that initiated the change |
|
||||
changeType | string | Type of change requested (Create, Update, Sync, Delete); in this case Update |
|
||||
created | string | The timestamp (UTC) the change was initiated |
|
@ -97,7 +97,7 @@ accessLevel | string | Access level of the user requesting the zone. Curr
|
||||
#### ZONE ACL RULE ATTRIBUTES <a id="zone-acl-rule-attr"></a>
|
||||
ACL Rules are used to govern user and group access to record operations on a zone. ACL Rules can be associated with a specific user, or all users in a specified group. If neither a user _or_ a group is attached to an ACL rule, then the rule applies to _all_ users in the system.
|
||||
<br><br>
|
||||
Use the [Zone Update](../api/update-zone) endpoint to update the **acl** attribute of the zone
|
||||
Use the [Zone Update](update-zone.html) endpoint to update the **acl** attribute of the zone
|
||||
|
||||
> **Important!** If a user is mentioned on an ACL Rule directly, or is a member of a group that is mentioned on an ACL Rule, that user will be able to see the zone.
|
||||
|
||||
@ -261,4 +261,4 @@ key | string | The TSIG secret key used to sign requests when com
|
||||
|
||||
### SHARED ZONES <a id="shared-zones"></a>
|
||||
|
||||
Shared zones allow for a more open management of records in VinylDNS. Zone administrators can assign ownership of records to groups. Any user in VinylDNS can claim existing unowned records in shared zones, as well as create records in those zones. Once a record is owned, only users in the record owner group, the zone administrators and those with relevant ACL rules can modify or delete the record. The [batch change API endpoint](../api/create-batchchange) and [batch change area of the portal](../portal/batch-changes) are where users can create new records in shared zones, modify records they own, or claim unowned records. If a zone's shared state changes to false the record ownership access is no longer applicable.
|
||||
Shared zones allow for a more open management of records in VinylDNS. Zone administrators can assign ownership of records to groups. Any user in VinylDNS can claim existing unowned records in shared zones, as well as create records in those zones. Once a record is owned, only users in the record owner group, the zone administrators and those with relevant ACL rules can modify or delete the record. The [batch change API endpoint](create-batchchange.html) and [batch change area of the portal](../portal/batch-changes.html) are where users can create new records in shared zones, modify records they own, or claim unowned records. If a zone's shared state changes to false the record ownership access is no longer applicable.
|
@ -87,4 +87,4 @@ If you need new API credentials select *Regenerate Credentials*. This will inval
|
||||
If you use any VinylDNS tools beyond the portal you will need to provide those tools with your new credentials.
|
||||
|
||||
### 9. How are requests authenticated to the VinylDNS API? <a id="9"></a>
|
||||
Refer to [API Authentication](../api/auth-mechanism).
|
||||
Refer to [API Authentication](api/auth-mechanism.html).
|
@ -7,7 +7,7 @@ position: 1
|
||||
|
||||
# Welcome
|
||||
|
||||

|
||||

|
||||
|
||||
VinylDNS is a vendor agnostic front-end for enabling self-service DNS and streamlining DNS operations. It is designed to integrate with your existing DNS infrastructure, and provides extensibility to fit your installation.
|
||||
VinylDNS manages millions of DNS records supporting thousands of engineers in production at [Comcast](http://www.comcast.com).
|
@ -77,9 +77,9 @@ There are a couple of implementation-dependent settings that need to be specifie
|
||||
* `messages-per-poll`: Number of messages retrieved in a single queue receive request. Valid values are 1 through 10 (default).
|
||||
* `polling-interval`: Interval to delay between each poll for messages.
|
||||
|
||||
If using SQS, be sure to follow the [AWS SQS Setup Guide](setup-sqs) first to get the values you need to configure here.
|
||||
If using SQS, be sure to follow the [AWS SQS Setup Guide](setup-sqs.html) first to get the values you need to configure here.
|
||||
|
||||
If using MySQL, follow the [MySQL Setup Guide](setup-mysql) first to get the values you need to configure here.
|
||||
If using MySQL, follow the [MySQL Setup Guide](setup-mysql.html) first to get the values you need to configure here.
|
||||
|
||||
The following in a sample SQS config:
|
||||
|
||||
@ -167,9 +167,9 @@ You must have all of the following required API repositories configured in exact
|
||||
| ZoneChange | X | X |
|
||||
|
||||
|
||||
If using MySQL, follow the [MySQL Setup Guide](setup-mysql) first to get the values you need to configure here.
|
||||
If using MySQL, follow the [MySQL Setup Guide](setup-mysql.html) first to get the values you need to configure here.
|
||||
|
||||
If using DynamoDB, follow the [AWS DynamoDB Setup Guide](setup-dynamodb) first to get the values you need to configure here.
|
||||
If using DynamoDB, follow the [AWS DynamoDB Setup Guide](setup-dynamodb.html) first to get the values you need to configure here.
|
||||
|
||||
|
||||
```yaml
|
||||
@ -334,7 +334,7 @@ VinylDNS has three ways of indicating zone connections:
|
||||
|
||||
1. Global default connection applies to all zones unless overridden by one of the following connections. This configuration is required.
|
||||
2. Backends allows you to specify zone connection information for an individual zone by choosing a pre-configured zone connection. This configuration is optional.
|
||||
3. Zone level override allows you to specify zone update and transfer connection information _for each zone_. More information is in the [Zone Model](../api/zone-model).
|
||||
3. Zone level override allows you to specify zone update and transfer connection information _for each zone_. More information is in the [Zone Model](../api/zone-model.html).
|
||||
|
||||
VinylDNS has **2** connections for each zone:
|
||||
|
||||
@ -511,8 +511,11 @@ sns {
|
||||
signing-region = "us-east-1"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Batch Manual Review Enabled <a id="manual-review" />
|
||||
[manual-review]: #manual-review
|
||||
|
||||
Configuration setting that determines whether batch changes with non-fatal errors can be reviewed rather than failing immediately.
|
||||
When enabling manual review, the expectation is that a DNS technician is actively querying and addressing batch change
|
||||
requests that are in a manual review state. If your process flow does not accommodate this expectation, we advise disabling
|
@ -18,11 +18,11 @@ The portal configuration is much smaller than the API Server.
|
||||
- [Full Example Config](#full-example-config)
|
||||
|
||||
## Database Configuration
|
||||
VinylDNS supports both DynamoDB and MySQL backends (see [API Database Configuration](config-api#database-configuration)).
|
||||
VinylDNS supports both DynamoDB and MySQL backends (see [API Database Configuration](config-api.html#database-configuration)).
|
||||
|
||||
If using DynamoDB, follow the [AWS DynamoDB Setup Guide](setup-dynamodb) first to get the values you need to configure here.
|
||||
If using DynamoDB, follow the [AWS DynamoDB Setup Guide](setup-dynamodb.html) first to get the values you need to configure here.
|
||||
|
||||
If using MySQL, follow the [MySQL Setup Guide](setup-mysql) first to get the values you need to configure here.
|
||||
If using MySQL, follow the [MySQL Setup Guide](setup-mysql.html) first to get the values you need to configure here.
|
||||
|
||||
|
||||
The Portal uses the following tables:
|
||||
@ -139,7 +139,7 @@ vinyldns {
|
||||
```
|
||||
|
||||
## LDAP
|
||||
Be sure to follow the [LDAP Setup Guide](setup-ldap) first to get the values you need to configure here.
|
||||
Be sure to follow the [LDAP Setup Guide](setup-ldap.html) first to get the values you need to configure here.
|
||||
|
||||
LDAP configuration connects VinylDNS to your Directory where user information is stored.
|
||||
|
||||
@ -378,4 +378,4 @@ links = [
|
||||
icon = "fa fa-file-text-o"
|
||||
}
|
||||
]
|
||||
```
|
||||
```
|
13
modules/docs/src/main/mdoc/operator/index.md
Normal file
@ -0,0 +1,13 @@
|
||||
---
|
||||
layout: docs
|
||||
title: "Operator Guide"
|
||||
section: "operator_menu"
|
||||
position: 3
|
||||
---
|
||||
|
||||
# Operator Guide
|
||||
This operator guide will help administrators install and operate VinylDNS API and Portal.
|
||||
|
||||
1. [Setup the pre-requisite systems](pre.html) - VinylDNS has several external dependencies that are required in order to operate.
|
||||
2. [Setup the VinylDNS API server](setup-api.html)
|
||||
3. [Setup the VinylDNS Portal server](setup-portal.html)
|
@ -30,7 +30,7 @@ for zone transfers.
|
||||
|
||||
Connections (DDNS and Transfer) can be setup
|
||||
* `per zone` - every zone can override the global default by specifying its own connections.
|
||||
* `global default` - assuming you are managing a primary system, you can [configure default zone connections](config-api#default-zone-connections).
|
||||
* `global default` - assuming you are managing a primary system, you can [configure default zone connections](config-api.html#default-zone-connections).
|
||||
When no zone connection is specified on a zone, the global defaults will be used.
|
||||
|
||||
## Database
|
||||
@ -77,7 +77,7 @@ to use DynamoDB as the query interface is limited. A SQL interface with `JOIN`s
|
||||
It should also be noted that all of the repositories have also been implemented in MySQL despite most currently running
|
||||
in DynamoDB in our VinylDNS instance.
|
||||
|
||||
Review the [Setup MySQL Guide](setup-mysql) for more information.
|
||||
Review the [Setup MySQL Guide](setup-mysql.html) for more information.
|
||||
|
||||
### AWS DynamoDB
|
||||
VinylDNS has gone through several architecture evolutions. Along the way, DynamoDB was chosen as the data store due to
|
||||
@ -97,7 +97,7 @@ VinylDNS has implemented DynamoDB for the following repositories:
|
||||
Currently using DynamoDB would also require the user to either use MySQL for the batch change and zone repositories or also provide
|
||||
an implementation for those repositories in a different data store.
|
||||
|
||||
Review the [Setup AWS DynamoDB Guide](setup-dynamodb) for more information.
|
||||
Review the [Setup AWS DynamoDB Guide](setup-dynamodb.html) for more information.
|
||||
|
||||
## Message Queues
|
||||
Most operations that take place in VinylDNS use a message queue. These operations require high-availability, fault-tolerance
|
||||
@ -119,13 +119,13 @@ bottlenecks in processing could cause an increase in heap pressure in the API no
|
||||
1. Price - SQS is very reasonably priced. Comcast operates multiple message queues for different environments (dev, staging, prod, etc).
|
||||
The price to use SQS is in the single digit dollars per month. VinylDNS can be tuned to run exclusively in the _free tier_.
|
||||
|
||||
Review the [Setup AWS SQS Guide](setup-sqs) for more information.
|
||||
Review the [Setup AWS SQS Guide](setup-sqs.html) for more information.
|
||||
|
||||
### MySQL
|
||||
VinylDNS has also implemented a message queue using MySQL, which incorporates the features that we currently utilize through AWS SQS
|
||||
such as changing visibility timeout and re-queuing operations.
|
||||
|
||||
Review the [Setup MySQL Guide](setup-mysql) for more information.
|
||||
Review the [Setup MySQL Guide](setup-mysql.html) for more information.
|
||||
|
||||
## LDAP
|
||||
VinylDNS uses LDAP in order to authenticate users in the **Portal**. LDAP is **not** used in the API, instead the API uses
|
||||
@ -134,4 +134,4 @@ its own user and group database for authentication.
|
||||
When a user first logs into VinylDNS, their user information (first name, last name, user name, email) will be pulled from
|
||||
LDAP, and stored in the `UserRepository`. Credentials will also be generated for the user and stored encrypted in the `UserRepository`.
|
||||
|
||||
Review the [Setup LDAP Guide](setup-ldap) for more information
|
||||
Review the [Setup LDAP Guide](setup-ldap.html) for more information
|
@ -7,11 +7,11 @@ section: "operator_menu"
|
||||
# Setup API Server
|
||||
The API Server is the main run-time for VinylDNS. To setup the API server, follow these steps:
|
||||
|
||||
1. [Pre-requisites](pre)
|
||||
1. [Setup AWS DynamoDB](setup-dynamodb)
|
||||
1. [Setup MySQL](setup-mysql)
|
||||
1. [Setup AWS SQS](setup-sqs)
|
||||
1. [Configure API Server](config-api)
|
||||
1. [Pre-requisites](pre.html)
|
||||
1. [Setup AWS DynamoDB](setup-dynamodb.html)
|
||||
1. [Setup MySQL](setup-mysql.html)
|
||||
1. [Setup AWS SQS](setup-sqs.html)
|
||||
1. [Configure API Server](config-api.html)
|
||||
1. [Using the API Docker Image](#using-the-api-docker-image)
|
||||
|
||||
## Using the API Docker Image
|
@ -7,7 +7,7 @@ section: "operator_menu"
|
||||
# Setup AWS DynamoDB
|
||||
[AWS DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html) is currently the default database
|
||||
for _most_ of the data that is stored in our instance of VinylDNS. However, all table implementations are available in MySQL
|
||||
(see [Setup MySQL Guide](setup-mysql) for more information). The following tables are present in DynamoDB in our instance of VinylDNS:
|
||||
(see [Setup MySQL Guide](setup-mysql.html) for more information). The following tables are present in DynamoDB in our instance of VinylDNS:
|
||||
|
||||
* [RecordSetChange](#recordsetchange-table) - audit history of all changes made to records
|
||||
* [Group](#group-table) - group information, including name, email and description
|
||||
@ -37,10 +37,10 @@ the throughput very low and operate in the "almost" free-tier.
|
||||
|
||||
## Configuring DynamoDB
|
||||
Before you can configure DynamoDB, make note of the AWS account (access key and secret access key) as well as the
|
||||
DynamoDB endpoint (region) that you will be using. Follow the [API Database Configuration](config-api#database-configuration)
|
||||
DynamoDB endpoint (region) that you will be using. Follow the [API Database Configuration](config-api.html#database-configuration)
|
||||
to complete the setup for the API.
|
||||
|
||||
You also need to configure DynamoDB for the portal [Portal Database Configuration](config-portal#database-configuration)
|
||||
You also need to configure DynamoDB for the portal [Portal Database Configuration](config-portal.html#database-configuration)
|
||||
|
||||
### RecordSet Table
|
||||
|
@ -12,7 +12,7 @@ VinylDNS. VinylDNS does support service accounts, which are useful for automati
|
||||
user to be created is to login to the portal. Implementers can choose to out-of-band manage the VinylDNS repositories.**
|
||||
|
||||
There are no steps necessary for setup than having a Directory that can communicate via LDAP, and a user (account) that
|
||||
can read data from the Directory. Once you have that information, proceed to the [Portal Configuration](config-portal).
|
||||
can read data from the Directory. Once you have that information, proceed to the [Portal Configuration](config-portal.html).
|
||||
|
||||
**Considerations**
|
||||
You _should_ communicate to your Directory over LDAP using TLS. To do so, the SSL certs should be installed
|
||||
@ -21,7 +21,7 @@ a java key store when it starts up.
|
||||
|
||||
## Configuring LDAP
|
||||
Before you can configure LDAP, make note of the host, username, and password that you will be using.
|
||||
Follow the [Portal Configuration](config-portal) to complete the setup.
|
||||
Follow the [Portal Configuration](config-portal.html) to complete the setup.
|
||||
|
||||
## Syncing users against LDAP
|
||||
VinylDNS has implemented an optional feature to perform a recurring LDAP lookup against all non-test users in the database and perform
|
@ -29,4 +29,4 @@ pool.
|
||||
|
||||
## Configuring MySQL
|
||||
Before you can configure MySQL, make note of the host, username, and password that you will be using.
|
||||
Follow the [API Database Configuration](config-api#database-configuration) to complete the setup.
|
||||
Follow the [API Database Configuration](config-api.html#database-configuration) to complete the setup.
|
@ -7,12 +7,12 @@ section: "operator_menu"
|
||||
# Setup the Portal Server
|
||||
The Portal Server is the web UI for VinylDNS. To setup the Portal server, follow these steps:
|
||||
|
||||
1. [Setup API Server](setup-api)
|
||||
1. [Setup LDAP](setup-ldap)
|
||||
1. [Configure Portal Server](config-portal)
|
||||
1. [Setup API Server](setup-api.html)
|
||||
1. [Setup LDAP](setup-ldap.html)
|
||||
1. [Configure Portal Server](config-portal.html)
|
||||
1. [Using the Portal Docker Image](#using-the-portal-docker-image)
|
||||
|
||||
Once you have you pre-requisites ready, review the [Portal Configuration Guide](config-portal) for how to build out
|
||||
Once you have you pre-requisites ready, review the [Portal Configuration Guide](config-portal.html) for how to build out
|
||||
your configuration file.
|
||||
|
||||
# Using the Portal Docker Image
|
||||
@ -24,7 +24,7 @@ purposes.
|
||||
## Volume mounts
|
||||
* `/opt/docker/lib_extra` - place here additional jar files that need to be loaded into the classpath when the application starts up.
|
||||
This is used for "plugins" that are proprietary or not part of the standard build. All jar files here will be placed on the class path.
|
||||
* `/opt/docker/conf/application.conf` - to override default configuration settings. Follow the [Portal Configuration Guide](config-portal)
|
||||
* `/opt/docker/conf/application.conf` - to override default configuration settings. Follow the [Portal Configuration Guide](config-portal.html)
|
||||
* `/opt/docker/conf/application.ini` - to pass additional JVM options
|
||||
* `/opt/docker/conf/trustStore.jks` - to make available a custom trustStore, which has to be set in `/opt/docker/conf/application.ini` as `-Djavax.net.ssl.trustStore=/opt/docker/conf/trustStore.jks`
|
||||
|
@ -34,4 +34,4 @@ The following SQS Queue Attributes are recommended (these are in AWS when you cr
|
||||
|
||||
## Configuring SQS
|
||||
Before you can configure SQS, make note of the AWS account (access key and secret access key) as well as the
|
||||
SQS Queue Url that you will be using. Follow the [SQS Configuration](config-api#aws-sqs) to complete the setup.
|
||||
SQS Queue Url that you will be using. Follow the [SQS Configuration](config-api.html#queue-configuration) to complete the setup.
|
@ -4,9 +4,9 @@ title: "Connect to your Zone"
|
||||
section: "portal_menu"
|
||||
---
|
||||
## Connect to your Zone <a id="connectingZone"></a>
|
||||
Once your zone is [setup for use with VinylDNS](../faq#1), you can use the VinylDNS portal to connect to it.
|
||||
Once your zone is [setup for use with VinylDNS](../faq.html#1), you can use the VinylDNS portal to connect to it.
|
||||
|
||||
1. If you don't already have an admin group in VinylDNS for your zone select the Groups link in the navigation and [create an admin group](create-a-group) for your zone. Members of the group will have full access to the zone. See [Manage Access](manage-access) for more details.
|
||||
1. If you don't already have an admin group in VinylDNS for your zone select the Groups link in the navigation and [create an admin group](create-a-group.html) for your zone. Members of the group will have full access to the zone. See [Manage Access](manage-access.html) for more details.
|
||||
1. Select the Zones link from the navigation, then click the *Connect* button. This will show the *Connect to a Zone*
|
||||
form. [{: .screenshot}](../img/portal/zone-main.png) [{: .screenshot}](../img/portal/connect-to-zone.png)
|
||||
1. Enter the full name of the zone, example "test.sys.example.com"
|
||||
@ -14,8 +14,8 @@ Once your zone is [setup for use with VinylDNS](../faq#1), you can use the Vinyl
|
||||
email for the team that owns the zone.
|
||||
1. Select the admin group for the zone.
|
||||
1. If you do not have any custom TSIG keys, you can leave the connection information empty.
|
||||
1. If you do have custom TSIG keys, read the section on [Understand Connections](connections).
|
||||
1. If you do have custom TSIG keys, read the section on [Understand Connections](connections.html).
|
||||
1. Click the *Connect* button at the bottom of the form.
|
||||
1. You may have to click the <i>Refresh</i> button from the zone list to see your new zone.
|
||||
[{: .screenshot}](../img/portal/zone-list.png)
|
||||
1. If you see error messages, please consult the [FAQ](/faq).
|
||||
1. If you see error messages, please consult the [FAQ](../faq.html).
|
@ -15,7 +15,7 @@ your zone.
|
||||
|
||||
If you have an existing TSIG key that you are using for issuing DDNS updates to DNS,
|
||||
and you wish to continue to use it, you *must* request that your zone be setup to
|
||||
allow transfers from VinylDNS. **Note**: If you make any changes *outside* of VinylDNS they will not be reflected in VinylDNS unless you manually [sync the zone](manage-records#sync-zones).
|
||||
allow transfers from VinylDNS. **Note**: If you make any changes *outside* of VinylDNS they will not be reflected in VinylDNS unless you manually [sync the zone](manage-records.html#sync-zones).
|
||||
|
||||
If you have an existing TSIG key that you are using for issuing DDNS updates,
|
||||
and you no longer need the key, please contact your VinylDNS administrators to ensure that the key is *revoked* and the zone is setup with the default VinylDNS TSIG key. Once
|
@ -4,7 +4,7 @@ title: "Credentials"
|
||||
section: "portal_menu"
|
||||
---
|
||||
## Credentials
|
||||
In order to use [tooling](/tools) to access VinylDNS, all users must download their credentials from the VinylDNS
|
||||
In order to use [tooling](../tools.html) to access VinylDNS, all users must download their credentials from the VinylDNS
|
||||
portal. The credentials are located in the User Menu in the top right corner of the site after login.
|
||||
|
||||
### Regenerate Credentials
|
@ -10,7 +10,7 @@ DNS Changes is an alternative to submitting individual RecordSet changes and pro
|
||||
* The ability to include records of multiple record types across multiple zones.
|
||||
* Input names are entered as fully-qualified domain names (or IP addresses for **PTR** records), so users don't have to think in record/zone context.
|
||||
|
||||
**Note**: DNS Change is portal-only terminology. The API equivalent is [batch change](../api/batchchange-model).
|
||||
**Note**: DNS Change is portal-only terminology. The API equivalent is [batch change](../api/batchchange-model.html).
|
||||
|
||||
#### Access
|
||||
* Access permissions will follow existing rules (admin group or ACL access). Note that an update (delete and add of the same record name *or* delete of single entry of multi-record DNS record set, zone and record type combination) requires **Write** or **Delete** access.
|
@ -6,10 +6,10 @@ section: "portal_menu"
|
||||
|
||||
## Groups
|
||||
|
||||
Groups are the primary way users are granted access to zones. Users can create groups for two purposes in VinylDNS: to be the zone admin group for a zone or to be assigned more limited access via [ACL rules](manage-access). Every zone in VinylDNS must have a zone admin group assigned. VinylDNS does not currently integrate with any services to generate pre-defined zone admin groups.
|
||||
Groups are the primary way users are granted access to zones. Users can create groups for two purposes in VinylDNS: to be the zone admin group for a zone or to be assigned more limited access via [ACL rules](manage-access.html). Every zone in VinylDNS must have a zone admin group assigned. VinylDNS does not currently integrate with any services to generate pre-defined zone admin groups.
|
||||
|
||||
* [Create a group](create-a-group)
|
||||
* [Manage membership](manage-membership)
|
||||
* [Create a group](create-a-group.html)
|
||||
* [Manage membership](manage-membership.html)
|
||||
|
||||
[{:.screenshot}](../img/portal/groups-main.png)
|
||||
|
@ -16,23 +16,23 @@ The VinylDNS portal is the primary user interface for interacting with VinylDNS.
|
||||
The User Menu is located in the top right corner of the portal and accessed by selecting your username. It contains a *Logout* link to sign out of the portal and the *Download Credentials* link.
|
||||
|
||||
#### Credentials
|
||||
In order to use [tooling](/tools) to access VinylDNS, all users must download their credentials from the VinylDNS portal.
|
||||
In order to use [tooling](../tools.html) to access VinylDNS, all users must download their credentials from the VinylDNS portal.
|
||||
|
||||
[Learn more](credentials)
|
||||
[Learn more](credentials.html)
|
||||
|
||||
### Zones
|
||||
The Zones section of the portal is for managing DNS zones and records. This area also includes more granular management of user abilities.
|
||||
To access Zones in the portal select the Zones link in the left column navigation.
|
||||
Access to individual zones in this part of the portal is limited to zone administrators and users with explicit permissions.
|
||||
|
||||
[Learn More](zones)
|
||||
[Learn More](zones.html)
|
||||
|
||||
### Groups
|
||||
The Groups section of the portal is for managing high level user access and abilities. To access Groups in the portal select the Groups link in the left column navigation.
|
||||
|
||||
[Learn More](groups)
|
||||
[Learn More](groups.html)
|
||||
|
||||
### DNS Changes
|
||||
The DNS Changes section of the portal allows users to implement multiple record changes simultaneously and across different zones. To access DNS Changes in the portal select the DNS Changes link in the left column navigation.
|
||||
|
||||
[Learn More](dns-changes)
|
||||
[Learn More](dns-changes.html)
|
@ -6,7 +6,7 @@ section: "portal_menu"
|
||||
## Manage Access to Zones and Records <a id="access"></a>
|
||||
### Full Access
|
||||
Members of a zone admin group have *full* access to all records and permissions in the zone. Each zone is limited to one admin group. Typically, this should be a limited set of
|
||||
users. If you wish to add other users to a group you can do so in the [Groups](manage-membership) section of the portal.
|
||||
users. If you wish to add other users to a group you can do so in the [Groups](manage-membership.html) section of the portal.
|
||||
|
||||
### Limited Access
|
||||
If you don't want a user to have full access to a zone you can use ACL rules to give them more granular access. With ACL rules, the zone admins can grant individual users or groups read, write or delete access to all records in the zone, or a subset of record names and/or types.
|
||||
@ -19,4 +19,4 @@ If you don't want a user to have full access to a zone you can use ACL rules to
|
||||
[{:.screenshot}](../img/portal/create-acl-rule.png)
|
||||
|
||||
### <span class="important">**NEW**</span> Shared Zones
|
||||
The shared zone feature is designed to allow more granular record ownership and management in a flexible way. Super users can mark zones as 'shared' which then allow any users to create new records or claim existing unowned records in zones. Zone administrators can assign records in a shared zone to specific groups by designating a group when creating the record set or when updating existing records in the portal. Users who are not zone administrators can create new records in shared zones, or claim and modify unowned records in shared zones, through the [DNS Changes](dns-changes) interface.
|
||||
The shared zone feature is designed to allow more granular record ownership and management in a flexible way. Super users can mark zones as 'shared' which then allow any users to create new records or claim existing unowned records in zones. Zone administrators can assign records in a shared zone to specific groups by designating a group when creating the record set or when updating existing records in the portal. Users who are not zone administrators can create new records in shared zones, or claim and modify unowned records in shared zones, through the [DNS Changes](dns-changes.html) interface.
|
@ -4,7 +4,7 @@ title: "Manage Records"
|
||||
section: "portal_menu"
|
||||
---
|
||||
## Manage Records <a id="managingRecords"></a>
|
||||
There are currently two ways to manage records in the VinylDNS portal. This covers managing individual records through their associated zone. To manage multiple records at once, possibly across zones, and records in shared zones you can use the [DNS Changes](dns-changes) area of the portal.
|
||||
There are currently two ways to manage records in the VinylDNS portal. This covers managing individual records through their associated zone. To manage multiple records at once, possibly across zones, and records in shared zones you can use the [DNS Changes](dns-changes.html) area of the portal.
|
||||
|
||||
#### Access
|
||||
Only zone administrators and users with ACL rules can manage records this way.
|
@ -16,7 +16,7 @@ section: "portal_menu"
|
||||
|
||||
## Manual Review <a id="manual-review" />
|
||||
|
||||
If a DNS Change is submitted with only [non-fatal errors](../api/batchchange-errors#non-fatal-errors) you will be notified to either correct those errors or submit your DNS Change for manual review.
|
||||
If a DNS Change is submitted with only [non-fatal errors](../api/batchchange-errors.html#non-fatal-errors) you will be notified to either correct those errors or submit your DNS Change for manual review.
|
||||
If you submit the DNS Change for manual review a VinylDNS administrator will determine if your request can be approved or if it needs to be rejected.
|
||||
After the review your DNS Change will include the review details, including the review status, reviewer name, review time and review comment, if provided.
|
||||
|
@ -13,13 +13,13 @@ The All Zones tab is intended as a reference, it includes zones you have access
|
||||
If needed, you can use the contact information in the list to reach out to the owners of the zones you don't have access to.
|
||||
|
||||
**Note** you may have access to specific records in shared zones, but you are not permitted to access those zones in this area.
|
||||
Those records are accessible via the [DNS Changes](dns-changes) area of the portal.
|
||||
Those records are accessible via the [DNS Changes](./dns-changes.html) area of the portal.
|
||||
|
||||
* [Search Zones](search-zones)
|
||||
* [Connect to your zone](connect-to-zone)
|
||||
* [Manage records](manage-records)
|
||||
* [Manage access](manage-access)
|
||||
* [Understand connections](connections)
|
||||
* [Search Zones](./search-zones.html)
|
||||
* [Connect to your zone](connect-to-zone.html)
|
||||
* [Manage records](manage-records.html)
|
||||
* [Manage access](manage-access.html)
|
||||
* [Understand connections](connections.html)
|
||||
|
||||
[{:.screenshot}](../img/portal/zones-my-zones.png)
|
||||
|
@ -12,6 +12,23 @@
|
||||
background-color: #123051;
|
||||
}
|
||||
|
||||
#masthead {
|
||||
background-attachment: scroll;
|
||||
background: url("../img/jumbotron_pattern.png") repeat center;
|
||||
background-color: #123051;
|
||||
}
|
||||
|
||||
body nav#navigation div.navbar-wrapper div.navigation-brand a.background-mask div.icon-wrapper {
|
||||
background: url("../img/navbar_brand36x36.png") no-repeat;
|
||||
-webkit-mask: none;
|
||||
mask: none;
|
||||
animation: none;
|
||||
}
|
||||
|
||||
.docs #sidebar-wrapper #sidebar-brand a div.brand-wrapper {
|
||||
background: url("../img/sidebar_brand36x36.png") no-repeat;
|
||||
}
|
||||
|
||||
.important {
|
||||
color: red;
|
||||
}
|
||||
|
@ -1,235 +0,0 @@
|
||||
options:
|
||||
|
||||
#############################
|
||||
# Docs Layout Menu Options #
|
||||
#############################
|
||||
|
||||
- title: Portal Guide
|
||||
url: portal
|
||||
menu_type: portal_menu
|
||||
menu_section: portal_section
|
||||
|
||||
- title: Access the Portal
|
||||
url: portal/access
|
||||
menu_type: portal_menu
|
||||
menu_section: portal_section
|
||||
|
||||
- title: DNS Changes
|
||||
url: portal/dns-changes
|
||||
menu_type: portal_menu
|
||||
menu_section: portal_section
|
||||
nested_options:
|
||||
- title: Manual Review & Scheduling
|
||||
url: portal/manual-review-scheduling
|
||||
menu_section: portal_section
|
||||
|
||||
- title: RecordSet Search
|
||||
url: portal/recordset-search
|
||||
menu_type: portal_menu
|
||||
menu_section: portal_section
|
||||
|
||||
- title: Groups
|
||||
url: portal/groups
|
||||
menu_type: portal_menu
|
||||
menu_section: portal_section
|
||||
nested_options:
|
||||
- title: Create a Group
|
||||
url: portal/create-a-group
|
||||
- title: Manage Membership
|
||||
url: portal/manage-membership
|
||||
|
||||
- title: Zones
|
||||
url: portal/zones
|
||||
menu_type: portal_menu
|
||||
menu_section: portal_section
|
||||
nested_options:
|
||||
- title: Connect to your Zone
|
||||
url: portal/connect-to-zone
|
||||
menu_section: portal_section
|
||||
- title: Manage Records
|
||||
url: portal/manage-records
|
||||
- title: Manage Access
|
||||
url: portal/manage-access
|
||||
menu_section: portal_section
|
||||
- title: Understand Connections
|
||||
url: portal/connections
|
||||
- title: Search Zones
|
||||
url: portal/search-zones
|
||||
|
||||
- title: Credentials
|
||||
url: portal/credentials
|
||||
menu_type: portal_menu
|
||||
menu_section: portal_section
|
||||
|
||||
- title: Operator Guide
|
||||
url: operator/index.html
|
||||
menu_type: operator_menu
|
||||
menu_section: operator_section
|
||||
|
||||
- title: Pre-requisites
|
||||
url: operator/pre
|
||||
menu_type: operator_menu
|
||||
menu_section: operator_section
|
||||
nested_options:
|
||||
- title: Setup AWS DynamoDB
|
||||
url: operator/setup-dynamodb
|
||||
- title: Setup MySQL
|
||||
url: operator/setup-mysql
|
||||
- title: Setup AWS SQS
|
||||
url: operator/setup-sqs
|
||||
- title: Setup LDAP
|
||||
url: operator/setup-ldap
|
||||
|
||||
- title: Setup API Server
|
||||
url: operator/setup-api
|
||||
menu_type: operator_menu
|
||||
menu_section: operator_section
|
||||
nested_options:
|
||||
- title: API Configuration Guide
|
||||
url: operator/config-api
|
||||
|
||||
- title: Setup the Portal Server
|
||||
url: operator/setup-portal
|
||||
menu_type: operator_menu
|
||||
menu_section: operator_section
|
||||
nested_options:
|
||||
- title: Portal Configuration Guide
|
||||
url: operator/config-portal
|
||||
|
||||
- title: API documentation
|
||||
url: api/index
|
||||
menu_type: api
|
||||
menu_section: api
|
||||
|
||||
- title: Authentication
|
||||
url: api/auth-mechanism.html
|
||||
menu_type: api
|
||||
|
||||
- title: Zone
|
||||
url: api/zone-model.html
|
||||
menu_type: api
|
||||
menu_section: zoneapireference
|
||||
nested_options:
|
||||
- title: Zone Model
|
||||
url: api/zone-model.html
|
||||
menu_section: zoneapireference
|
||||
- title: Create Zone
|
||||
url: api/create-zone.html
|
||||
menu_section: zoneapireference
|
||||
- title: Update Zone
|
||||
url: api/update-zone.html
|
||||
menu_section: zoneapireference
|
||||
- title: Delete Zone
|
||||
url: api/delete-zone.html
|
||||
menu_section: zoneapireference
|
||||
- title: Get Zone by ID
|
||||
url: api/get-zone-by-id.html
|
||||
menu_section: zoneapireference
|
||||
- title: Get Zone by Name
|
||||
url: api/get-zone-by-name.html
|
||||
menu_section: zoneapireference
|
||||
- title: List / Search Zone
|
||||
url: api/list-zones.html
|
||||
menu_section: zoneapireference
|
||||
- title: Sync Zone
|
||||
url: api/sync-zone.html
|
||||
menu_section: zoneapireference
|
||||
- title: List Zone Changes
|
||||
url: api/list-zone-changes.html
|
||||
menu_section: zoneapireference
|
||||
|
||||
- title: RecordSet
|
||||
url: api/recordset-model.html
|
||||
menu_type: api
|
||||
menu_section: recordsetapireference
|
||||
nested_options:
|
||||
- title: RecordSet Model
|
||||
url: api/recordset-model.html
|
||||
menu_section: recordsetapireference
|
||||
- title: Create RecordSet
|
||||
url: api/create-recordset.html
|
||||
menu_section: recordsetapireference
|
||||
- title: Update RecordSet
|
||||
url: api/update-recordset.html
|
||||
menu_section: recordsetapireference
|
||||
- title: Delete RecordSet
|
||||
url: api/delete-recordset.html
|
||||
menu_section: recordsetapireference
|
||||
- title: Get RecordSet
|
||||
url: api/get-recordset.html
|
||||
menu_section: recordsetapireference
|
||||
- title: List / Search RecordSets by Zone
|
||||
url: api/list-recordsets-by-zone.html
|
||||
menu_section: recordsetapireference
|
||||
- title: Get RecordSet Change
|
||||
url: api/get-recordset-change.html
|
||||
menu_section: recordsetapireference
|
||||
- title: List RecordSet Changes
|
||||
url: api/list-recordset-changes.html
|
||||
menu_section: recordsetapireference
|
||||
- title: Global List / Search RecordSets
|
||||
url: api/list-recordsets-global.html
|
||||
menu_sectioon: recordsetapireference
|
||||
|
||||
- title: Batch Change
|
||||
url: api/batchchange-model.html
|
||||
menu_type: api
|
||||
menu_section: batchchangeapireference
|
||||
nested_options:
|
||||
- title: Batch Change Model
|
||||
url: api/batchchange-model.html
|
||||
menu_section: batchchangeapireference
|
||||
- title: Create Batch Change
|
||||
url: api/create-batchchange.html
|
||||
menu_section: batchchangeapireference
|
||||
- title: Get Batch Change
|
||||
url: api/get-batchchange.html
|
||||
menu_section: batchchangeapireference
|
||||
- title: List Batch Changes
|
||||
url: api/list-batchchanges.html
|
||||
menu_section: batchchangeapireference
|
||||
- title: Batch Change Errors
|
||||
url: api/batchchange-errors.html
|
||||
menu_section: batchchangeapireference
|
||||
- title: Cancel Batch Change
|
||||
url: api/cancel-batchchange.html
|
||||
menu_section: batchchangeapireference
|
||||
- title: Approve Batch Change
|
||||
url: api/approve-batchchange.html
|
||||
menu_section: batchchangeapireference
|
||||
- title: Reject Batch Change
|
||||
url: api/reject-batchchange.html
|
||||
menu_section: batchchangeapireference
|
||||
|
||||
- title: Membership
|
||||
url: api/membership-model.html
|
||||
menu_type: api
|
||||
menu_section: membershipapireference
|
||||
nested_options:
|
||||
- title: Membership Model
|
||||
url: api/membership-model.html
|
||||
menu_section: membershipapireference
|
||||
- title: Create Group
|
||||
url: api/create-group.html
|
||||
menu_section: membershipapireference
|
||||
- title: Update Group
|
||||
url: api/update-group.html
|
||||
menu_section: membershipapireference
|
||||
- title: Delete Group
|
||||
url: api/delete-group.html
|
||||
menu_section: membershipapireference
|
||||
- title: Get Group
|
||||
url: api/get-group.html
|
||||
menu_section: membershipapireference
|
||||
- title: List Groups
|
||||
url: api/list-groups.html
|
||||
menu_section: membershipapireference
|
||||
- title: List Group Admins
|
||||
url: api/list-group-admins.html
|
||||
menu_section: membershipapireference
|
||||
- title: List Group Members
|
||||
url: api/list-group-members.html
|
||||
menu_section: membershipapireference
|
||||
- title: List Group Activity
|
||||
url: api/list-group-activity.html
|
||||
menu_section: membershipapireference
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 1011 KiB After Width: | Height: | Size: 1011 KiB |
Before Width: | Height: | Size: 1011 KiB After Width: | Height: | Size: 1011 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
BIN
modules/docs/src/main/resources/microsite/img/navbar_brand2x.png
Normal file
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 18 KiB |