Documentation
¶
Overview ¶
Package gen provides primitives to interact with the openapi HTTP API.
Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.8.0 DO NOT EDIT.
Index ¶
- func GetSpec() (swagger *openapi3.T, err error)
- func GetSpecJSON() ([]byte, error)
- func GetSwagger() (*openapi3.T, error)deprecated
- func Handler(si ServerInterface) http.Handler
- func HandlerFromMux(si ServerInterface, r chi.Router) http.Handler
- func HandlerFromMuxWithBaseURL(si ServerInterface, r chi.Router, baseURL string) http.Handler
- func HandlerWithOptions(si ServerInterface, options ChiServerOptions) http.Handler
- func NewCheckZoneRequest(server string, zoneId ZoneID, params *CheckZoneParams) (*http.Request, error)
- func NewCreateRecordRequest(server string, zoneId ZoneID, body CreateRecordJSONRequestBody) (*http.Request, error)
- func NewCreateRecordRequestWithBody(server string, zoneId ZoneID, contentType string, body io.Reader) (*http.Request, error)
- func NewCreateSessionRequest(server string, body CreateSessionJSONRequestBody) (*http.Request, error)
- func NewCreateSessionRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
- func NewCreateTSIGKeyRequest(server string, body CreateTSIGKeyJSONRequestBody) (*http.Request, error)
- func NewCreateTSIGKeyRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
- func NewCreateTokenRequest(server string, body CreateTokenJSONRequestBody) (*http.Request, error)
- func NewCreateTokenRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
- func NewCreateZoneRequest(server string, body CreateZoneJSONRequestBody) (*http.Request, error)
- func NewCreateZoneRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
- func NewDeleteRecordRequest(server string, recordId RecordID) (*http.Request, error)
- func NewDeleteSessionRequest(server string) (*http.Request, error)
- func NewDeleteZoneRequest(server string, zoneId ZoneID) (*http.Request, error)
- func NewDetachRecordRequest(server string, recordId RecordID) (*http.Request, error)
- func NewExportZoneRequest(server string, zoneId ZoneID) (*http.Request, error)
- func NewGetClusterRequest(server string) (*http.Request, error)
- func NewGetCommitRequest(server string, commitId string) (*http.Request, error)
- func NewGetHealthRequest(server string) (*http.Request, error)
- func NewGetMetricsRequest(server string) (*http.Request, error)
- func NewGetRecordRequest(server string, recordId RecordID) (*http.Request, error)
- func NewGetSecondaryConfigRequest(server string, params *GetSecondaryConfigParams) (*http.Request, error)
- func NewGetSecondaryStatusRequest(server string) (*http.Request, error)
- func NewGetSessionRequest(server string) (*http.Request, error)
- func NewGetSettingsRequest(server string) (*http.Request, error)
- func NewGetZoneRequest(server string, zoneId ZoneID) (*http.Request, error)
- func NewImportZoneRequestWithBody(server string, params *ImportZoneParams, contentType string, body io.Reader) (*http.Request, error)
- func NewInitClusterRequest(server string) (*http.Request, error)
- func NewListCommitsRequest(server string, params *ListCommitsParams) (*http.Request, error)
- func NewListRecordsRequest(server string, zoneId ZoneID, params *ListRecordsParams) (*http.Request, error)
- func NewListTSIGKeysRequest(server string) (*http.Request, error)
- func NewListTokensRequest(server string) (*http.Request, error)
- func NewListZonesRequest(server string, params *ListZonesParams) (*http.Request, error)
- func NewMakeRecordCanonicalRequest(server string, recordId RecordID) (*http.Request, error)
- func NewReadTSIGKeySecretRequest(server string, keyId string) (*http.Request, error)
- func NewReconcileZoneRequest(server string, zoneId ZoneID) (*http.Request, error)
- func NewRemoveClusterMemberRequest(server string, memberId string) (*http.Request, error)
- func NewReplaceRRsetsRequest(server string, zoneId ZoneID, body ReplaceRRsetsJSONRequestBody) (*http.Request, error)
- func NewReplaceRRsetsRequestWithBody(server string, zoneId ZoneID, contentType string, body io.Reader) (*http.Request, error)
- func NewRevokeTSIGKeyRequest(server string, keyId string) (*http.Request, error)
- func NewRevokeTokenRequest(server string, tokenId string) (*http.Request, error)
- func NewRollbackZoneRequest(server string, zoneId ZoneID, body RollbackZoneJSONRequestBody) (*http.Request, error)
- func NewRollbackZoneRequestWithBody(server string, zoneId ZoneID, contentType string, body io.Reader) (*http.Request, error)
- func NewStreamQueriesRequest(server string, params *StreamQueriesParams) (*http.Request, error)
- func NewUpdateRecordRequest(server string, recordId RecordID, body UpdateRecordJSONRequestBody) (*http.Request, error)
- func NewUpdateRecordRequestWithBody(server string, recordId RecordID, contentType string, body io.Reader) (*http.Request, error)
- func NewUpdateSettingsRequest(server string, body UpdateSettingsJSONRequestBody) (*http.Request, error)
- func NewUpdateSettingsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
- func NewUpdateZoneRequest(server string, zoneId ZoneID, body UpdateZoneJSONRequestBody) (*http.Request, error)
- func NewUpdateZoneRequestWithBody(server string, zoneId ZoneID, contentType string, body io.Reader) (*http.Request, error)
- func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error)
- type CheckZone200JSONResponse
- type CheckZoneParams
- type CheckZoneRequestObject
- type CheckZoneResponse
- func (r CheckZoneResponse) ContentType() string
- func (r CheckZoneResponse) GetApplicationproblemJSONDefault() *Problem
- func (r CheckZoneResponse) GetBody() []byte
- func (r CheckZoneResponse) GetJSON200() *ZoneCheck
- func (r CheckZoneResponse) Status() string
- func (r CheckZoneResponse) StatusCode() int
- type CheckZoneResponseObject
- type CheckZonedefaultApplicationProblemPlusJSONResponse
- type ChiServerOptions
- type Client
- func (c *Client) CheckZone(ctx context.Context, zoneId ZoneID, params *CheckZoneParams, ...) (*http.Response, error)
- func (c *Client) CreateRecord(ctx context.Context, zoneId ZoneID, body CreateRecordJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) CreateRecordWithBody(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) CreateSession(ctx context.Context, body CreateSessionJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) CreateSessionWithBody(ctx context.Context, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) CreateTSIGKey(ctx context.Context, body CreateTSIGKeyJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) CreateTSIGKeyWithBody(ctx context.Context, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) CreateToken(ctx context.Context, body CreateTokenJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) CreateTokenWithBody(ctx context.Context, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) CreateZone(ctx context.Context, body CreateZoneJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) CreateZoneWithBody(ctx context.Context, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) DeleteRecord(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) DeleteSession(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) DeleteZone(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) DetachRecord(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) ExportZone(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) GetCluster(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) GetCommit(ctx context.Context, commitId string, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) GetHealth(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) GetMetrics(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) GetRecord(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) GetSecondaryConfig(ctx context.Context, params *GetSecondaryConfigParams, ...) (*http.Response, error)
- func (c *Client) GetSecondaryStatus(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) GetSession(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) GetSettings(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) GetZone(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) ImportZoneWithBody(ctx context.Context, params *ImportZoneParams, contentType string, ...) (*http.Response, error)
- func (c *Client) InitCluster(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) ListCommits(ctx context.Context, params *ListCommitsParams, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) ListRecords(ctx context.Context, zoneId ZoneID, params *ListRecordsParams, ...) (*http.Response, error)
- func (c *Client) ListTSIGKeys(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) ListTokens(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) ListZones(ctx context.Context, params *ListZonesParams, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) MakeRecordCanonical(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) ReadTSIGKeySecret(ctx context.Context, keyId string, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) ReconcileZone(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) RemoveClusterMember(ctx context.Context, memberId string, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) ReplaceRRsets(ctx context.Context, zoneId ZoneID, body ReplaceRRsetsJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) ReplaceRRsetsWithBody(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) RevokeTSIGKey(ctx context.Context, keyId string, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) RevokeToken(ctx context.Context, tokenId string, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) RollbackZone(ctx context.Context, zoneId ZoneID, body RollbackZoneJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) RollbackZoneWithBody(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) StreamQueries(ctx context.Context, params *StreamQueriesParams, ...) (*http.Response, error)
- func (c *Client) UpdateRecord(ctx context.Context, recordId RecordID, body UpdateRecordJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) UpdateRecordWithBody(ctx context.Context, recordId RecordID, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) UpdateSettings(ctx context.Context, body UpdateSettingsJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) UpdateSettingsWithBody(ctx context.Context, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) UpdateZone(ctx context.Context, zoneId ZoneID, body UpdateZoneJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) UpdateZoneWithBody(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, ...) (*http.Response, error)
- type ClientInterface
- type ClientOption
- type ClientWithResponses
- func (c *ClientWithResponses) CheckZoneWithResponse(ctx context.Context, zoneId ZoneID, params *CheckZoneParams, ...) (*CheckZoneResponse, error)
- func (c *ClientWithResponses) CreateRecordWithBodyWithResponse(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, ...) (*CreateRecordResponse, error)
- func (c *ClientWithResponses) CreateRecordWithResponse(ctx context.Context, zoneId ZoneID, body CreateRecordJSONRequestBody, ...) (*CreateRecordResponse, error)
- func (c *ClientWithResponses) CreateSessionWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, ...) (*CreateSessionResponse, error)
- func (c *ClientWithResponses) CreateSessionWithResponse(ctx context.Context, body CreateSessionJSONRequestBody, ...) (*CreateSessionResponse, error)
- func (c *ClientWithResponses) CreateTSIGKeyWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, ...) (*CreateTSIGKeyResponse, error)
- func (c *ClientWithResponses) CreateTSIGKeyWithResponse(ctx context.Context, body CreateTSIGKeyJSONRequestBody, ...) (*CreateTSIGKeyResponse, error)
- func (c *ClientWithResponses) CreateTokenWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, ...) (*CreateTokenResponse, error)
- func (c *ClientWithResponses) CreateTokenWithResponse(ctx context.Context, body CreateTokenJSONRequestBody, ...) (*CreateTokenResponse, error)
- func (c *ClientWithResponses) CreateZoneWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, ...) (*CreateZoneResponse, error)
- func (c *ClientWithResponses) CreateZoneWithResponse(ctx context.Context, body CreateZoneJSONRequestBody, ...) (*CreateZoneResponse, error)
- func (c *ClientWithResponses) DeleteRecordWithResponse(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*DeleteRecordResponse, error)
- func (c *ClientWithResponses) DeleteSessionWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*DeleteSessionResponse, error)
- func (c *ClientWithResponses) DeleteZoneWithResponse(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*DeleteZoneResponse, error)
- func (c *ClientWithResponses) DetachRecordWithResponse(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*DetachRecordResponse, error)
- func (c *ClientWithResponses) ExportZoneWithResponse(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*ExportZoneResponse, error)
- func (c *ClientWithResponses) GetClusterWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetClusterResponse, error)
- func (c *ClientWithResponses) GetCommitWithResponse(ctx context.Context, commitId string, reqEditors ...RequestEditorFn) (*GetCommitResponse, error)
- func (c *ClientWithResponses) GetHealthWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetHealthResponse, error)
- func (c *ClientWithResponses) GetMetricsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetMetricsResponse, error)
- func (c *ClientWithResponses) GetRecordWithResponse(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*GetRecordResponse, error)
- func (c *ClientWithResponses) GetSecondaryConfigWithResponse(ctx context.Context, params *GetSecondaryConfigParams, ...) (*GetSecondaryConfigResponse, error)
- func (c *ClientWithResponses) GetSecondaryStatusWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetSecondaryStatusResponse, error)
- func (c *ClientWithResponses) GetSessionWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetSessionResponse, error)
- func (c *ClientWithResponses) GetSettingsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetSettingsResponse, error)
- func (c *ClientWithResponses) GetZoneWithResponse(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*GetZoneResponse, error)
- func (c *ClientWithResponses) ImportZoneWithBodyWithResponse(ctx context.Context, params *ImportZoneParams, contentType string, ...) (*ImportZoneResponse, error)
- func (c *ClientWithResponses) InitClusterWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*InitClusterResponse, error)
- func (c *ClientWithResponses) ListCommitsWithResponse(ctx context.Context, params *ListCommitsParams, reqEditors ...RequestEditorFn) (*ListCommitsResponse, error)
- func (c *ClientWithResponses) ListRecordsWithResponse(ctx context.Context, zoneId ZoneID, params *ListRecordsParams, ...) (*ListRecordsResponse, error)
- func (c *ClientWithResponses) ListTSIGKeysWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*ListTSIGKeysResponse, error)
- func (c *ClientWithResponses) ListTokensWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*ListTokensResponse, error)
- func (c *ClientWithResponses) ListZonesWithResponse(ctx context.Context, params *ListZonesParams, reqEditors ...RequestEditorFn) (*ListZonesResponse, error)
- func (c *ClientWithResponses) MakeRecordCanonicalWithResponse(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*MakeRecordCanonicalResponse, error)
- func (c *ClientWithResponses) ReadTSIGKeySecretWithResponse(ctx context.Context, keyId string, reqEditors ...RequestEditorFn) (*ReadTSIGKeySecretResponse, error)
- func (c *ClientWithResponses) ReconcileZoneWithResponse(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*ReconcileZoneResponse, error)
- func (c *ClientWithResponses) RemoveClusterMemberWithResponse(ctx context.Context, memberId string, reqEditors ...RequestEditorFn) (*RemoveClusterMemberResponse, error)
- func (c *ClientWithResponses) ReplaceRRsetsWithBodyWithResponse(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, ...) (*ReplaceRRsetsResponse, error)
- func (c *ClientWithResponses) ReplaceRRsetsWithResponse(ctx context.Context, zoneId ZoneID, body ReplaceRRsetsJSONRequestBody, ...) (*ReplaceRRsetsResponse, error)
- func (c *ClientWithResponses) RevokeTSIGKeyWithResponse(ctx context.Context, keyId string, reqEditors ...RequestEditorFn) (*RevokeTSIGKeyResponse, error)
- func (c *ClientWithResponses) RevokeTokenWithResponse(ctx context.Context, tokenId string, reqEditors ...RequestEditorFn) (*RevokeTokenResponse, error)
- func (c *ClientWithResponses) RollbackZoneWithBodyWithResponse(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, ...) (*RollbackZoneResponse, error)
- func (c *ClientWithResponses) RollbackZoneWithResponse(ctx context.Context, zoneId ZoneID, body RollbackZoneJSONRequestBody, ...) (*RollbackZoneResponse, error)
- func (c *ClientWithResponses) StreamQueriesWithResponse(ctx context.Context, params *StreamQueriesParams, ...) (*StreamQueriesResponse, error)
- func (c *ClientWithResponses) UpdateRecordWithBodyWithResponse(ctx context.Context, recordId RecordID, contentType string, body io.Reader, ...) (*UpdateRecordResponse, error)
- func (c *ClientWithResponses) UpdateRecordWithResponse(ctx context.Context, recordId RecordID, body UpdateRecordJSONRequestBody, ...) (*UpdateRecordResponse, error)
- func (c *ClientWithResponses) UpdateSettingsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, ...) (*UpdateSettingsResponse, error)
- func (c *ClientWithResponses) UpdateSettingsWithResponse(ctx context.Context, body UpdateSettingsJSONRequestBody, ...) (*UpdateSettingsResponse, error)
- func (c *ClientWithResponses) UpdateZoneWithBodyWithResponse(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, ...) (*UpdateZoneResponse, error)
- func (c *ClientWithResponses) UpdateZoneWithResponse(ctx context.Context, zoneId ZoneID, body UpdateZoneJSONRequestBody, ...) (*UpdateZoneResponse, error)
- type ClientWithResponsesInterface
- type ClusterMember
- type ClusterMemberState
- type ClusterMemberStateRole
- type ClusterProgress
- type ClusterStall
- type ClusterStatus
- type Commit
- type CommitKind
- type CommitPage
- type CommitSource
- type Conflict
- type CreateRecord
- type CreateRecord201JSONResponse
- type CreateRecord201ResponseHeaders
- type CreateRecordJSONRequestBody
- type CreateRecordRequestObject
- type CreateRecordResponse
- func (r CreateRecordResponse) ContentType() string
- func (r CreateRecordResponse) GetApplicationproblemJSONDefault() *Problem
- func (r CreateRecordResponse) GetBody() []byte
- func (r CreateRecordResponse) GetJSON201() *RecordWritten
- func (r CreateRecordResponse) Status() string
- func (r CreateRecordResponse) StatusCode() int
- type CreateRecordResponse201Headers
- type CreateRecordResponseObject
- type CreateRecorddefaultApplicationProblemPlusJSONResponse
- type CreateSession
- type CreateSession201JSONResponse
- type CreateSession201ResponseHeaders
- type CreateSessionJSONRequestBody
- type CreateSessionRequestObject
- type CreateSessionResponse
- func (r CreateSessionResponse) ContentType() string
- func (r CreateSessionResponse) GetApplicationproblemJSONDefault() *Problem
- func (r CreateSessionResponse) GetBody() []byte
- func (r CreateSessionResponse) GetJSON201() *Session
- func (r CreateSessionResponse) Status() string
- func (r CreateSessionResponse) StatusCode() int
- type CreateSessionResponse201Headers
- type CreateSessionResponseObject
- type CreateSessiondefaultApplicationProblemPlusJSONResponse
- type CreateTSIGKey
- type CreateTSIGKey201JSONResponse
- type CreateTSIGKeyJSONRequestBody
- type CreateTSIGKeyRequestObject
- type CreateTSIGKeyResponse
- func (r CreateTSIGKeyResponse) ContentType() string
- func (r CreateTSIGKeyResponse) GetApplicationproblemJSONDefault() *Problem
- func (r CreateTSIGKeyResponse) GetBody() []byte
- func (r CreateTSIGKeyResponse) GetJSON201() *TSIGKeySecret
- func (r CreateTSIGKeyResponse) Status() string
- func (r CreateTSIGKeyResponse) StatusCode() int
- type CreateTSIGKeyResponseObject
- type CreateTSIGKeydefaultApplicationProblemPlusJSONResponse
- type CreateToken
- type CreateToken201JSONResponse
- type CreateTokenJSONRequestBody
- type CreateTokenRequestObject
- type CreateTokenResponse
- func (r CreateTokenResponse) ContentType() string
- func (r CreateTokenResponse) GetApplicationproblemJSONDefault() *Problem
- func (r CreateTokenResponse) GetBody() []byte
- func (r CreateTokenResponse) GetJSON201() *TokenCreated
- func (r CreateTokenResponse) Status() string
- func (r CreateTokenResponse) StatusCode() int
- type CreateTokenResponseObject
- type CreateTokendefaultApplicationProblemPlusJSONResponse
- type CreateZone
- type CreateZone201JSONResponse
- type CreateZone201ResponseHeaders
- type CreateZoneJSONRequestBody
- type CreateZoneRequestObject
- type CreateZoneResponse
- func (r CreateZoneResponse) ContentType() string
- func (r CreateZoneResponse) GetApplicationproblemJSONDefault() *Problem
- func (r CreateZoneResponse) GetBody() []byte
- func (r CreateZoneResponse) GetJSON201() *Zone
- func (r CreateZoneResponse) Status() string
- func (r CreateZoneResponse) StatusCode() int
- type CreateZoneResponse201Headers
- type CreateZoneResponseObject
- type CreateZonedefaultApplicationProblemPlusJSONResponse
- type Cursor
- type DeleteRecord204Response
- type DeleteRecordRequestObject
- type DeleteRecordResponse
- type DeleteRecordResponseObject
- type DeleteRecorddefaultApplicationProblemPlusJSONResponse
- type DeleteSession204Response
- type DeleteSessionRequestObject
- type DeleteSessionResponse
- type DeleteSessionResponseObject
- type DeleteSessiondefaultApplicationProblemPlusJSONResponse
- type DeleteZone204Response
- type DeleteZoneRequestObject
- type DeleteZoneResponse
- type DeleteZoneResponseObject
- type DeleteZonedefaultApplicationProblemPlusJSONResponse
- type DetachRecord200JSONResponse
- type DetachRecordRequestObject
- type DetachRecordResponse
- func (r DetachRecordResponse) ContentType() string
- func (r DetachRecordResponse) GetApplicationproblemJSONDefault() *Problem
- func (r DetachRecordResponse) GetBody() []byte
- func (r DetachRecordResponse) GetJSON200() *RecordWritten
- func (r DetachRecordResponse) Status() string
- func (r DetachRecordResponse) StatusCode() int
- type DetachRecordResponseObject
- type DetachRecorddefaultApplicationProblemPlusJSONResponse
- type Event
- type EventOp
- type ExportZone200TextdnsResponse
- type ExportZoneRequestObject
- type ExportZoneResponse
- type ExportZoneResponseObject
- type ExportZonedefaultApplicationProblemPlusJSONResponse
- type Finding
- type FindingScope
- type FindingSeverity
- type GetCluster200JSONResponse
- type GetClusterRequestObject
- type GetClusterResponse
- func (r GetClusterResponse) ContentType() string
- func (r GetClusterResponse) GetApplicationproblemJSONDefault() *Problem
- func (r GetClusterResponse) GetBody() []byte
- func (r GetClusterResponse) GetJSON200() *ClusterStatus
- func (r GetClusterResponse) Status() string
- func (r GetClusterResponse) StatusCode() int
- type GetClusterResponseObject
- type GetClusterdefaultApplicationProblemPlusJSONResponse
- type GetCommit200JSONResponse
- type GetCommitRequestObject
- type GetCommitResponse
- type GetCommitResponseObject
- type GetCommitdefaultApplicationProblemPlusJSONResponse
- type GetHealth200JSONResponse
- type GetHealth503ApplicationProblemPlusJSONResponse
- type GetHealthRequestObject
- type GetHealthResponse
- type GetHealthResponseObject
- type GetMetrics200TextResponse
- type GetMetricsRequestObject
- type GetMetricsResponse
- type GetMetricsResponseObject
- type GetMetricsdefaultApplicationProblemPlusJSONResponse
- type GetRecord200JSONResponse
- type GetRecordRequestObject
- type GetRecordResponse
- type GetRecordResponseObject
- type GetRecorddefaultApplicationProblemPlusJSONResponse
- type GetSecondaryConfig200JSONResponse
- type GetSecondaryConfigParams
- type GetSecondaryConfigRequestObject
- type GetSecondaryConfigResponse
- func (r GetSecondaryConfigResponse) ContentType() string
- func (r GetSecondaryConfigResponse) GetApplicationproblemJSONDefault() *Problem
- func (r GetSecondaryConfigResponse) GetBody() []byte
- func (r GetSecondaryConfigResponse) GetJSON200() *SecondaryConfig
- func (r GetSecondaryConfigResponse) Status() string
- func (r GetSecondaryConfigResponse) StatusCode() int
- type GetSecondaryConfigResponseObject
- type GetSecondaryConfigdefaultApplicationProblemPlusJSONResponse
- type GetSecondaryStatus200JSONResponse
- type GetSecondaryStatusRequestObject
- type GetSecondaryStatusResponse
- func (r GetSecondaryStatusResponse) ContentType() string
- func (r GetSecondaryStatusResponse) GetApplicationproblemJSONDefault() *Problem
- func (r GetSecondaryStatusResponse) GetBody() []byte
- func (r GetSecondaryStatusResponse) GetJSON200() *[]SecondaryStanding
- func (r GetSecondaryStatusResponse) Status() string
- func (r GetSecondaryStatusResponse) StatusCode() int
- type GetSecondaryStatusResponseObject
- type GetSecondaryStatusdefaultApplicationProblemPlusJSONResponse
- type GetSession200JSONResponse
- type GetSessionRequestObject
- type GetSessionResponse
- func (r GetSessionResponse) ContentType() string
- func (r GetSessionResponse) GetApplicationproblemJSONDefault() *Problem
- func (r GetSessionResponse) GetBody() []byte
- func (r GetSessionResponse) GetJSON200() *Session
- func (r GetSessionResponse) Status() string
- func (r GetSessionResponse) StatusCode() int
- type GetSessionResponseObject
- type GetSessiondefaultApplicationProblemPlusJSONResponse
- type GetSettings200JSONResponse
- type GetSettingsRequestObject
- type GetSettingsResponse
- func (r GetSettingsResponse) ContentType() string
- func (r GetSettingsResponse) GetApplicationproblemJSONDefault() *Problem
- func (r GetSettingsResponse) GetBody() []byte
- func (r GetSettingsResponse) GetJSON200() *Settings
- func (r GetSettingsResponse) Status() string
- func (r GetSettingsResponse) StatusCode() int
- type GetSettingsResponseObject
- type GetSettingsdefaultApplicationProblemPlusJSONResponse
- type GetZone200JSONResponse
- type GetZoneRequestObject
- type GetZoneResponse
- type GetZoneResponseObject
- type GetZonedefaultApplicationProblemPlusJSONResponse
- type Health
- type HealthStatus
- type HttpRequestDoer
- type ImportZone201JSONResponse
- type ImportZone201ResponseHeaders
- type ImportZoneParams
- type ImportZoneRequestObject
- type ImportZoneResponse
- func (r ImportZoneResponse) ContentType() string
- func (r ImportZoneResponse) GetApplicationproblemJSONDefault() *Problem
- func (r ImportZoneResponse) GetBody() []byte
- func (r ImportZoneResponse) GetJSON201() *ZoneImported
- func (r ImportZoneResponse) Status() string
- func (r ImportZoneResponse) StatusCode() int
- type ImportZoneResponse201Headers
- type ImportZoneResponseObject
- type ImportZonedefaultApplicationProblemPlusJSONResponse
- type InitCluster200JSONResponse
- type InitClusterRequestObject
- type InitClusterResponse
- func (r InitClusterResponse) ContentType() string
- func (r InitClusterResponse) GetApplicationproblemJSONDefault() *Problem
- func (r InitClusterResponse) GetBody() []byte
- func (r InitClusterResponse) GetJSON200() *ClusterMember
- func (r InitClusterResponse) Status() string
- func (r InitClusterResponse) StatusCode() int
- type InitClusterResponseObject
- type InitClusterdefaultApplicationProblemPlusJSONResponse
- type InvalidParamFormatError
- type LameNameServer
- type Limit
- type ListCommits200JSONResponse
- type ListCommitsParams
- type ListCommitsRequestObject
- type ListCommitsResponse
- func (r ListCommitsResponse) ContentType() string
- func (r ListCommitsResponse) GetApplicationproblemJSONDefault() *Problem
- func (r ListCommitsResponse) GetBody() []byte
- func (r ListCommitsResponse) GetJSON200() *CommitPage
- func (r ListCommitsResponse) Status() string
- func (r ListCommitsResponse) StatusCode() int
- type ListCommitsResponseObject
- type ListCommitsdefaultApplicationProblemPlusJSONResponse
- type ListRecords200JSONResponse
- type ListRecordsParams
- type ListRecordsRequestObject
- type ListRecordsResponse
- func (r ListRecordsResponse) ContentType() string
- func (r ListRecordsResponse) GetApplicationproblemJSONDefault() *Problem
- func (r ListRecordsResponse) GetBody() []byte
- func (r ListRecordsResponse) GetJSON200() *RecordPage
- func (r ListRecordsResponse) Status() string
- func (r ListRecordsResponse) StatusCode() int
- type ListRecordsResponseObject
- type ListRecordsdefaultApplicationProblemPlusJSONResponse
- type ListTSIGKeys200JSONResponse
- type ListTSIGKeysRequestObject
- type ListTSIGKeysResponse
- func (r ListTSIGKeysResponse) ContentType() string
- func (r ListTSIGKeysResponse) GetApplicationproblemJSONDefault() *Problem
- func (r ListTSIGKeysResponse) GetBody() []byte
- func (r ListTSIGKeysResponse) GetJSON200() *[]TSIGKey
- func (r ListTSIGKeysResponse) Status() string
- func (r ListTSIGKeysResponse) StatusCode() int
- type ListTSIGKeysResponseObject
- type ListTSIGKeysdefaultApplicationProblemPlusJSONResponse
- type ListTokens200JSONResponse
- type ListTokensRequestObject
- type ListTokensResponse
- func (r ListTokensResponse) ContentType() string
- func (r ListTokensResponse) GetApplicationproblemJSONDefault() *Problem
- func (r ListTokensResponse) GetBody() []byte
- func (r ListTokensResponse) GetJSON200() *[]Token
- func (r ListTokensResponse) Status() string
- func (r ListTokensResponse) StatusCode() int
- type ListTokensResponseObject
- type ListTokensdefaultApplicationProblemPlusJSONResponse
- type ListZones200JSONResponse
- type ListZonesParams
- type ListZonesRequestObject
- type ListZonesResponse
- type ListZonesResponseObject
- type ListZonesdefaultApplicationProblemPlusJSONResponse
- type MakeRecordCanonical200JSONResponse
- type MakeRecordCanonicalRequestObject
- type MakeRecordCanonicalResponse
- func (r MakeRecordCanonicalResponse) ContentType() string
- func (r MakeRecordCanonicalResponse) GetApplicationproblemJSONDefault() *Problem
- func (r MakeRecordCanonicalResponse) GetBody() []byte
- func (r MakeRecordCanonicalResponse) GetJSON200() *RecordWritten
- func (r MakeRecordCanonicalResponse) Status() string
- func (r MakeRecordCanonicalResponse) StatusCode() int
- type MakeRecordCanonicalResponseObject
- type MakeRecordCanonicaldefaultApplicationProblemPlusJSONResponse
- type MiddlewareFunc
- type MissingZone
- type NotifyTargets
- type Problem
- type ProblemApplicationProblemPlusJSONResponse
- type QueryEvent
- type QueryEventTransport
- type RRset
- type RRsetMember
- type RRsetsWritten
- type ReadTSIGKeySecret200JSONResponse
- type ReadTSIGKeySecretRequestObject
- type ReadTSIGKeySecretResponse
- func (r ReadTSIGKeySecretResponse) ContentType() string
- func (r ReadTSIGKeySecretResponse) GetApplicationproblemJSONDefault() *Problem
- func (r ReadTSIGKeySecretResponse) GetBody() []byte
- func (r ReadTSIGKeySecretResponse) GetJSON200() *TSIGKeySecret
- func (r ReadTSIGKeySecretResponse) Status() string
- func (r ReadTSIGKeySecretResponse) StatusCode() int
- type ReadTSIGKeySecretResponseObject
- type ReadTSIGKeySecretdefaultApplicationProblemPlusJSONResponse
- type ReconcileResult
- type ReconcileZone200JSONResponse
- type ReconcileZoneRequestObject
- type ReconcileZoneResponse
- func (r ReconcileZoneResponse) ContentType() string
- func (r ReconcileZoneResponse) GetApplicationproblemJSONDefault() *Problem
- func (r ReconcileZoneResponse) GetBody() []byte
- func (r ReconcileZoneResponse) GetJSON200() *ReconcileResult
- func (r ReconcileZoneResponse) Status() string
- func (r ReconcileZoneResponse) StatusCode() int
- type ReconcileZoneResponseObject
- type ReconcileZonedefaultApplicationProblemPlusJSONResponse
- type Record
- type RecordID
- type RecordPage
- type RecordWritten
- type RemoveClusterMember204Response
- type RemoveClusterMemberRequestObject
- type RemoveClusterMemberResponse
- type RemoveClusterMemberResponseObject
- type RemoveClusterMemberdefaultApplicationProblemPlusJSONResponse
- type ReplaceRRsets
- type ReplaceRRsets200JSONResponse
- type ReplaceRRsetsJSONRequestBody
- type ReplaceRRsetsRequestObject
- type ReplaceRRsetsResponse
- func (r ReplaceRRsetsResponse) ContentType() string
- func (r ReplaceRRsetsResponse) GetApplicationproblemJSONDefault() *Problem
- func (r ReplaceRRsetsResponse) GetBody() []byte
- func (r ReplaceRRsetsResponse) GetJSON200() *RRsetsWritten
- func (r ReplaceRRsetsResponse) Status() string
- func (r ReplaceRRsetsResponse) StatusCode() int
- type ReplaceRRsetsResponseObject
- type ReplaceRRsetsdefaultApplicationProblemPlusJSONResponse
- type RequestEditorFn
- type RequiredHeaderError
- type RequiredParamError
- type ReverseConflictPolicy
- type RevokeTSIGKey204Response
- type RevokeTSIGKeyRequestObject
- type RevokeTSIGKeyResponse
- type RevokeTSIGKeyResponseObject
- type RevokeTSIGKeydefaultApplicationProblemPlusJSONResponse
- type RevokeToken204Response
- type RevokeTokenRequestObject
- type RevokeTokenResponse
- type RevokeTokenResponseObject
- type RevokeTokendefaultApplicationProblemPlusJSONResponse
- type RollbackResult
- type RollbackZone
- type RollbackZone200JSONResponse
- type RollbackZoneJSONRequestBody
- type RollbackZoneRequestObject
- type RollbackZoneResponse
- func (r RollbackZoneResponse) ContentType() string
- func (r RollbackZoneResponse) GetApplicationproblemJSONDefault() *Problem
- func (r RollbackZoneResponse) GetBody() []byte
- func (r RollbackZoneResponse) GetJSON200() *RollbackResult
- func (r RollbackZoneResponse) Status() string
- func (r RollbackZoneResponse) StatusCode() int
- type RollbackZoneResponseObject
- type RollbackZonedefaultApplicationProblemPlusJSONResponse
- type SOA
- type SOAInput
- type Scope
- type SecondaryConfig
- type SecondaryFormat
- type SecondaryStanding
- type SecondaryStandingState
- type ServerInterface
- type ServerInterfaceWrapper
- func (siw *ServerInterfaceWrapper) CheckZone(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) CreateRecord(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) CreateSession(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) CreateTSIGKey(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) CreateToken(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) CreateZone(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) DeleteRecord(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) DeleteSession(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) DeleteZone(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) DetachRecord(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) ExportZone(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) GetCluster(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) GetCommit(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) GetHealth(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) GetMetrics(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) GetRecord(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) GetSecondaryConfig(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) GetSecondaryStatus(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) GetSession(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) GetSettings(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) GetZone(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) ImportZone(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) InitCluster(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) ListCommits(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) ListRecords(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) ListTSIGKeys(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) ListTokens(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) ListZones(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) MakeRecordCanonical(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) ReadTSIGKeySecret(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) ReconcileZone(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) RemoveClusterMember(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) ReplaceRRsets(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) RevokeTSIGKey(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) RevokeToken(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) RollbackZone(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) StreamQueries(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) UpdateRecord(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) UpdateSettings(w http.ResponseWriter, r *http.Request)
- func (siw *ServerInterfaceWrapper) UpdateZone(w http.ResponseWriter, r *http.Request)
- type Session
- type Settings
- type SkippedRecord
- type StreamQueries200TexteventStreamResponse
- type StreamQueriesParams
- type StreamQueriesRequestObject
- type StreamQueriesResponse
- type StreamQueriesResponseObject
- type StreamQueriesdefaultApplicationProblemPlusJSONResponse
- type StreamStatus
- type StrictHTTPServerOptions
- type StrictHandlerFunc
- type StrictMiddlewareFunc
- type StrictServerInterface
- type TSIGAlgorithm
- type TSIGKey
- type TSIGKeySecret
- type Token
- type TokenCreated
- type TooManyValuesForParamError
- type TransferAllow
- type UnescapedCookieParamError
- type Unimplemented
- func (_ Unimplemented) CheckZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID, params CheckZoneParams)
- func (_ Unimplemented) CreateRecord(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
- func (_ Unimplemented) CreateSession(w http.ResponseWriter, r *http.Request)
- func (_ Unimplemented) CreateTSIGKey(w http.ResponseWriter, r *http.Request)
- func (_ Unimplemented) CreateToken(w http.ResponseWriter, r *http.Request)
- func (_ Unimplemented) CreateZone(w http.ResponseWriter, r *http.Request)
- func (_ Unimplemented) DeleteRecord(w http.ResponseWriter, r *http.Request, recordId RecordID)
- func (_ Unimplemented) DeleteSession(w http.ResponseWriter, r *http.Request)
- func (_ Unimplemented) DeleteZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
- func (_ Unimplemented) DetachRecord(w http.ResponseWriter, r *http.Request, recordId RecordID)
- func (_ Unimplemented) ExportZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
- func (_ Unimplemented) GetCluster(w http.ResponseWriter, r *http.Request)
- func (_ Unimplemented) GetCommit(w http.ResponseWriter, r *http.Request, commitId string)
- func (_ Unimplemented) GetHealth(w http.ResponseWriter, r *http.Request)
- func (_ Unimplemented) GetMetrics(w http.ResponseWriter, r *http.Request)
- func (_ Unimplemented) GetRecord(w http.ResponseWriter, r *http.Request, recordId RecordID)
- func (_ Unimplemented) GetSecondaryConfig(w http.ResponseWriter, r *http.Request, params GetSecondaryConfigParams)
- func (_ Unimplemented) GetSecondaryStatus(w http.ResponseWriter, r *http.Request)
- func (_ Unimplemented) GetSession(w http.ResponseWriter, r *http.Request)
- func (_ Unimplemented) GetSettings(w http.ResponseWriter, r *http.Request)
- func (_ Unimplemented) GetZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
- func (_ Unimplemented) ImportZone(w http.ResponseWriter, r *http.Request, params ImportZoneParams)
- func (_ Unimplemented) InitCluster(w http.ResponseWriter, r *http.Request)
- func (_ Unimplemented) ListCommits(w http.ResponseWriter, r *http.Request, params ListCommitsParams)
- func (_ Unimplemented) ListRecords(w http.ResponseWriter, r *http.Request, zoneId ZoneID, ...)
- func (_ Unimplemented) ListTSIGKeys(w http.ResponseWriter, r *http.Request)
- func (_ Unimplemented) ListTokens(w http.ResponseWriter, r *http.Request)
- func (_ Unimplemented) ListZones(w http.ResponseWriter, r *http.Request, params ListZonesParams)
- func (_ Unimplemented) MakeRecordCanonical(w http.ResponseWriter, r *http.Request, recordId RecordID)
- func (_ Unimplemented) ReadTSIGKeySecret(w http.ResponseWriter, r *http.Request, keyId string)
- func (_ Unimplemented) ReconcileZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
- func (_ Unimplemented) RemoveClusterMember(w http.ResponseWriter, r *http.Request, memberId string)
- func (_ Unimplemented) ReplaceRRsets(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
- func (_ Unimplemented) RevokeTSIGKey(w http.ResponseWriter, r *http.Request, keyId string)
- func (_ Unimplemented) RevokeToken(w http.ResponseWriter, r *http.Request, tokenId string)
- func (_ Unimplemented) RollbackZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
- func (_ Unimplemented) StreamQueries(w http.ResponseWriter, r *http.Request, params StreamQueriesParams)
- func (_ Unimplemented) UpdateRecord(w http.ResponseWriter, r *http.Request, recordId RecordID)
- func (_ Unimplemented) UpdateSettings(w http.ResponseWriter, r *http.Request)
- func (_ Unimplemented) UpdateZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
- type UnmarshalingParamError
- type UpdateRecord
- type UpdateRecord200JSONResponse
- type UpdateRecordJSONRequestBody
- type UpdateRecordRequestObject
- type UpdateRecordResponse
- func (r UpdateRecordResponse) ContentType() string
- func (r UpdateRecordResponse) GetApplicationproblemJSONDefault() *Problem
- func (r UpdateRecordResponse) GetBody() []byte
- func (r UpdateRecordResponse) GetJSON200() *RecordWritten
- func (r UpdateRecordResponse) Status() string
- func (r UpdateRecordResponse) StatusCode() int
- type UpdateRecordResponseObject
- type UpdateRecorddefaultApplicationProblemPlusJSONResponse
- type UpdateSettings
- type UpdateSettings200JSONResponse
- type UpdateSettingsJSONRequestBody
- type UpdateSettingsRequestObject
- type UpdateSettingsResponse
- func (r UpdateSettingsResponse) ContentType() string
- func (r UpdateSettingsResponse) GetApplicationproblemJSONDefault() *Problem
- func (r UpdateSettingsResponse) GetBody() []byte
- func (r UpdateSettingsResponse) GetJSON200() *Settings
- func (r UpdateSettingsResponse) Status() string
- func (r UpdateSettingsResponse) StatusCode() int
- type UpdateSettingsResponseObject
- type UpdateSettingsdefaultApplicationProblemPlusJSONResponse
- type UpdateZone
- type UpdateZone200JSONResponse
- type UpdateZoneJSONRequestBody
- type UpdateZoneRequestObject
- type UpdateZoneResponse
- func (r UpdateZoneResponse) ContentType() string
- func (r UpdateZoneResponse) GetApplicationproblemJSONDefault() *Problem
- func (r UpdateZoneResponse) GetBody() []byte
- func (r UpdateZoneResponse) GetJSON200() *Zone
- func (r UpdateZoneResponse) Status() string
- func (r UpdateZoneResponse) StatusCode() int
- type UpdateZoneResponseObject
- type UpdateZonedefaultApplicationProblemPlusJSONResponse
- type Zone
- type ZoneCheck
- type ZoneDetail
- type ZoneID
- type ZoneImported
- type ZoneKind
- type ZonePage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetSpec ¶
GetSpec returns the OpenAPI specification corresponding to the generated code in this file. External references in the spec are resolved through PathToRawSpec; externally-referenced files must be embedded in their corresponding Go packages (via the import-mapping feature). URL-based external refs are not supported.
func GetSpecJSON ¶
GetSpecJSON returns the raw JSON bytes of the embedded OpenAPI specification: decompressed but not unmarshaled. External references are not resolved here; the bytes are the spec exactly as embedded by codegen. The result is cached at package init time, so repeated calls are cheap.
func GetSwagger
deprecated
func Handler ¶
func Handler(si ServerInterface) http.Handler
Handler creates http.Handler with routing matching OpenAPI spec.
func HandlerFromMux ¶
func HandlerFromMux(si ServerInterface, r chi.Router) http.Handler
HandlerFromMux creates http.Handler with routing matching OpenAPI spec based on the provided mux.
func HandlerWithOptions ¶
func HandlerWithOptions(si ServerInterface, options ChiServerOptions) http.Handler
HandlerWithOptions creates http.Handler with additional options
func NewCheckZoneRequest ¶ added in v0.2.0
func NewCheckZoneRequest(server string, zoneId ZoneID, params *CheckZoneParams) (*http.Request, error)
NewCheckZoneRequest constructs an http.Request for the CheckZone method
func NewCreateRecordRequest ¶
func NewCreateRecordRequest(server string, zoneId ZoneID, body CreateRecordJSONRequestBody) (*http.Request, error)
NewCreateRecordRequest calls the generic CreateRecord builder with application/json body
func NewCreateRecordRequestWithBody ¶
func NewCreateRecordRequestWithBody(server string, zoneId ZoneID, contentType string, body io.Reader) (*http.Request, error)
NewCreateRecordRequestWithBody constructs an http.Request for the CreateRecord method, with any body, and a specified content type
func NewCreateSessionRequest ¶
func NewCreateSessionRequest(server string, body CreateSessionJSONRequestBody) (*http.Request, error)
NewCreateSessionRequest calls the generic CreateSession builder with application/json body
func NewCreateSessionRequestWithBody ¶
func NewCreateSessionRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
NewCreateSessionRequestWithBody constructs an http.Request for the CreateSession method, with any body, and a specified content type
func NewCreateTSIGKeyRequest ¶ added in v0.2.0
func NewCreateTSIGKeyRequest(server string, body CreateTSIGKeyJSONRequestBody) (*http.Request, error)
NewCreateTSIGKeyRequest calls the generic CreateTSIGKey builder with application/json body
func NewCreateTSIGKeyRequestWithBody ¶ added in v0.2.0
func NewCreateTSIGKeyRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
NewCreateTSIGKeyRequestWithBody constructs an http.Request for the CreateTSIGKey method, with any body, and a specified content type
func NewCreateTokenRequest ¶
func NewCreateTokenRequest(server string, body CreateTokenJSONRequestBody) (*http.Request, error)
NewCreateTokenRequest calls the generic CreateToken builder with application/json body
func NewCreateTokenRequestWithBody ¶
func NewCreateTokenRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
NewCreateTokenRequestWithBody constructs an http.Request for the CreateToken method, with any body, and a specified content type
func NewCreateZoneRequest ¶
func NewCreateZoneRequest(server string, body CreateZoneJSONRequestBody) (*http.Request, error)
NewCreateZoneRequest calls the generic CreateZone builder with application/json body
func NewCreateZoneRequestWithBody ¶
func NewCreateZoneRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
NewCreateZoneRequestWithBody constructs an http.Request for the CreateZone method, with any body, and a specified content type
func NewDeleteRecordRequest ¶
NewDeleteRecordRequest constructs an http.Request for the DeleteRecord method
func NewDeleteSessionRequest ¶
NewDeleteSessionRequest constructs an http.Request for the DeleteSession method
func NewDeleteZoneRequest ¶
NewDeleteZoneRequest constructs an http.Request for the DeleteZone method
func NewDetachRecordRequest ¶
NewDetachRecordRequest constructs an http.Request for the DetachRecord method
func NewExportZoneRequest ¶
NewExportZoneRequest constructs an http.Request for the ExportZone method
func NewGetClusterRequest ¶ added in v0.5.0
NewGetClusterRequest constructs an http.Request for the GetCluster method
func NewGetCommitRequest ¶
NewGetCommitRequest constructs an http.Request for the GetCommit method
func NewGetHealthRequest ¶
NewGetHealthRequest constructs an http.Request for the GetHealth method
func NewGetMetricsRequest ¶
NewGetMetricsRequest constructs an http.Request for the GetMetrics method
func NewGetRecordRequest ¶
NewGetRecordRequest constructs an http.Request for the GetRecord method
func NewGetSecondaryConfigRequest ¶ added in v0.2.0
func NewGetSecondaryConfigRequest(server string, params *GetSecondaryConfigParams) (*http.Request, error)
NewGetSecondaryConfigRequest constructs an http.Request for the GetSecondaryConfig method
func NewGetSecondaryStatusRequest ¶ added in v0.3.0
NewGetSecondaryStatusRequest constructs an http.Request for the GetSecondaryStatus method
func NewGetSessionRequest ¶
NewGetSessionRequest constructs an http.Request for the GetSession method
func NewGetSettingsRequest ¶
NewGetSettingsRequest constructs an http.Request for the GetSettings method
func NewGetZoneRequest ¶
NewGetZoneRequest constructs an http.Request for the GetZone method
func NewImportZoneRequestWithBody ¶
func NewImportZoneRequestWithBody(server string, params *ImportZoneParams, contentType string, body io.Reader) (*http.Request, error)
NewImportZoneRequestWithBody constructs an http.Request for the ImportZone method, with any body, and a specified content type
func NewInitClusterRequest ¶ added in v0.5.0
NewInitClusterRequest constructs an http.Request for the InitCluster method
func NewListCommitsRequest ¶
func NewListCommitsRequest(server string, params *ListCommitsParams) (*http.Request, error)
NewListCommitsRequest constructs an http.Request for the ListCommits method
func NewListRecordsRequest ¶
func NewListRecordsRequest(server string, zoneId ZoneID, params *ListRecordsParams) (*http.Request, error)
NewListRecordsRequest constructs an http.Request for the ListRecords method
func NewListTSIGKeysRequest ¶ added in v0.2.0
NewListTSIGKeysRequest constructs an http.Request for the ListTSIGKeys method
func NewListTokensRequest ¶
NewListTokensRequest constructs an http.Request for the ListTokens method
func NewListZonesRequest ¶
func NewListZonesRequest(server string, params *ListZonesParams) (*http.Request, error)
NewListZonesRequest constructs an http.Request for the ListZones method
func NewMakeRecordCanonicalRequest ¶ added in v0.2.0
NewMakeRecordCanonicalRequest constructs an http.Request for the MakeRecordCanonical method
func NewReadTSIGKeySecretRequest ¶ added in v0.2.0
NewReadTSIGKeySecretRequest constructs an http.Request for the ReadTSIGKeySecret method
func NewReconcileZoneRequest ¶ added in v0.2.0
NewReconcileZoneRequest constructs an http.Request for the ReconcileZone method
func NewRemoveClusterMemberRequest ¶ added in v0.5.0
NewRemoveClusterMemberRequest constructs an http.Request for the RemoveClusterMember method
func NewReplaceRRsetsRequest ¶
func NewReplaceRRsetsRequest(server string, zoneId ZoneID, body ReplaceRRsetsJSONRequestBody) (*http.Request, error)
NewReplaceRRsetsRequest calls the generic ReplaceRRsets builder with application/json body
func NewReplaceRRsetsRequestWithBody ¶
func NewReplaceRRsetsRequestWithBody(server string, zoneId ZoneID, contentType string, body io.Reader) (*http.Request, error)
NewReplaceRRsetsRequestWithBody constructs an http.Request for the ReplaceRRsets method, with any body, and a specified content type
func NewRevokeTSIGKeyRequest ¶ added in v0.2.0
NewRevokeTSIGKeyRequest constructs an http.Request for the RevokeTSIGKey method
func NewRevokeTokenRequest ¶
NewRevokeTokenRequest constructs an http.Request for the RevokeToken method
func NewRollbackZoneRequest ¶
func NewRollbackZoneRequest(server string, zoneId ZoneID, body RollbackZoneJSONRequestBody) (*http.Request, error)
NewRollbackZoneRequest calls the generic RollbackZone builder with application/json body
func NewRollbackZoneRequestWithBody ¶
func NewRollbackZoneRequestWithBody(server string, zoneId ZoneID, contentType string, body io.Reader) (*http.Request, error)
NewRollbackZoneRequestWithBody constructs an http.Request for the RollbackZone method, with any body, and a specified content type
func NewStreamQueriesRequest ¶
func NewStreamQueriesRequest(server string, params *StreamQueriesParams) (*http.Request, error)
NewStreamQueriesRequest constructs an http.Request for the StreamQueries method
func NewUpdateRecordRequest ¶
func NewUpdateRecordRequest(server string, recordId RecordID, body UpdateRecordJSONRequestBody) (*http.Request, error)
NewUpdateRecordRequest calls the generic UpdateRecord builder with application/json body
func NewUpdateRecordRequestWithBody ¶
func NewUpdateRecordRequestWithBody(server string, recordId RecordID, contentType string, body io.Reader) (*http.Request, error)
NewUpdateRecordRequestWithBody constructs an http.Request for the UpdateRecord method, with any body, and a specified content type
func NewUpdateSettingsRequest ¶
func NewUpdateSettingsRequest(server string, body UpdateSettingsJSONRequestBody) (*http.Request, error)
NewUpdateSettingsRequest calls the generic UpdateSettings builder with application/json body
func NewUpdateSettingsRequestWithBody ¶
func NewUpdateSettingsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
NewUpdateSettingsRequestWithBody constructs an http.Request for the UpdateSettings method, with any body, and a specified content type
func NewUpdateZoneRequest ¶
func NewUpdateZoneRequest(server string, zoneId ZoneID, body UpdateZoneJSONRequestBody) (*http.Request, error)
NewUpdateZoneRequest calls the generic UpdateZone builder with application/json body
Types ¶
type CheckZone200JSONResponse ¶ added in v0.2.0
type CheckZone200JSONResponse ZoneCheck
func (CheckZone200JSONResponse) VisitCheckZoneResponse ¶ added in v0.2.0
func (response CheckZone200JSONResponse) VisitCheckZoneResponse(w http.ResponseWriter) error
type CheckZoneParams ¶ added in v0.2.0
type CheckZoneParams struct {
// Reverse Also report the reverse entries this zone's records imply and it
// does not have. Off by default: working that out means planning the
// write that would fix it, which holds the zone's write lock while it
// runs, and a check is otherwise a read that blocks nothing.
Reverse *bool `form:"reverse,omitempty" json:"reverse,omitempty"`
}
CheckZoneParams defines parameters for CheckZone.
type CheckZoneRequestObject ¶ added in v0.2.0
type CheckZoneRequestObject struct {
ZoneId ZoneID `json:"zoneId"`
Params CheckZoneParams
}
type CheckZoneResponse ¶ added in v0.2.0
type CheckZoneResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *ZoneCheck
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseCheckZoneResponse ¶ added in v0.2.0
func ParseCheckZoneResponse(rsp *http.Response) (*CheckZoneResponse, error)
ParseCheckZoneResponse parses an HTTP response from a CheckZoneWithResponse call
func (CheckZoneResponse) ContentType ¶ added in v0.2.0
func (r CheckZoneResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (CheckZoneResponse) GetApplicationproblemJSONDefault ¶ added in v0.2.0
func (r CheckZoneResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (CheckZoneResponse) GetBody ¶ added in v0.2.0
func (r CheckZoneResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (CheckZoneResponse) GetJSON200 ¶ added in v0.2.0
func (r CheckZoneResponse) GetJSON200() *ZoneCheck
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (CheckZoneResponse) Status ¶ added in v0.2.0
func (r CheckZoneResponse) Status() string
Status returns HTTPResponse.Status
func (CheckZoneResponse) StatusCode ¶ added in v0.2.0
func (r CheckZoneResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type CheckZoneResponseObject ¶ added in v0.2.0
type CheckZoneResponseObject interface {
VisitCheckZoneResponse(w http.ResponseWriter) error
}
type CheckZonedefaultApplicationProblemPlusJSONResponse ¶ added in v0.2.0
func (CheckZonedefaultApplicationProblemPlusJSONResponse) VisitCheckZoneResponse ¶ added in v0.2.0
func (response CheckZonedefaultApplicationProblemPlusJSONResponse) VisitCheckZoneResponse(w http.ResponseWriter) error
type ChiServerOptions ¶
type ChiServerOptions struct {
BaseURL string
BaseRouter chi.Router
Middlewares []MiddlewareFunc
ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
}
type Client ¶
type Client struct {
// The endpoint of the server conforming to this interface, with scheme,
// https://api.deepmap.com for example. This can contain a path relative
// to the server, such as https://api.deepmap.com/dev-test, and all the
// paths in the swagger spec will be appended to the server.
Server string
// Doer for performing requests, typically a *http.Client with any
// customized settings, such as certificate chains.
Client HttpRequestDoer
// A list of callbacks for modifying requests which are generated before sending over
// the network.
RequestEditors []RequestEditorFn
}
Client which conforms to the OpenAPI3 specification for this service.
func NewClient ¶
func NewClient(server string, opts ...ClientOption) (*Client, error)
Creates a new Client, with reasonable defaults
func (*Client) CheckZone ¶ added in v0.2.0
func (c *Client) CheckZone(ctx context.Context, zoneId ZoneID, params *CheckZoneParams, reqEditors ...RequestEditorFn) (*http.Response, error)
CheckZone Report what is wrong with a zone as it stands
Every rule the write path enforces, applied to the zone as it is stored.
A write is checked against the names it touches, and against the names a new delegation would put out of reach, so a zone edited only through this API stays sound. What this finds is what did not arrive that way: data written before a rule existed, or a hand on the database file.
It reports rather than refuses. A name with more than one problem yields the first of them, and the list stops at a thousand findings: a zone past that has one systematic fault rather than a thousand separate ones.
Nothing is written. Repairing what this names is ordinary editing.
Corresponds with GET /zones/{zoneId}/check (the `CheckZone` operationId).
func (*Client) CreateRecord ¶
func (c *Client) CreateRecord(ctx context.Context, zoneId ZoneID, body CreateRecordJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
CreateRecord Add a record to a zone
An address record may generate a PTR in the reverse zone answering for it. What that produced, and what it could not produce, comes back in the response rather than in a log line (docs/decisions/ D3 and D6).
Takes a body of the `application/json` content type.
Corresponds with POST /zones/{zoneId}/records (the `CreateRecord` operationId).
func (*Client) CreateRecordWithBody ¶
func (c *Client) CreateRecordWithBody(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
CreateRecordWithBody Add a record to a zone
An address record may generate a PTR in the reverse zone answering for it. What that produced, and what it could not produce, comes back in the response rather than in a log line (docs/decisions/ D3 and D6).
Takes any type of body and a specified content type.
Corresponds with POST /zones/{zoneId}/records (the `CreateRecord` operationId).
func (*Client) CreateSession ¶
func (c *Client) CreateSession(ctx context.Context, body CreateSessionJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
CreateSession Exchange a token for a browser session
The web interface does not hold a long-lived token. It posts one here once and receives an `httpOnly` session cookie, which no script that gets injected into the page can read, which is the whole point.
A second, readable cookie carries a CSRF value. Every state-changing request authenticated by the session cookie has to repeat it in the `X-Wegweiser-CSRF` header. `SameSite=Strict` already blocks a cross-site form post; this is the second layer. A request that authenticates with a bearer token skips the check, because CSRF needs ambient credentials and a bearer token is not ambient.
Unauthenticated, because a request that could authenticate would not need this. The token inside is checked the same way and is rate-limited the same way.
Takes a body of the `application/json` content type.
Corresponds with POST /auth/session (the `CreateSession` operationId).
func (*Client) CreateSessionWithBody ¶
func (c *Client) CreateSessionWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
CreateSessionWithBody Exchange a token for a browser session
The web interface does not hold a long-lived token. It posts one here once and receives an `httpOnly` session cookie, which no script that gets injected into the page can read, which is the whole point.
A second, readable cookie carries a CSRF value. Every state-changing request authenticated by the session cookie has to repeat it in the `X-Wegweiser-CSRF` header. `SameSite=Strict` already blocks a cross-site form post; this is the second layer. A request that authenticates with a bearer token skips the check, because CSRF needs ambient credentials and a bearer token is not ambient.
Unauthenticated, because a request that could authenticate would not need this. The token inside is checked the same way and is rate-limited the same way.
Takes any type of body and a specified content type.
Corresponds with POST /auth/session (the `CreateSession` operationId).
func (*Client) CreateTSIGKey ¶ added in v0.2.0
func (c *Client) CreateTSIGKey(ctx context.Context, body CreateTSIGKeyJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
CreateTSIGKey Create a key
The secret comes back in this response. Unlike an API token it can be read again, because verifying a signature means recomputing the MAC and this server therefore has to keep it.
Leave the secret out and one is generated, at least as long as the hash output of the algorithm (RFC 8945 section 8). Send one to match a secondary that already has a key, base64 as every other implementation writes it.
Takes a body of the `application/json` content type.
Corresponds with POST /tsig-keys (the `CreateTSIGKey` operationId).
func (*Client) CreateTSIGKeyWithBody ¶ added in v0.2.0
func (c *Client) CreateTSIGKeyWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
CreateTSIGKeyWithBody Create a key
The secret comes back in this response. Unlike an API token it can be read again, because verifying a signature means recomputing the MAC and this server therefore has to keep it.
Leave the secret out and one is generated, at least as long as the hash output of the algorithm (RFC 8945 section 8). Send one to match a secondary that already has a key, base64 as every other implementation writes it.
Takes any type of body and a specified content type.
Corresponds with POST /tsig-keys (the `CreateTSIGKey` operationId).
func (*Client) CreateToken ¶
func (c *Client) CreateToken(ctx context.Context, body CreateTokenJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
CreateToken Mint a token
The secret comes back in this response and never again. It is 256 bits from a cryptographic source; what the server keeps is its SHA-256, so a copy of the database is not a copy of the credentials.
Takes a body of the `application/json` content type.
Corresponds with POST /tokens (the `CreateToken` operationId).
func (*Client) CreateTokenWithBody ¶
func (c *Client) CreateTokenWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
CreateTokenWithBody Mint a token
The secret comes back in this response and never again. It is 256 bits from a cryptographic source; what the server keeps is its SHA-256, so a copy of the database is not a copy of the credentials.
Takes any type of body and a specified content type.
Corresponds with POST /tokens (the `CreateToken` operationId).
func (*Client) CreateZone ¶
func (c *Client) CreateZone(ctx context.Context, body CreateZoneJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
CreateZone Create a zone
Takes a body of the `application/json` content type.
Corresponds with POST /zones (the `CreateZone` operationId).
func (*Client) CreateZoneWithBody ¶
func (c *Client) CreateZoneWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
CreateZoneWithBody Create a zone
Takes any type of body and a specified content type.
Corresponds with POST /zones (the `CreateZone` operationId).
func (*Client) DeleteRecord ¶
func (c *Client) DeleteRecord(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*http.Response, error)
DeleteRecord Delete a record
Corresponds with DELETE /records/{recordId} (the `DeleteRecord` operationId).
func (*Client) DeleteSession ¶
func (c *Client) DeleteSession(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
DeleteSession End the session
The cookies are cleared and the session is forgotten here, so a copy of the cookie taken beforehand stops working too. The token it was opened with is untouched.
Corresponds with DELETE /auth/session (the `DeleteSession` operationId).
func (*Client) DeleteZone ¶
func (c *Client) DeleteZone(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*http.Response, error)
DeleteZone Delete a zone and everything in it
Corresponds with DELETE /zones/{zoneId} (the `DeleteZone` operationId).
func (*Client) DetachRecord ¶
func (c *Client) DetachRecord(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*http.Response, error)
DetachRecord Take over a generated record
The record keeps its data and its identity, loses its link to the record it was generated from, and the automation stops maintaining it (docs/decisions/ D4). A record that was already authored is returned unchanged: asking for it to be nobody's derivative has got what it asked for.
Corresponds with POST /records/{recordId}/detach (the `DetachRecord` operationId).
func (*Client) ExportZone ¶
func (c *Client) ExportZone(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*http.Response, error)
ExportZone Write a zone out as a zonefile
The presentation format of RFC 1035 §5, which any other authoritative server reads. Every name is absolute and every record carries its own TTL and class, so no line means something different when it is copied out; records come out in the canonical order of RFC 4034 §6.1, so exporting the same zone twice is the same bytes and a diff of two exports is a diff of two zones.
A disabled record is left out. It is not part of the zone as it answers, and a file has nowhere to say "present but switched off".
Corresponds with GET /zones/{zoneId}/export (the `ExportZone` operationId).
func (*Client) GetCluster ¶ added in v0.5.0
func (c *Client) GetCluster(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
GetCluster Say who the members are, and how far this one has got
The members as this node's copy of the cluster's configuration lists them, which of them leads, and how far each has got through the log. This node asks every other member for that as it answers, and one that does not answer within a couple of seconds is listed as not reached (docs/decisions/d47-status-asks-every-member.md). Asked over the cluster port, a member answers for itself only.
A node that has left the cluster over an entry it could not apply says where it stopped and why, and goes on answering queries with what it holds (docs/decisions/d29-a-node-that-cannot-apply.md).
A node whose configuration file has no cluster section answers 404.
Corresponds with GET /cluster (the `GetCluster` operationId).
func (*Client) GetCommit ¶
func (c *Client) GetCommit(ctx context.Context, commitId string, reqEditors ...RequestEditorFn) (*http.Response, error)
GetCommit Read one commit and everything it changed
The events are the diff: every record that was removed and every record that was added, both carrying their full data. That is what RFC 1995 §2 asks of an incremental transfer, and it is also what an interface needs to render the change and what restoring an earlier state needs to undo it.
Corresponds with GET /commits/{commitId} (the `GetCommit` operationId).
func (*Client) GetHealth ¶
func (c *Client) GetHealth(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
GetHealth Report whether the server is fit to answer queries
Unauthenticated on purpose: a health check that needs a credential is one more thing that can fail for a reason unrelated to health.
Corresponds with GET /healthz (the `GetHealth` operationId).
func (*Client) GetMetrics ¶
func (c *Client) GetMetrics(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
GetMetrics Export the current metrics
The Prometheus text exposition format: queries by transport, type and response code, latency, response sizes, drops, truncations, what the snapshot being answered from holds, and the Go runtime and process collectors that come with any Go exporter.
Authenticated like everything else here. What a server is asked, how often and by how many zones is operational detail, and a scraper can carry a bearer token: Prometheus has had `authorization` in its scrape configuration for years. `/healthz` is the one endpoint that needs no credential, because a load balancer cannot be given one.
The response carries the exposition format's version in its `Content-Type`, which is where a scraper reads it.
Corresponds with GET /metrics (the `GetMetrics` operationId).
func (*Client) GetRecord ¶
func (c *Client) GetRecord(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*http.Response, error)
GetRecord Read one record
Corresponds with GET /records/{recordId} (the `GetRecord` operationId).
func (*Client) GetSecondaryConfig ¶ added in v0.2.0
func (c *Client) GetSecondaryConfig(ctx context.Context, params *GetSecondaryConfigParams, reqEditors ...RequestEditorFn) (*http.Response, error)
GetSecondaryConfig Write the configuration a secondary needs
The zones this server holds, rendered as a configuration file for the software running at the other end. It carries the transfer key's secret in clear, which is what it is for, so it needs the `admin` scope for the same reason reading that secret does.
The output is deterministic. Regenerating it produces the same bytes when nothing has changed, so it can live under configuration management without a diff on every run.
What is reported beside it is the arrangement rather than the syntax: a transfer list nobody is on, a key that grants nothing, a secondary the notifications do not reach. Each of those renders a file that is perfectly formed and does not work.
Corresponds with GET /secondary-config (the `GetSecondaryConfig` operationId).
func (*Client) GetSecondaryStatus ¶ added in v0.3.0
func (c *Client) GetSecondaryStatus(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
GetSecondaryStatus Say what each secondary holds
One entry per zone per secondary on the notify list, saying what that secondary last said its serial was and how that compares with what this server publishes now.
A secondary is asked once a notification to it has been answered or given up on, and at least hourly whether anything changed or not. Until the first question about a pair has finished it is reported as unasked, which is a state of its own: reporting it as in step would be the one thing this is here to stop.
Nothing is reported while a notification is outstanding. A secondary that has just been told and has not fetched yet is in flight rather than behind, and a report that cannot tell those apart is one nobody reads.
Corresponds with GET /secondary-status (the `GetSecondaryStatus` operationId).
func (*Client) GetSession ¶
func (c *Client) GetSession(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
GetSession Report who this request is authenticated as
What an interface asks when it loads, to find out whether it has to show a login at all, and what to grey out if it does not.
Corresponds with GET /auth/session (the `GetSession` operationId).
func (*Client) GetSettings ¶
func (c *Client) GetSettings(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
GetSettings Read the server-wide settings
These are the defaults a zone that says nothing about itself inherits. They live in the database, so changing one takes effect on the next write without a restart (docs/decisions/ D11).
Corresponds with GET /settings (the `GetSettings` operationId).
func (*Client) GetZone ¶
func (c *Client) GetZone(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*http.Response, error)
GetZone Read one zone
Everything a listing carries, and the one diagnosis a zone can carry that nothing about it looks wrong for. It is computed here rather than left to `/check` because somebody who has to know to run a check in order to be told their delegation is broken has been told nothing. It costs the zone's NS records and one lookup per name server, not a walk of the zone, which is what makes that affordable.
Corresponds with GET /zones/{zoneId} (the `GetZone` operationId).
func (*Client) ImportZoneWithBody ¶
func (c *Client) ImportZoneWithBody(ctx context.Context, params *ImportZoneParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
ImportZoneWithBody Bring a whole zone in from a zonefile
The body is the file itself, in the presentation format of RFC 1035 §5. The zone it describes is wherever its SOA sits, so the name is not sent separately and cannot be sent inconsistently.
The serial in the file is the serial the zone starts at. A migrated zone that restarted at 1 would look older than itself to every secondary that has already seen it (RFC 1982 §3.2), which is the single most common way to break a migration (docs/decisions/ D2).
`$INCLUDE` is refused: a file arriving here that could pull in a path would read this server's filesystem out loud.
Records that a delegation in the same file makes unanswerable are left out rather than failing the whole file, and come back in `skipped`. Real zones carry them, and a migration that stops on one is a migration nobody finishes.
The zone must not already exist. A file is the complete contents of a zone, so bringing one into a zone that holds records is a replacement rather than an import.
Takes any type of body and a specified content type.
Corresponds with POST /zones/import (the `ImportZone` operationId).
func (*Client) InitCluster ¶ added in v0.5.0
func (c *Client) InitCluster(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
InitCluster Start a cluster with this node as its first member
This node becomes the only member of a new cluster, and brings everything it holds into it: zones, tokens, keys and settings. Every other node joins by asking a member, with `weg serve --join` (docs/decisions/d44-starting-and-joining.md).
It is done once. A node that is a member already is refused, and so is one whose configuration file has no cluster section, since it has no address to be reached at and no secret to prove it belongs.
Writes wait while the cluster is started, and go through its log from then on.
Corresponds with POST /cluster/init (the `InitCluster` operationId).
func (*Client) ListCommits ¶
func (c *Client) ListCommits(ctx context.Context, params *ListCommitsParams, reqEditors ...RequestEditorFn) (*http.Response, error)
ListCommits List commits, newest first
Every write is a commit, so this is the whole history of the server. Commits are listed without their events, which is what makes a page of history cheap on a zone that has been edited for years; read one commit to get the changes it made.
A commit outlives the zone it describes, so the history of a deleted zone is still here, under the name it had.
Corresponds with GET /commits (the `ListCommits` operationId).
func (*Client) ListRecords ¶
func (c *Client) ListRecords(ctx context.Context, zoneId ZoneID, params *ListRecordsParams, reqEditors ...RequestEditorFn) (*http.Response, error)
ListRecords List the records of a zone
Corresponds with GET /zones/{zoneId}/records (the `ListRecords` operationId).
func (*Client) ListTSIGKeys ¶ added in v0.2.0
func (c *Client) ListTSIGKeys(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
ListTSIGKeys List the keys a secondary may sign a transfer with
Revoked keys are listed too, so that a name a secondary still has configured can be looked up. No listing carries a secret; reading one back is a request of its own.
Corresponds with GET /tsig-keys (the `ListTSIGKeys` operationId).
func (*Client) ListTokens ¶
func (c *Client) ListTokens(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
ListTokens List the tokens that may use this API
Revoked and expired tokens are listed too, so that a name in the history can still be looked up. No response ever carries a secret: what is stored is its SHA-256, and the leading characters kept in the clear are there to tell two tokens apart, not to authenticate with.
Corresponds with GET /tokens (the `ListTokens` operationId).
func (*Client) ListZones ¶
func (c *Client) ListZones(ctx context.Context, params *ListZonesParams, reqEditors ...RequestEditorFn) (*http.Response, error)
ListZones List zones
Corresponds with GET /zones (the `ListZones` operationId).
func (*Client) MakeRecordCanonical ¶ added in v0.2.0
func (c *Client) MakeRecordCanonical(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*http.Response, error)
MakeRecordCanonical Make this the name an address reverses to
Several names on one address is ordinary, and only one of them can be the answer to a reverse lookup. Where the address record named here is not that one, this hands it the entry and takes it from whatever generated one holds it.
The record itself does not change. What changes is the reverse zone, in a commit of its own like any other change the automation makes.
An entry somebody wrote by hand is left alone: detaching a generated record is how a person says to stop maintaining it, and taking it back would make detaching mean nothing (docs/decisions/ D4). A record that already holds the entry is answered without anything being written.
Corresponds with POST /records/{recordId}/canonical (the `MakeRecordCanonical` operationId).
func (*Client) ReadTSIGKeySecret ¶ added in v0.2.0
func (c *Client) ReadTSIGKeySecret(ctx context.Context, keyId string, reqEditors ...RequestEditorFn) (*http.Response, error)
ReadTSIGKeySecret Read a key's secret
Separate from the listing so that a secret is shown when somebody asked for it and not when they were looking at something else. It is not a boundary: the database holds the secret either way.
A revoked key has none, and this is then a refusal rather than an empty answer.
Corresponds with GET /tsig-keys/{keyId}/secret (the `ReadTSIGKeySecret` operationId).
func (*Client) ReconcileZone ¶ added in v0.2.0
func (c *Client) ReconcileZone(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*http.Response, error)
ReconcileZone Write the reverse entries this zone's records imply and does not have
Reverse automation reacts to changes, so a zone that arrives after the records it should hold has nothing to react to. A reverse zone created for a network already in use starts empty, however many addresses are already named in it, and this is what fills it: one commit for everything missing.
It only adds. An entry that became obsolete was taken away by the change that obsoleted it, and one somebody detached is theirs to keep, so nothing here removes anything.
A zone that needs nothing is left alone and answers with no commit.
Corresponds with POST /zones/{zoneId}/reconcile (the `ReconcileZone` operationId).
func (*Client) RemoveClusterMember ¶ added in v0.5.0
func (c *Client) RemoveClusterMember(ctx context.Context, memberId string, reqEditors ...RequestEditorFn) (*http.Response, error)
RemoveClusterMember Take a member out of the cluster
The member stops being one once the change is committed. Naming the member asked is how it leaves, and naming another is how a member that is off, or has stopped, is taken out (docs/decisions/d44-starting-and-joining.md). Any member can be asked; one that does not lead hands the request to the one that does.
A member taken out goes on answering queries with what it held, and refuses writes until it is joined again or run on its own (docs/decisions/d46-a-member-that-has-left.md).
A member the cluster does not have is 404. The cluster's only voter cannot be removed, and is 409.
Corresponds with DELETE /cluster/members/{memberId} (the `RemoveClusterMember` operationId).
func (*Client) ReplaceRRsets ¶
func (c *Client) ReplaceRRsets(ctx context.Context, zoneId ZoneID, body ReplaceRRsetsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
ReplaceRRsets Make the named RRsets exactly what is given
An RRset (everything sharing an owner name, class and type) is the unit DNS answers with (RFC 2181 §5), and therefore the unit a record editor edits. Sending the set rather than a list of additions and removals means the client says what it wants to be true, and the server works out the difference; a record whose data did not change keeps its identity, and with it its comment, its provenance and the history pointing at it.
Only the RRsets named here are touched. An empty `records` removes one.
Everything in one request becomes one commit, so a page of edits saved together is one line in the history and one point to roll back to.
The RRsets are named in the body rather than in the path because a DNS label may hold any octet, `/` among them, so there is no path form that is safe for every name.
Takes a body of the `application/json` content type.
Corresponds with PUT /zones/{zoneId}/rrsets (the `ReplaceRRsets` operationId).
func (*Client) ReplaceRRsetsWithBody ¶
func (c *Client) ReplaceRRsetsWithBody(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
ReplaceRRsetsWithBody Make the named RRsets exactly what is given
An RRset (everything sharing an owner name, class and type) is the unit DNS answers with (RFC 2181 §5), and therefore the unit a record editor edits. Sending the set rather than a list of additions and removals means the client says what it wants to be true, and the server works out the difference; a record whose data did not change keeps its identity, and with it its comment, its provenance and the history pointing at it.
Only the RRsets named here are touched. An empty `records` removes one.
Everything in one request becomes one commit, so a page of edits saved together is one line in the history and one point to roll back to.
The RRsets are named in the body rather than in the path because a DNS label may hold any octet, `/` among them, so there is no path form that is safe for every name.
Takes any type of body and a specified content type.
Corresponds with PUT /zones/{zoneId}/rrsets (the `ReplaceRRsets` operationId).
func (*Client) RevokeTSIGKey ¶ added in v0.2.0
func (c *Client) RevokeTSIGKey(ctx context.Context, keyId string, reqEditors ...RequestEditorFn) (*http.Response, error)
RevokeTSIGKey Withdraw a key
The key stops signing and its secret is cleared, which is the one thing revoking a token does not do: a token leaves only a hash behind, and a key would leave material nothing will read again. The row stays so the name and the dates still read, and the name is then free for a replacement.
Revoking a key that is already revoked changes nothing and is not an error.
Corresponds with DELETE /tsig-keys/{keyId} (the `RevokeTSIGKey` operationId).
func (*Client) RevokeToken ¶
func (c *Client) RevokeToken(ctx context.Context, tokenId string, reqEditors ...RequestEditorFn) (*http.Response, error)
RevokeToken Withdraw a token
The token is marked unusable rather than removed, so that the history it appears in still names something. Revoking a token that is already revoked changes nothing and is not an error.
The last token that can still administer the server is refused: a server nobody can reach is not a state this API will put itself in.
Corresponds with DELETE /tokens/{tokenId} (the `RevokeToken` operationId).
func (*Client) RollbackZone ¶
func (c *Client) RollbackZone(ctx context.Context, zoneId ZoneID, body RollbackZoneJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
RollbackZone Restore a zone to the state it had at a serial
The difference between the zone as it stands and the zone as it stood is written as a **new** commit that moves forward to that state. It is not a rewind: a secondary that has already seen serial 90 will never accept a jump back to 42, because RFC 1982 arithmetic makes 42 older and RFC 1995 has no way to express going backwards.
Records that did not change in between are not touched, so they keep their identity, their comments and the history pointing at them. Records the server generated are not restored directly: they follow from the records they were generated from, so restoring those is what moves them.
A rollback to the serial the zone is already at changes nothing and answers with no commit.
Takes a body of the `application/json` content type.
Corresponds with POST /zones/{zoneId}/rollback (the `RollbackZone` operationId).
func (*Client) RollbackZoneWithBody ¶
func (c *Client) RollbackZoneWithBody(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
RollbackZoneWithBody Restore a zone to the state it had at a serial
The difference between the zone as it stands and the zone as it stood is written as a **new** commit that moves forward to that state. It is not a rewind: a secondary that has already seen serial 90 will never accept a jump back to 42, because RFC 1982 arithmetic makes 42 older and RFC 1995 has no way to express going backwards.
Records that did not change in between are not touched, so they keep their identity, their comments and the history pointing at them. Records the server generated are not restored directly: they follow from the records they were generated from, so restoring those is what moves them.
A rollback to the serial the zone is already at changes nothing and answers with no commit.
Takes any type of body and a specified content type.
Corresponds with POST /zones/{zoneId}/rollback (the `RollbackZone` operationId).
func (*Client) StreamQueries ¶
func (c *Client) StreamQueries(ctx context.Context, params *StreamQueriesParams, reqEditors ...RequestEditorFn) (*http.Response, error)
StreamQueries Watch queries as they are answered
A live tail of the exchanges matching the filter, as Server-Sent Events. Two kinds of message arrive:
- `query`, one per exchange, carrying a `QueryEvent`.
- `status`, whenever what the stream is leaving out changes and every few seconds regardless, carrying a `StreamStatus`. It says what the stream is sampling at and how much it has dropped, because a stream that quietly leaves things out while looking complete is worse than one that admits to showing every fiftieth query (docs/decisions/ D9).
The filter is applied before anything is buffered, so watching one zone stays complete however busy the rest of the server is. A watcher that stops reading loses its oldest exchanges, never its newest: this is a live view, and it is never allowed to slow a query down.
How many watchers may be open at once is bounded, because each one costs the query path a filter evaluation per query. A request past the bound is refused with 503.
Corresponds with GET /queries/stream (the `StreamQueries` operationId).
func (*Client) UpdateRecord ¶
func (c *Client) UpdateRecord(ctx context.Context, recordId RecordID, body UpdateRecordJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
UpdateRecord Change a record
Only the fields that are present are changed. The record keeps its identity, and with it its comment, its provenance and the history pointing at it, which is what tells an edit apart from a delete and an add.
A record the server generated is refused, naming the record it came from; detach it first to take it over (docs/decisions/ D4).
Takes a body of the `application/json` content type.
Corresponds with PATCH /records/{recordId} (the `UpdateRecord` operationId).
func (*Client) UpdateRecordWithBody ¶
func (c *Client) UpdateRecordWithBody(ctx context.Context, recordId RecordID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
UpdateRecordWithBody Change a record
Only the fields that are present are changed. The record keeps its identity, and with it its comment, its provenance and the history pointing at it, which is what tells an edit apart from a delete and an add.
A record the server generated is refused, naming the record it came from; detach it first to take it over (docs/decisions/ D4).
Takes any type of body and a specified content type.
Corresponds with PATCH /records/{recordId} (the `UpdateRecord` operationId).
func (*Client) UpdateSettings ¶
func (c *Client) UpdateSettings(ctx context.Context, body UpdateSettingsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
UpdateSettings Change the server-wide settings
A field that is absent is left alone, so a client may send only what it means to change.
Takes a body of the `application/json` content type.
Corresponds with PATCH /settings (the `UpdateSettings` operationId).
func (*Client) UpdateSettingsWithBody ¶
func (c *Client) UpdateSettingsWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
UpdateSettingsWithBody Change the server-wide settings
A field that is absent is left alone, so a client may send only what it means to change.
Takes any type of body and a specified content type.
Corresponds with PATCH /settings (the `UpdateSettings` operationId).
func (*Client) UpdateZone ¶
func (c *Client) UpdateZone(ctx context.Context, zoneId ZoneID, body UpdateZoneJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
UpdateZone Change a zone's own settings
Only the fields that are present are changed. The zone's records are not touched, and the zone cannot be renamed: every owner name, every sort key and the whole journal belong to the name it has.
Changing anything that is served advances the serial, like any other change. Changing nothing writes nothing.
Takes a body of the `application/json` content type.
Corresponds with PATCH /zones/{zoneId} (the `UpdateZone` operationId).
func (*Client) UpdateZoneWithBody ¶
func (c *Client) UpdateZoneWithBody(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
UpdateZoneWithBody Change a zone's own settings
Only the fields that are present are changed. The zone's records are not touched, and the zone cannot be renamed: every owner name, every sort key and the whole journal belong to the name it has.
Changing anything that is served advances the serial, like any other change. Changing nothing writes nothing.
Takes any type of body and a specified content type.
Corresponds with PATCH /zones/{zoneId} (the `UpdateZone` operationId).
type ClientInterface ¶
type ClientInterface interface {
// DeleteSession End the session
//
// The cookies are cleared and the session is forgotten here, so a copy of
// the cookie taken beforehand stops working too. The token it was opened
// with is untouched.
//
// Corresponds with DELETE /auth/session (the `DeleteSession` operationId).
DeleteSession(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetSession Report who this request is authenticated as
//
// What an interface asks when it loads, to find out whether it has to
// show a login at all, and what to grey out if it does not.
//
// Corresponds with GET /auth/session (the `GetSession` operationId).
GetSession(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// CreateSessionWithBody Exchange a token for a browser session
//
// The web interface does not hold a long-lived token. It posts one here
// once and receives an `httpOnly` session cookie, which no script that
// gets injected into the page can read, which is the whole point.
//
// A second, readable cookie carries a CSRF value. Every state-changing
// request authenticated by the session cookie has to repeat it in the
// `X-Wegweiser-CSRF` header. `SameSite=Strict` already blocks a
// cross-site form post; this is the second layer. A request that
// authenticates with a bearer token skips the check, because CSRF needs
// ambient credentials and a bearer token is not ambient.
//
// Unauthenticated, because a request that could authenticate would not
// need this. The token inside is checked the same way and is rate-limited
// the same way.
//
// Takes any type of body and a specified content type.
//
// Corresponds with POST /auth/session (the `CreateSession` operationId).
CreateSessionWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// CreateSession Exchange a token for a browser session
//
// The web interface does not hold a long-lived token. It posts one here
// once and receives an `httpOnly` session cookie, which no script that
// gets injected into the page can read, which is the whole point.
//
// A second, readable cookie carries a CSRF value. Every state-changing
// request authenticated by the session cookie has to repeat it in the
// `X-Wegweiser-CSRF` header. `SameSite=Strict` already blocks a
// cross-site form post; this is the second layer. A request that
// authenticates with a bearer token skips the check, because CSRF needs
// ambient credentials and a bearer token is not ambient.
//
// Unauthenticated, because a request that could authenticate would not
// need this. The token inside is checked the same way and is rate-limited
// the same way.
//
// Takes a body of the `application/json` content type.
//
// Corresponds with POST /auth/session (the `CreateSession` operationId).
CreateSession(ctx context.Context, body CreateSessionJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetCluster Say who the members are, and how far this one has got
//
// The members as this node's copy of the cluster's configuration lists
// them, which of them leads, and how far each has got through the log.
// This node asks every other member for that as it answers, and one
// that does not answer within a couple of seconds is listed as not
// reached (docs/decisions/d47-status-asks-every-member.md). Asked over
// the cluster port, a member answers for itself only.
//
// A node that has left the cluster over an entry it could not apply says
// where it stopped and why, and goes on answering queries with what it
// holds (docs/decisions/d29-a-node-that-cannot-apply.md).
//
// A node whose configuration file has no cluster section answers 404.
//
// Corresponds with GET /cluster (the `GetCluster` operationId).
GetCluster(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// InitCluster Start a cluster with this node as its first member
//
// This node becomes the only member of a new cluster, and brings
// everything it holds into it: zones, tokens, keys and settings. Every
// other node joins by asking a member, with `weg serve --join`
// (docs/decisions/d44-starting-and-joining.md).
//
// It is done once. A node that is a member already is refused, and so is
// one whose configuration file has no cluster section, since it has no
// address to be reached at and no secret to prove it belongs.
//
// Writes wait while the cluster is started, and go through its log from
// then on.
//
// Corresponds with POST /cluster/init (the `InitCluster` operationId).
InitCluster(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// RemoveClusterMember Take a member out of the cluster
//
// The member stops being one once the change is committed. Naming the
// member asked is how it leaves, and naming another is how a member that
// is off, or has stopped, is taken out
// (docs/decisions/d44-starting-and-joining.md). Any member can be
// asked; one that does not lead hands the request to the one that does.
//
// A member taken out goes on answering queries with what it held, and
// refuses writes until it is joined again or run on its own
// (docs/decisions/d46-a-member-that-has-left.md).
//
// A member the cluster does not have is 404. The cluster's only voter
// cannot be removed, and is 409.
//
// Corresponds with DELETE /cluster/members/{memberId} (the `RemoveClusterMember` operationId).
RemoveClusterMember(ctx context.Context, memberId string, reqEditors ...RequestEditorFn) (*http.Response, error)
// ListCommits List commits, newest first
//
// Every write is a commit, so this is the whole history of the server.
// Commits are listed without their events, which is what makes a page of
// history cheap on a zone that has been edited for years; read one commit
// to get the changes it made.
//
// A commit outlives the zone it describes, so the history of a deleted
// zone is still here, under the name it had.
//
// Corresponds with GET /commits (the `ListCommits` operationId).
ListCommits(ctx context.Context, params *ListCommitsParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetCommit Read one commit and everything it changed
//
// The events are the diff: every record that was removed and every record
// that was added, both carrying their full data. That is what RFC 1995 §2
// asks of an incremental transfer, and it is also what an interface needs
// to render the change and what restoring an earlier state needs to undo
// it.
//
// Corresponds with GET /commits/{commitId} (the `GetCommit` operationId).
GetCommit(ctx context.Context, commitId string, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetHealth Report whether the server is fit to answer queries
//
// Unauthenticated on purpose: a health check that needs a credential is
// one more thing that can fail for a reason unrelated to health.
//
// Corresponds with GET /healthz (the `GetHealth` operationId).
GetHealth(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetMetrics Export the current metrics
//
// The Prometheus text exposition format: queries by transport, type and
// response code, latency, response sizes, drops, truncations, what the
// snapshot being answered from holds, and the Go runtime and process
// collectors that come with any Go exporter.
//
// Authenticated like everything else here. What a server is asked, how
// often and by how many zones is operational detail, and a scraper can
// carry a bearer token: Prometheus has had `authorization` in its scrape
// configuration for years. `/healthz` is the one endpoint that needs no
// credential, because a load balancer cannot be given one.
//
// The response carries the exposition format's version in its
// `Content-Type`, which is where a scraper reads it.
//
// Corresponds with GET /metrics (the `GetMetrics` operationId).
GetMetrics(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// StreamQueries Watch queries as they are answered
//
// A live tail of the exchanges matching the filter, as Server-Sent
// Events. Two kinds of message arrive:
//
// - `query`, one per exchange, carrying a `QueryEvent`.
// - `status`, whenever what the stream is leaving out changes and every
// few seconds regardless, carrying a `StreamStatus`. It says what the
// stream is sampling at and how much it has dropped, because a stream
// that quietly leaves things out while looking complete is worse than
// one that admits to showing every fiftieth query
// (docs/decisions/ D9).
//
// The filter is applied before anything is buffered, so watching one zone
// stays complete however busy the rest of the server is. A watcher that
// stops reading loses its oldest exchanges, never its newest: this is a
// live view, and it is never allowed to slow a query down.
//
// How many watchers may be open at once is bounded, because each one
// costs the query path a filter evaluation per query. A request past the
// bound is refused with 503.
//
// Corresponds with GET /queries/stream (the `StreamQueries` operationId).
StreamQueries(ctx context.Context, params *StreamQueriesParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// DeleteRecord Delete a record
//
// Corresponds with DELETE /records/{recordId} (the `DeleteRecord` operationId).
DeleteRecord(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetRecord Read one record
//
// Corresponds with GET /records/{recordId} (the `GetRecord` operationId).
GetRecord(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*http.Response, error)
// UpdateRecordWithBody Change a record
//
// Only the fields that are present are changed. The record keeps its
// identity, and with it its comment, its provenance and the history
// pointing at it, which is what tells an edit apart from a delete and an
// add.
//
// A record the server generated is refused, naming the record it came
// from; detach it first to take it over (docs/decisions/ D4).
//
// Takes any type of body and a specified content type.
//
// Corresponds with PATCH /records/{recordId} (the `UpdateRecord` operationId).
UpdateRecordWithBody(ctx context.Context, recordId RecordID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// UpdateRecord Change a record
//
// Only the fields that are present are changed. The record keeps its
// identity, and with it its comment, its provenance and the history
// pointing at it, which is what tells an edit apart from a delete and an
// add.
//
// A record the server generated is refused, naming the record it came
// from; detach it first to take it over (docs/decisions/ D4).
//
// Takes a body of the `application/json` content type.
//
// Corresponds with PATCH /records/{recordId} (the `UpdateRecord` operationId).
UpdateRecord(ctx context.Context, recordId RecordID, body UpdateRecordJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// MakeRecordCanonical Make this the name an address reverses to
//
// Several names on one address is ordinary, and only one of them can be
// the answer to a reverse lookup. Where the address record named here is
// not that one, this hands it the entry and takes it from whatever
// generated one holds it.
//
// The record itself does not change. What changes is the reverse zone,
// in a commit of its own like any other change the automation makes.
//
// An entry somebody wrote by hand is left alone: detaching a generated
// record is how a person says to stop maintaining it, and taking it back
// would make detaching mean nothing (docs/decisions/ D4). A record that
// already holds the entry is answered without anything being written.
//
// Corresponds with POST /records/{recordId}/canonical (the `MakeRecordCanonical` operationId).
MakeRecordCanonical(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*http.Response, error)
// DetachRecord Take over a generated record
//
// The record keeps its data and its identity, loses its link to the
// record it was generated from, and the automation stops maintaining it
// (docs/decisions/ D4). A record that was already authored is returned
// unchanged: asking for it to be nobody's derivative has got what it
// asked for.
//
// Corresponds with POST /records/{recordId}/detach (the `DetachRecord` operationId).
DetachRecord(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetSecondaryConfig Write the configuration a secondary needs
//
// The zones this server holds, rendered as a configuration file for the
// software running at the other end. It carries the transfer key's secret
// in clear, which is what it is for, so it needs the `admin` scope for the
// same reason reading that secret does.
//
// The output is deterministic. Regenerating it produces the same bytes
// when nothing has changed, so it can live under configuration management
// without a diff on every run.
//
// What is reported beside it is the arrangement rather than the syntax: a
// transfer list nobody is on, a key that grants nothing, a secondary the
// notifications do not reach. Each of those renders a file that is
// perfectly formed and does not work.
//
// Corresponds with GET /secondary-config (the `GetSecondaryConfig` operationId).
GetSecondaryConfig(ctx context.Context, params *GetSecondaryConfigParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetSecondaryStatus Say what each secondary holds
//
// One entry per zone per secondary on the notify list, saying what that
// secondary last said its serial was and how that compares with what this
// server publishes now.
//
// A secondary is asked once a notification to it has been answered or
// given up on, and at least hourly whether anything changed or not. Until
// the first question about a pair has finished it is reported as unasked,
// which is a state of its own: reporting it as in step would be the one
// thing this is here to stop.
//
// Nothing is reported while a notification is outstanding. A secondary
// that has just been told and has not fetched yet is in flight rather than
// behind, and a report that cannot tell those apart is one nobody reads.
//
// Corresponds with GET /secondary-status (the `GetSecondaryStatus` operationId).
GetSecondaryStatus(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetSettings Read the server-wide settings
//
// These are the defaults a zone that says nothing about itself inherits.
// They live in the database, so changing one takes effect on the next
// write without a restart (docs/decisions/ D11).
//
// Corresponds with GET /settings (the `GetSettings` operationId).
GetSettings(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// UpdateSettingsWithBody Change the server-wide settings
//
// A field that is absent is left alone, so a client may send only what it
// means to change.
//
// Takes any type of body and a specified content type.
//
// Corresponds with PATCH /settings (the `UpdateSettings` operationId).
UpdateSettingsWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// UpdateSettings Change the server-wide settings
//
// A field that is absent is left alone, so a client may send only what it
// means to change.
//
// Takes a body of the `application/json` content type.
//
// Corresponds with PATCH /settings (the `UpdateSettings` operationId).
UpdateSettings(ctx context.Context, body UpdateSettingsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// ListTokens List the tokens that may use this API
//
// Revoked and expired tokens are listed too, so that a name in the
// history can still be looked up. No response ever carries a secret: what
// is stored is its SHA-256, and the leading characters kept in the clear
// are there to tell two tokens apart, not to authenticate with.
//
// Corresponds with GET /tokens (the `ListTokens` operationId).
ListTokens(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// CreateTokenWithBody Mint a token
//
// The secret comes back in this response and never again. It is 256 bits
// from a cryptographic source; what the server keeps is its SHA-256, so a
// copy of the database is not a copy of the credentials.
//
// Takes any type of body and a specified content type.
//
// Corresponds with POST /tokens (the `CreateToken` operationId).
CreateTokenWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// CreateToken Mint a token
//
// The secret comes back in this response and never again. It is 256 bits
// from a cryptographic source; what the server keeps is its SHA-256, so a
// copy of the database is not a copy of the credentials.
//
// Takes a body of the `application/json` content type.
//
// Corresponds with POST /tokens (the `CreateToken` operationId).
CreateToken(ctx context.Context, body CreateTokenJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// RevokeToken Withdraw a token
//
// The token is marked unusable rather than removed, so that the history
// it appears in still names something. Revoking a token that is already
// revoked changes nothing and is not an error.
//
// The last token that can still administer the server is refused: a
// server nobody can reach is not a state this API will put itself in.
//
// Corresponds with DELETE /tokens/{tokenId} (the `RevokeToken` operationId).
RevokeToken(ctx context.Context, tokenId string, reqEditors ...RequestEditorFn) (*http.Response, error)
// ListTSIGKeys List the keys a secondary may sign a transfer with
//
// Revoked keys are listed too, so that a name a secondary still has
// configured can be looked up. No listing carries a secret; reading one
// back is a request of its own.
//
// Corresponds with GET /tsig-keys (the `ListTSIGKeys` operationId).
ListTSIGKeys(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// CreateTSIGKeyWithBody Create a key
//
// The secret comes back in this response. Unlike an API token it can be
// read again, because verifying a signature means recomputing the MAC and
// this server therefore has to keep it.
//
// Leave the secret out and one is generated, at least as long as the hash
// output of the algorithm (RFC 8945 section 8). Send one to match a
// secondary that already has a key, base64 as every other implementation
// writes it.
//
// Takes any type of body and a specified content type.
//
// Corresponds with POST /tsig-keys (the `CreateTSIGKey` operationId).
CreateTSIGKeyWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// CreateTSIGKey Create a key
//
// The secret comes back in this response. Unlike an API token it can be
// read again, because verifying a signature means recomputing the MAC and
// this server therefore has to keep it.
//
// Leave the secret out and one is generated, at least as long as the hash
// output of the algorithm (RFC 8945 section 8). Send one to match a
// secondary that already has a key, base64 as every other implementation
// writes it.
//
// Takes a body of the `application/json` content type.
//
// Corresponds with POST /tsig-keys (the `CreateTSIGKey` operationId).
CreateTSIGKey(ctx context.Context, body CreateTSIGKeyJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// RevokeTSIGKey Withdraw a key
//
// The key stops signing and its secret is cleared, which is the one thing
// revoking a token does not do: a token leaves only a hash behind, and a
// key would leave material nothing will read again. The row stays so the
// name and the dates still read, and the name is then free for a
// replacement.
//
// Revoking a key that is already revoked changes nothing and is not an
// error.
//
// Corresponds with DELETE /tsig-keys/{keyId} (the `RevokeTSIGKey` operationId).
RevokeTSIGKey(ctx context.Context, keyId string, reqEditors ...RequestEditorFn) (*http.Response, error)
// ReadTSIGKeySecret Read a key's secret
//
// Separate from the listing so that a secret is shown when somebody asked
// for it and not when they were looking at something else. It is not a
// boundary: the database holds the secret either way.
//
// A revoked key has none, and this is then a refusal rather than an empty
// answer.
//
// Corresponds with GET /tsig-keys/{keyId}/secret (the `ReadTSIGKeySecret` operationId).
ReadTSIGKeySecret(ctx context.Context, keyId string, reqEditors ...RequestEditorFn) (*http.Response, error)
// ListZones List zones
//
// Corresponds with GET /zones (the `ListZones` operationId).
ListZones(ctx context.Context, params *ListZonesParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// CreateZoneWithBody Create a zone
//
// Takes any type of body and a specified content type.
//
// Corresponds with POST /zones (the `CreateZone` operationId).
CreateZoneWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// CreateZone Create a zone
//
// Takes a body of the `application/json` content type.
//
// Corresponds with POST /zones (the `CreateZone` operationId).
CreateZone(ctx context.Context, body CreateZoneJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// ImportZoneWithBody Bring a whole zone in from a zonefile
//
// The body is the file itself, in the presentation format of RFC 1035 §5.
// The zone it describes is wherever its SOA sits, so the name is not sent
// separately and cannot be sent inconsistently.
//
// The serial in the file is the serial the zone starts at. A migrated
// zone that restarted at 1 would look older than itself to every
// secondary that has already seen it (RFC 1982 §3.2), which is the single
// most common way to break a migration (docs/decisions/ D2).
//
// `$INCLUDE` is refused: a file arriving here that could pull in a path
// would read this server's filesystem out loud.
//
// Records that a delegation in the same file makes unanswerable are left
// out rather than failing the whole file, and come back in `skipped`.
// Real zones carry them, and a migration that stops on one is a migration
// nobody finishes.
//
// The zone must not already exist. A file is the complete contents of a
// zone, so bringing one into a zone that holds records is a replacement
// rather than an import.
//
// Takes any type of body and a specified content type.
//
// Corresponds with POST /zones/import (the `ImportZone` operationId).
ImportZoneWithBody(ctx context.Context, params *ImportZoneParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// DeleteZone Delete a zone and everything in it
//
// Corresponds with DELETE /zones/{zoneId} (the `DeleteZone` operationId).
DeleteZone(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetZone Read one zone
//
// Everything a listing carries, and the one diagnosis a zone can carry
// that nothing about it looks wrong for. It is computed here rather than
// left to `/check` because somebody who has to know to run a check in
// order to be told their delegation is broken has been told nothing. It
// costs the zone's NS records and one lookup per name server, not a walk
// of the zone, which is what makes that affordable.
//
// Corresponds with GET /zones/{zoneId} (the `GetZone` operationId).
GetZone(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*http.Response, error)
// UpdateZoneWithBody Change a zone's own settings
//
// Only the fields that are present are changed. The zone's records are
// not touched, and the zone cannot be renamed: every owner name, every
// sort key and the whole journal belong to the name it has.
//
// Changing anything that is served advances the serial, like any other
// change. Changing nothing writes nothing.
//
// Takes any type of body and a specified content type.
//
// Corresponds with PATCH /zones/{zoneId} (the `UpdateZone` operationId).
UpdateZoneWithBody(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// UpdateZone Change a zone's own settings
//
// Only the fields that are present are changed. The zone's records are
// not touched, and the zone cannot be renamed: every owner name, every
// sort key and the whole journal belong to the name it has.
//
// Changing anything that is served advances the serial, like any other
// change. Changing nothing writes nothing.
//
// Takes a body of the `application/json` content type.
//
// Corresponds with PATCH /zones/{zoneId} (the `UpdateZone` operationId).
UpdateZone(ctx context.Context, zoneId ZoneID, body UpdateZoneJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// CheckZone Report what is wrong with a zone as it stands
//
// Every rule the write path enforces, applied to the zone as it is
// stored.
//
// A write is checked against the names it touches, and against the names
// a new delegation would put out of reach, so a zone edited only through
// this API stays sound. What this finds is what did not arrive that way:
// data written before a rule existed, or a hand on the database file.
//
// It reports rather than refuses. A name with more than one problem
// yields the first of them, and the list stops at a thousand findings:
// a zone past that has one systematic fault rather than a thousand
// separate ones.
//
// Nothing is written. Repairing what this names is ordinary editing.
//
// Corresponds with GET /zones/{zoneId}/check (the `CheckZone` operationId).
CheckZone(ctx context.Context, zoneId ZoneID, params *CheckZoneParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// ExportZone Write a zone out as a zonefile
//
// The presentation format of RFC 1035 §5, which any other authoritative
// server reads. Every name is absolute and every record carries its own
// TTL and class, so no line means something different when it is copied
// out; records come out in the canonical order of RFC 4034 §6.1, so
// exporting the same zone twice is the same bytes and a diff of two
// exports is a diff of two zones.
//
// A disabled record is left out. It is not part of the zone as it
// answers, and a file has nowhere to say "present but switched off".
//
// Corresponds with GET /zones/{zoneId}/export (the `ExportZone` operationId).
ExportZone(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*http.Response, error)
// ReconcileZone Write the reverse entries this zone's records imply and does not have
//
// Reverse automation reacts to changes, so a zone that arrives after the
// records it should hold has nothing to react to. A reverse zone created
// for a network already in use starts empty, however many addresses are
// already named in it, and this is what fills it: one commit for
// everything missing.
//
// It only adds. An entry that became obsolete was taken away by the
// change that obsoleted it, and one somebody detached is theirs to keep,
// so nothing here removes anything.
//
// A zone that needs nothing is left alone and answers with no commit.
//
// Corresponds with POST /zones/{zoneId}/reconcile (the `ReconcileZone` operationId).
ReconcileZone(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*http.Response, error)
// ListRecords List the records of a zone
//
// Corresponds with GET /zones/{zoneId}/records (the `ListRecords` operationId).
ListRecords(ctx context.Context, zoneId ZoneID, params *ListRecordsParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// CreateRecordWithBody Add a record to a zone
//
// An address record may generate a PTR in the reverse zone answering for
// it. What that produced, and what it could not produce, comes back in
// the response rather than in a log line (docs/decisions/ D3 and D6).
//
// Takes any type of body and a specified content type.
//
// Corresponds with POST /zones/{zoneId}/records (the `CreateRecord` operationId).
CreateRecordWithBody(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// CreateRecord Add a record to a zone
//
// An address record may generate a PTR in the reverse zone answering for
// it. What that produced, and what it could not produce, comes back in
// the response rather than in a log line (docs/decisions/ D3 and D6).
//
// Takes a body of the `application/json` content type.
//
// Corresponds with POST /zones/{zoneId}/records (the `CreateRecord` operationId).
CreateRecord(ctx context.Context, zoneId ZoneID, body CreateRecordJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// RollbackZoneWithBody Restore a zone to the state it had at a serial
//
// The difference between the zone as it stands and the zone as it stood
// is written as a **new** commit that moves forward to that state. It is
// not a rewind: a secondary that has already seen serial 90 will never
// accept a jump back to 42, because RFC 1982 arithmetic makes 42 older
// and RFC 1995 has no way to express going backwards.
//
// Records that did not change in between are not touched, so they keep
// their identity, their comments and the history pointing at them.
// Records the server generated are not restored directly: they follow
// from the records they were generated from, so restoring those is what
// moves them.
//
// A rollback to the serial the zone is already at changes nothing and
// answers with no commit.
//
// Takes any type of body and a specified content type.
//
// Corresponds with POST /zones/{zoneId}/rollback (the `RollbackZone` operationId).
RollbackZoneWithBody(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// RollbackZone Restore a zone to the state it had at a serial
//
// The difference between the zone as it stands and the zone as it stood
// is written as a **new** commit that moves forward to that state. It is
// not a rewind: a secondary that has already seen serial 90 will never
// accept a jump back to 42, because RFC 1982 arithmetic makes 42 older
// and RFC 1995 has no way to express going backwards.
//
// Records that did not change in between are not touched, so they keep
// their identity, their comments and the history pointing at them.
// Records the server generated are not restored directly: they follow
// from the records they were generated from, so restoring those is what
// moves them.
//
// A rollback to the serial the zone is already at changes nothing and
// answers with no commit.
//
// Takes a body of the `application/json` content type.
//
// Corresponds with POST /zones/{zoneId}/rollback (the `RollbackZone` operationId).
RollbackZone(ctx context.Context, zoneId ZoneID, body RollbackZoneJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// ReplaceRRsetsWithBody Make the named RRsets exactly what is given
//
// An RRset (everything sharing an owner name, class and type) is the
// unit DNS answers with (RFC 2181 §5), and therefore the unit a record
// editor edits. Sending the set rather than a list of additions and
// removals means the client says what it wants to be true, and the server
// works out the difference; a record whose data did not change keeps its
// identity, and with it its comment, its provenance and the history
// pointing at it.
//
// Only the RRsets named here are touched. An empty `records` removes one.
//
// Everything in one request becomes one commit, so a page of edits saved
// together is one line in the history and one point to roll back to.
//
// The RRsets are named in the body rather than in the path because a DNS
// label may hold any octet, `/` among them, so there is no path form that
// is safe for every name.
//
// Takes any type of body and a specified content type.
//
// Corresponds with PUT /zones/{zoneId}/rrsets (the `ReplaceRRsets` operationId).
ReplaceRRsetsWithBody(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
// ReplaceRRsets Make the named RRsets exactly what is given
//
// An RRset (everything sharing an owner name, class and type) is the
// unit DNS answers with (RFC 2181 §5), and therefore the unit a record
// editor edits. Sending the set rather than a list of additions and
// removals means the client says what it wants to be true, and the server
// works out the difference; a record whose data did not change keeps its
// identity, and with it its comment, its provenance and the history
// pointing at it.
//
// Only the RRsets named here are touched. An empty `records` removes one.
//
// Everything in one request becomes one commit, so a page of edits saved
// together is one line in the history and one point to roll back to.
//
// The RRsets are named in the body rather than in the path because a DNS
// label may hold any octet, `/` among them, so there is no path form that
// is safe for every name.
//
// Takes a body of the `application/json` content type.
//
// Corresponds with PUT /zones/{zoneId}/rrsets (the `ReplaceRRsets` operationId).
ReplaceRRsets(ctx context.Context, zoneId ZoneID, body ReplaceRRsetsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
}
The interface specification for the client above.
type ClientOption ¶
ClientOption allows setting custom parameters during construction
func WithHTTPClient ¶
func WithHTTPClient(doer HttpRequestDoer) ClientOption
WithHTTPClient allows overriding the default Doer, which is automatically created using http.Client. This is useful for tests.
func WithRequestEditorFn ¶
func WithRequestEditorFn(fn RequestEditorFn) ClientOption
WithRequestEditorFn allows setting up a callback function, which will be called right before sending the request. This can be used to mutate the request.
type ClientWithResponses ¶
type ClientWithResponses struct {
ClientInterface
}
ClientWithResponses builds on ClientInterface to offer response payloads
func NewClientWithResponses ¶
func NewClientWithResponses(server string, opts ...ClientOption) (*ClientWithResponses, error)
NewClientWithResponses creates a new ClientWithResponses, which wraps Client with return type handling
func (*ClientWithResponses) CheckZoneWithResponse ¶ added in v0.2.0
func (c *ClientWithResponses) CheckZoneWithResponse(ctx context.Context, zoneId ZoneID, params *CheckZoneParams, reqEditors ...RequestEditorFn) (*CheckZoneResponse, error)
CheckZoneWithResponse Report what is wrong with a zone as it stands
Every rule the write path enforces, applied to the zone as it is stored.
A write is checked against the names it touches, and against the names a new delegation would put out of reach, so a zone edited only through this API stays sound. What this finds is what did not arrive that way: data written before a rule existed, or a hand on the database file.
It reports rather than refuses. A name with more than one problem yields the first of them, and the list stops at a thousand findings: a zone past that has one systematic fault rather than a thousand separate ones.
Nothing is written. Repairing what this names is ordinary editing.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /zones/{zoneId}/check (the `CheckZone` operationId).
func (*ClientWithResponses) CreateRecordWithBodyWithResponse ¶
func (c *ClientWithResponses) CreateRecordWithBodyWithResponse(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateRecordResponse, error)
CreateRecordWithBodyWithResponse Add a record to a zone
An address record may generate a PTR in the reverse zone answering for it. What that produced, and what it could not produce, comes back in the response rather than in a log line (docs/decisions/ D3 and D6).
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /zones/{zoneId}/records (the `CreateRecord` operationId).
func (*ClientWithResponses) CreateRecordWithResponse ¶
func (c *ClientWithResponses) CreateRecordWithResponse(ctx context.Context, zoneId ZoneID, body CreateRecordJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateRecordResponse, error)
CreateRecordWithResponse Add a record to a zone
An address record may generate a PTR in the reverse zone answering for it. What that produced, and what it could not produce, comes back in the response rather than in a log line (docs/decisions/ D3 and D6).
Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /zones/{zoneId}/records (the `CreateRecord` operationId).
func (*ClientWithResponses) CreateSessionWithBodyWithResponse ¶
func (c *ClientWithResponses) CreateSessionWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateSessionResponse, error)
CreateSessionWithBodyWithResponse Exchange a token for a browser session
The web interface does not hold a long-lived token. It posts one here once and receives an `httpOnly` session cookie, which no script that gets injected into the page can read, which is the whole point.
A second, readable cookie carries a CSRF value. Every state-changing request authenticated by the session cookie has to repeat it in the `X-Wegweiser-CSRF` header. `SameSite=Strict` already blocks a cross-site form post; this is the second layer. A request that authenticates with a bearer token skips the check, because CSRF needs ambient credentials and a bearer token is not ambient.
Unauthenticated, because a request that could authenticate would not need this. The token inside is checked the same way and is rate-limited the same way.
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /auth/session (the `CreateSession` operationId).
func (*ClientWithResponses) CreateSessionWithResponse ¶
func (c *ClientWithResponses) CreateSessionWithResponse(ctx context.Context, body CreateSessionJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateSessionResponse, error)
CreateSessionWithResponse Exchange a token for a browser session
The web interface does not hold a long-lived token. It posts one here once and receives an `httpOnly` session cookie, which no script that gets injected into the page can read, which is the whole point.
A second, readable cookie carries a CSRF value. Every state-changing request authenticated by the session cookie has to repeat it in the `X-Wegweiser-CSRF` header. `SameSite=Strict` already blocks a cross-site form post; this is the second layer. A request that authenticates with a bearer token skips the check, because CSRF needs ambient credentials and a bearer token is not ambient.
Unauthenticated, because a request that could authenticate would not need this. The token inside is checked the same way and is rate-limited the same way.
Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /auth/session (the `CreateSession` operationId).
func (*ClientWithResponses) CreateTSIGKeyWithBodyWithResponse ¶ added in v0.2.0
func (c *ClientWithResponses) CreateTSIGKeyWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateTSIGKeyResponse, error)
CreateTSIGKeyWithBodyWithResponse Create a key
The secret comes back in this response. Unlike an API token it can be read again, because verifying a signature means recomputing the MAC and this server therefore has to keep it.
Leave the secret out and one is generated, at least as long as the hash output of the algorithm (RFC 8945 section 8). Send one to match a secondary that already has a key, base64 as every other implementation writes it.
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /tsig-keys (the `CreateTSIGKey` operationId).
func (*ClientWithResponses) CreateTSIGKeyWithResponse ¶ added in v0.2.0
func (c *ClientWithResponses) CreateTSIGKeyWithResponse(ctx context.Context, body CreateTSIGKeyJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateTSIGKeyResponse, error)
CreateTSIGKeyWithResponse Create a key
The secret comes back in this response. Unlike an API token it can be read again, because verifying a signature means recomputing the MAC and this server therefore has to keep it.
Leave the secret out and one is generated, at least as long as the hash output of the algorithm (RFC 8945 section 8). Send one to match a secondary that already has a key, base64 as every other implementation writes it.
Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /tsig-keys (the `CreateTSIGKey` operationId).
func (*ClientWithResponses) CreateTokenWithBodyWithResponse ¶
func (c *ClientWithResponses) CreateTokenWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateTokenResponse, error)
CreateTokenWithBodyWithResponse Mint a token
The secret comes back in this response and never again. It is 256 bits from a cryptographic source; what the server keeps is its SHA-256, so a copy of the database is not a copy of the credentials.
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /tokens (the `CreateToken` operationId).
func (*ClientWithResponses) CreateTokenWithResponse ¶
func (c *ClientWithResponses) CreateTokenWithResponse(ctx context.Context, body CreateTokenJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateTokenResponse, error)
CreateTokenWithResponse Mint a token
The secret comes back in this response and never again. It is 256 bits from a cryptographic source; what the server keeps is its SHA-256, so a copy of the database is not a copy of the credentials.
Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /tokens (the `CreateToken` operationId).
func (*ClientWithResponses) CreateZoneWithBodyWithResponse ¶
func (c *ClientWithResponses) CreateZoneWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateZoneResponse, error)
CreateZoneWithBodyWithResponse Create a zone
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /zones (the `CreateZone` operationId).
func (*ClientWithResponses) CreateZoneWithResponse ¶
func (c *ClientWithResponses) CreateZoneWithResponse(ctx context.Context, body CreateZoneJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateZoneResponse, error)
CreateZoneWithResponse Create a zone
Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /zones (the `CreateZone` operationId).
func (*ClientWithResponses) DeleteRecordWithResponse ¶
func (c *ClientWithResponses) DeleteRecordWithResponse(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*DeleteRecordResponse, error)
DeleteRecordWithResponse Delete a record
Returns a wrapper object for the known response body format(s).
Corresponds with DELETE /records/{recordId} (the `DeleteRecord` operationId).
func (*ClientWithResponses) DeleteSessionWithResponse ¶
func (c *ClientWithResponses) DeleteSessionWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*DeleteSessionResponse, error)
DeleteSessionWithResponse End the session
The cookies are cleared and the session is forgotten here, so a copy of the cookie taken beforehand stops working too. The token it was opened with is untouched.
Returns a wrapper object for the known response body format(s).
Corresponds with DELETE /auth/session (the `DeleteSession` operationId).
func (*ClientWithResponses) DeleteZoneWithResponse ¶
func (c *ClientWithResponses) DeleteZoneWithResponse(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*DeleteZoneResponse, error)
DeleteZoneWithResponse Delete a zone and everything in it
Returns a wrapper object for the known response body format(s).
Corresponds with DELETE /zones/{zoneId} (the `DeleteZone` operationId).
func (*ClientWithResponses) DetachRecordWithResponse ¶
func (c *ClientWithResponses) DetachRecordWithResponse(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*DetachRecordResponse, error)
DetachRecordWithResponse Take over a generated record
The record keeps its data and its identity, loses its link to the record it was generated from, and the automation stops maintaining it (docs/decisions/ D4). A record that was already authored is returned unchanged: asking for it to be nobody's derivative has got what it asked for.
Returns a wrapper object for the known response body format(s).
Corresponds with POST /records/{recordId}/detach (the `DetachRecord` operationId).
func (*ClientWithResponses) ExportZoneWithResponse ¶
func (c *ClientWithResponses) ExportZoneWithResponse(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*ExportZoneResponse, error)
ExportZoneWithResponse Write a zone out as a zonefile
The presentation format of RFC 1035 §5, which any other authoritative server reads. Every name is absolute and every record carries its own TTL and class, so no line means something different when it is copied out; records come out in the canonical order of RFC 4034 §6.1, so exporting the same zone twice is the same bytes and a diff of two exports is a diff of two zones.
A disabled record is left out. It is not part of the zone as it answers, and a file has nowhere to say "present but switched off".
Returns a wrapper object for the known response body format(s).
Corresponds with GET /zones/{zoneId}/export (the `ExportZone` operationId).
func (*ClientWithResponses) GetClusterWithResponse ¶ added in v0.5.0
func (c *ClientWithResponses) GetClusterWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetClusterResponse, error)
GetClusterWithResponse Say who the members are, and how far this one has got
The members as this node's copy of the cluster's configuration lists them, which of them leads, and how far each has got through the log. This node asks every other member for that as it answers, and one that does not answer within a couple of seconds is listed as not reached (docs/decisions/d47-status-asks-every-member.md). Asked over the cluster port, a member answers for itself only.
A node that has left the cluster over an entry it could not apply says where it stopped and why, and goes on answering queries with what it holds (docs/decisions/d29-a-node-that-cannot-apply.md).
A node whose configuration file has no cluster section answers 404.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /cluster (the `GetCluster` operationId).
func (*ClientWithResponses) GetCommitWithResponse ¶
func (c *ClientWithResponses) GetCommitWithResponse(ctx context.Context, commitId string, reqEditors ...RequestEditorFn) (*GetCommitResponse, error)
GetCommitWithResponse Read one commit and everything it changed
The events are the diff: every record that was removed and every record that was added, both carrying their full data. That is what RFC 1995 §2 asks of an incremental transfer, and it is also what an interface needs to render the change and what restoring an earlier state needs to undo it.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /commits/{commitId} (the `GetCommit` operationId).
func (*ClientWithResponses) GetHealthWithResponse ¶
func (c *ClientWithResponses) GetHealthWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetHealthResponse, error)
GetHealthWithResponse Report whether the server is fit to answer queries
Unauthenticated on purpose: a health check that needs a credential is one more thing that can fail for a reason unrelated to health.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /healthz (the `GetHealth` operationId).
func (*ClientWithResponses) GetMetricsWithResponse ¶
func (c *ClientWithResponses) GetMetricsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetMetricsResponse, error)
GetMetricsWithResponse Export the current metrics
The Prometheus text exposition format: queries by transport, type and response code, latency, response sizes, drops, truncations, what the snapshot being answered from holds, and the Go runtime and process collectors that come with any Go exporter.
Authenticated like everything else here. What a server is asked, how often and by how many zones is operational detail, and a scraper can carry a bearer token: Prometheus has had `authorization` in its scrape configuration for years. `/healthz` is the one endpoint that needs no credential, because a load balancer cannot be given one.
The response carries the exposition format's version in its `Content-Type`, which is where a scraper reads it.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /metrics (the `GetMetrics` operationId).
func (*ClientWithResponses) GetRecordWithResponse ¶
func (c *ClientWithResponses) GetRecordWithResponse(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*GetRecordResponse, error)
GetRecordWithResponse Read one record
Returns a wrapper object for the known response body format(s).
Corresponds with GET /records/{recordId} (the `GetRecord` operationId).
func (*ClientWithResponses) GetSecondaryConfigWithResponse ¶ added in v0.2.0
func (c *ClientWithResponses) GetSecondaryConfigWithResponse(ctx context.Context, params *GetSecondaryConfigParams, reqEditors ...RequestEditorFn) (*GetSecondaryConfigResponse, error)
GetSecondaryConfigWithResponse Write the configuration a secondary needs
The zones this server holds, rendered as a configuration file for the software running at the other end. It carries the transfer key's secret in clear, which is what it is for, so it needs the `admin` scope for the same reason reading that secret does.
The output is deterministic. Regenerating it produces the same bytes when nothing has changed, so it can live under configuration management without a diff on every run.
What is reported beside it is the arrangement rather than the syntax: a transfer list nobody is on, a key that grants nothing, a secondary the notifications do not reach. Each of those renders a file that is perfectly formed and does not work.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /secondary-config (the `GetSecondaryConfig` operationId).
func (*ClientWithResponses) GetSecondaryStatusWithResponse ¶ added in v0.3.0
func (c *ClientWithResponses) GetSecondaryStatusWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetSecondaryStatusResponse, error)
GetSecondaryStatusWithResponse Say what each secondary holds
One entry per zone per secondary on the notify list, saying what that secondary last said its serial was and how that compares with what this server publishes now.
A secondary is asked once a notification to it has been answered or given up on, and at least hourly whether anything changed or not. Until the first question about a pair has finished it is reported as unasked, which is a state of its own: reporting it as in step would be the one thing this is here to stop.
Nothing is reported while a notification is outstanding. A secondary that has just been told and has not fetched yet is in flight rather than behind, and a report that cannot tell those apart is one nobody reads.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /secondary-status (the `GetSecondaryStatus` operationId).
func (*ClientWithResponses) GetSessionWithResponse ¶
func (c *ClientWithResponses) GetSessionWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetSessionResponse, error)
GetSessionWithResponse Report who this request is authenticated as
What an interface asks when it loads, to find out whether it has to show a login at all, and what to grey out if it does not.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /auth/session (the `GetSession` operationId).
func (*ClientWithResponses) GetSettingsWithResponse ¶
func (c *ClientWithResponses) GetSettingsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetSettingsResponse, error)
GetSettingsWithResponse Read the server-wide settings
These are the defaults a zone that says nothing about itself inherits. They live in the database, so changing one takes effect on the next write without a restart (docs/decisions/ D11).
Returns a wrapper object for the known response body format(s).
Corresponds with GET /settings (the `GetSettings` operationId).
func (*ClientWithResponses) GetZoneWithResponse ¶
func (c *ClientWithResponses) GetZoneWithResponse(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*GetZoneResponse, error)
GetZoneWithResponse Read one zone
Everything a listing carries, and the one diagnosis a zone can carry that nothing about it looks wrong for. It is computed here rather than left to `/check` because somebody who has to know to run a check in order to be told their delegation is broken has been told nothing. It costs the zone's NS records and one lookup per name server, not a walk of the zone, which is what makes that affordable.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /zones/{zoneId} (the `GetZone` operationId).
func (*ClientWithResponses) ImportZoneWithBodyWithResponse ¶
func (c *ClientWithResponses) ImportZoneWithBodyWithResponse(ctx context.Context, params *ImportZoneParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ImportZoneResponse, error)
ImportZoneWithBodyWithResponse Bring a whole zone in from a zonefile
The body is the file itself, in the presentation format of RFC 1035 §5. The zone it describes is wherever its SOA sits, so the name is not sent separately and cannot be sent inconsistently.
The serial in the file is the serial the zone starts at. A migrated zone that restarted at 1 would look older than itself to every secondary that has already seen it (RFC 1982 §3.2), which is the single most common way to break a migration (docs/decisions/ D2).
`$INCLUDE` is refused: a file arriving here that could pull in a path would read this server's filesystem out loud.
Records that a delegation in the same file makes unanswerable are left out rather than failing the whole file, and come back in `skipped`. Real zones carry them, and a migration that stops on one is a migration nobody finishes.
The zone must not already exist. A file is the complete contents of a zone, so bringing one into a zone that holds records is a replacement rather than an import.
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /zones/import (the `ImportZone` operationId).
func (*ClientWithResponses) InitClusterWithResponse ¶ added in v0.5.0
func (c *ClientWithResponses) InitClusterWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*InitClusterResponse, error)
InitClusterWithResponse Start a cluster with this node as its first member
This node becomes the only member of a new cluster, and brings everything it holds into it: zones, tokens, keys and settings. Every other node joins by asking a member, with `weg serve --join` (docs/decisions/d44-starting-and-joining.md).
It is done once. A node that is a member already is refused, and so is one whose configuration file has no cluster section, since it has no address to be reached at and no secret to prove it belongs.
Writes wait while the cluster is started, and go through its log from then on.
Returns a wrapper object for the known response body format(s).
Corresponds with POST /cluster/init (the `InitCluster` operationId).
func (*ClientWithResponses) ListCommitsWithResponse ¶
func (c *ClientWithResponses) ListCommitsWithResponse(ctx context.Context, params *ListCommitsParams, reqEditors ...RequestEditorFn) (*ListCommitsResponse, error)
ListCommitsWithResponse List commits, newest first
Every write is a commit, so this is the whole history of the server. Commits are listed without their events, which is what makes a page of history cheap on a zone that has been edited for years; read one commit to get the changes it made.
A commit outlives the zone it describes, so the history of a deleted zone is still here, under the name it had.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /commits (the `ListCommits` operationId).
func (*ClientWithResponses) ListRecordsWithResponse ¶
func (c *ClientWithResponses) ListRecordsWithResponse(ctx context.Context, zoneId ZoneID, params *ListRecordsParams, reqEditors ...RequestEditorFn) (*ListRecordsResponse, error)
ListRecordsWithResponse List the records of a zone
Returns a wrapper object for the known response body format(s).
Corresponds with GET /zones/{zoneId}/records (the `ListRecords` operationId).
func (*ClientWithResponses) ListTSIGKeysWithResponse ¶ added in v0.2.0
func (c *ClientWithResponses) ListTSIGKeysWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*ListTSIGKeysResponse, error)
ListTSIGKeysWithResponse List the keys a secondary may sign a transfer with
Revoked keys are listed too, so that a name a secondary still has configured can be looked up. No listing carries a secret; reading one back is a request of its own.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /tsig-keys (the `ListTSIGKeys` operationId).
func (*ClientWithResponses) ListTokensWithResponse ¶
func (c *ClientWithResponses) ListTokensWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*ListTokensResponse, error)
ListTokensWithResponse List the tokens that may use this API
Revoked and expired tokens are listed too, so that a name in the history can still be looked up. No response ever carries a secret: what is stored is its SHA-256, and the leading characters kept in the clear are there to tell two tokens apart, not to authenticate with.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /tokens (the `ListTokens` operationId).
func (*ClientWithResponses) ListZonesWithResponse ¶
func (c *ClientWithResponses) ListZonesWithResponse(ctx context.Context, params *ListZonesParams, reqEditors ...RequestEditorFn) (*ListZonesResponse, error)
ListZonesWithResponse List zones
Returns a wrapper object for the known response body format(s).
Corresponds with GET /zones (the `ListZones` operationId).
func (*ClientWithResponses) MakeRecordCanonicalWithResponse ¶ added in v0.2.0
func (c *ClientWithResponses) MakeRecordCanonicalWithResponse(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*MakeRecordCanonicalResponse, error)
MakeRecordCanonicalWithResponse Make this the name an address reverses to
Several names on one address is ordinary, and only one of them can be the answer to a reverse lookup. Where the address record named here is not that one, this hands it the entry and takes it from whatever generated one holds it.
The record itself does not change. What changes is the reverse zone, in a commit of its own like any other change the automation makes.
An entry somebody wrote by hand is left alone: detaching a generated record is how a person says to stop maintaining it, and taking it back would make detaching mean nothing (docs/decisions/ D4). A record that already holds the entry is answered without anything being written.
Returns a wrapper object for the known response body format(s).
Corresponds with POST /records/{recordId}/canonical (the `MakeRecordCanonical` operationId).
func (*ClientWithResponses) ReadTSIGKeySecretWithResponse ¶ added in v0.2.0
func (c *ClientWithResponses) ReadTSIGKeySecretWithResponse(ctx context.Context, keyId string, reqEditors ...RequestEditorFn) (*ReadTSIGKeySecretResponse, error)
ReadTSIGKeySecretWithResponse Read a key's secret
Separate from the listing so that a secret is shown when somebody asked for it and not when they were looking at something else. It is not a boundary: the database holds the secret either way.
A revoked key has none, and this is then a refusal rather than an empty answer.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /tsig-keys/{keyId}/secret (the `ReadTSIGKeySecret` operationId).
func (*ClientWithResponses) ReconcileZoneWithResponse ¶ added in v0.2.0
func (c *ClientWithResponses) ReconcileZoneWithResponse(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*ReconcileZoneResponse, error)
ReconcileZoneWithResponse Write the reverse entries this zone's records imply and does not have
Reverse automation reacts to changes, so a zone that arrives after the records it should hold has nothing to react to. A reverse zone created for a network already in use starts empty, however many addresses are already named in it, and this is what fills it: one commit for everything missing.
It only adds. An entry that became obsolete was taken away by the change that obsoleted it, and one somebody detached is theirs to keep, so nothing here removes anything.
A zone that needs nothing is left alone and answers with no commit.
Returns a wrapper object for the known response body format(s).
Corresponds with POST /zones/{zoneId}/reconcile (the `ReconcileZone` operationId).
func (*ClientWithResponses) RemoveClusterMemberWithResponse ¶ added in v0.5.0
func (c *ClientWithResponses) RemoveClusterMemberWithResponse(ctx context.Context, memberId string, reqEditors ...RequestEditorFn) (*RemoveClusterMemberResponse, error)
RemoveClusterMemberWithResponse Take a member out of the cluster
The member stops being one once the change is committed. Naming the member asked is how it leaves, and naming another is how a member that is off, or has stopped, is taken out (docs/decisions/d44-starting-and-joining.md). Any member can be asked; one that does not lead hands the request to the one that does.
A member taken out goes on answering queries with what it held, and refuses writes until it is joined again or run on its own (docs/decisions/d46-a-member-that-has-left.md).
A member the cluster does not have is 404. The cluster's only voter cannot be removed, and is 409.
Returns a wrapper object for the known response body format(s).
Corresponds with DELETE /cluster/members/{memberId} (the `RemoveClusterMember` operationId).
func (*ClientWithResponses) ReplaceRRsetsWithBodyWithResponse ¶
func (c *ClientWithResponses) ReplaceRRsetsWithBodyWithResponse(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ReplaceRRsetsResponse, error)
ReplaceRRsetsWithBodyWithResponse Make the named RRsets exactly what is given
An RRset (everything sharing an owner name, class and type) is the unit DNS answers with (RFC 2181 §5), and therefore the unit a record editor edits. Sending the set rather than a list of additions and removals means the client says what it wants to be true, and the server works out the difference; a record whose data did not change keeps its identity, and with it its comment, its provenance and the history pointing at it.
Only the RRsets named here are touched. An empty `records` removes one.
Everything in one request becomes one commit, so a page of edits saved together is one line in the history and one point to roll back to.
The RRsets are named in the body rather than in the path because a DNS label may hold any octet, `/` among them, so there is no path form that is safe for every name.
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with PUT /zones/{zoneId}/rrsets (the `ReplaceRRsets` operationId).
func (*ClientWithResponses) ReplaceRRsetsWithResponse ¶
func (c *ClientWithResponses) ReplaceRRsetsWithResponse(ctx context.Context, zoneId ZoneID, body ReplaceRRsetsJSONRequestBody, reqEditors ...RequestEditorFn) (*ReplaceRRsetsResponse, error)
ReplaceRRsetsWithResponse Make the named RRsets exactly what is given
An RRset (everything sharing an owner name, class and type) is the unit DNS answers with (RFC 2181 §5), and therefore the unit a record editor edits. Sending the set rather than a list of additions and removals means the client says what it wants to be true, and the server works out the difference; a record whose data did not change keeps its identity, and with it its comment, its provenance and the history pointing at it.
Only the RRsets named here are touched. An empty `records` removes one.
Everything in one request becomes one commit, so a page of edits saved together is one line in the history and one point to roll back to.
The RRsets are named in the body rather than in the path because a DNS label may hold any octet, `/` among them, so there is no path form that is safe for every name.
Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
Corresponds with PUT /zones/{zoneId}/rrsets (the `ReplaceRRsets` operationId).
func (*ClientWithResponses) RevokeTSIGKeyWithResponse ¶ added in v0.2.0
func (c *ClientWithResponses) RevokeTSIGKeyWithResponse(ctx context.Context, keyId string, reqEditors ...RequestEditorFn) (*RevokeTSIGKeyResponse, error)
RevokeTSIGKeyWithResponse Withdraw a key
The key stops signing and its secret is cleared, which is the one thing revoking a token does not do: a token leaves only a hash behind, and a key would leave material nothing will read again. The row stays so the name and the dates still read, and the name is then free for a replacement.
Revoking a key that is already revoked changes nothing and is not an error.
Returns a wrapper object for the known response body format(s).
Corresponds with DELETE /tsig-keys/{keyId} (the `RevokeTSIGKey` operationId).
func (*ClientWithResponses) RevokeTokenWithResponse ¶
func (c *ClientWithResponses) RevokeTokenWithResponse(ctx context.Context, tokenId string, reqEditors ...RequestEditorFn) (*RevokeTokenResponse, error)
RevokeTokenWithResponse Withdraw a token
The token is marked unusable rather than removed, so that the history it appears in still names something. Revoking a token that is already revoked changes nothing and is not an error.
The last token that can still administer the server is refused: a server nobody can reach is not a state this API will put itself in.
Returns a wrapper object for the known response body format(s).
Corresponds with DELETE /tokens/{tokenId} (the `RevokeToken` operationId).
func (*ClientWithResponses) RollbackZoneWithBodyWithResponse ¶
func (c *ClientWithResponses) RollbackZoneWithBodyWithResponse(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*RollbackZoneResponse, error)
RollbackZoneWithBodyWithResponse Restore a zone to the state it had at a serial
The difference between the zone as it stands and the zone as it stood is written as a **new** commit that moves forward to that state. It is not a rewind: a secondary that has already seen serial 90 will never accept a jump back to 42, because RFC 1982 arithmetic makes 42 older and RFC 1995 has no way to express going backwards.
Records that did not change in between are not touched, so they keep their identity, their comments and the history pointing at them. Records the server generated are not restored directly: they follow from the records they were generated from, so restoring those is what moves them.
A rollback to the serial the zone is already at changes nothing and answers with no commit.
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /zones/{zoneId}/rollback (the `RollbackZone` operationId).
func (*ClientWithResponses) RollbackZoneWithResponse ¶
func (c *ClientWithResponses) RollbackZoneWithResponse(ctx context.Context, zoneId ZoneID, body RollbackZoneJSONRequestBody, reqEditors ...RequestEditorFn) (*RollbackZoneResponse, error)
RollbackZoneWithResponse Restore a zone to the state it had at a serial
The difference between the zone as it stands and the zone as it stood is written as a **new** commit that moves forward to that state. It is not a rewind: a secondary that has already seen serial 90 will never accept a jump back to 42, because RFC 1982 arithmetic makes 42 older and RFC 1995 has no way to express going backwards.
Records that did not change in between are not touched, so they keep their identity, their comments and the history pointing at them. Records the server generated are not restored directly: they follow from the records they were generated from, so restoring those is what moves them.
A rollback to the serial the zone is already at changes nothing and answers with no commit.
Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
Corresponds with POST /zones/{zoneId}/rollback (the `RollbackZone` operationId).
func (*ClientWithResponses) StreamQueriesWithResponse ¶
func (c *ClientWithResponses) StreamQueriesWithResponse(ctx context.Context, params *StreamQueriesParams, reqEditors ...RequestEditorFn) (*StreamQueriesResponse, error)
StreamQueriesWithResponse Watch queries as they are answered
A live tail of the exchanges matching the filter, as Server-Sent Events. Two kinds of message arrive:
- `query`, one per exchange, carrying a `QueryEvent`.
- `status`, whenever what the stream is leaving out changes and every few seconds regardless, carrying a `StreamStatus`. It says what the stream is sampling at and how much it has dropped, because a stream that quietly leaves things out while looking complete is worse than one that admits to showing every fiftieth query (docs/decisions/ D9).
The filter is applied before anything is buffered, so watching one zone stays complete however busy the rest of the server is. A watcher that stops reading loses its oldest exchanges, never its newest: this is a live view, and it is never allowed to slow a query down.
How many watchers may be open at once is bounded, because each one costs the query path a filter evaluation per query. A request past the bound is refused with 503.
Returns a wrapper object for the known response body format(s).
Corresponds with GET /queries/stream (the `StreamQueries` operationId).
func (*ClientWithResponses) UpdateRecordWithBodyWithResponse ¶
func (c *ClientWithResponses) UpdateRecordWithBodyWithResponse(ctx context.Context, recordId RecordID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateRecordResponse, error)
UpdateRecordWithBodyWithResponse Change a record
Only the fields that are present are changed. The record keeps its identity, and with it its comment, its provenance and the history pointing at it, which is what tells an edit apart from a delete and an add.
A record the server generated is refused, naming the record it came from; detach it first to take it over (docs/decisions/ D4).
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with PATCH /records/{recordId} (the `UpdateRecord` operationId).
func (*ClientWithResponses) UpdateRecordWithResponse ¶
func (c *ClientWithResponses) UpdateRecordWithResponse(ctx context.Context, recordId RecordID, body UpdateRecordJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateRecordResponse, error)
UpdateRecordWithResponse Change a record
Only the fields that are present are changed. The record keeps its identity, and with it its comment, its provenance and the history pointing at it, which is what tells an edit apart from a delete and an add.
A record the server generated is refused, naming the record it came from; detach it first to take it over (docs/decisions/ D4).
Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
Corresponds with PATCH /records/{recordId} (the `UpdateRecord` operationId).
func (*ClientWithResponses) UpdateSettingsWithBodyWithResponse ¶
func (c *ClientWithResponses) UpdateSettingsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateSettingsResponse, error)
UpdateSettingsWithBodyWithResponse Change the server-wide settings
A field that is absent is left alone, so a client may send only what it means to change.
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with PATCH /settings (the `UpdateSettings` operationId).
func (*ClientWithResponses) UpdateSettingsWithResponse ¶
func (c *ClientWithResponses) UpdateSettingsWithResponse(ctx context.Context, body UpdateSettingsJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateSettingsResponse, error)
UpdateSettingsWithResponse Change the server-wide settings
A field that is absent is left alone, so a client may send only what it means to change.
Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
Corresponds with PATCH /settings (the `UpdateSettings` operationId).
func (*ClientWithResponses) UpdateZoneWithBodyWithResponse ¶
func (c *ClientWithResponses) UpdateZoneWithBodyWithResponse(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateZoneResponse, error)
UpdateZoneWithBodyWithResponse Change a zone's own settings
Only the fields that are present are changed. The zone's records are not touched, and the zone cannot be renamed: every owner name, every sort key and the whole journal belong to the name it has.
Changing anything that is served advances the serial, like any other change. Changing nothing writes nothing.
Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
Corresponds with PATCH /zones/{zoneId} (the `UpdateZone` operationId).
func (*ClientWithResponses) UpdateZoneWithResponse ¶
func (c *ClientWithResponses) UpdateZoneWithResponse(ctx context.Context, zoneId ZoneID, body UpdateZoneJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateZoneResponse, error)
UpdateZoneWithResponse Change a zone's own settings
Only the fields that are present are changed. The zone's records are not touched, and the zone cannot be renamed: every owner name, every sort key and the whole journal belong to the name it has.
Changing anything that is served advances the serial, like any other change. Changing nothing writes nothing.
Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
Corresponds with PATCH /zones/{zoneId} (the `UpdateZone` operationId).
type ClientWithResponsesInterface ¶
type ClientWithResponsesInterface interface {
// DeleteSessionWithResponse End the session
//
// The cookies are cleared and the session is forgotten here, so a copy of
// the cookie taken beforehand stops working too. The token it was opened
// with is untouched.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with DELETE /auth/session (the `DeleteSession` operationId).
DeleteSessionWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*DeleteSessionResponse, error)
// GetSessionWithResponse Report who this request is authenticated as
//
// What an interface asks when it loads, to find out whether it has to
// show a login at all, and what to grey out if it does not.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /auth/session (the `GetSession` operationId).
GetSessionWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetSessionResponse, error)
// CreateSessionWithBodyWithResponse Exchange a token for a browser session
//
// The web interface does not hold a long-lived token. It posts one here
// once and receives an `httpOnly` session cookie, which no script that
// gets injected into the page can read, which is the whole point.
//
// A second, readable cookie carries a CSRF value. Every state-changing
// request authenticated by the session cookie has to repeat it in the
// `X-Wegweiser-CSRF` header. `SameSite=Strict` already blocks a
// cross-site form post; this is the second layer. A request that
// authenticates with a bearer token skips the check, because CSRF needs
// ambient credentials and a bearer token is not ambient.
//
// Unauthenticated, because a request that could authenticate would not
// need this. The token inside is checked the same way and is rate-limited
// the same way.
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /auth/session (the `CreateSession` operationId).
CreateSessionWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateSessionResponse, error)
// CreateSessionWithResponse Exchange a token for a browser session
//
// The web interface does not hold a long-lived token. It posts one here
// once and receives an `httpOnly` session cookie, which no script that
// gets injected into the page can read, which is the whole point.
//
// A second, readable cookie carries a CSRF value. Every state-changing
// request authenticated by the session cookie has to repeat it in the
// `X-Wegweiser-CSRF` header. `SameSite=Strict` already blocks a
// cross-site form post; this is the second layer. A request that
// authenticates with a bearer token skips the check, because CSRF needs
// ambient credentials and a bearer token is not ambient.
//
// Unauthenticated, because a request that could authenticate would not
// need this. The token inside is checked the same way and is rate-limited
// the same way.
//
// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /auth/session (the `CreateSession` operationId).
CreateSessionWithResponse(ctx context.Context, body CreateSessionJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateSessionResponse, error)
// GetClusterWithResponse Say who the members are, and how far this one has got
//
// The members as this node's copy of the cluster's configuration lists
// them, which of them leads, and how far each has got through the log.
// This node asks every other member for that as it answers, and one
// that does not answer within a couple of seconds is listed as not
// reached (docs/decisions/d47-status-asks-every-member.md). Asked over
// the cluster port, a member answers for itself only.
//
// A node that has left the cluster over an entry it could not apply says
// where it stopped and why, and goes on answering queries with what it
// holds (docs/decisions/d29-a-node-that-cannot-apply.md).
//
// A node whose configuration file has no cluster section answers 404.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /cluster (the `GetCluster` operationId).
GetClusterWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetClusterResponse, error)
// InitClusterWithResponse Start a cluster with this node as its first member
//
// This node becomes the only member of a new cluster, and brings
// everything it holds into it: zones, tokens, keys and settings. Every
// other node joins by asking a member, with `weg serve --join`
// (docs/decisions/d44-starting-and-joining.md).
//
// It is done once. A node that is a member already is refused, and so is
// one whose configuration file has no cluster section, since it has no
// address to be reached at and no secret to prove it belongs.
//
// Writes wait while the cluster is started, and go through its log from
// then on.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /cluster/init (the `InitCluster` operationId).
InitClusterWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*InitClusterResponse, error)
// RemoveClusterMemberWithResponse Take a member out of the cluster
//
// The member stops being one once the change is committed. Naming the
// member asked is how it leaves, and naming another is how a member that
// is off, or has stopped, is taken out
// (docs/decisions/d44-starting-and-joining.md). Any member can be
// asked; one that does not lead hands the request to the one that does.
//
// A member taken out goes on answering queries with what it held, and
// refuses writes until it is joined again or run on its own
// (docs/decisions/d46-a-member-that-has-left.md).
//
// A member the cluster does not have is 404. The cluster's only voter
// cannot be removed, and is 409.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with DELETE /cluster/members/{memberId} (the `RemoveClusterMember` operationId).
RemoveClusterMemberWithResponse(ctx context.Context, memberId string, reqEditors ...RequestEditorFn) (*RemoveClusterMemberResponse, error)
// ListCommitsWithResponse List commits, newest first
//
// Every write is a commit, so this is the whole history of the server.
// Commits are listed without their events, which is what makes a page of
// history cheap on a zone that has been edited for years; read one commit
// to get the changes it made.
//
// A commit outlives the zone it describes, so the history of a deleted
// zone is still here, under the name it had.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /commits (the `ListCommits` operationId).
ListCommitsWithResponse(ctx context.Context, params *ListCommitsParams, reqEditors ...RequestEditorFn) (*ListCommitsResponse, error)
// GetCommitWithResponse Read one commit and everything it changed
//
// The events are the diff: every record that was removed and every record
// that was added, both carrying their full data. That is what RFC 1995 §2
// asks of an incremental transfer, and it is also what an interface needs
// to render the change and what restoring an earlier state needs to undo
// it.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /commits/{commitId} (the `GetCommit` operationId).
GetCommitWithResponse(ctx context.Context, commitId string, reqEditors ...RequestEditorFn) (*GetCommitResponse, error)
// GetHealthWithResponse Report whether the server is fit to answer queries
//
// Unauthenticated on purpose: a health check that needs a credential is
// one more thing that can fail for a reason unrelated to health.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /healthz (the `GetHealth` operationId).
GetHealthWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetHealthResponse, error)
// GetMetricsWithResponse Export the current metrics
//
// The Prometheus text exposition format: queries by transport, type and
// response code, latency, response sizes, drops, truncations, what the
// snapshot being answered from holds, and the Go runtime and process
// collectors that come with any Go exporter.
//
// Authenticated like everything else here. What a server is asked, how
// often and by how many zones is operational detail, and a scraper can
// carry a bearer token: Prometheus has had `authorization` in its scrape
// configuration for years. `/healthz` is the one endpoint that needs no
// credential, because a load balancer cannot be given one.
//
// The response carries the exposition format's version in its
// `Content-Type`, which is where a scraper reads it.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /metrics (the `GetMetrics` operationId).
GetMetricsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetMetricsResponse, error)
// StreamQueriesWithResponse Watch queries as they are answered
//
// A live tail of the exchanges matching the filter, as Server-Sent
// Events. Two kinds of message arrive:
//
// - `query`, one per exchange, carrying a `QueryEvent`.
// - `status`, whenever what the stream is leaving out changes and every
// few seconds regardless, carrying a `StreamStatus`. It says what the
// stream is sampling at and how much it has dropped, because a stream
// that quietly leaves things out while looking complete is worse than
// one that admits to showing every fiftieth query
// (docs/decisions/ D9).
//
// The filter is applied before anything is buffered, so watching one zone
// stays complete however busy the rest of the server is. A watcher that
// stops reading loses its oldest exchanges, never its newest: this is a
// live view, and it is never allowed to slow a query down.
//
// How many watchers may be open at once is bounded, because each one
// costs the query path a filter evaluation per query. A request past the
// bound is refused with 503.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /queries/stream (the `StreamQueries` operationId).
StreamQueriesWithResponse(ctx context.Context, params *StreamQueriesParams, reqEditors ...RequestEditorFn) (*StreamQueriesResponse, error)
// DeleteRecordWithResponse Delete a record
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with DELETE /records/{recordId} (the `DeleteRecord` operationId).
DeleteRecordWithResponse(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*DeleteRecordResponse, error)
// GetRecordWithResponse Read one record
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /records/{recordId} (the `GetRecord` operationId).
GetRecordWithResponse(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*GetRecordResponse, error)
// UpdateRecordWithBodyWithResponse Change a record
//
// Only the fields that are present are changed. The record keeps its
// identity, and with it its comment, its provenance and the history
// pointing at it, which is what tells an edit apart from a delete and an
// add.
//
// A record the server generated is refused, naming the record it came
// from; detach it first to take it over (docs/decisions/ D4).
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with PATCH /records/{recordId} (the `UpdateRecord` operationId).
UpdateRecordWithBodyWithResponse(ctx context.Context, recordId RecordID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateRecordResponse, error)
// UpdateRecordWithResponse Change a record
//
// Only the fields that are present are changed. The record keeps its
// identity, and with it its comment, its provenance and the history
// pointing at it, which is what tells an edit apart from a delete and an
// add.
//
// A record the server generated is refused, naming the record it came
// from; detach it first to take it over (docs/decisions/ D4).
//
// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with PATCH /records/{recordId} (the `UpdateRecord` operationId).
UpdateRecordWithResponse(ctx context.Context, recordId RecordID, body UpdateRecordJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateRecordResponse, error)
// MakeRecordCanonicalWithResponse Make this the name an address reverses to
//
// Several names on one address is ordinary, and only one of them can be
// the answer to a reverse lookup. Where the address record named here is
// not that one, this hands it the entry and takes it from whatever
// generated one holds it.
//
// The record itself does not change. What changes is the reverse zone,
// in a commit of its own like any other change the automation makes.
//
// An entry somebody wrote by hand is left alone: detaching a generated
// record is how a person says to stop maintaining it, and taking it back
// would make detaching mean nothing (docs/decisions/ D4). A record that
// already holds the entry is answered without anything being written.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /records/{recordId}/canonical (the `MakeRecordCanonical` operationId).
MakeRecordCanonicalWithResponse(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*MakeRecordCanonicalResponse, error)
// DetachRecordWithResponse Take over a generated record
//
// The record keeps its data and its identity, loses its link to the
// record it was generated from, and the automation stops maintaining it
// (docs/decisions/ D4). A record that was already authored is returned
// unchanged: asking for it to be nobody's derivative has got what it
// asked for.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /records/{recordId}/detach (the `DetachRecord` operationId).
DetachRecordWithResponse(ctx context.Context, recordId RecordID, reqEditors ...RequestEditorFn) (*DetachRecordResponse, error)
// GetSecondaryConfigWithResponse Write the configuration a secondary needs
//
// The zones this server holds, rendered as a configuration file for the
// software running at the other end. It carries the transfer key's secret
// in clear, which is what it is for, so it needs the `admin` scope for the
// same reason reading that secret does.
//
// The output is deterministic. Regenerating it produces the same bytes
// when nothing has changed, so it can live under configuration management
// without a diff on every run.
//
// What is reported beside it is the arrangement rather than the syntax: a
// transfer list nobody is on, a key that grants nothing, a secondary the
// notifications do not reach. Each of those renders a file that is
// perfectly formed and does not work.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /secondary-config (the `GetSecondaryConfig` operationId).
GetSecondaryConfigWithResponse(ctx context.Context, params *GetSecondaryConfigParams, reqEditors ...RequestEditorFn) (*GetSecondaryConfigResponse, error)
// GetSecondaryStatusWithResponse Say what each secondary holds
//
// One entry per zone per secondary on the notify list, saying what that
// secondary last said its serial was and how that compares with what this
// server publishes now.
//
// A secondary is asked once a notification to it has been answered or
// given up on, and at least hourly whether anything changed or not. Until
// the first question about a pair has finished it is reported as unasked,
// which is a state of its own: reporting it as in step would be the one
// thing this is here to stop.
//
// Nothing is reported while a notification is outstanding. A secondary
// that has just been told and has not fetched yet is in flight rather than
// behind, and a report that cannot tell those apart is one nobody reads.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /secondary-status (the `GetSecondaryStatus` operationId).
GetSecondaryStatusWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetSecondaryStatusResponse, error)
// GetSettingsWithResponse Read the server-wide settings
//
// These are the defaults a zone that says nothing about itself inherits.
// They live in the database, so changing one takes effect on the next
// write without a restart (docs/decisions/ D11).
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /settings (the `GetSettings` operationId).
GetSettingsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetSettingsResponse, error)
// UpdateSettingsWithBodyWithResponse Change the server-wide settings
//
// A field that is absent is left alone, so a client may send only what it
// means to change.
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with PATCH /settings (the `UpdateSettings` operationId).
UpdateSettingsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateSettingsResponse, error)
// UpdateSettingsWithResponse Change the server-wide settings
//
// A field that is absent is left alone, so a client may send only what it
// means to change.
//
// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with PATCH /settings (the `UpdateSettings` operationId).
UpdateSettingsWithResponse(ctx context.Context, body UpdateSettingsJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateSettingsResponse, error)
// ListTokensWithResponse List the tokens that may use this API
//
// Revoked and expired tokens are listed too, so that a name in the
// history can still be looked up. No response ever carries a secret: what
// is stored is its SHA-256, and the leading characters kept in the clear
// are there to tell two tokens apart, not to authenticate with.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /tokens (the `ListTokens` operationId).
ListTokensWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*ListTokensResponse, error)
// CreateTokenWithBodyWithResponse Mint a token
//
// The secret comes back in this response and never again. It is 256 bits
// from a cryptographic source; what the server keeps is its SHA-256, so a
// copy of the database is not a copy of the credentials.
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /tokens (the `CreateToken` operationId).
CreateTokenWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateTokenResponse, error)
// CreateTokenWithResponse Mint a token
//
// The secret comes back in this response and never again. It is 256 bits
// from a cryptographic source; what the server keeps is its SHA-256, so a
// copy of the database is not a copy of the credentials.
//
// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /tokens (the `CreateToken` operationId).
CreateTokenWithResponse(ctx context.Context, body CreateTokenJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateTokenResponse, error)
// RevokeTokenWithResponse Withdraw a token
//
// The token is marked unusable rather than removed, so that the history
// it appears in still names something. Revoking a token that is already
// revoked changes nothing and is not an error.
//
// The last token that can still administer the server is refused: a
// server nobody can reach is not a state this API will put itself in.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with DELETE /tokens/{tokenId} (the `RevokeToken` operationId).
RevokeTokenWithResponse(ctx context.Context, tokenId string, reqEditors ...RequestEditorFn) (*RevokeTokenResponse, error)
// ListTSIGKeysWithResponse List the keys a secondary may sign a transfer with
//
// Revoked keys are listed too, so that a name a secondary still has
// configured can be looked up. No listing carries a secret; reading one
// back is a request of its own.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /tsig-keys (the `ListTSIGKeys` operationId).
ListTSIGKeysWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*ListTSIGKeysResponse, error)
// CreateTSIGKeyWithBodyWithResponse Create a key
//
// The secret comes back in this response. Unlike an API token it can be
// read again, because verifying a signature means recomputing the MAC and
// this server therefore has to keep it.
//
// Leave the secret out and one is generated, at least as long as the hash
// output of the algorithm (RFC 8945 section 8). Send one to match a
// secondary that already has a key, base64 as every other implementation
// writes it.
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /tsig-keys (the `CreateTSIGKey` operationId).
CreateTSIGKeyWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateTSIGKeyResponse, error)
// CreateTSIGKeyWithResponse Create a key
//
// The secret comes back in this response. Unlike an API token it can be
// read again, because verifying a signature means recomputing the MAC and
// this server therefore has to keep it.
//
// Leave the secret out and one is generated, at least as long as the hash
// output of the algorithm (RFC 8945 section 8). Send one to match a
// secondary that already has a key, base64 as every other implementation
// writes it.
//
// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /tsig-keys (the `CreateTSIGKey` operationId).
CreateTSIGKeyWithResponse(ctx context.Context, body CreateTSIGKeyJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateTSIGKeyResponse, error)
// RevokeTSIGKeyWithResponse Withdraw a key
//
// The key stops signing and its secret is cleared, which is the one thing
// revoking a token does not do: a token leaves only a hash behind, and a
// key would leave material nothing will read again. The row stays so the
// name and the dates still read, and the name is then free for a
// replacement.
//
// Revoking a key that is already revoked changes nothing and is not an
// error.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with DELETE /tsig-keys/{keyId} (the `RevokeTSIGKey` operationId).
RevokeTSIGKeyWithResponse(ctx context.Context, keyId string, reqEditors ...RequestEditorFn) (*RevokeTSIGKeyResponse, error)
// ReadTSIGKeySecretWithResponse Read a key's secret
//
// Separate from the listing so that a secret is shown when somebody asked
// for it and not when they were looking at something else. It is not a
// boundary: the database holds the secret either way.
//
// A revoked key has none, and this is then a refusal rather than an empty
// answer.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /tsig-keys/{keyId}/secret (the `ReadTSIGKeySecret` operationId).
ReadTSIGKeySecretWithResponse(ctx context.Context, keyId string, reqEditors ...RequestEditorFn) (*ReadTSIGKeySecretResponse, error)
// ListZonesWithResponse List zones
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /zones (the `ListZones` operationId).
ListZonesWithResponse(ctx context.Context, params *ListZonesParams, reqEditors ...RequestEditorFn) (*ListZonesResponse, error)
// CreateZoneWithBodyWithResponse Create a zone
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /zones (the `CreateZone` operationId).
CreateZoneWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateZoneResponse, error)
// CreateZoneWithResponse Create a zone
//
// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /zones (the `CreateZone` operationId).
CreateZoneWithResponse(ctx context.Context, body CreateZoneJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateZoneResponse, error)
// ImportZoneWithBodyWithResponse Bring a whole zone in from a zonefile
//
// The body is the file itself, in the presentation format of RFC 1035 §5.
// The zone it describes is wherever its SOA sits, so the name is not sent
// separately and cannot be sent inconsistently.
//
// The serial in the file is the serial the zone starts at. A migrated
// zone that restarted at 1 would look older than itself to every
// secondary that has already seen it (RFC 1982 §3.2), which is the single
// most common way to break a migration (docs/decisions/ D2).
//
// `$INCLUDE` is refused: a file arriving here that could pull in a path
// would read this server's filesystem out loud.
//
// Records that a delegation in the same file makes unanswerable are left
// out rather than failing the whole file, and come back in `skipped`.
// Real zones carry them, and a migration that stops on one is a migration
// nobody finishes.
//
// The zone must not already exist. A file is the complete contents of a
// zone, so bringing one into a zone that holds records is a replacement
// rather than an import.
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /zones/import (the `ImportZone` operationId).
ImportZoneWithBodyWithResponse(ctx context.Context, params *ImportZoneParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ImportZoneResponse, error)
// DeleteZoneWithResponse Delete a zone and everything in it
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with DELETE /zones/{zoneId} (the `DeleteZone` operationId).
DeleteZoneWithResponse(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*DeleteZoneResponse, error)
// GetZoneWithResponse Read one zone
//
// Everything a listing carries, and the one diagnosis a zone can carry
// that nothing about it looks wrong for. It is computed here rather than
// left to `/check` because somebody who has to know to run a check in
// order to be told their delegation is broken has been told nothing. It
// costs the zone's NS records and one lookup per name server, not a walk
// of the zone, which is what makes that affordable.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /zones/{zoneId} (the `GetZone` operationId).
GetZoneWithResponse(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*GetZoneResponse, error)
// UpdateZoneWithBodyWithResponse Change a zone's own settings
//
// Only the fields that are present are changed. The zone's records are
// not touched, and the zone cannot be renamed: every owner name, every
// sort key and the whole journal belong to the name it has.
//
// Changing anything that is served advances the serial, like any other
// change. Changing nothing writes nothing.
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with PATCH /zones/{zoneId} (the `UpdateZone` operationId).
UpdateZoneWithBodyWithResponse(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateZoneResponse, error)
// UpdateZoneWithResponse Change a zone's own settings
//
// Only the fields that are present are changed. The zone's records are
// not touched, and the zone cannot be renamed: every owner name, every
// sort key and the whole journal belong to the name it has.
//
// Changing anything that is served advances the serial, like any other
// change. Changing nothing writes nothing.
//
// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with PATCH /zones/{zoneId} (the `UpdateZone` operationId).
UpdateZoneWithResponse(ctx context.Context, zoneId ZoneID, body UpdateZoneJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateZoneResponse, error)
// CheckZoneWithResponse Report what is wrong with a zone as it stands
//
// Every rule the write path enforces, applied to the zone as it is
// stored.
//
// A write is checked against the names it touches, and against the names
// a new delegation would put out of reach, so a zone edited only through
// this API stays sound. What this finds is what did not arrive that way:
// data written before a rule existed, or a hand on the database file.
//
// It reports rather than refuses. A name with more than one problem
// yields the first of them, and the list stops at a thousand findings:
// a zone past that has one systematic fault rather than a thousand
// separate ones.
//
// Nothing is written. Repairing what this names is ordinary editing.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /zones/{zoneId}/check (the `CheckZone` operationId).
CheckZoneWithResponse(ctx context.Context, zoneId ZoneID, params *CheckZoneParams, reqEditors ...RequestEditorFn) (*CheckZoneResponse, error)
// ExportZoneWithResponse Write a zone out as a zonefile
//
// The presentation format of RFC 1035 §5, which any other authoritative
// server reads. Every name is absolute and every record carries its own
// TTL and class, so no line means something different when it is copied
// out; records come out in the canonical order of RFC 4034 §6.1, so
// exporting the same zone twice is the same bytes and a diff of two
// exports is a diff of two zones.
//
// A disabled record is left out. It is not part of the zone as it
// answers, and a file has nowhere to say "present but switched off".
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /zones/{zoneId}/export (the `ExportZone` operationId).
ExportZoneWithResponse(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*ExportZoneResponse, error)
// ReconcileZoneWithResponse Write the reverse entries this zone's records imply and does not have
//
// Reverse automation reacts to changes, so a zone that arrives after the
// records it should hold has nothing to react to. A reverse zone created
// for a network already in use starts empty, however many addresses are
// already named in it, and this is what fills it: one commit for
// everything missing.
//
// It only adds. An entry that became obsolete was taken away by the
// change that obsoleted it, and one somebody detached is theirs to keep,
// so nothing here removes anything.
//
// A zone that needs nothing is left alone and answers with no commit.
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /zones/{zoneId}/reconcile (the `ReconcileZone` operationId).
ReconcileZoneWithResponse(ctx context.Context, zoneId ZoneID, reqEditors ...RequestEditorFn) (*ReconcileZoneResponse, error)
// ListRecordsWithResponse List the records of a zone
//
// Returns a wrapper object for the known response body format(s).
//
// Corresponds with GET /zones/{zoneId}/records (the `ListRecords` operationId).
ListRecordsWithResponse(ctx context.Context, zoneId ZoneID, params *ListRecordsParams, reqEditors ...RequestEditorFn) (*ListRecordsResponse, error)
// CreateRecordWithBodyWithResponse Add a record to a zone
//
// An address record may generate a PTR in the reverse zone answering for
// it. What that produced, and what it could not produce, comes back in
// the response rather than in a log line (docs/decisions/ D3 and D6).
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /zones/{zoneId}/records (the `CreateRecord` operationId).
CreateRecordWithBodyWithResponse(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateRecordResponse, error)
// CreateRecordWithResponse Add a record to a zone
//
// An address record may generate a PTR in the reverse zone answering for
// it. What that produced, and what it could not produce, comes back in
// the response rather than in a log line (docs/decisions/ D3 and D6).
//
// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /zones/{zoneId}/records (the `CreateRecord` operationId).
CreateRecordWithResponse(ctx context.Context, zoneId ZoneID, body CreateRecordJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateRecordResponse, error)
// RollbackZoneWithBodyWithResponse Restore a zone to the state it had at a serial
//
// The difference between the zone as it stands and the zone as it stood
// is written as a **new** commit that moves forward to that state. It is
// not a rewind: a secondary that has already seen serial 90 will never
// accept a jump back to 42, because RFC 1982 arithmetic makes 42 older
// and RFC 1995 has no way to express going backwards.
//
// Records that did not change in between are not touched, so they keep
// their identity, their comments and the history pointing at them.
// Records the server generated are not restored directly: they follow
// from the records they were generated from, so restoring those is what
// moves them.
//
// A rollback to the serial the zone is already at changes nothing and
// answers with no commit.
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /zones/{zoneId}/rollback (the `RollbackZone` operationId).
RollbackZoneWithBodyWithResponse(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*RollbackZoneResponse, error)
// RollbackZoneWithResponse Restore a zone to the state it had at a serial
//
// The difference between the zone as it stands and the zone as it stood
// is written as a **new** commit that moves forward to that state. It is
// not a rewind: a secondary that has already seen serial 90 will never
// accept a jump back to 42, because RFC 1982 arithmetic makes 42 older
// and RFC 1995 has no way to express going backwards.
//
// Records that did not change in between are not touched, so they keep
// their identity, their comments and the history pointing at them.
// Records the server generated are not restored directly: they follow
// from the records they were generated from, so restoring those is what
// moves them.
//
// A rollback to the serial the zone is already at changes nothing and
// answers with no commit.
//
// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with POST /zones/{zoneId}/rollback (the `RollbackZone` operationId).
RollbackZoneWithResponse(ctx context.Context, zoneId ZoneID, body RollbackZoneJSONRequestBody, reqEditors ...RequestEditorFn) (*RollbackZoneResponse, error)
// ReplaceRRsetsWithBodyWithResponse Make the named RRsets exactly what is given
//
// An RRset (everything sharing an owner name, class and type) is the
// unit DNS answers with (RFC 2181 §5), and therefore the unit a record
// editor edits. Sending the set rather than a list of additions and
// removals means the client says what it wants to be true, and the server
// works out the difference; a record whose data did not change keeps its
// identity, and with it its comment, its provenance and the history
// pointing at it.
//
// Only the RRsets named here are touched. An empty `records` removes one.
//
// Everything in one request becomes one commit, so a page of edits saved
// together is one line in the history and one point to roll back to.
//
// The RRsets are named in the body rather than in the path because a DNS
// label may hold any octet, `/` among them, so there is no path form that
// is safe for every name.
//
// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with PUT /zones/{zoneId}/rrsets (the `ReplaceRRsets` operationId).
ReplaceRRsetsWithBodyWithResponse(ctx context.Context, zoneId ZoneID, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ReplaceRRsetsResponse, error)
// ReplaceRRsetsWithResponse Make the named RRsets exactly what is given
//
// An RRset (everything sharing an owner name, class and type) is the
// unit DNS answers with (RFC 2181 §5), and therefore the unit a record
// editor edits. Sending the set rather than a list of additions and
// removals means the client says what it wants to be true, and the server
// works out the difference; a record whose data did not change keeps its
// identity, and with it its comment, its provenance and the history
// pointing at it.
//
// Only the RRsets named here are touched. An empty `records` removes one.
//
// Everything in one request becomes one commit, so a page of edits saved
// together is one line in the history and one point to roll back to.
//
// The RRsets are named in the body rather than in the path because a DNS
// label may hold any octet, `/` among them, so there is no path form that
// is safe for every name.
//
// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
//
// Corresponds with PUT /zones/{zoneId}/rrsets (the `ReplaceRRsets` operationId).
ReplaceRRsetsWithResponse(ctx context.Context, zoneId ZoneID, body ReplaceRRsetsJSONRequestBody, reqEditors ...RequestEditorFn) (*ReplaceRRsetsResponse, error)
}
ClientWithResponsesInterface is the interface specification for the client with responses above.
type ClusterMember ¶ added in v0.5.0
type ClusterMember struct {
// Address Where the other members reach it, and where a new node asks to join.
Address string `json:"address"`
// Id The identifier the member is known by. It never changes
// (docs/decisions/d42-membership-lives-in-the-log.md).
Id string `json:"id"`
}
ClusterMember One member of a cluster.
type ClusterMemberState ¶ added in v0.5.0
type ClusterMemberState struct {
Address string `json:"address"`
Id string `json:"id"`
Leader bool `json:"leader"`
// Progress How far one member has got, as it said itself just now.
Progress *ClusterProgress `json:"progress,omitempty"`
// Role A voter counts towards quorum and can lead. A non-voter receives
// the whole log and answers queries like any member, and is neither
// counted nor waited for (docs/decisions/d25-cluster-shape.md). A
// witness votes and keeps the log, answers no queries, and hands
// leadership on when it wins an election
// (docs/decisions/d39-the-witness.md).
Role ClusterMemberStateRole `json:"role"`
// Trouble Why the member could not be asked, or what it answered instead.
Trouble *string `json:"trouble,omitempty"`
}
ClusterMemberState One member, and how far it has got. `progress` is present for a member that answered, and `trouble` for one that was asked and did not; a member answering over the cluster port asks nobody, and has neither.
type ClusterMemberStateRole ¶ added in v0.5.0
type ClusterMemberStateRole string
ClusterMemberStateRole A voter counts towards quorum and can lead. A non-voter receives the whole log and answers queries like any member, and is neither counted nor waited for (docs/decisions/d25-cluster-shape.md). A witness votes and keeps the log, answers no queries, and hands leadership on when it wins an election (docs/decisions/d39-the-witness.md).
const ( ClusterMemberStateRoleNonvoter ClusterMemberStateRole = "nonvoter" ClusterMemberStateRoleVoter ClusterMemberStateRole = "voter" ClusterMemberStateRoleWitness ClusterMemberStateRole = "witness" )
Defines values for ClusterMemberStateRole.
func (ClusterMemberStateRole) Valid ¶ added in v0.5.0
func (e ClusterMemberStateRole) Valid() bool
Valid indicates whether the value is a known member of the ClusterMemberStateRole enum.
type ClusterProgress ¶ added in v0.5.0
type ClusterProgress struct {
// Applied The last entry of the log the member has carried out.
Applied int64 `json:"applied"`
// Behind Where this node stopped applying the log, present only when it has.
// It has left the cluster, refuses writes, and answers queries with what
// it held at that entry.
Behind *ClusterStall `json:"behind,omitempty"`
// Committed The last entry the member knows to be committed.
Committed int64 `json:"committed"`
// Removed True once the member has been taken out of the cluster.
Removed bool `json:"removed"`
}
ClusterProgress How far one member has got, as it said itself just now.
type ClusterStall ¶ added in v0.5.0
type ClusterStall struct {
// Entry The entry it could not get past; 0 for a log snapshot it could not read.
Entry int64 `json:"entry"`
Reason string `json:"reason"`
Since time.Time `json:"since"`
}
ClusterStall Where this node stopped applying the log, present only when it has. It has left the cluster, refuses writes, and answers queries with what it held at that entry.
type ClusterStatus ¶ added in v0.5.0
type ClusterStatus struct {
// Applied The last entry of the log this node has carried out.
Applied int64 `json:"applied"`
// Behind Where this node stopped applying the log, present only when it has.
// It has left the cluster, refuses writes, and answers queries with what
// it held at that entry.
Behind *ClusterStall `json:"behind,omitempty"`
// Committed The last entry this node knows to be committed. A member that
// keeps up has this equal to `applied`, or nearly.
Committed int64 `json:"committed"`
// Members Every member, as this node's copy of the configuration lists them.
// Empty on a node in no cluster, and on one that has stopped over
// an entry it could not apply, which no longer has a copy to read.
Members []ClusterMemberState `json:"members"`
// Removed True once this node has been taken out of the cluster, by leaving
// or by being removed. It answers queries with what it held and
// refuses writes, and `members` is who it last knew to be in the
// cluster (docs/decisions/d46-a-member-that-has-left.md).
Removed bool `json:"removed"`
// Replicating False for a node that has a cluster section and has not started or
// joined a cluster. It is an ordinary server until it does.
Replicating bool `json:"replicating"`
// Self One member of a cluster.
Self ClusterMember `json:"self"`
}
ClusterStatus defines model for ClusterStatus.
type Commit ¶
type Commit struct {
// Actor Who caused it, as far as the interface it arrived through could tell.
Actor *string `json:"actor,omitempty"`
Comment *string `json:"comment,omitempty"`
CreatedAt time.Time `json:"createdAt"`
// Events The records this commit removed and added, in order. Absent in a
// listing, which is what keeps a page of history cheap.
Events *[]Event `json:"events,omitempty"`
Id string `json:"id"`
// Kind What a commit did, for an interface that would rather say it than recite the events.
Kind CommitKind `json:"kind"`
// RevertsTo The serial a rollback restored the zone to. Absent on every other
// kind of commit, which is what the schema enforces.
RevertsTo *int64 `json:"revertsTo,omitempty"`
// SerialFrom The serial this commit was applied to.
SerialFrom int64 `json:"serialFrom"`
// SerialTo The serial it produced. Exactly one step on (docs/decisions/ D2).
SerialTo int64 `json:"serialTo"`
// Source The interface a change arrived through.
Source CommitSource `json:"source"`
ZoneId string `json:"zoneId"`
// ZoneName Carried on the commit rather than joined from the zone, because a
// commit outlives the zone: the last thing that happens to a zone is
// that someone deletes it.
ZoneName string `json:"zoneName"`
}
Commit One atomic change to one zone.
type CommitKind ¶
type CommitKind string
CommitKind What a commit did, for an interface that would rather say it than recite the events.
const ( CommitKindEdit CommitKind = "edit" CommitKindImport CommitKind = "import" CommitKindRollback CommitKind = "rollback" CommitKindZoneCreate CommitKind = "zone_create" CommitKindZoneDelete CommitKind = "zone_delete" CommitKindZoneUpdate CommitKind = "zone_update" )
Defines values for CommitKind.
func (CommitKind) Valid ¶
func (e CommitKind) Valid() bool
Valid indicates whether the value is a known member of the CommitKind enum.
type CommitPage ¶
type CommitPage struct {
Items []Commit `json:"items"`
NextCursor *string `json:"nextCursor,omitempty"`
}
CommitPage defines model for CommitPage.
type CommitSource ¶
type CommitSource string
CommitSource The interface a change arrived through.
const ( CommitSourceApi CommitSource = "api" CommitSourceCli CommitSource = "cli" CommitSourceImport CommitSource = "import" CommitSourceSystem CommitSource = "system" )
Defines values for CommitSource.
func (CommitSource) Valid ¶
func (e CommitSource) Valid() bool
Valid indicates whether the value is a known member of the CommitSource enum.
type Conflict ¶
type Conflict struct {
Address string `json:"address"`
ExistingName string `json:"existingName"`
ExistingRecordId *string `json:"existingRecordId,omitempty"`
// Policy The policy that decided what happened here, so a client can say
// whether the existing name was kept, replaced or joined rather than
// leaving the reader to guess from the records.
Policy ReverseConflictPolicy `json:"policy"`
RequestedName string `json:"requestedName"`
}
Conflict An address already answers with another name (docs/decisions/ D3). It is data rather than an error: which name should be canonical is a decision for a person.
type CreateRecord ¶
type CreateRecord struct {
// Class Defaults to IN, which is the only class this server answers.
Class *string `json:"class,omitempty"`
Comment *string `json:"comment,omitempty"`
Data string `json:"data"`
// Name The owner name, absolute. A trailing dot is optional and changes
// nothing: `www.example.com` and `www.example.com.` are the same
// name. A name is never completed with the zone apex; that is what
// turns `www.example.com` into `www.example.com.example.com.` in a
// zonefile, and an interface that offers a relative field completes
// it before it gets here.
Name string `json:"name"`
// Ttl Defaults to the zone's own default TTL.
Ttl *int64 `json:"ttl,omitempty"`
Type string `json:"type"`
}
CreateRecord defines model for CreateRecord.
type CreateRecord201JSONResponse ¶
type CreateRecord201JSONResponse struct {
Body RecordWritten
Headers CreateRecord201ResponseHeaders
}
func (CreateRecord201JSONResponse) VisitCreateRecordResponse ¶
func (response CreateRecord201JSONResponse) VisitCreateRecordResponse(w http.ResponseWriter) error
type CreateRecord201ResponseHeaders ¶
type CreateRecord201ResponseHeaders struct {
Location *string
}
type CreateRecordJSONRequestBody ¶
type CreateRecordJSONRequestBody = CreateRecord
CreateRecordJSONRequestBody defines body for CreateRecord for application/json ContentType.
type CreateRecordRequestObject ¶
type CreateRecordRequestObject struct {
ZoneId ZoneID `json:"zoneId"`
Body *CreateRecordJSONRequestBody
}
type CreateRecordResponse ¶
type CreateRecordResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON201 the response for an HTTP 201 `application/json` response
JSON201 *RecordWritten
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
// Headers201 the parsed response headers for an HTTP 201 response
Headers201 *CreateRecordResponse201Headers
}
func ParseCreateRecordResponse ¶
func ParseCreateRecordResponse(rsp *http.Response) (*CreateRecordResponse, error)
ParseCreateRecordResponse parses an HTTP response from a CreateRecordWithResponse call
func (CreateRecordResponse) ContentType ¶
func (r CreateRecordResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (CreateRecordResponse) GetApplicationproblemJSONDefault ¶
func (r CreateRecordResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (CreateRecordResponse) GetBody ¶
func (r CreateRecordResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (CreateRecordResponse) GetJSON201 ¶
func (r CreateRecordResponse) GetJSON201() *RecordWritten
GetJSON201 returns the response for an HTTP 201 `application/json` response
func (CreateRecordResponse) Status ¶
func (r CreateRecordResponse) Status() string
Status returns HTTPResponse.Status
func (CreateRecordResponse) StatusCode ¶
func (r CreateRecordResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type CreateRecordResponse201Headers ¶
type CreateRecordResponse201Headers struct {
Location *string
}
CreateRecordResponse201Headers the declared response headers of an HTTP 201 response for CreateRecord
type CreateRecordResponseObject ¶
type CreateRecordResponseObject interface {
VisitCreateRecordResponse(w http.ResponseWriter) error
}
type CreateRecorddefaultApplicationProblemPlusJSONResponse ¶
func (CreateRecorddefaultApplicationProblemPlusJSONResponse) VisitCreateRecordResponse ¶
func (response CreateRecorddefaultApplicationProblemPlusJSONResponse) VisitCreateRecordResponse(w http.ResponseWriter) error
type CreateSession ¶
type CreateSession struct {
// Token The API token to open the session with.
Token string `json:"token"`
}
CreateSession defines model for CreateSession.
type CreateSession201JSONResponse ¶
type CreateSession201JSONResponse struct {
Body Session
Headers CreateSession201ResponseHeaders
}
func (CreateSession201JSONResponse) VisitCreateSessionResponse ¶
func (response CreateSession201JSONResponse) VisitCreateSessionResponse(w http.ResponseWriter) error
type CreateSession201ResponseHeaders ¶
type CreateSession201ResponseHeaders struct {
SetCookie *string
}
type CreateSessionJSONRequestBody ¶
type CreateSessionJSONRequestBody = CreateSession
CreateSessionJSONRequestBody defines body for CreateSession for application/json ContentType.
type CreateSessionRequestObject ¶
type CreateSessionRequestObject struct {
Body *CreateSessionJSONRequestBody
}
type CreateSessionResponse ¶
type CreateSessionResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON201 the response for an HTTP 201 `application/json` response
JSON201 *Session
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
// Headers201 the parsed response headers for an HTTP 201 response
Headers201 *CreateSessionResponse201Headers
}
func ParseCreateSessionResponse ¶
func ParseCreateSessionResponse(rsp *http.Response) (*CreateSessionResponse, error)
ParseCreateSessionResponse parses an HTTP response from a CreateSessionWithResponse call
func (CreateSessionResponse) ContentType ¶
func (r CreateSessionResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (CreateSessionResponse) GetApplicationproblemJSONDefault ¶
func (r CreateSessionResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (CreateSessionResponse) GetBody ¶
func (r CreateSessionResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (CreateSessionResponse) GetJSON201 ¶
func (r CreateSessionResponse) GetJSON201() *Session
GetJSON201 returns the response for an HTTP 201 `application/json` response
func (CreateSessionResponse) Status ¶
func (r CreateSessionResponse) Status() string
Status returns HTTPResponse.Status
func (CreateSessionResponse) StatusCode ¶
func (r CreateSessionResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type CreateSessionResponse201Headers ¶
type CreateSessionResponse201Headers struct {
SetCookie *string
}
CreateSessionResponse201Headers the declared response headers of an HTTP 201 response for CreateSession
type CreateSessionResponseObject ¶
type CreateSessionResponseObject interface {
VisitCreateSessionResponse(w http.ResponseWriter) error
}
type CreateSessiondefaultApplicationProblemPlusJSONResponse ¶
func (CreateSessiondefaultApplicationProblemPlusJSONResponse) VisitCreateSessionResponse ¶
func (response CreateSessiondefaultApplicationProblemPlusJSONResponse) VisitCreateSessionResponse(w http.ResponseWriter) error
type CreateTSIGKey ¶ added in v0.2.0
type CreateTSIGKey struct {
// Algorithm The keyed hash the key signs with. This server does not offer hmac-sha1
// or HMAC-MD5, which RFC 8945 section 6 calls NOT RECOMMENDED and MUST NOT
// use respectively; docs/decisions/ D28 argues the departure from its
// MUST-implement.
Algorithm *TSIGAlgorithm `json:"algorithm,omitempty"`
// Name The key name, in domain name syntax.
Name string `json:"name"`
// Secret The shared secret, base64. Absent means generate one, which is what
// an operator who is configuring both ends wants.
Secret *string `json:"secret,omitempty"`
}
CreateTSIGKey defines model for CreateTSIGKey.
type CreateTSIGKey201JSONResponse ¶ added in v0.2.0
type CreateTSIGKey201JSONResponse TSIGKeySecret
func (CreateTSIGKey201JSONResponse) VisitCreateTSIGKeyResponse ¶ added in v0.2.0
func (response CreateTSIGKey201JSONResponse) VisitCreateTSIGKeyResponse(w http.ResponseWriter) error
type CreateTSIGKeyJSONRequestBody ¶ added in v0.2.0
type CreateTSIGKeyJSONRequestBody = CreateTSIGKey
CreateTSIGKeyJSONRequestBody defines body for CreateTSIGKey for application/json ContentType.
type CreateTSIGKeyRequestObject ¶ added in v0.2.0
type CreateTSIGKeyRequestObject struct {
Body *CreateTSIGKeyJSONRequestBody
}
type CreateTSIGKeyResponse ¶ added in v0.2.0
type CreateTSIGKeyResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON201 the response for an HTTP 201 `application/json` response
JSON201 *TSIGKeySecret
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseCreateTSIGKeyResponse ¶ added in v0.2.0
func ParseCreateTSIGKeyResponse(rsp *http.Response) (*CreateTSIGKeyResponse, error)
ParseCreateTSIGKeyResponse parses an HTTP response from a CreateTSIGKeyWithResponse call
func (CreateTSIGKeyResponse) ContentType ¶ added in v0.2.0
func (r CreateTSIGKeyResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (CreateTSIGKeyResponse) GetApplicationproblemJSONDefault ¶ added in v0.2.0
func (r CreateTSIGKeyResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (CreateTSIGKeyResponse) GetBody ¶ added in v0.2.0
func (r CreateTSIGKeyResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (CreateTSIGKeyResponse) GetJSON201 ¶ added in v0.2.0
func (r CreateTSIGKeyResponse) GetJSON201() *TSIGKeySecret
GetJSON201 returns the response for an HTTP 201 `application/json` response
func (CreateTSIGKeyResponse) Status ¶ added in v0.2.0
func (r CreateTSIGKeyResponse) Status() string
Status returns HTTPResponse.Status
func (CreateTSIGKeyResponse) StatusCode ¶ added in v0.2.0
func (r CreateTSIGKeyResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type CreateTSIGKeyResponseObject ¶ added in v0.2.0
type CreateTSIGKeyResponseObject interface {
VisitCreateTSIGKeyResponse(w http.ResponseWriter) error
}
type CreateTSIGKeydefaultApplicationProblemPlusJSONResponse ¶ added in v0.2.0
func (CreateTSIGKeydefaultApplicationProblemPlusJSONResponse) VisitCreateTSIGKeyResponse ¶ added in v0.2.0
func (response CreateTSIGKeydefaultApplicationProblemPlusJSONResponse) VisitCreateTSIGKeyResponse(w http.ResponseWriter) error
type CreateToken ¶
type CreateToken struct {
// ExpiresAt When the token stops working. Absent means it does not.
ExpiresAt *time.Time `json:"expiresAt,omitempty"`
Name string `json:"name"`
Scopes []Scope `json:"scopes"`
}
CreateToken defines model for CreateToken.
type CreateToken201JSONResponse ¶
type CreateToken201JSONResponse TokenCreated
func (CreateToken201JSONResponse) VisitCreateTokenResponse ¶
func (response CreateToken201JSONResponse) VisitCreateTokenResponse(w http.ResponseWriter) error
type CreateTokenJSONRequestBody ¶
type CreateTokenJSONRequestBody = CreateToken
CreateTokenJSONRequestBody defines body for CreateToken for application/json ContentType.
type CreateTokenRequestObject ¶
type CreateTokenRequestObject struct {
Body *CreateTokenJSONRequestBody
}
type CreateTokenResponse ¶
type CreateTokenResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON201 the response for an HTTP 201 `application/json` response
JSON201 *TokenCreated
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseCreateTokenResponse ¶
func ParseCreateTokenResponse(rsp *http.Response) (*CreateTokenResponse, error)
ParseCreateTokenResponse parses an HTTP response from a CreateTokenWithResponse call
func (CreateTokenResponse) ContentType ¶
func (r CreateTokenResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (CreateTokenResponse) GetApplicationproblemJSONDefault ¶
func (r CreateTokenResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (CreateTokenResponse) GetBody ¶
func (r CreateTokenResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (CreateTokenResponse) GetJSON201 ¶
func (r CreateTokenResponse) GetJSON201() *TokenCreated
GetJSON201 returns the response for an HTTP 201 `application/json` response
func (CreateTokenResponse) Status ¶
func (r CreateTokenResponse) Status() string
Status returns HTTPResponse.Status
func (CreateTokenResponse) StatusCode ¶
func (r CreateTokenResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type CreateTokenResponseObject ¶
type CreateTokenResponseObject interface {
VisitCreateTokenResponse(w http.ResponseWriter) error
}
type CreateTokendefaultApplicationProblemPlusJSONResponse ¶
func (CreateTokendefaultApplicationProblemPlusJSONResponse) VisitCreateTokenResponse ¶
func (response CreateTokendefaultApplicationProblemPlusJSONResponse) VisitCreateTokenResponse(w http.ResponseWriter) error
type CreateZone ¶
type CreateZone struct {
Comment *string `json:"comment,omitempty"`
DefaultTtl *int64 `json:"defaultTtl,omitempty"`
// Name The apex. A trailing dot is optional; the name is absolute either
// way.
//
// A network in CIDR notation is accepted here instead, and becomes
// the reverse zone that answers for it: `192.168.0.0/16` is
// `168.192.in-addr.arpa.`, `192.0.2.0/25` is the classless
// `0/25.2.0.192.in-addr.arpa.` of RFC 2317, and `2001:db8::/32` is
// eight nibbles written backwards. Working that out by hand is the
// first thing that sends somebody to a manual.
//
// A prefix and a name cannot be confused for one another, so nothing
// is guessed. A bare address is refused with the network it probably
// meant.
Name string `json:"name"`
// Soa The start-of-authority fields a client may set, on a zone it is
// creating and on one it is changing. Every field is optional in both
// cases: creating a zone fills what is not given from this server's
// defaults, and changing one leaves it as it was. A client that only
// cares about the name server should not have to send five timers it has
// no opinion about.
//
// The serial is not among them: one commit advances it by exactly one,
// and that is what lets the journal be replayed (docs/decisions/ D2).
Soa *SOAInput `json:"soa,omitempty"`
}
CreateZone defines model for CreateZone.
type CreateZone201JSONResponse ¶
type CreateZone201JSONResponse struct {
Body Zone
Headers CreateZone201ResponseHeaders
}
func (CreateZone201JSONResponse) VisitCreateZoneResponse ¶
func (response CreateZone201JSONResponse) VisitCreateZoneResponse(w http.ResponseWriter) error
type CreateZone201ResponseHeaders ¶
type CreateZone201ResponseHeaders struct {
Location *string
}
type CreateZoneJSONRequestBody ¶
type CreateZoneJSONRequestBody = CreateZone
CreateZoneJSONRequestBody defines body for CreateZone for application/json ContentType.
type CreateZoneRequestObject ¶
type CreateZoneRequestObject struct {
Body *CreateZoneJSONRequestBody
}
type CreateZoneResponse ¶
type CreateZoneResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON201 the response for an HTTP 201 `application/json` response
JSON201 *Zone
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
// Headers201 the parsed response headers for an HTTP 201 response
Headers201 *CreateZoneResponse201Headers
}
func ParseCreateZoneResponse ¶
func ParseCreateZoneResponse(rsp *http.Response) (*CreateZoneResponse, error)
ParseCreateZoneResponse parses an HTTP response from a CreateZoneWithResponse call
func (CreateZoneResponse) ContentType ¶
func (r CreateZoneResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (CreateZoneResponse) GetApplicationproblemJSONDefault ¶
func (r CreateZoneResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (CreateZoneResponse) GetBody ¶
func (r CreateZoneResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (CreateZoneResponse) GetJSON201 ¶
func (r CreateZoneResponse) GetJSON201() *Zone
GetJSON201 returns the response for an HTTP 201 `application/json` response
func (CreateZoneResponse) Status ¶
func (r CreateZoneResponse) Status() string
Status returns HTTPResponse.Status
func (CreateZoneResponse) StatusCode ¶
func (r CreateZoneResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type CreateZoneResponse201Headers ¶
type CreateZoneResponse201Headers struct {
Location *string
}
CreateZoneResponse201Headers the declared response headers of an HTTP 201 response for CreateZone
type CreateZoneResponseObject ¶
type CreateZoneResponseObject interface {
VisitCreateZoneResponse(w http.ResponseWriter) error
}
type CreateZonedefaultApplicationProblemPlusJSONResponse ¶
func (CreateZonedefaultApplicationProblemPlusJSONResponse) VisitCreateZoneResponse ¶
func (response CreateZonedefaultApplicationProblemPlusJSONResponse) VisitCreateZoneResponse(w http.ResponseWriter) error
type DeleteRecord204Response ¶
type DeleteRecord204Response struct {
}
func (DeleteRecord204Response) VisitDeleteRecordResponse ¶
func (response DeleteRecord204Response) VisitDeleteRecordResponse(w http.ResponseWriter) error
type DeleteRecordRequestObject ¶
type DeleteRecordRequestObject struct {
RecordId RecordID `json:"recordId"`
}
type DeleteRecordResponse ¶
type DeleteRecordResponse struct {
Body []byte
HTTPResponse *http.Response
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseDeleteRecordResponse ¶
func ParseDeleteRecordResponse(rsp *http.Response) (*DeleteRecordResponse, error)
ParseDeleteRecordResponse parses an HTTP response from a DeleteRecordWithResponse call
func (DeleteRecordResponse) ContentType ¶
func (r DeleteRecordResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (DeleteRecordResponse) GetApplicationproblemJSONDefault ¶
func (r DeleteRecordResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (DeleteRecordResponse) GetBody ¶
func (r DeleteRecordResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (DeleteRecordResponse) Status ¶
func (r DeleteRecordResponse) Status() string
Status returns HTTPResponse.Status
func (DeleteRecordResponse) StatusCode ¶
func (r DeleteRecordResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type DeleteRecordResponseObject ¶
type DeleteRecordResponseObject interface {
VisitDeleteRecordResponse(w http.ResponseWriter) error
}
type DeleteRecorddefaultApplicationProblemPlusJSONResponse ¶
func (DeleteRecorddefaultApplicationProblemPlusJSONResponse) VisitDeleteRecordResponse ¶
func (response DeleteRecorddefaultApplicationProblemPlusJSONResponse) VisitDeleteRecordResponse(w http.ResponseWriter) error
type DeleteSession204Response ¶
type DeleteSession204Response struct {
}
func (DeleteSession204Response) VisitDeleteSessionResponse ¶
func (response DeleteSession204Response) VisitDeleteSessionResponse(w http.ResponseWriter) error
type DeleteSessionRequestObject ¶
type DeleteSessionRequestObject struct {
}
type DeleteSessionResponse ¶
type DeleteSessionResponse struct {
Body []byte
HTTPResponse *http.Response
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseDeleteSessionResponse ¶
func ParseDeleteSessionResponse(rsp *http.Response) (*DeleteSessionResponse, error)
ParseDeleteSessionResponse parses an HTTP response from a DeleteSessionWithResponse call
func (DeleteSessionResponse) ContentType ¶
func (r DeleteSessionResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (DeleteSessionResponse) GetApplicationproblemJSONDefault ¶
func (r DeleteSessionResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (DeleteSessionResponse) GetBody ¶
func (r DeleteSessionResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (DeleteSessionResponse) Status ¶
func (r DeleteSessionResponse) Status() string
Status returns HTTPResponse.Status
func (DeleteSessionResponse) StatusCode ¶
func (r DeleteSessionResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type DeleteSessionResponseObject ¶
type DeleteSessionResponseObject interface {
VisitDeleteSessionResponse(w http.ResponseWriter) error
}
type DeleteSessiondefaultApplicationProblemPlusJSONResponse ¶
func (DeleteSessiondefaultApplicationProblemPlusJSONResponse) VisitDeleteSessionResponse ¶
func (response DeleteSessiondefaultApplicationProblemPlusJSONResponse) VisitDeleteSessionResponse(w http.ResponseWriter) error
type DeleteZone204Response ¶
type DeleteZone204Response struct {
}
func (DeleteZone204Response) VisitDeleteZoneResponse ¶
func (response DeleteZone204Response) VisitDeleteZoneResponse(w http.ResponseWriter) error
type DeleteZoneRequestObject ¶
type DeleteZoneRequestObject struct {
ZoneId ZoneID `json:"zoneId"`
}
type DeleteZoneResponse ¶
type DeleteZoneResponse struct {
Body []byte
HTTPResponse *http.Response
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseDeleteZoneResponse ¶
func ParseDeleteZoneResponse(rsp *http.Response) (*DeleteZoneResponse, error)
ParseDeleteZoneResponse parses an HTTP response from a DeleteZoneWithResponse call
func (DeleteZoneResponse) ContentType ¶
func (r DeleteZoneResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (DeleteZoneResponse) GetApplicationproblemJSONDefault ¶
func (r DeleteZoneResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (DeleteZoneResponse) GetBody ¶
func (r DeleteZoneResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (DeleteZoneResponse) Status ¶
func (r DeleteZoneResponse) Status() string
Status returns HTTPResponse.Status
func (DeleteZoneResponse) StatusCode ¶
func (r DeleteZoneResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type DeleteZoneResponseObject ¶
type DeleteZoneResponseObject interface {
VisitDeleteZoneResponse(w http.ResponseWriter) error
}
type DeleteZonedefaultApplicationProblemPlusJSONResponse ¶
func (DeleteZonedefaultApplicationProblemPlusJSONResponse) VisitDeleteZoneResponse ¶
func (response DeleteZonedefaultApplicationProblemPlusJSONResponse) VisitDeleteZoneResponse(w http.ResponseWriter) error
type DetachRecord200JSONResponse ¶
type DetachRecord200JSONResponse RecordWritten
func (DetachRecord200JSONResponse) VisitDetachRecordResponse ¶
func (response DetachRecord200JSONResponse) VisitDetachRecordResponse(w http.ResponseWriter) error
type DetachRecordRequestObject ¶
type DetachRecordRequestObject struct {
RecordId RecordID `json:"recordId"`
}
type DetachRecordResponse ¶
type DetachRecordResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *RecordWritten
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseDetachRecordResponse ¶
func ParseDetachRecordResponse(rsp *http.Response) (*DetachRecordResponse, error)
ParseDetachRecordResponse parses an HTTP response from a DetachRecordWithResponse call
func (DetachRecordResponse) ContentType ¶
func (r DetachRecordResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (DetachRecordResponse) GetApplicationproblemJSONDefault ¶
func (r DetachRecordResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (DetachRecordResponse) GetBody ¶
func (r DetachRecordResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (DetachRecordResponse) GetJSON200 ¶
func (r DetachRecordResponse) GetJSON200() *RecordWritten
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (DetachRecordResponse) Status ¶
func (r DetachRecordResponse) Status() string
Status returns HTTPResponse.Status
func (DetachRecordResponse) StatusCode ¶
func (r DetachRecordResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type DetachRecordResponseObject ¶
type DetachRecordResponseObject interface {
VisitDetachRecordResponse(w http.ResponseWriter) error
}
type DetachRecorddefaultApplicationProblemPlusJSONResponse ¶
func (DetachRecorddefaultApplicationProblemPlusJSONResponse) VisitDetachRecordResponse ¶
func (response DetachRecorddefaultApplicationProblemPlusJSONResponse) VisitDetachRecordResponse(w http.ResponseWriter) error
type Event ¶
type Event struct {
Class string `json:"class"`
Data string `json:"data"`
Name string `json:"name"`
Op EventOp `json:"op"`
// Seq Orders the events within the commit, counting from zero.
Seq int `json:"seq"`
Ttl int64 `json:"ttl"`
Type string `json:"type"`
}
Event One resource-record change. There is no "modify": a modification is a removal and an addition, which is how RFC 1995 §2 expresses it too. Both directions carry the full record data, so a removal can be undone as well as replayed.
type ExportZone200TextdnsResponse ¶
func (ExportZone200TextdnsResponse) VisitExportZoneResponse ¶
func (response ExportZone200TextdnsResponse) VisitExportZoneResponse(w http.ResponseWriter) error
type ExportZoneRequestObject ¶
type ExportZoneRequestObject struct {
ZoneId ZoneID `json:"zoneId"`
}
type ExportZoneResponse ¶
type ExportZoneResponse struct {
Body []byte
HTTPResponse *http.Response
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseExportZoneResponse ¶
func ParseExportZoneResponse(rsp *http.Response) (*ExportZoneResponse, error)
ParseExportZoneResponse parses an HTTP response from a ExportZoneWithResponse call
func (ExportZoneResponse) ContentType ¶
func (r ExportZoneResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (ExportZoneResponse) GetApplicationproblemJSONDefault ¶
func (r ExportZoneResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (ExportZoneResponse) GetBody ¶
func (r ExportZoneResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (ExportZoneResponse) Status ¶
func (r ExportZoneResponse) Status() string
Status returns HTTPResponse.Status
func (ExportZoneResponse) StatusCode ¶
func (r ExportZoneResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type ExportZoneResponseObject ¶
type ExportZoneResponseObject interface {
VisitExportZoneResponse(w http.ResponseWriter) error
}
type ExportZonedefaultApplicationProblemPlusJSONResponse ¶
func (ExportZonedefaultApplicationProblemPlusJSONResponse) VisitExportZoneResponse ¶
func (response ExportZonedefaultApplicationProblemPlusJSONResponse) VisitExportZoneResponse(w http.ResponseWriter) error
type Finding ¶ added in v0.2.0
type Finding struct {
// Detail What is wrong, worded as the write path words its refusal, so that
// a zone repaired until the check is quiet is one it would accept.
Detail string `json:"detail"`
// Name The owner name it is about, absolute. For a finding about the zone
// as a whole this is the apex.
Name string `json:"name"`
// Record The record an action on this finding would address, where there is
// one. Absent for a finding about a name rather than about a record,
// which is most of them.
Record *string `json:"record,omitempty"`
// Scope Which rule produced a finding, so that a client can group or filter
// without reading the sentence.
Scope FindingScope `json:"scope"`
// Severity Whether the write path would refuse the finding. The only distinction a
// check draws, and not a scale.
Severity FindingSeverity `json:"severity"`
}
Finding One thing wrong with a zone. Data rather than an error.
type FindingScope ¶ added in v0.2.0
type FindingScope string
FindingScope Which rule produced a finding, so that a client can group or filter without reading the sentence.
const ( FindingScopeDelegation FindingScope = "delegation" FindingScopeNameserver FindingScope = "nameserver" FindingScopeOwner FindingScope = "owner" FindingScopeReverse FindingScope = "reverse" FindingScopeZone FindingScope = "zone" )
Defines values for FindingScope.
func (FindingScope) Valid ¶ added in v0.2.0
func (e FindingScope) Valid() bool
Valid indicates whether the value is a known member of the FindingScope enum.
type FindingSeverity ¶ added in v0.2.0
type FindingSeverity string
FindingSeverity Whether the write path would refuse the finding. The only distinction a check draws, and not a scale.
const ( FindingSeverityError FindingSeverity = "error" FindingSeverityWarning FindingSeverity = "warning" )
Defines values for FindingSeverity.
func (FindingSeverity) Valid ¶ added in v0.2.0
func (e FindingSeverity) Valid() bool
Valid indicates whether the value is a known member of the FindingSeverity enum.
type GetCluster200JSONResponse ¶ added in v0.5.0
type GetCluster200JSONResponse ClusterStatus
func (GetCluster200JSONResponse) VisitGetClusterResponse ¶ added in v0.5.0
func (response GetCluster200JSONResponse) VisitGetClusterResponse(w http.ResponseWriter) error
type GetClusterRequestObject ¶ added in v0.5.0
type GetClusterRequestObject struct {
}
type GetClusterResponse ¶ added in v0.5.0
type GetClusterResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *ClusterStatus
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseGetClusterResponse ¶ added in v0.5.0
func ParseGetClusterResponse(rsp *http.Response) (*GetClusterResponse, error)
ParseGetClusterResponse parses an HTTP response from a GetClusterWithResponse call
func (GetClusterResponse) ContentType ¶ added in v0.5.0
func (r GetClusterResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (GetClusterResponse) GetApplicationproblemJSONDefault ¶ added in v0.5.0
func (r GetClusterResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (GetClusterResponse) GetBody ¶ added in v0.5.0
func (r GetClusterResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (GetClusterResponse) GetJSON200 ¶ added in v0.5.0
func (r GetClusterResponse) GetJSON200() *ClusterStatus
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (GetClusterResponse) Status ¶ added in v0.5.0
func (r GetClusterResponse) Status() string
Status returns HTTPResponse.Status
func (GetClusterResponse) StatusCode ¶ added in v0.5.0
func (r GetClusterResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type GetClusterResponseObject ¶ added in v0.5.0
type GetClusterResponseObject interface {
VisitGetClusterResponse(w http.ResponseWriter) error
}
type GetClusterdefaultApplicationProblemPlusJSONResponse ¶ added in v0.5.0
func (GetClusterdefaultApplicationProblemPlusJSONResponse) VisitGetClusterResponse ¶ added in v0.5.0
func (response GetClusterdefaultApplicationProblemPlusJSONResponse) VisitGetClusterResponse(w http.ResponseWriter) error
type GetCommit200JSONResponse ¶
type GetCommit200JSONResponse Commit
func (GetCommit200JSONResponse) VisitGetCommitResponse ¶
func (response GetCommit200JSONResponse) VisitGetCommitResponse(w http.ResponseWriter) error
type GetCommitRequestObject ¶
type GetCommitRequestObject struct {
CommitId string `json:"commitId"`
}
type GetCommitResponse ¶
type GetCommitResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *Commit
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseGetCommitResponse ¶
func ParseGetCommitResponse(rsp *http.Response) (*GetCommitResponse, error)
ParseGetCommitResponse parses an HTTP response from a GetCommitWithResponse call
func (GetCommitResponse) ContentType ¶
func (r GetCommitResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (GetCommitResponse) GetApplicationproblemJSONDefault ¶
func (r GetCommitResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (GetCommitResponse) GetBody ¶
func (r GetCommitResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (GetCommitResponse) GetJSON200 ¶
func (r GetCommitResponse) GetJSON200() *Commit
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (GetCommitResponse) Status ¶
func (r GetCommitResponse) Status() string
Status returns HTTPResponse.Status
func (GetCommitResponse) StatusCode ¶
func (r GetCommitResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type GetCommitResponseObject ¶
type GetCommitResponseObject interface {
VisitGetCommitResponse(w http.ResponseWriter) error
}
type GetCommitdefaultApplicationProblemPlusJSONResponse ¶
func (GetCommitdefaultApplicationProblemPlusJSONResponse) VisitGetCommitResponse ¶
func (response GetCommitdefaultApplicationProblemPlusJSONResponse) VisitGetCommitResponse(w http.ResponseWriter) error
type GetHealth200JSONResponse ¶
type GetHealth200JSONResponse Health
func (GetHealth200JSONResponse) VisitGetHealthResponse ¶
func (response GetHealth200JSONResponse) VisitGetHealthResponse(w http.ResponseWriter) error
type GetHealth503ApplicationProblemPlusJSONResponse ¶
type GetHealth503ApplicationProblemPlusJSONResponse Problem
func (GetHealth503ApplicationProblemPlusJSONResponse) VisitGetHealthResponse ¶
func (response GetHealth503ApplicationProblemPlusJSONResponse) VisitGetHealthResponse(w http.ResponseWriter) error
type GetHealthRequestObject ¶
type GetHealthRequestObject struct {
}
type GetHealthResponse ¶
type GetHealthResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *Health
// ApplicationproblemJSON503 the response for an HTTP 503 `application/problem+json` response
ApplicationproblemJSON503 *Problem
}
func ParseGetHealthResponse ¶
func ParseGetHealthResponse(rsp *http.Response) (*GetHealthResponse, error)
ParseGetHealthResponse parses an HTTP response from a GetHealthWithResponse call
func (GetHealthResponse) ContentType ¶
func (r GetHealthResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (GetHealthResponse) GetApplicationproblemJSON503 ¶
func (r GetHealthResponse) GetApplicationproblemJSON503() *Problem
GetApplicationproblemJSON503 returns the response for an HTTP 503 `application/problem+json` response
func (GetHealthResponse) GetBody ¶
func (r GetHealthResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (GetHealthResponse) GetJSON200 ¶
func (r GetHealthResponse) GetJSON200() *Health
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (GetHealthResponse) Status ¶
func (r GetHealthResponse) Status() string
Status returns HTTPResponse.Status
func (GetHealthResponse) StatusCode ¶
func (r GetHealthResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type GetHealthResponseObject ¶
type GetHealthResponseObject interface {
VisitGetHealthResponse(w http.ResponseWriter) error
}
type GetMetrics200TextResponse ¶
type GetMetrics200TextResponse string
func (GetMetrics200TextResponse) VisitGetMetricsResponse ¶
func (response GetMetrics200TextResponse) VisitGetMetricsResponse(w http.ResponseWriter) error
type GetMetricsRequestObject ¶
type GetMetricsRequestObject struct {
}
type GetMetricsResponse ¶
type GetMetricsResponse struct {
Body []byte
HTTPResponse *http.Response
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseGetMetricsResponse ¶
func ParseGetMetricsResponse(rsp *http.Response) (*GetMetricsResponse, error)
ParseGetMetricsResponse parses an HTTP response from a GetMetricsWithResponse call
func (GetMetricsResponse) ContentType ¶
func (r GetMetricsResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (GetMetricsResponse) GetApplicationproblemJSONDefault ¶
func (r GetMetricsResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (GetMetricsResponse) GetBody ¶
func (r GetMetricsResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (GetMetricsResponse) Status ¶
func (r GetMetricsResponse) Status() string
Status returns HTTPResponse.Status
func (GetMetricsResponse) StatusCode ¶
func (r GetMetricsResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type GetMetricsResponseObject ¶
type GetMetricsResponseObject interface {
VisitGetMetricsResponse(w http.ResponseWriter) error
}
type GetMetricsdefaultApplicationProblemPlusJSONResponse ¶
func (GetMetricsdefaultApplicationProblemPlusJSONResponse) VisitGetMetricsResponse ¶
func (response GetMetricsdefaultApplicationProblemPlusJSONResponse) VisitGetMetricsResponse(w http.ResponseWriter) error
type GetRecord200JSONResponse ¶
type GetRecord200JSONResponse Record
func (GetRecord200JSONResponse) VisitGetRecordResponse ¶
func (response GetRecord200JSONResponse) VisitGetRecordResponse(w http.ResponseWriter) error
type GetRecordRequestObject ¶
type GetRecordRequestObject struct {
RecordId RecordID `json:"recordId"`
}
type GetRecordResponse ¶
type GetRecordResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *Record
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseGetRecordResponse ¶
func ParseGetRecordResponse(rsp *http.Response) (*GetRecordResponse, error)
ParseGetRecordResponse parses an HTTP response from a GetRecordWithResponse call
func (GetRecordResponse) ContentType ¶
func (r GetRecordResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (GetRecordResponse) GetApplicationproblemJSONDefault ¶
func (r GetRecordResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (GetRecordResponse) GetBody ¶
func (r GetRecordResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (GetRecordResponse) GetJSON200 ¶
func (r GetRecordResponse) GetJSON200() *Record
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (GetRecordResponse) Status ¶
func (r GetRecordResponse) Status() string
Status returns HTTPResponse.Status
func (GetRecordResponse) StatusCode ¶
func (r GetRecordResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type GetRecordResponseObject ¶
type GetRecordResponseObject interface {
VisitGetRecordResponse(w http.ResponseWriter) error
}
type GetRecorddefaultApplicationProblemPlusJSONResponse ¶
func (GetRecorddefaultApplicationProblemPlusJSONResponse) VisitGetRecordResponse ¶
func (response GetRecorddefaultApplicationProblemPlusJSONResponse) VisitGetRecordResponse(w http.ResponseWriter) error
type GetSecondaryConfig200JSONResponse ¶ added in v0.2.0
type GetSecondaryConfig200JSONResponse SecondaryConfig
func (GetSecondaryConfig200JSONResponse) VisitGetSecondaryConfigResponse ¶ added in v0.2.0
func (response GetSecondaryConfig200JSONResponse) VisitGetSecondaryConfigResponse(w http.ResponseWriter) error
type GetSecondaryConfigParams ¶ added in v0.2.0
type GetSecondaryConfigParams struct {
// Format The software the configuration is written for.
Format SecondaryFormat `form:"format" json:"format"`
// Primary Where this server answers a transfer request, as an address with an
// optional port. It is given rather than worked out: a server does not
// know which of its addresses the world reaches it on, and a hidden
// primary is named by no record to ask.
Primary string `form:"primary" json:"primary"`
// Secondary The address the configuration is for. It appears nowhere in the
// output. Naming it is what lets the transfer and notify lists be
// checked rather than only described.
Secondary *string `form:"secondary,omitempty" json:"secondary,omitempty"`
// Zone Which zones to write out, by name. Repeat it for several; leaving it
// out takes every zone this server holds, reverse zones among them.
Zone *[]string `form:"zone,omitempty" json:"zone,omitempty"`
// Key The name of the TSIG key the secondary signs with. Where it is left
// out and exactly one key is on the transfer list, that key is meant;
// where several are, one has to be named.
Key *string `form:"key,omitempty" json:"key,omitempty"`
// Signed Whether to write a key block at all. False writes a configuration
// that signs nothing, for a secondary the transfer list grants by
// address.
Signed *bool `form:"signed,omitempty" json:"signed,omitempty"`
// ZoneDir Where the secondary keeps its copies of the zones. Left out, each
// program is left the place it uses anyway.
ZoneDir *string `form:"zoneDir,omitempty" json:"zoneDir,omitempty"`
}
GetSecondaryConfigParams defines parameters for GetSecondaryConfig.
type GetSecondaryConfigRequestObject ¶ added in v0.2.0
type GetSecondaryConfigRequestObject struct {
Params GetSecondaryConfigParams
}
type GetSecondaryConfigResponse ¶ added in v0.2.0
type GetSecondaryConfigResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *SecondaryConfig
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseGetSecondaryConfigResponse ¶ added in v0.2.0
func ParseGetSecondaryConfigResponse(rsp *http.Response) (*GetSecondaryConfigResponse, error)
ParseGetSecondaryConfigResponse parses an HTTP response from a GetSecondaryConfigWithResponse call
func (GetSecondaryConfigResponse) ContentType ¶ added in v0.2.0
func (r GetSecondaryConfigResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (GetSecondaryConfigResponse) GetApplicationproblemJSONDefault ¶ added in v0.2.0
func (r GetSecondaryConfigResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (GetSecondaryConfigResponse) GetBody ¶ added in v0.2.0
func (r GetSecondaryConfigResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (GetSecondaryConfigResponse) GetJSON200 ¶ added in v0.2.0
func (r GetSecondaryConfigResponse) GetJSON200() *SecondaryConfig
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (GetSecondaryConfigResponse) Status ¶ added in v0.2.0
func (r GetSecondaryConfigResponse) Status() string
Status returns HTTPResponse.Status
func (GetSecondaryConfigResponse) StatusCode ¶ added in v0.2.0
func (r GetSecondaryConfigResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type GetSecondaryConfigResponseObject ¶ added in v0.2.0
type GetSecondaryConfigResponseObject interface {
VisitGetSecondaryConfigResponse(w http.ResponseWriter) error
}
type GetSecondaryConfigdefaultApplicationProblemPlusJSONResponse ¶ added in v0.2.0
type GetSecondaryConfigdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (GetSecondaryConfigdefaultApplicationProblemPlusJSONResponse) VisitGetSecondaryConfigResponse ¶ added in v0.2.0
func (response GetSecondaryConfigdefaultApplicationProblemPlusJSONResponse) VisitGetSecondaryConfigResponse(w http.ResponseWriter) error
type GetSecondaryStatus200JSONResponse ¶ added in v0.3.0
type GetSecondaryStatus200JSONResponse []SecondaryStanding
func (GetSecondaryStatus200JSONResponse) VisitGetSecondaryStatusResponse ¶ added in v0.3.0
func (response GetSecondaryStatus200JSONResponse) VisitGetSecondaryStatusResponse(w http.ResponseWriter) error
type GetSecondaryStatusRequestObject ¶ added in v0.3.0
type GetSecondaryStatusRequestObject struct {
}
type GetSecondaryStatusResponse ¶ added in v0.3.0
type GetSecondaryStatusResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *[]SecondaryStanding
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseGetSecondaryStatusResponse ¶ added in v0.3.0
func ParseGetSecondaryStatusResponse(rsp *http.Response) (*GetSecondaryStatusResponse, error)
ParseGetSecondaryStatusResponse parses an HTTP response from a GetSecondaryStatusWithResponse call
func (GetSecondaryStatusResponse) ContentType ¶ added in v0.3.0
func (r GetSecondaryStatusResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (GetSecondaryStatusResponse) GetApplicationproblemJSONDefault ¶ added in v0.3.0
func (r GetSecondaryStatusResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (GetSecondaryStatusResponse) GetBody ¶ added in v0.3.0
func (r GetSecondaryStatusResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (GetSecondaryStatusResponse) GetJSON200 ¶ added in v0.3.0
func (r GetSecondaryStatusResponse) GetJSON200() *[]SecondaryStanding
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (GetSecondaryStatusResponse) Status ¶ added in v0.3.0
func (r GetSecondaryStatusResponse) Status() string
Status returns HTTPResponse.Status
func (GetSecondaryStatusResponse) StatusCode ¶ added in v0.3.0
func (r GetSecondaryStatusResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type GetSecondaryStatusResponseObject ¶ added in v0.3.0
type GetSecondaryStatusResponseObject interface {
VisitGetSecondaryStatusResponse(w http.ResponseWriter) error
}
type GetSecondaryStatusdefaultApplicationProblemPlusJSONResponse ¶ added in v0.3.0
type GetSecondaryStatusdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (GetSecondaryStatusdefaultApplicationProblemPlusJSONResponse) VisitGetSecondaryStatusResponse ¶ added in v0.3.0
func (response GetSecondaryStatusdefaultApplicationProblemPlusJSONResponse) VisitGetSecondaryStatusResponse(w http.ResponseWriter) error
type GetSession200JSONResponse ¶
type GetSession200JSONResponse Session
func (GetSession200JSONResponse) VisitGetSessionResponse ¶
func (response GetSession200JSONResponse) VisitGetSessionResponse(w http.ResponseWriter) error
type GetSessionRequestObject ¶
type GetSessionRequestObject struct {
}
type GetSessionResponse ¶
type GetSessionResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *Session
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseGetSessionResponse ¶
func ParseGetSessionResponse(rsp *http.Response) (*GetSessionResponse, error)
ParseGetSessionResponse parses an HTTP response from a GetSessionWithResponse call
func (GetSessionResponse) ContentType ¶
func (r GetSessionResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (GetSessionResponse) GetApplicationproblemJSONDefault ¶
func (r GetSessionResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (GetSessionResponse) GetBody ¶
func (r GetSessionResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (GetSessionResponse) GetJSON200 ¶
func (r GetSessionResponse) GetJSON200() *Session
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (GetSessionResponse) Status ¶
func (r GetSessionResponse) Status() string
Status returns HTTPResponse.Status
func (GetSessionResponse) StatusCode ¶
func (r GetSessionResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type GetSessionResponseObject ¶
type GetSessionResponseObject interface {
VisitGetSessionResponse(w http.ResponseWriter) error
}
type GetSessiondefaultApplicationProblemPlusJSONResponse ¶
func (GetSessiondefaultApplicationProblemPlusJSONResponse) VisitGetSessionResponse ¶
func (response GetSessiondefaultApplicationProblemPlusJSONResponse) VisitGetSessionResponse(w http.ResponseWriter) error
type GetSettings200JSONResponse ¶
type GetSettings200JSONResponse Settings
func (GetSettings200JSONResponse) VisitGetSettingsResponse ¶
func (response GetSettings200JSONResponse) VisitGetSettingsResponse(w http.ResponseWriter) error
type GetSettingsRequestObject ¶
type GetSettingsRequestObject struct {
}
type GetSettingsResponse ¶
type GetSettingsResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *Settings
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseGetSettingsResponse ¶
func ParseGetSettingsResponse(rsp *http.Response) (*GetSettingsResponse, error)
ParseGetSettingsResponse parses an HTTP response from a GetSettingsWithResponse call
func (GetSettingsResponse) ContentType ¶
func (r GetSettingsResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (GetSettingsResponse) GetApplicationproblemJSONDefault ¶
func (r GetSettingsResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (GetSettingsResponse) GetBody ¶
func (r GetSettingsResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (GetSettingsResponse) GetJSON200 ¶
func (r GetSettingsResponse) GetJSON200() *Settings
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (GetSettingsResponse) Status ¶
func (r GetSettingsResponse) Status() string
Status returns HTTPResponse.Status
func (GetSettingsResponse) StatusCode ¶
func (r GetSettingsResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type GetSettingsResponseObject ¶
type GetSettingsResponseObject interface {
VisitGetSettingsResponse(w http.ResponseWriter) error
}
type GetSettingsdefaultApplicationProblemPlusJSONResponse ¶
func (GetSettingsdefaultApplicationProblemPlusJSONResponse) VisitGetSettingsResponse ¶
func (response GetSettingsdefaultApplicationProblemPlusJSONResponse) VisitGetSettingsResponse(w http.ResponseWriter) error
type GetZone200JSONResponse ¶
type GetZone200JSONResponse ZoneDetail
func (GetZone200JSONResponse) VisitGetZoneResponse ¶
func (response GetZone200JSONResponse) VisitGetZoneResponse(w http.ResponseWriter) error
type GetZoneRequestObject ¶
type GetZoneRequestObject struct {
ZoneId ZoneID `json:"zoneId"`
}
type GetZoneResponse ¶
type GetZoneResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *ZoneDetail
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseGetZoneResponse ¶
func ParseGetZoneResponse(rsp *http.Response) (*GetZoneResponse, error)
ParseGetZoneResponse parses an HTTP response from a GetZoneWithResponse call
func (GetZoneResponse) ContentType ¶
func (r GetZoneResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (GetZoneResponse) GetApplicationproblemJSONDefault ¶
func (r GetZoneResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (GetZoneResponse) GetBody ¶
func (r GetZoneResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (GetZoneResponse) GetJSON200 ¶
func (r GetZoneResponse) GetJSON200() *ZoneDetail
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (GetZoneResponse) Status ¶
func (r GetZoneResponse) Status() string
Status returns HTTPResponse.Status
func (GetZoneResponse) StatusCode ¶
func (r GetZoneResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type GetZoneResponseObject ¶
type GetZoneResponseObject interface {
VisitGetZoneResponse(w http.ResponseWriter) error
}
type GetZonedefaultApplicationProblemPlusJSONResponse ¶
func (GetZonedefaultApplicationProblemPlusJSONResponse) VisitGetZoneResponse ¶
func (response GetZonedefaultApplicationProblemPlusJSONResponse) VisitGetZoneResponse(w http.ResponseWriter) error
type Health ¶
type Health struct {
// Current Present on a cluster member. False once it has left its cluster,
// over a change it could not apply or by being taken out: it still
// answers queries, with what it held then, which is why this is a
// field beside `status` rather than a reason to answer 503
// (docs/decisions/d29-a-node-that-cannot-apply.md,
// docs/decisions/d46-a-member-that-has-left.md).
Current *bool `json:"current,omitempty"`
// Records Records the query path currently answers from.
Records int `json:"records"`
Status HealthStatus `json:"status"`
Version string `json:"version"`
// Zones Zones the query path currently answers for.
Zones int `json:"zones"`
}
Health defines model for Health.
type HealthStatus ¶
type HealthStatus string
HealthStatus defines model for Health.Status.
const ( HealthStatusServing HealthStatus = "serving" HealthStatusStarting HealthStatus = "starting" )
Defines values for HealthStatus.
func (HealthStatus) Valid ¶
func (e HealthStatus) Valid() bool
Valid indicates whether the value is a known member of the HealthStatus enum.
type HttpRequestDoer ¶
Doer performs HTTP requests.
The standard http.Client implements this interface.
type ImportZone201JSONResponse ¶
type ImportZone201JSONResponse struct {
Body ZoneImported
Headers ImportZone201ResponseHeaders
}
func (ImportZone201JSONResponse) VisitImportZoneResponse ¶
func (response ImportZone201JSONResponse) VisitImportZoneResponse(w http.ResponseWriter) error
type ImportZone201ResponseHeaders ¶
type ImportZone201ResponseHeaders struct {
Location *string
}
type ImportZoneParams ¶
type ImportZoneParams struct {
// Origin Where relative names are resolved from, for a file that sets no
// `$ORIGIN` of its own. Not needed otherwise.
Origin *string `form:"origin,omitempty" json:"origin,omitempty"`
}
ImportZoneParams defines parameters for ImportZone.
type ImportZoneRequestObject ¶
type ImportZoneRequestObject struct {
Params ImportZoneParams
Body io.Reader
}
type ImportZoneResponse ¶
type ImportZoneResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON201 the response for an HTTP 201 `application/json` response
JSON201 *ZoneImported
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
// Headers201 the parsed response headers for an HTTP 201 response
Headers201 *ImportZoneResponse201Headers
}
func ParseImportZoneResponse ¶
func ParseImportZoneResponse(rsp *http.Response) (*ImportZoneResponse, error)
ParseImportZoneResponse parses an HTTP response from a ImportZoneWithResponse call
func (ImportZoneResponse) ContentType ¶
func (r ImportZoneResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (ImportZoneResponse) GetApplicationproblemJSONDefault ¶
func (r ImportZoneResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (ImportZoneResponse) GetBody ¶
func (r ImportZoneResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (ImportZoneResponse) GetJSON201 ¶
func (r ImportZoneResponse) GetJSON201() *ZoneImported
GetJSON201 returns the response for an HTTP 201 `application/json` response
func (ImportZoneResponse) Status ¶
func (r ImportZoneResponse) Status() string
Status returns HTTPResponse.Status
func (ImportZoneResponse) StatusCode ¶
func (r ImportZoneResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type ImportZoneResponse201Headers ¶
type ImportZoneResponse201Headers struct {
Location *string
}
ImportZoneResponse201Headers the declared response headers of an HTTP 201 response for ImportZone
type ImportZoneResponseObject ¶
type ImportZoneResponseObject interface {
VisitImportZoneResponse(w http.ResponseWriter) error
}
type ImportZonedefaultApplicationProblemPlusJSONResponse ¶
func (ImportZonedefaultApplicationProblemPlusJSONResponse) VisitImportZoneResponse ¶
func (response ImportZonedefaultApplicationProblemPlusJSONResponse) VisitImportZoneResponse(w http.ResponseWriter) error
type InitCluster200JSONResponse ¶ added in v0.5.0
type InitCluster200JSONResponse ClusterMember
func (InitCluster200JSONResponse) VisitInitClusterResponse ¶ added in v0.5.0
func (response InitCluster200JSONResponse) VisitInitClusterResponse(w http.ResponseWriter) error
type InitClusterRequestObject ¶ added in v0.5.0
type InitClusterRequestObject struct {
}
type InitClusterResponse ¶ added in v0.5.0
type InitClusterResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *ClusterMember
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseInitClusterResponse ¶ added in v0.5.0
func ParseInitClusterResponse(rsp *http.Response) (*InitClusterResponse, error)
ParseInitClusterResponse parses an HTTP response from a InitClusterWithResponse call
func (InitClusterResponse) ContentType ¶ added in v0.5.0
func (r InitClusterResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (InitClusterResponse) GetApplicationproblemJSONDefault ¶ added in v0.5.0
func (r InitClusterResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (InitClusterResponse) GetBody ¶ added in v0.5.0
func (r InitClusterResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (InitClusterResponse) GetJSON200 ¶ added in v0.5.0
func (r InitClusterResponse) GetJSON200() *ClusterMember
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (InitClusterResponse) Status ¶ added in v0.5.0
func (r InitClusterResponse) Status() string
Status returns HTTPResponse.Status
func (InitClusterResponse) StatusCode ¶ added in v0.5.0
func (r InitClusterResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type InitClusterResponseObject ¶ added in v0.5.0
type InitClusterResponseObject interface {
VisitInitClusterResponse(w http.ResponseWriter) error
}
type InitClusterdefaultApplicationProblemPlusJSONResponse ¶ added in v0.5.0
func (InitClusterdefaultApplicationProblemPlusJSONResponse) VisitInitClusterResponse ¶ added in v0.5.0
func (response InitClusterdefaultApplicationProblemPlusJSONResponse) VisitInitClusterResponse(w http.ResponseWriter) error
type InvalidParamFormatError ¶
func (*InvalidParamFormatError) Error ¶
func (e *InvalidParamFormatError) Error() string
func (*InvalidParamFormatError) Unwrap ¶
func (e *InvalidParamFormatError) Unwrap() error
type LameNameServer ¶ added in v0.2.0
type LameNameServer struct {
// Detail What is wrong and what to do about it, in the same words the zone
// check uses. It travels with the answer so that no client writes its
// own version of the sentence.
Detail string `json:"detail"`
// Owner The name the NS record sits on: the apex for this zone's own name
// servers, a child name for a delegation.
Owner string `json:"owner"`
// Target The name server this zone has no address for.
Target string `json:"target"`
}
LameNameServer defines model for LameNameServer.
type ListCommits200JSONResponse ¶
type ListCommits200JSONResponse CommitPage
func (ListCommits200JSONResponse) VisitListCommitsResponse ¶
func (response ListCommits200JSONResponse) VisitListCommitsResponse(w http.ResponseWriter) error
type ListCommitsParams ¶
type ListCommitsParams struct {
// Cursor Continue a listing where the last page ended.
Cursor *Cursor `form:"cursor,omitempty" json:"cursor,omitempty"`
// Limit How many items to return at most.
Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
// ZoneId Restrict the history to one zone.
ZoneId *string `form:"zoneId,omitempty" json:"zoneId,omitempty"`
// Kind Restrict to commits of these kinds.
Kind *[]CommitKind `form:"kind,omitempty" json:"kind,omitempty"`
// Source Restrict to changes with these causes. `system` is the server's own
// doing, which in practice means the reverse entries it kept in step
// with a change somebody made; leaving it out is how a reader sees
// what people did without the entries that followed.
Source *[]CommitSource `form:"source,omitempty" json:"source,omitempty"`
// Actor Match the recorded actor exactly.
Actor *string `form:"actor,omitempty" json:"actor,omitempty"`
// Since Only commits at or after this time.
Since *time.Time `form:"since,omitempty" json:"since,omitempty"`
// Until Only commits before this time.
Until *time.Time `form:"until,omitempty" json:"until,omitempty"`
}
ListCommitsParams defines parameters for ListCommits.
type ListCommitsRequestObject ¶
type ListCommitsRequestObject struct {
Params ListCommitsParams
}
type ListCommitsResponse ¶
type ListCommitsResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *CommitPage
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseListCommitsResponse ¶
func ParseListCommitsResponse(rsp *http.Response) (*ListCommitsResponse, error)
ParseListCommitsResponse parses an HTTP response from a ListCommitsWithResponse call
func (ListCommitsResponse) ContentType ¶
func (r ListCommitsResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (ListCommitsResponse) GetApplicationproblemJSONDefault ¶
func (r ListCommitsResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (ListCommitsResponse) GetBody ¶
func (r ListCommitsResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (ListCommitsResponse) GetJSON200 ¶
func (r ListCommitsResponse) GetJSON200() *CommitPage
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (ListCommitsResponse) Status ¶
func (r ListCommitsResponse) Status() string
Status returns HTTPResponse.Status
func (ListCommitsResponse) StatusCode ¶
func (r ListCommitsResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type ListCommitsResponseObject ¶
type ListCommitsResponseObject interface {
VisitListCommitsResponse(w http.ResponseWriter) error
}
type ListCommitsdefaultApplicationProblemPlusJSONResponse ¶
func (ListCommitsdefaultApplicationProblemPlusJSONResponse) VisitListCommitsResponse ¶
func (response ListCommitsdefaultApplicationProblemPlusJSONResponse) VisitListCommitsResponse(w http.ResponseWriter) error
type ListRecords200JSONResponse ¶
type ListRecords200JSONResponse RecordPage
func (ListRecords200JSONResponse) VisitListRecordsResponse ¶
func (response ListRecords200JSONResponse) VisitListRecordsResponse(w http.ResponseWriter) error
type ListRecordsParams ¶
type ListRecordsParams struct {
// Cursor Continue a listing where the last page ended.
Cursor *Cursor `form:"cursor,omitempty" json:"cursor,omitempty"`
// Limit How many items to return at most.
Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
// Name Match one owner name exactly.
Name *string `form:"name,omitempty" json:"name,omitempty"`
// Type Match one record type.
Type *string `form:"type,omitempty" json:"type,omitempty"`
// Search Match anywhere in the owner name or the record data,
// case-insensitively. It is what backs the filter above a record
// listing, the same way it does above the zone listing: `name` and
// `type` answer "which record is this", and this answers "where does
// 192.0.2.10 appear".
Search *string `form:"search,omitempty" json:"search,omitempty"`
}
ListRecordsParams defines parameters for ListRecords.
type ListRecordsRequestObject ¶
type ListRecordsRequestObject struct {
ZoneId ZoneID `json:"zoneId"`
Params ListRecordsParams
}
type ListRecordsResponse ¶
type ListRecordsResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *RecordPage
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseListRecordsResponse ¶
func ParseListRecordsResponse(rsp *http.Response) (*ListRecordsResponse, error)
ParseListRecordsResponse parses an HTTP response from a ListRecordsWithResponse call
func (ListRecordsResponse) ContentType ¶
func (r ListRecordsResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (ListRecordsResponse) GetApplicationproblemJSONDefault ¶
func (r ListRecordsResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (ListRecordsResponse) GetBody ¶
func (r ListRecordsResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (ListRecordsResponse) GetJSON200 ¶
func (r ListRecordsResponse) GetJSON200() *RecordPage
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (ListRecordsResponse) Status ¶
func (r ListRecordsResponse) Status() string
Status returns HTTPResponse.Status
func (ListRecordsResponse) StatusCode ¶
func (r ListRecordsResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type ListRecordsResponseObject ¶
type ListRecordsResponseObject interface {
VisitListRecordsResponse(w http.ResponseWriter) error
}
type ListRecordsdefaultApplicationProblemPlusJSONResponse ¶
func (ListRecordsdefaultApplicationProblemPlusJSONResponse) VisitListRecordsResponse ¶
func (response ListRecordsdefaultApplicationProblemPlusJSONResponse) VisitListRecordsResponse(w http.ResponseWriter) error
type ListTSIGKeys200JSONResponse ¶ added in v0.2.0
type ListTSIGKeys200JSONResponse []TSIGKey
func (ListTSIGKeys200JSONResponse) VisitListTSIGKeysResponse ¶ added in v0.2.0
func (response ListTSIGKeys200JSONResponse) VisitListTSIGKeysResponse(w http.ResponseWriter) error
type ListTSIGKeysRequestObject ¶ added in v0.2.0
type ListTSIGKeysRequestObject struct {
}
type ListTSIGKeysResponse ¶ added in v0.2.0
type ListTSIGKeysResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *[]TSIGKey
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseListTSIGKeysResponse ¶ added in v0.2.0
func ParseListTSIGKeysResponse(rsp *http.Response) (*ListTSIGKeysResponse, error)
ParseListTSIGKeysResponse parses an HTTP response from a ListTSIGKeysWithResponse call
func (ListTSIGKeysResponse) ContentType ¶ added in v0.2.0
func (r ListTSIGKeysResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (ListTSIGKeysResponse) GetApplicationproblemJSONDefault ¶ added in v0.2.0
func (r ListTSIGKeysResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (ListTSIGKeysResponse) GetBody ¶ added in v0.2.0
func (r ListTSIGKeysResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (ListTSIGKeysResponse) GetJSON200 ¶ added in v0.2.0
func (r ListTSIGKeysResponse) GetJSON200() *[]TSIGKey
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (ListTSIGKeysResponse) Status ¶ added in v0.2.0
func (r ListTSIGKeysResponse) Status() string
Status returns HTTPResponse.Status
func (ListTSIGKeysResponse) StatusCode ¶ added in v0.2.0
func (r ListTSIGKeysResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type ListTSIGKeysResponseObject ¶ added in v0.2.0
type ListTSIGKeysResponseObject interface {
VisitListTSIGKeysResponse(w http.ResponseWriter) error
}
type ListTSIGKeysdefaultApplicationProblemPlusJSONResponse ¶ added in v0.2.0
func (ListTSIGKeysdefaultApplicationProblemPlusJSONResponse) VisitListTSIGKeysResponse ¶ added in v0.2.0
func (response ListTSIGKeysdefaultApplicationProblemPlusJSONResponse) VisitListTSIGKeysResponse(w http.ResponseWriter) error
type ListTokens200JSONResponse ¶
type ListTokens200JSONResponse []Token
func (ListTokens200JSONResponse) VisitListTokensResponse ¶
func (response ListTokens200JSONResponse) VisitListTokensResponse(w http.ResponseWriter) error
type ListTokensRequestObject ¶
type ListTokensRequestObject struct {
}
type ListTokensResponse ¶
type ListTokensResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *[]Token
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseListTokensResponse ¶
func ParseListTokensResponse(rsp *http.Response) (*ListTokensResponse, error)
ParseListTokensResponse parses an HTTP response from a ListTokensWithResponse call
func (ListTokensResponse) ContentType ¶
func (r ListTokensResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (ListTokensResponse) GetApplicationproblemJSONDefault ¶
func (r ListTokensResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (ListTokensResponse) GetBody ¶
func (r ListTokensResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (ListTokensResponse) GetJSON200 ¶
func (r ListTokensResponse) GetJSON200() *[]Token
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (ListTokensResponse) Status ¶
func (r ListTokensResponse) Status() string
Status returns HTTPResponse.Status
func (ListTokensResponse) StatusCode ¶
func (r ListTokensResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type ListTokensResponseObject ¶
type ListTokensResponseObject interface {
VisitListTokensResponse(w http.ResponseWriter) error
}
type ListTokensdefaultApplicationProblemPlusJSONResponse ¶
func (ListTokensdefaultApplicationProblemPlusJSONResponse) VisitListTokensResponse ¶
func (response ListTokensdefaultApplicationProblemPlusJSONResponse) VisitListTokensResponse(w http.ResponseWriter) error
type ListZones200JSONResponse ¶
type ListZones200JSONResponse ZonePage
func (ListZones200JSONResponse) VisitListZonesResponse ¶
func (response ListZones200JSONResponse) VisitListZonesResponse(w http.ResponseWriter) error
type ListZonesParams ¶
type ListZonesParams struct {
// Cursor Continue a listing where the last page ended.
Cursor *Cursor `form:"cursor,omitempty" json:"cursor,omitempty"`
// Limit How many items to return at most.
Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
// Kind Restrict the listing to forward or to reverse zones.
Kind *ZoneKind `form:"kind,omitempty" json:"kind,omitempty"`
// Name Match one apex exactly. This is how a client turns a name a person
// typed into the zone it belongs to; `search` cannot, because
// `example.com` also matches `notexample.com`.
Name *string `form:"name,omitempty" json:"name,omitempty"`
// Search Match anywhere in the zone name, case-insensitively.
Search *string `form:"search,omitempty" json:"search,omitempty"`
// Disabled Select only disabled or only enabled zones.
Disabled *bool `form:"disabled,omitempty" json:"disabled,omitempty"`
}
ListZonesParams defines parameters for ListZones.
type ListZonesRequestObject ¶
type ListZonesRequestObject struct {
Params ListZonesParams
}
type ListZonesResponse ¶
type ListZonesResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *ZonePage
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseListZonesResponse ¶
func ParseListZonesResponse(rsp *http.Response) (*ListZonesResponse, error)
ParseListZonesResponse parses an HTTP response from a ListZonesWithResponse call
func (ListZonesResponse) ContentType ¶
func (r ListZonesResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (ListZonesResponse) GetApplicationproblemJSONDefault ¶
func (r ListZonesResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (ListZonesResponse) GetBody ¶
func (r ListZonesResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (ListZonesResponse) GetJSON200 ¶
func (r ListZonesResponse) GetJSON200() *ZonePage
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (ListZonesResponse) Status ¶
func (r ListZonesResponse) Status() string
Status returns HTTPResponse.Status
func (ListZonesResponse) StatusCode ¶
func (r ListZonesResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type ListZonesResponseObject ¶
type ListZonesResponseObject interface {
VisitListZonesResponse(w http.ResponseWriter) error
}
type ListZonesdefaultApplicationProblemPlusJSONResponse ¶
func (ListZonesdefaultApplicationProblemPlusJSONResponse) VisitListZonesResponse ¶
func (response ListZonesdefaultApplicationProblemPlusJSONResponse) VisitListZonesResponse(w http.ResponseWriter) error
type MakeRecordCanonical200JSONResponse ¶ added in v0.2.0
type MakeRecordCanonical200JSONResponse RecordWritten
func (MakeRecordCanonical200JSONResponse) VisitMakeRecordCanonicalResponse ¶ added in v0.2.0
func (response MakeRecordCanonical200JSONResponse) VisitMakeRecordCanonicalResponse(w http.ResponseWriter) error
type MakeRecordCanonicalRequestObject ¶ added in v0.2.0
type MakeRecordCanonicalRequestObject struct {
RecordId RecordID `json:"recordId"`
}
type MakeRecordCanonicalResponse ¶ added in v0.2.0
type MakeRecordCanonicalResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *RecordWritten
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseMakeRecordCanonicalResponse ¶ added in v0.2.0
func ParseMakeRecordCanonicalResponse(rsp *http.Response) (*MakeRecordCanonicalResponse, error)
ParseMakeRecordCanonicalResponse parses an HTTP response from a MakeRecordCanonicalWithResponse call
func (MakeRecordCanonicalResponse) ContentType ¶ added in v0.2.0
func (r MakeRecordCanonicalResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (MakeRecordCanonicalResponse) GetApplicationproblemJSONDefault ¶ added in v0.2.0
func (r MakeRecordCanonicalResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (MakeRecordCanonicalResponse) GetBody ¶ added in v0.2.0
func (r MakeRecordCanonicalResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (MakeRecordCanonicalResponse) GetJSON200 ¶ added in v0.2.0
func (r MakeRecordCanonicalResponse) GetJSON200() *RecordWritten
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (MakeRecordCanonicalResponse) Status ¶ added in v0.2.0
func (r MakeRecordCanonicalResponse) Status() string
Status returns HTTPResponse.Status
func (MakeRecordCanonicalResponse) StatusCode ¶ added in v0.2.0
func (r MakeRecordCanonicalResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type MakeRecordCanonicalResponseObject ¶ added in v0.2.0
type MakeRecordCanonicalResponseObject interface {
VisitMakeRecordCanonicalResponse(w http.ResponseWriter) error
}
type MakeRecordCanonicaldefaultApplicationProblemPlusJSONResponse ¶ added in v0.2.0
type MakeRecordCanonicaldefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (MakeRecordCanonicaldefaultApplicationProblemPlusJSONResponse) VisitMakeRecordCanonicalResponse ¶ added in v0.2.0
func (response MakeRecordCanonicaldefaultApplicationProblemPlusJSONResponse) VisitMakeRecordCanonicalResponse(w http.ResponseWriter) error
type MissingZone ¶
type MissingZone struct {
Address string `json:"address"`
// ZoneName The reverse zone that would be needed.
ZoneName string `json:"zoneName"`
}
MissingZone A reverse entry has nowhere to go, because no zone covers the address. Creating one is an assertion of authority, so it is offered rather than done (docs/decisions/ D6).
type NotifyTargets ¶ added in v0.2.0
type NotifyTargets = []string
NotifyTargets Who is told when a zone changes, as addresses with an optional port. An empty list tells nobody, and then a secondary finds out when its own refresh timer fires. This is a separate list from transferAllow: that one decides who may take a copy, this one names where a notification can arrive, so it holds addresses rather than prefixes.
A `key:<name>` after the address signs the notification with that TSIG key, for a secondary that insists on one.
type Problem ¶
type Problem struct {
// Conflicts Reverse entries that were not written because another name already claims the address.
Conflicts *[]Conflict `json:"conflicts,omitempty"`
// Detail What went wrong with this particular request.
Detail *string `json:"detail,omitempty"`
// Instance The request this failure belongs to.
Instance *string `json:"instance,omitempty"`
// MissingZones Reverse zones that would be needed and do not exist.
MissingZones *[]MissingZone `json:"missingZones,omitempty"`
// Status The HTTP status code, repeated for clients that lost it.
Status int `json:"status"`
// Title A short, stable summary of the kind of failure.
Title string `json:"title"`
// Type A URI reference naming the kind of failure.
Type string `json:"type"`
}
Problem A failure, in the shape of RFC 9457. Anything a client has to act on travels as a field rather than as prose in `detail`, because no client should be parsing English.
type ProblemApplicationProblemPlusJSONResponse ¶
type ProblemApplicationProblemPlusJSONResponse Problem
type QueryEvent ¶
type QueryEvent struct {
// At When the query was read.
At time.Time `json:"at"`
Class string `json:"class"`
// Client The address the query came from.
Client string `json:"client"`
// Dropped Whether nothing was sent at all. Two messages have no safe reply,
// and a query that got silence is exactly what somebody debugging is
// looking for.
Dropped bool `json:"dropped"`
// LatencyUs How long the exchange took, in microseconds, from reading the
// query to having written the response.
LatencyUs int `json:"latencyUs"`
// Name The question name, in the casing the client sent it, not the
// casing this server stores, which is always lowercase.
Name string `json:"name"`
// Port The port it came from.
Port *int `json:"port,omitempty"`
// Rcode The response code sent, by mnemonic. Meaningless when `dropped` is set.
Rcode string `json:"rcode"`
// Size The response, in octets on the wire. Zero when nothing was sent.
Size int `json:"size"`
Transport QueryEventTransport `json:"transport"`
// Truncated Whether the response was cut to fit the transport and marked TC (RFC 1035 §4.1.1).
Truncated bool `json:"truncated"`
Type string `json:"type"`
}
QueryEvent One exchange, as a watcher sees it.
type QueryEventTransport ¶
type QueryEventTransport string
QueryEventTransport defines model for QueryEvent.Transport.
const ( QueryEventTransportTcp QueryEventTransport = "tcp" QueryEventTransportUdp QueryEventTransport = "udp" )
Defines values for QueryEventTransport.
func (QueryEventTransport) Valid ¶
func (e QueryEventTransport) Valid() bool
Valid indicates whether the value is a known member of the QueryEventTransport enum.
type RRset ¶
type RRset struct {
// Class Defaults to IN, which is the only class this server answers.
Class *string `json:"class,omitempty"`
// Name The owner name, absolute, as for a single record.
Name string `json:"name"`
// Records What the set should hold. Empty removes it.
Records []RRsetMember `json:"records"`
// Ttl Defaults to the zone's own default TTL.
Ttl *int64 `json:"ttl,omitempty"`
Type string `json:"type"`
}
RRset Every record sharing an owner name, class and type. The TTL belongs to the set rather than to each record: RFC 2181 §5.2 requires them to be equal, and a field that can be set inconsistently is one that will be.
type RRsetMember ¶
type RRsetMember struct {
Comment *string `json:"comment,omitempty"`
Data string `json:"data"`
// Disabled A disabled record is kept but not answered with.
Disabled *bool `json:"disabled,omitempty"`
}
RRsetMember defines model for RRsetMember.
type RRsetsWritten ¶
type RRsetsWritten struct {
Conflicts *[]Conflict `json:"conflicts,omitempty"`
// Generated Records written automatically, such as the PTR for an address.
Generated *[]Record `json:"generated,omitempty"`
MissingZones *[]MissingZone `json:"missingZones,omitempty"`
// Records Every record now in the named RRsets, in the order the sets were given.
Records []Record `json:"records"`
}
RRsetsWritten The named RRsets as they now stand, and what writing them caused.
type ReadTSIGKeySecret200JSONResponse ¶ added in v0.2.0
type ReadTSIGKeySecret200JSONResponse TSIGKeySecret
func (ReadTSIGKeySecret200JSONResponse) VisitReadTSIGKeySecretResponse ¶ added in v0.2.0
func (response ReadTSIGKeySecret200JSONResponse) VisitReadTSIGKeySecretResponse(w http.ResponseWriter) error
type ReadTSIGKeySecretRequestObject ¶ added in v0.2.0
type ReadTSIGKeySecretRequestObject struct {
KeyId string `json:"keyId"`
}
type ReadTSIGKeySecretResponse ¶ added in v0.2.0
type ReadTSIGKeySecretResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *TSIGKeySecret
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseReadTSIGKeySecretResponse ¶ added in v0.2.0
func ParseReadTSIGKeySecretResponse(rsp *http.Response) (*ReadTSIGKeySecretResponse, error)
ParseReadTSIGKeySecretResponse parses an HTTP response from a ReadTSIGKeySecretWithResponse call
func (ReadTSIGKeySecretResponse) ContentType ¶ added in v0.2.0
func (r ReadTSIGKeySecretResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (ReadTSIGKeySecretResponse) GetApplicationproblemJSONDefault ¶ added in v0.2.0
func (r ReadTSIGKeySecretResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (ReadTSIGKeySecretResponse) GetBody ¶ added in v0.2.0
func (r ReadTSIGKeySecretResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (ReadTSIGKeySecretResponse) GetJSON200 ¶ added in v0.2.0
func (r ReadTSIGKeySecretResponse) GetJSON200() *TSIGKeySecret
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (ReadTSIGKeySecretResponse) Status ¶ added in v0.2.0
func (r ReadTSIGKeySecretResponse) Status() string
Status returns HTTPResponse.Status
func (ReadTSIGKeySecretResponse) StatusCode ¶ added in v0.2.0
func (r ReadTSIGKeySecretResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type ReadTSIGKeySecretResponseObject ¶ added in v0.2.0
type ReadTSIGKeySecretResponseObject interface {
VisitReadTSIGKeySecretResponse(w http.ResponseWriter) error
}
type ReadTSIGKeySecretdefaultApplicationProblemPlusJSONResponse ¶ added in v0.2.0
type ReadTSIGKeySecretdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (ReadTSIGKeySecretdefaultApplicationProblemPlusJSONResponse) VisitReadTSIGKeySecretResponse ¶ added in v0.2.0
func (response ReadTSIGKeySecretdefaultApplicationProblemPlusJSONResponse) VisitReadTSIGKeySecretResponse(w http.ResponseWriter) error
type ReconcileResult ¶ added in v0.2.0
type ReconcileResult struct {
// Commit The commit that wrote the missing entries, with its events. Absent
// when the zone needed nothing.
Commit *Commit `json:"commit,omitempty"`
Conflicts *[]Conflict `json:"conflicts,omitempty"`
MissingZones *[]MissingZone `json:"missingZones,omitempty"`
}
ReconcileResult What filling a zone produced.
type ReconcileZone200JSONResponse ¶ added in v0.2.0
type ReconcileZone200JSONResponse ReconcileResult
func (ReconcileZone200JSONResponse) VisitReconcileZoneResponse ¶ added in v0.2.0
func (response ReconcileZone200JSONResponse) VisitReconcileZoneResponse(w http.ResponseWriter) error
type ReconcileZoneRequestObject ¶ added in v0.2.0
type ReconcileZoneRequestObject struct {
ZoneId ZoneID `json:"zoneId"`
}
type ReconcileZoneResponse ¶ added in v0.2.0
type ReconcileZoneResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *ReconcileResult
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseReconcileZoneResponse ¶ added in v0.2.0
func ParseReconcileZoneResponse(rsp *http.Response) (*ReconcileZoneResponse, error)
ParseReconcileZoneResponse parses an HTTP response from a ReconcileZoneWithResponse call
func (ReconcileZoneResponse) ContentType ¶ added in v0.2.0
func (r ReconcileZoneResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (ReconcileZoneResponse) GetApplicationproblemJSONDefault ¶ added in v0.2.0
func (r ReconcileZoneResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (ReconcileZoneResponse) GetBody ¶ added in v0.2.0
func (r ReconcileZoneResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (ReconcileZoneResponse) GetJSON200 ¶ added in v0.2.0
func (r ReconcileZoneResponse) GetJSON200() *ReconcileResult
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (ReconcileZoneResponse) Status ¶ added in v0.2.0
func (r ReconcileZoneResponse) Status() string
Status returns HTTPResponse.Status
func (ReconcileZoneResponse) StatusCode ¶ added in v0.2.0
func (r ReconcileZoneResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type ReconcileZoneResponseObject ¶ added in v0.2.0
type ReconcileZoneResponseObject interface {
VisitReconcileZoneResponse(w http.ResponseWriter) error
}
type ReconcileZonedefaultApplicationProblemPlusJSONResponse ¶ added in v0.2.0
func (ReconcileZonedefaultApplicationProblemPlusJSONResponse) VisitReconcileZoneResponse ¶ added in v0.2.0
func (response ReconcileZonedefaultApplicationProblemPlusJSONResponse) VisitReconcileZoneResponse(w http.ResponseWriter) error
type Record ¶
type Record struct {
Class string `json:"class"`
Comment *string `json:"comment,omitempty"`
CreatedAt time.Time `json:"createdAt"`
// Data The record data in presentation format, canonicalised.
Data string `json:"data"`
Disabled bool `json:"disabled"`
Id string `json:"id"`
// ManagedBy The record this one was generated from, for a generated record.
ManagedBy *string `json:"managedBy,omitempty"`
// ManagedKind Why this record was generated.
ManagedKind *string `json:"managedKind,omitempty"`
// Name The owner name, fully qualified.
Name string `json:"name"`
Ttl int64 `json:"ttl"`
Type string `json:"type"`
UpdatedAt time.Time `json:"updatedAt"`
ZoneId string `json:"zoneId"`
}
Record defines model for Record.
type RecordPage ¶
type RecordPage struct {
Items []Record `json:"items"`
NextCursor *string `json:"nextCursor,omitempty"`
}
RecordPage defines model for RecordPage.
type RecordWritten ¶
type RecordWritten struct {
Conflicts *[]Conflict `json:"conflicts,omitempty"`
// Generated Records written automatically, such as the PTR for an address.
Generated *[]Record `json:"generated,omitempty"`
MissingZones *[]MissingZone `json:"missingZones,omitempty"`
Record Record `json:"record"`
}
RecordWritten The record as it now stands, together with what writing it caused.
type RemoveClusterMember204Response ¶ added in v0.5.0
type RemoveClusterMember204Response struct {
}
func (RemoveClusterMember204Response) VisitRemoveClusterMemberResponse ¶ added in v0.5.0
func (response RemoveClusterMember204Response) VisitRemoveClusterMemberResponse(w http.ResponseWriter) error
type RemoveClusterMemberRequestObject ¶ added in v0.5.0
type RemoveClusterMemberRequestObject struct {
MemberId string `json:"memberId"`
}
type RemoveClusterMemberResponse ¶ added in v0.5.0
type RemoveClusterMemberResponse struct {
Body []byte
HTTPResponse *http.Response
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseRemoveClusterMemberResponse ¶ added in v0.5.0
func ParseRemoveClusterMemberResponse(rsp *http.Response) (*RemoveClusterMemberResponse, error)
ParseRemoveClusterMemberResponse parses an HTTP response from a RemoveClusterMemberWithResponse call
func (RemoveClusterMemberResponse) ContentType ¶ added in v0.5.0
func (r RemoveClusterMemberResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (RemoveClusterMemberResponse) GetApplicationproblemJSONDefault ¶ added in v0.5.0
func (r RemoveClusterMemberResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (RemoveClusterMemberResponse) GetBody ¶ added in v0.5.0
func (r RemoveClusterMemberResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (RemoveClusterMemberResponse) Status ¶ added in v0.5.0
func (r RemoveClusterMemberResponse) Status() string
Status returns HTTPResponse.Status
func (RemoveClusterMemberResponse) StatusCode ¶ added in v0.5.0
func (r RemoveClusterMemberResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type RemoveClusterMemberResponseObject ¶ added in v0.5.0
type RemoveClusterMemberResponseObject interface {
VisitRemoveClusterMemberResponse(w http.ResponseWriter) error
}
type RemoveClusterMemberdefaultApplicationProblemPlusJSONResponse ¶ added in v0.5.0
type RemoveClusterMemberdefaultApplicationProblemPlusJSONResponse struct {
Body Problem
StatusCode int
}
func (RemoveClusterMemberdefaultApplicationProblemPlusJSONResponse) VisitRemoveClusterMemberResponse ¶ added in v0.5.0
func (response RemoveClusterMemberdefaultApplicationProblemPlusJSONResponse) VisitRemoveClusterMemberResponse(w http.ResponseWriter) error
type ReplaceRRsets ¶
type ReplaceRRsets struct {
// Comment Why, for the history.
Comment *string `json:"comment,omitempty"`
Rrsets []RRset `json:"rrsets"`
}
ReplaceRRsets defines model for ReplaceRRsets.
type ReplaceRRsets200JSONResponse ¶
type ReplaceRRsets200JSONResponse RRsetsWritten
func (ReplaceRRsets200JSONResponse) VisitReplaceRRsetsResponse ¶
func (response ReplaceRRsets200JSONResponse) VisitReplaceRRsetsResponse(w http.ResponseWriter) error
type ReplaceRRsetsJSONRequestBody ¶
type ReplaceRRsetsJSONRequestBody = ReplaceRRsets
ReplaceRRsetsJSONRequestBody defines body for ReplaceRRsets for application/json ContentType.
type ReplaceRRsetsRequestObject ¶
type ReplaceRRsetsRequestObject struct {
ZoneId ZoneID `json:"zoneId"`
Body *ReplaceRRsetsJSONRequestBody
}
type ReplaceRRsetsResponse ¶
type ReplaceRRsetsResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *RRsetsWritten
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseReplaceRRsetsResponse ¶
func ParseReplaceRRsetsResponse(rsp *http.Response) (*ReplaceRRsetsResponse, error)
ParseReplaceRRsetsResponse parses an HTTP response from a ReplaceRRsetsWithResponse call
func (ReplaceRRsetsResponse) ContentType ¶
func (r ReplaceRRsetsResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (ReplaceRRsetsResponse) GetApplicationproblemJSONDefault ¶
func (r ReplaceRRsetsResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (ReplaceRRsetsResponse) GetBody ¶
func (r ReplaceRRsetsResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (ReplaceRRsetsResponse) GetJSON200 ¶
func (r ReplaceRRsetsResponse) GetJSON200() *RRsetsWritten
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (ReplaceRRsetsResponse) Status ¶
func (r ReplaceRRsetsResponse) Status() string
Status returns HTTPResponse.Status
func (ReplaceRRsetsResponse) StatusCode ¶
func (r ReplaceRRsetsResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type ReplaceRRsetsResponseObject ¶
type ReplaceRRsetsResponseObject interface {
VisitReplaceRRsetsResponse(w http.ResponseWriter) error
}
type ReplaceRRsetsdefaultApplicationProblemPlusJSONResponse ¶
func (ReplaceRRsetsdefaultApplicationProblemPlusJSONResponse) VisitReplaceRRsetsResponse ¶
func (response ReplaceRRsetsdefaultApplicationProblemPlusJSONResponse) VisitReplaceRRsetsResponse(w http.ResponseWriter) error
type RequestEditorFn ¶
RequestEditorFn is the function signature for the RequestEditor callback function
type RequiredHeaderError ¶
func (*RequiredHeaderError) Error ¶
func (e *RequiredHeaderError) Error() string
func (*RequiredHeaderError) Unwrap ¶
func (e *RequiredHeaderError) Unwrap() error
type RequiredParamError ¶
type RequiredParamError struct {
ParamName string
}
func (*RequiredParamError) Error ¶
func (e *RequiredParamError) Error() string
type ReverseConflictPolicy ¶
type ReverseConflictPolicy string
ReverseConflictPolicy What happens when an address already answers a reverse lookup with some other name (docs/decisions/ D3).
- `first-wins` keeps the entry that is there and reports the conflict. The default, and the only value that never changes an answer nobody asked to change.
- `last-wins` replaces a generated entry with the new one, still reporting the conflict. An entry somebody wrote by hand is never replaced.
- `multi` keeps both, which is the literal reading of "generate the reverse entry" and turns a routine change into a multi-record PTR set that reverse-lookup checks are not built for.
- `reject` refuses the whole change.
const ( ReverseConflictPolicyFirstWins ReverseConflictPolicy = "first-wins" ReverseConflictPolicyLastWins ReverseConflictPolicy = "last-wins" ReverseConflictPolicyMulti ReverseConflictPolicy = "multi" ReverseConflictPolicyReject ReverseConflictPolicy = "reject" )
Defines values for ReverseConflictPolicy.
func (ReverseConflictPolicy) Valid ¶
func (e ReverseConflictPolicy) Valid() bool
Valid indicates whether the value is a known member of the ReverseConflictPolicy enum.
type RevokeTSIGKey204Response ¶ added in v0.2.0
type RevokeTSIGKey204Response struct {
}
func (RevokeTSIGKey204Response) VisitRevokeTSIGKeyResponse ¶ added in v0.2.0
func (response RevokeTSIGKey204Response) VisitRevokeTSIGKeyResponse(w http.ResponseWriter) error
type RevokeTSIGKeyRequestObject ¶ added in v0.2.0
type RevokeTSIGKeyRequestObject struct {
KeyId string `json:"keyId"`
}
type RevokeTSIGKeyResponse ¶ added in v0.2.0
type RevokeTSIGKeyResponse struct {
Body []byte
HTTPResponse *http.Response
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseRevokeTSIGKeyResponse ¶ added in v0.2.0
func ParseRevokeTSIGKeyResponse(rsp *http.Response) (*RevokeTSIGKeyResponse, error)
ParseRevokeTSIGKeyResponse parses an HTTP response from a RevokeTSIGKeyWithResponse call
func (RevokeTSIGKeyResponse) ContentType ¶ added in v0.2.0
func (r RevokeTSIGKeyResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (RevokeTSIGKeyResponse) GetApplicationproblemJSONDefault ¶ added in v0.2.0
func (r RevokeTSIGKeyResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (RevokeTSIGKeyResponse) GetBody ¶ added in v0.2.0
func (r RevokeTSIGKeyResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (RevokeTSIGKeyResponse) Status ¶ added in v0.2.0
func (r RevokeTSIGKeyResponse) Status() string
Status returns HTTPResponse.Status
func (RevokeTSIGKeyResponse) StatusCode ¶ added in v0.2.0
func (r RevokeTSIGKeyResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type RevokeTSIGKeyResponseObject ¶ added in v0.2.0
type RevokeTSIGKeyResponseObject interface {
VisitRevokeTSIGKeyResponse(w http.ResponseWriter) error
}
type RevokeTSIGKeydefaultApplicationProblemPlusJSONResponse ¶ added in v0.2.0
func (RevokeTSIGKeydefaultApplicationProblemPlusJSONResponse) VisitRevokeTSIGKeyResponse ¶ added in v0.2.0
func (response RevokeTSIGKeydefaultApplicationProblemPlusJSONResponse) VisitRevokeTSIGKeyResponse(w http.ResponseWriter) error
type RevokeToken204Response ¶
type RevokeToken204Response struct {
}
func (RevokeToken204Response) VisitRevokeTokenResponse ¶
func (response RevokeToken204Response) VisitRevokeTokenResponse(w http.ResponseWriter) error
type RevokeTokenRequestObject ¶
type RevokeTokenRequestObject struct {
TokenId string `json:"tokenId"`
}
type RevokeTokenResponse ¶
type RevokeTokenResponse struct {
Body []byte
HTTPResponse *http.Response
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseRevokeTokenResponse ¶
func ParseRevokeTokenResponse(rsp *http.Response) (*RevokeTokenResponse, error)
ParseRevokeTokenResponse parses an HTTP response from a RevokeTokenWithResponse call
func (RevokeTokenResponse) ContentType ¶
func (r RevokeTokenResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (RevokeTokenResponse) GetApplicationproblemJSONDefault ¶
func (r RevokeTokenResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (RevokeTokenResponse) GetBody ¶
func (r RevokeTokenResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (RevokeTokenResponse) Status ¶
func (r RevokeTokenResponse) Status() string
Status returns HTTPResponse.Status
func (RevokeTokenResponse) StatusCode ¶
func (r RevokeTokenResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type RevokeTokenResponseObject ¶
type RevokeTokenResponseObject interface {
VisitRevokeTokenResponse(w http.ResponseWriter) error
}
type RevokeTokendefaultApplicationProblemPlusJSONResponse ¶
func (RevokeTokendefaultApplicationProblemPlusJSONResponse) VisitRevokeTokenResponse ¶
func (response RevokeTokendefaultApplicationProblemPlusJSONResponse) VisitRevokeTokenResponse(w http.ResponseWriter) error
type RollbackResult ¶
type RollbackResult struct {
// Commit The commit that moved the zone to that state, with its events.
// Absent when the zone was already there and nothing was written.
Commit *Commit `json:"commit,omitempty"`
Conflicts *[]Conflict `json:"conflicts,omitempty"`
MissingZones *[]MissingZone `json:"missingZones,omitempty"`
}
RollbackResult What restoring the state produced.
type RollbackZone ¶
type RollbackZone struct {
// Comment Why, for the history.
Comment *string `json:"comment,omitempty"`
// Serial The serial to restore the zone to. It has to be one the zone actually had.
Serial int64 `json:"serial"`
}
RollbackZone defines model for RollbackZone.
type RollbackZone200JSONResponse ¶
type RollbackZone200JSONResponse RollbackResult
func (RollbackZone200JSONResponse) VisitRollbackZoneResponse ¶
func (response RollbackZone200JSONResponse) VisitRollbackZoneResponse(w http.ResponseWriter) error
type RollbackZoneJSONRequestBody ¶
type RollbackZoneJSONRequestBody = RollbackZone
RollbackZoneJSONRequestBody defines body for RollbackZone for application/json ContentType.
type RollbackZoneRequestObject ¶
type RollbackZoneRequestObject struct {
ZoneId ZoneID `json:"zoneId"`
Body *RollbackZoneJSONRequestBody
}
type RollbackZoneResponse ¶
type RollbackZoneResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *RollbackResult
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseRollbackZoneResponse ¶
func ParseRollbackZoneResponse(rsp *http.Response) (*RollbackZoneResponse, error)
ParseRollbackZoneResponse parses an HTTP response from a RollbackZoneWithResponse call
func (RollbackZoneResponse) ContentType ¶
func (r RollbackZoneResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (RollbackZoneResponse) GetApplicationproblemJSONDefault ¶
func (r RollbackZoneResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (RollbackZoneResponse) GetBody ¶
func (r RollbackZoneResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (RollbackZoneResponse) GetJSON200 ¶
func (r RollbackZoneResponse) GetJSON200() *RollbackResult
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (RollbackZoneResponse) Status ¶
func (r RollbackZoneResponse) Status() string
Status returns HTTPResponse.Status
func (RollbackZoneResponse) StatusCode ¶
func (r RollbackZoneResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type RollbackZoneResponseObject ¶
type RollbackZoneResponseObject interface {
VisitRollbackZoneResponse(w http.ResponseWriter) error
}
type RollbackZonedefaultApplicationProblemPlusJSONResponse ¶
func (RollbackZonedefaultApplicationProblemPlusJSONResponse) VisitRollbackZoneResponse ¶
func (response RollbackZonedefaultApplicationProblemPlusJSONResponse) VisitRollbackZoneResponse(w http.ResponseWriter) error
type SOA ¶
type SOA struct {
Expire int64 `json:"expire"`
// Mailbox The RNAME field, as a domain name.
Mailbox string `json:"mailbox"`
// Minimum The negative-caching TTL of RFC 2308 §4, not a floor on record TTLs.
Minimum int64 `json:"minimum"`
// PrimaryNs The MNAME field, fully qualified.
PrimaryNs string `json:"primaryNs"`
Refresh int64 `json:"refresh"`
Retry int64 `json:"retry"`
// Serial Advanced by exactly one per commit (docs/decisions/ D2).
Serial *int64 `json:"serial,omitempty"`
// Ttl The time to live of the SOA record itself.
Ttl int64 `json:"ttl"`
}
SOA The start-of-authority parameters of a zone (RFC 1035 §3.3.13).
type SOAInput ¶
type SOAInput struct {
Expire *int64 `json:"expire,omitempty"`
Mailbox *string `json:"mailbox,omitempty"`
Minimum *int64 `json:"minimum,omitempty"`
PrimaryNs *string `json:"primaryNs,omitempty"`
Refresh *int64 `json:"refresh,omitempty"`
Retry *int64 `json:"retry,omitempty"`
Ttl *int64 `json:"ttl,omitempty"`
}
SOAInput The start-of-authority fields a client may set, on a zone it is creating and on one it is changing. Every field is optional in both cases: creating a zone fills what is not given from this server's defaults, and changing one leaves it as it was. A client that only cares about the name server should not have to send five timers it has no opinion about.
The serial is not among them: one commit advances it by exactly one, and that is what lets the journal be replayed (docs/decisions/ D2).
type Scope ¶
type Scope string
Scope What a token may do. The scopes are ordered (admin allows everything write allows, and write everything read allows) so a token carries the strongest one it needs rather than a list.
Defines values for Scope.
type SecondaryConfig ¶ added in v0.2.0
type SecondaryConfig struct {
// Content The file itself, ready to be written where the other server reads
// it. It holds the transfer key's secret in clear.
Content string `json:"content"`
// Format The software a configuration is written for. PowerDNS is absent on
// purpose rather than for want of a template: its zones live in a backend
// rather than in a file, so the equivalent is a list of commands, which is
// a different thing to generate.
Format SecondaryFormat `json:"format"`
// Warnings What about this arrangement will not work, in the order it is set up
// in. Empty where nothing is missing. Each entry states what holds;
// offering the fix beside it is a client's job, the way a zone check's
// findings work.
Warnings []string `json:"warnings"`
}
SecondaryConfig A configuration file for the other end of a zone transfer.
type SecondaryFormat ¶ added in v0.2.0
type SecondaryFormat string
SecondaryFormat The software a configuration is written for. PowerDNS is absent on purpose rather than for want of a template: its zones live in a backend rather than in a file, so the equivalent is a list of commands, which is a different thing to generate.
const ( SecondaryFormatBind SecondaryFormat = "bind" SecondaryFormatKnot SecondaryFormat = "knot" )
Defines values for SecondaryFormat.
func (SecondaryFormat) Valid ¶ added in v0.2.0
func (e SecondaryFormat) Valid() bool
Valid indicates whether the value is a known member of the SecondaryFormat enum.
type SecondaryStanding ¶ added in v0.3.0
type SecondaryStanding struct {
// AskedAt When the last question finished. Left out where none has.
AskedAt *time.Time `json:"askedAt,omitempty"`
// Lag How many commits behind that serial is. D2 advances a zone by one
// per commit, so it counts changes rather than a distance. Left out
// unless the state is `behind`.
Lag *int64 `json:"lag,omitempty"`
// Serial What the secondary last said it holds. Left out where it has never
// said. It is kept while a secondary is silent, so what is shown is
// the last thing anybody saw rather than nothing at all, and `state`
// is what says the reading is old.
Serial *int64 `json:"serial,omitempty"`
// State What the last finished question found. `unasked` is a pair the first
// question has not come back for yet. `ahead` is a secondary holding a
// newer serial than this server publishes, which means it took its
// copy from somewhere this server is not, and `unordered` the pair RFC
// 1982 §3.2 declines to order. `silent` said nothing in time, and
// `noSerial` answered without one to read.
State SecondaryStandingState `json:"state"`
// Target The secondary's address, as it appears on the notify list.
Target string `json:"target"`
Zone string `json:"zone"`
}
SecondaryStanding Where one secondary stands on one zone, as of the last question it answered (docs/decisions/ D36).
type SecondaryStandingState ¶ added in v0.3.0
type SecondaryStandingState string
SecondaryStandingState What the last finished question found. `unasked` is a pair the first question has not come back for yet. `ahead` is a secondary holding a newer serial than this server publishes, which means it took its copy from somewhere this server is not, and `unordered` the pair RFC 1982 §3.2 declines to order. `silent` said nothing in time, and `noSerial` answered without one to read.
const ( SecondaryStandingStateAhead SecondaryStandingState = "ahead" SecondaryStandingStateBehind SecondaryStandingState = "behind" SecondaryStandingStateInStep SecondaryStandingState = "inStep" SecondaryStandingStateNoSerial SecondaryStandingState = "noSerial" SecondaryStandingStateSilent SecondaryStandingState = "silent" SecondaryStandingStateUnasked SecondaryStandingState = "unasked" SecondaryStandingStateUnordered SecondaryStandingState = "unordered" )
Defines values for SecondaryStandingState.
func (SecondaryStandingState) Valid ¶ added in v0.3.0
func (e SecondaryStandingState) Valid() bool
Valid indicates whether the value is a known member of the SecondaryStandingState enum.
type ServerInterface ¶
type ServerInterface interface {
// DeleteSession End the session
// (DELETE /auth/session)
DeleteSession(w http.ResponseWriter, r *http.Request)
// GetSession Report who this request is authenticated as
// (GET /auth/session)
GetSession(w http.ResponseWriter, r *http.Request)
// CreateSession Exchange a token for a browser session
// (POST /auth/session)
CreateSession(w http.ResponseWriter, r *http.Request)
// GetCluster Say who the members are, and how far this one has got
// (GET /cluster)
GetCluster(w http.ResponseWriter, r *http.Request)
// InitCluster Start a cluster with this node as its first member
// (POST /cluster/init)
InitCluster(w http.ResponseWriter, r *http.Request)
// RemoveClusterMember Take a member out of the cluster
// (DELETE /cluster/members/{memberId})
RemoveClusterMember(w http.ResponseWriter, r *http.Request, memberId string)
// ListCommits List commits, newest first
// (GET /commits)
ListCommits(w http.ResponseWriter, r *http.Request, params ListCommitsParams)
// GetCommit Read one commit and everything it changed
// (GET /commits/{commitId})
GetCommit(w http.ResponseWriter, r *http.Request, commitId string)
// GetHealth Report whether the server is fit to answer queries
// (GET /healthz)
GetHealth(w http.ResponseWriter, r *http.Request)
// GetMetrics Export the current metrics
// (GET /metrics)
GetMetrics(w http.ResponseWriter, r *http.Request)
// StreamQueries Watch queries as they are answered
// (GET /queries/stream)
StreamQueries(w http.ResponseWriter, r *http.Request, params StreamQueriesParams)
// DeleteRecord Delete a record
// (DELETE /records/{recordId})
DeleteRecord(w http.ResponseWriter, r *http.Request, recordId RecordID)
// GetRecord Read one record
// (GET /records/{recordId})
GetRecord(w http.ResponseWriter, r *http.Request, recordId RecordID)
// UpdateRecord Change a record
// (PATCH /records/{recordId})
UpdateRecord(w http.ResponseWriter, r *http.Request, recordId RecordID)
// MakeRecordCanonical Make this the name an address reverses to
// (POST /records/{recordId}/canonical)
MakeRecordCanonical(w http.ResponseWriter, r *http.Request, recordId RecordID)
// DetachRecord Take over a generated record
// (POST /records/{recordId}/detach)
DetachRecord(w http.ResponseWriter, r *http.Request, recordId RecordID)
// GetSecondaryConfig Write the configuration a secondary needs
// (GET /secondary-config)
GetSecondaryConfig(w http.ResponseWriter, r *http.Request, params GetSecondaryConfigParams)
// GetSecondaryStatus Say what each secondary holds
// (GET /secondary-status)
GetSecondaryStatus(w http.ResponseWriter, r *http.Request)
// GetSettings Read the server-wide settings
// (GET /settings)
GetSettings(w http.ResponseWriter, r *http.Request)
// UpdateSettings Change the server-wide settings
// (PATCH /settings)
UpdateSettings(w http.ResponseWriter, r *http.Request)
// ListTokens List the tokens that may use this API
// (GET /tokens)
ListTokens(w http.ResponseWriter, r *http.Request)
// CreateToken Mint a token
// (POST /tokens)
CreateToken(w http.ResponseWriter, r *http.Request)
// RevokeToken Withdraw a token
// (DELETE /tokens/{tokenId})
RevokeToken(w http.ResponseWriter, r *http.Request, tokenId string)
// ListTSIGKeys List the keys a secondary may sign a transfer with
// (GET /tsig-keys)
ListTSIGKeys(w http.ResponseWriter, r *http.Request)
// CreateTSIGKey Create a key
// (POST /tsig-keys)
CreateTSIGKey(w http.ResponseWriter, r *http.Request)
// RevokeTSIGKey Withdraw a key
// (DELETE /tsig-keys/{keyId})
RevokeTSIGKey(w http.ResponseWriter, r *http.Request, keyId string)
// ReadTSIGKeySecret Read a key's secret
// (GET /tsig-keys/{keyId}/secret)
ReadTSIGKeySecret(w http.ResponseWriter, r *http.Request, keyId string)
// ListZones List zones
// (GET /zones)
ListZones(w http.ResponseWriter, r *http.Request, params ListZonesParams)
// CreateZone Create a zone
// (POST /zones)
CreateZone(w http.ResponseWriter, r *http.Request)
// ImportZone Bring a whole zone in from a zonefile
// (POST /zones/import)
ImportZone(w http.ResponseWriter, r *http.Request, params ImportZoneParams)
// DeleteZone Delete a zone and everything in it
// (DELETE /zones/{zoneId})
DeleteZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
// GetZone Read one zone
// (GET /zones/{zoneId})
GetZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
// UpdateZone Change a zone's own settings
// (PATCH /zones/{zoneId})
UpdateZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
// CheckZone Report what is wrong with a zone as it stands
// (GET /zones/{zoneId}/check)
CheckZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID, params CheckZoneParams)
// ExportZone Write a zone out as a zonefile
// (GET /zones/{zoneId}/export)
ExportZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
// ReconcileZone Write the reverse entries this zone's records imply and does not have
// (POST /zones/{zoneId}/reconcile)
ReconcileZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
// ListRecords List the records of a zone
// (GET /zones/{zoneId}/records)
ListRecords(w http.ResponseWriter, r *http.Request, zoneId ZoneID, params ListRecordsParams)
// CreateRecord Add a record to a zone
// (POST /zones/{zoneId}/records)
CreateRecord(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
// RollbackZone Restore a zone to the state it had at a serial
// (POST /zones/{zoneId}/rollback)
RollbackZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
// ReplaceRRsets Make the named RRsets exactly what is given
// (PUT /zones/{zoneId}/rrsets)
ReplaceRRsets(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
}
ServerInterface represents all server handlers.
func NewStrictHandler ¶
func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface
func NewStrictHandlerWithOptions ¶
func NewStrictHandlerWithOptions(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc, options StrictHTTPServerOptions) ServerInterface
type ServerInterfaceWrapper ¶
type ServerInterfaceWrapper struct {
Handler ServerInterface
HandlerMiddlewares []MiddlewareFunc
ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
}
ServerInterfaceWrapper converts contexts to parameters.
func (*ServerInterfaceWrapper) CheckZone ¶ added in v0.2.0
func (siw *ServerInterfaceWrapper) CheckZone(w http.ResponseWriter, r *http.Request)
CheckZone operation middleware
func (*ServerInterfaceWrapper) CreateRecord ¶
func (siw *ServerInterfaceWrapper) CreateRecord(w http.ResponseWriter, r *http.Request)
CreateRecord operation middleware
func (*ServerInterfaceWrapper) CreateSession ¶
func (siw *ServerInterfaceWrapper) CreateSession(w http.ResponseWriter, r *http.Request)
CreateSession operation middleware
func (*ServerInterfaceWrapper) CreateTSIGKey ¶ added in v0.2.0
func (siw *ServerInterfaceWrapper) CreateTSIGKey(w http.ResponseWriter, r *http.Request)
CreateTSIGKey operation middleware
func (*ServerInterfaceWrapper) CreateToken ¶
func (siw *ServerInterfaceWrapper) CreateToken(w http.ResponseWriter, r *http.Request)
CreateToken operation middleware
func (*ServerInterfaceWrapper) CreateZone ¶
func (siw *ServerInterfaceWrapper) CreateZone(w http.ResponseWriter, r *http.Request)
CreateZone operation middleware
func (*ServerInterfaceWrapper) DeleteRecord ¶
func (siw *ServerInterfaceWrapper) DeleteRecord(w http.ResponseWriter, r *http.Request)
DeleteRecord operation middleware
func (*ServerInterfaceWrapper) DeleteSession ¶
func (siw *ServerInterfaceWrapper) DeleteSession(w http.ResponseWriter, r *http.Request)
DeleteSession operation middleware
func (*ServerInterfaceWrapper) DeleteZone ¶
func (siw *ServerInterfaceWrapper) DeleteZone(w http.ResponseWriter, r *http.Request)
DeleteZone operation middleware
func (*ServerInterfaceWrapper) DetachRecord ¶
func (siw *ServerInterfaceWrapper) DetachRecord(w http.ResponseWriter, r *http.Request)
DetachRecord operation middleware
func (*ServerInterfaceWrapper) ExportZone ¶
func (siw *ServerInterfaceWrapper) ExportZone(w http.ResponseWriter, r *http.Request)
ExportZone operation middleware
func (*ServerInterfaceWrapper) GetCluster ¶ added in v0.5.0
func (siw *ServerInterfaceWrapper) GetCluster(w http.ResponseWriter, r *http.Request)
GetCluster operation middleware
func (*ServerInterfaceWrapper) GetCommit ¶
func (siw *ServerInterfaceWrapper) GetCommit(w http.ResponseWriter, r *http.Request)
GetCommit operation middleware
func (*ServerInterfaceWrapper) GetHealth ¶
func (siw *ServerInterfaceWrapper) GetHealth(w http.ResponseWriter, r *http.Request)
GetHealth operation middleware
func (*ServerInterfaceWrapper) GetMetrics ¶
func (siw *ServerInterfaceWrapper) GetMetrics(w http.ResponseWriter, r *http.Request)
GetMetrics operation middleware
func (*ServerInterfaceWrapper) GetRecord ¶
func (siw *ServerInterfaceWrapper) GetRecord(w http.ResponseWriter, r *http.Request)
GetRecord operation middleware
func (*ServerInterfaceWrapper) GetSecondaryConfig ¶ added in v0.2.0
func (siw *ServerInterfaceWrapper) GetSecondaryConfig(w http.ResponseWriter, r *http.Request)
GetSecondaryConfig operation middleware
func (*ServerInterfaceWrapper) GetSecondaryStatus ¶ added in v0.3.0
func (siw *ServerInterfaceWrapper) GetSecondaryStatus(w http.ResponseWriter, r *http.Request)
GetSecondaryStatus operation middleware
func (*ServerInterfaceWrapper) GetSession ¶
func (siw *ServerInterfaceWrapper) GetSession(w http.ResponseWriter, r *http.Request)
GetSession operation middleware
func (*ServerInterfaceWrapper) GetSettings ¶
func (siw *ServerInterfaceWrapper) GetSettings(w http.ResponseWriter, r *http.Request)
GetSettings operation middleware
func (*ServerInterfaceWrapper) GetZone ¶
func (siw *ServerInterfaceWrapper) GetZone(w http.ResponseWriter, r *http.Request)
GetZone operation middleware
func (*ServerInterfaceWrapper) ImportZone ¶
func (siw *ServerInterfaceWrapper) ImportZone(w http.ResponseWriter, r *http.Request)
ImportZone operation middleware
func (*ServerInterfaceWrapper) InitCluster ¶ added in v0.5.0
func (siw *ServerInterfaceWrapper) InitCluster(w http.ResponseWriter, r *http.Request)
InitCluster operation middleware
func (*ServerInterfaceWrapper) ListCommits ¶
func (siw *ServerInterfaceWrapper) ListCommits(w http.ResponseWriter, r *http.Request)
ListCommits operation middleware
func (*ServerInterfaceWrapper) ListRecords ¶
func (siw *ServerInterfaceWrapper) ListRecords(w http.ResponseWriter, r *http.Request)
ListRecords operation middleware
func (*ServerInterfaceWrapper) ListTSIGKeys ¶ added in v0.2.0
func (siw *ServerInterfaceWrapper) ListTSIGKeys(w http.ResponseWriter, r *http.Request)
ListTSIGKeys operation middleware
func (*ServerInterfaceWrapper) ListTokens ¶
func (siw *ServerInterfaceWrapper) ListTokens(w http.ResponseWriter, r *http.Request)
ListTokens operation middleware
func (*ServerInterfaceWrapper) ListZones ¶
func (siw *ServerInterfaceWrapper) ListZones(w http.ResponseWriter, r *http.Request)
ListZones operation middleware
func (*ServerInterfaceWrapper) MakeRecordCanonical ¶ added in v0.2.0
func (siw *ServerInterfaceWrapper) MakeRecordCanonical(w http.ResponseWriter, r *http.Request)
MakeRecordCanonical operation middleware
func (*ServerInterfaceWrapper) ReadTSIGKeySecret ¶ added in v0.2.0
func (siw *ServerInterfaceWrapper) ReadTSIGKeySecret(w http.ResponseWriter, r *http.Request)
ReadTSIGKeySecret operation middleware
func (*ServerInterfaceWrapper) ReconcileZone ¶ added in v0.2.0
func (siw *ServerInterfaceWrapper) ReconcileZone(w http.ResponseWriter, r *http.Request)
ReconcileZone operation middleware
func (*ServerInterfaceWrapper) RemoveClusterMember ¶ added in v0.5.0
func (siw *ServerInterfaceWrapper) RemoveClusterMember(w http.ResponseWriter, r *http.Request)
RemoveClusterMember operation middleware
func (*ServerInterfaceWrapper) ReplaceRRsets ¶
func (siw *ServerInterfaceWrapper) ReplaceRRsets(w http.ResponseWriter, r *http.Request)
ReplaceRRsets operation middleware
func (*ServerInterfaceWrapper) RevokeTSIGKey ¶ added in v0.2.0
func (siw *ServerInterfaceWrapper) RevokeTSIGKey(w http.ResponseWriter, r *http.Request)
RevokeTSIGKey operation middleware
func (*ServerInterfaceWrapper) RevokeToken ¶
func (siw *ServerInterfaceWrapper) RevokeToken(w http.ResponseWriter, r *http.Request)
RevokeToken operation middleware
func (*ServerInterfaceWrapper) RollbackZone ¶
func (siw *ServerInterfaceWrapper) RollbackZone(w http.ResponseWriter, r *http.Request)
RollbackZone operation middleware
func (*ServerInterfaceWrapper) StreamQueries ¶
func (siw *ServerInterfaceWrapper) StreamQueries(w http.ResponseWriter, r *http.Request)
StreamQueries operation middleware
func (*ServerInterfaceWrapper) UpdateRecord ¶
func (siw *ServerInterfaceWrapper) UpdateRecord(w http.ResponseWriter, r *http.Request)
UpdateRecord operation middleware
func (*ServerInterfaceWrapper) UpdateSettings ¶
func (siw *ServerInterfaceWrapper) UpdateSettings(w http.ResponseWriter, r *http.Request)
UpdateSettings operation middleware
func (*ServerInterfaceWrapper) UpdateZone ¶
func (siw *ServerInterfaceWrapper) UpdateZone(w http.ResponseWriter, r *http.Request)
UpdateZone operation middleware
type Session ¶
type Session struct {
// ExpiresAt When the session ends. Absent when the request authenticated with a bearer token.
ExpiresAt *time.Time `json:"expiresAt,omitempty"`
// Name The name of the token this authenticates as.
Name string `json:"name"`
Scopes []Scope `json:"scopes"`
}
Session Who a request is authenticated as, and what it may do.
type Settings ¶
type Settings struct {
// NotifyTargets Who is told when a zone changes, as addresses with an optional port.
// An empty list tells nobody, and then a secondary finds out when its
// own refresh timer fires. This is a separate list from transferAllow:
// that one decides who may take a copy, this one names where a
// notification can arrive, so it holds addresses rather than prefixes.
//
// A `key:<name>` after the address signs the notification with that TSIG
// key, for a secondary that insists on one.
NotifyTargets NotifyTargets `json:"notifyTargets"`
// ReverseConflictPolicy What happens when an address already answers a reverse lookup with some
// other name (docs/decisions/ D3).
//
// - `first-wins` keeps the entry that is there and reports the conflict.
// The default, and the only value that never changes an answer nobody
// asked to change.
// - `last-wins` replaces a generated entry with the new one, still
// reporting the conflict. An entry somebody wrote by hand is never
// replaced.
// - `multi` keeps both, which is the literal reading of "generate the
// reverse entry" and turns a routine change into a multi-record PTR set
// that reverse-lookup checks are not built for.
// - `reject` refuses the whole change.
ReverseConflictPolicy ReverseConflictPolicy `json:"reverseConflictPolicy"`
// TransferAllow Who may transfer a zone off this server, whole or as what has changed
// since their copy, as addresses or CIDR prefixes. An empty list is
// nobody, which is where a server starts: a zone is an inventory of a
// network, and a copy handed out cannot be taken back. A bare address is
// stored as the single-host prefix it means.
TransferAllow TransferAllow `json:"transferAllow"`
}
Settings defines model for Settings.
type SkippedRecord ¶
type SkippedRecord struct {
// Reason Why the zone could never answer with it.
Reason string `json:"reason"`
// Record The record as the file had it, in presentation format.
Record string `json:"record"`
}
SkippedRecord defines model for SkippedRecord.
type StreamQueries200TexteventStreamResponse ¶
func (StreamQueries200TexteventStreamResponse) VisitStreamQueriesResponse ¶
func (response StreamQueries200TexteventStreamResponse) VisitStreamQueriesResponse(w http.ResponseWriter) error
type StreamQueriesParams ¶
type StreamQueriesParams struct {
// Name Watch a name and everything below it. Matching is
// case-insensitive (RFC 4343), so it finds a query however 0x20
// encoding wrote it.
Name *string `form:"name,omitempty" json:"name,omitempty"`
// Type Watch only these question types. Repeat for more than one.
Type *[]string `form:"type,omitempty" json:"type,omitempty"`
// Rcode Watch only these response codes, by mnemonic, `NXDOMAIN`,
// `REFUSED`. Repeat for more than one.
Rcode *[]string `form:"rcode,omitempty" json:"rcode,omitempty"`
// Client Watch only this address or network, in CIDR notation. A bare
// address is taken as a single host.
Client *string `form:"client,omitempty" json:"client,omitempty"`
}
StreamQueriesParams defines parameters for StreamQueries.
type StreamQueriesRequestObject ¶
type StreamQueriesRequestObject struct {
Params StreamQueriesParams
}
type StreamQueriesResponse ¶
type StreamQueriesResponse struct {
Body []byte
HTTPResponse *http.Response
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseStreamQueriesResponse ¶
func ParseStreamQueriesResponse(rsp *http.Response) (*StreamQueriesResponse, error)
ParseStreamQueriesResponse parses an HTTP response from a StreamQueriesWithResponse call
func (StreamQueriesResponse) ContentType ¶
func (r StreamQueriesResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (StreamQueriesResponse) GetApplicationproblemJSONDefault ¶
func (r StreamQueriesResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (StreamQueriesResponse) GetBody ¶
func (r StreamQueriesResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (StreamQueriesResponse) Status ¶
func (r StreamQueriesResponse) Status() string
Status returns HTTPResponse.Status
func (StreamQueriesResponse) StatusCode ¶
func (r StreamQueriesResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type StreamQueriesResponseObject ¶
type StreamQueriesResponseObject interface {
VisitStreamQueriesResponse(w http.ResponseWriter) error
}
type StreamQueriesdefaultApplicationProblemPlusJSONResponse ¶
func (StreamQueriesdefaultApplicationProblemPlusJSONResponse) VisitStreamQueriesResponse ¶
func (response StreamQueriesdefaultApplicationProblemPlusJSONResponse) VisitStreamQueriesResponse(w http.ResponseWriter) error
type StreamStatus ¶
type StreamStatus struct {
// Dropped How many were thrown away because this watcher was not reading fast enough.
Dropped int `json:"dropped"`
// Matched Exchanges that passed the filter.
Matched int `json:"matched"`
// Ratio What the stream is sampling at now. 1 is everything; 50 means one
// exchange in fifty is being sent.
Ratio int `json:"ratio"`
// Sampled How many were left out because the filtered stream was faster than the cap.
Sampled int `json:"sampled"`
// Sent How many of those reached this watcher.
Sent int `json:"sent"`
}
StreamStatus What this stream is leaving out. Part of the interface rather than a debug detail: a stream that is sampling has to say so, or what it shows reads as everything that happened.
type StrictHTTPServerOptions ¶
type StrictHTTPServerOptions struct {
RequestErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
ResponseErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
}
type StrictHandlerFunc ¶
type StrictMiddlewareFunc ¶
type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc
type StrictServerInterface ¶
type StrictServerInterface interface {
// DeleteSession End the session
// (DELETE /auth/session)
DeleteSession(ctx context.Context, request DeleteSessionRequestObject) (DeleteSessionResponseObject, error)
// GetSession Report who this request is authenticated as
// (GET /auth/session)
GetSession(ctx context.Context, request GetSessionRequestObject) (GetSessionResponseObject, error)
// CreateSession Exchange a token for a browser session
// (POST /auth/session)
CreateSession(ctx context.Context, request CreateSessionRequestObject) (CreateSessionResponseObject, error)
// GetCluster Say who the members are, and how far this one has got
// (GET /cluster)
GetCluster(ctx context.Context, request GetClusterRequestObject) (GetClusterResponseObject, error)
// InitCluster Start a cluster with this node as its first member
// (POST /cluster/init)
InitCluster(ctx context.Context, request InitClusterRequestObject) (InitClusterResponseObject, error)
// RemoveClusterMember Take a member out of the cluster
// (DELETE /cluster/members/{memberId})
RemoveClusterMember(ctx context.Context, request RemoveClusterMemberRequestObject) (RemoveClusterMemberResponseObject, error)
// ListCommits List commits, newest first
// (GET /commits)
ListCommits(ctx context.Context, request ListCommitsRequestObject) (ListCommitsResponseObject, error)
// GetCommit Read one commit and everything it changed
// (GET /commits/{commitId})
GetCommit(ctx context.Context, request GetCommitRequestObject) (GetCommitResponseObject, error)
// GetHealth Report whether the server is fit to answer queries
// (GET /healthz)
GetHealth(ctx context.Context, request GetHealthRequestObject) (GetHealthResponseObject, error)
// GetMetrics Export the current metrics
// (GET /metrics)
GetMetrics(ctx context.Context, request GetMetricsRequestObject) (GetMetricsResponseObject, error)
// StreamQueries Watch queries as they are answered
// (GET /queries/stream)
StreamQueries(ctx context.Context, request StreamQueriesRequestObject) (StreamQueriesResponseObject, error)
// DeleteRecord Delete a record
// (DELETE /records/{recordId})
DeleteRecord(ctx context.Context, request DeleteRecordRequestObject) (DeleteRecordResponseObject, error)
// GetRecord Read one record
// (GET /records/{recordId})
GetRecord(ctx context.Context, request GetRecordRequestObject) (GetRecordResponseObject, error)
// UpdateRecord Change a record
// (PATCH /records/{recordId})
UpdateRecord(ctx context.Context, request UpdateRecordRequestObject) (UpdateRecordResponseObject, error)
// MakeRecordCanonical Make this the name an address reverses to
// (POST /records/{recordId}/canonical)
MakeRecordCanonical(ctx context.Context, request MakeRecordCanonicalRequestObject) (MakeRecordCanonicalResponseObject, error)
// DetachRecord Take over a generated record
// (POST /records/{recordId}/detach)
DetachRecord(ctx context.Context, request DetachRecordRequestObject) (DetachRecordResponseObject, error)
// GetSecondaryConfig Write the configuration a secondary needs
// (GET /secondary-config)
GetSecondaryConfig(ctx context.Context, request GetSecondaryConfigRequestObject) (GetSecondaryConfigResponseObject, error)
// GetSecondaryStatus Say what each secondary holds
// (GET /secondary-status)
GetSecondaryStatus(ctx context.Context, request GetSecondaryStatusRequestObject) (GetSecondaryStatusResponseObject, error)
// GetSettings Read the server-wide settings
// (GET /settings)
GetSettings(ctx context.Context, request GetSettingsRequestObject) (GetSettingsResponseObject, error)
// UpdateSettings Change the server-wide settings
// (PATCH /settings)
UpdateSettings(ctx context.Context, request UpdateSettingsRequestObject) (UpdateSettingsResponseObject, error)
// ListTokens List the tokens that may use this API
// (GET /tokens)
ListTokens(ctx context.Context, request ListTokensRequestObject) (ListTokensResponseObject, error)
// CreateToken Mint a token
// (POST /tokens)
CreateToken(ctx context.Context, request CreateTokenRequestObject) (CreateTokenResponseObject, error)
// RevokeToken Withdraw a token
// (DELETE /tokens/{tokenId})
RevokeToken(ctx context.Context, request RevokeTokenRequestObject) (RevokeTokenResponseObject, error)
// ListTSIGKeys List the keys a secondary may sign a transfer with
// (GET /tsig-keys)
ListTSIGKeys(ctx context.Context, request ListTSIGKeysRequestObject) (ListTSIGKeysResponseObject, error)
// CreateTSIGKey Create a key
// (POST /tsig-keys)
CreateTSIGKey(ctx context.Context, request CreateTSIGKeyRequestObject) (CreateTSIGKeyResponseObject, error)
// RevokeTSIGKey Withdraw a key
// (DELETE /tsig-keys/{keyId})
RevokeTSIGKey(ctx context.Context, request RevokeTSIGKeyRequestObject) (RevokeTSIGKeyResponseObject, error)
// ReadTSIGKeySecret Read a key's secret
// (GET /tsig-keys/{keyId}/secret)
ReadTSIGKeySecret(ctx context.Context, request ReadTSIGKeySecretRequestObject) (ReadTSIGKeySecretResponseObject, error)
// ListZones List zones
// (GET /zones)
ListZones(ctx context.Context, request ListZonesRequestObject) (ListZonesResponseObject, error)
// CreateZone Create a zone
// (POST /zones)
CreateZone(ctx context.Context, request CreateZoneRequestObject) (CreateZoneResponseObject, error)
// ImportZone Bring a whole zone in from a zonefile
// (POST /zones/import)
ImportZone(ctx context.Context, request ImportZoneRequestObject) (ImportZoneResponseObject, error)
// DeleteZone Delete a zone and everything in it
// (DELETE /zones/{zoneId})
DeleteZone(ctx context.Context, request DeleteZoneRequestObject) (DeleteZoneResponseObject, error)
// GetZone Read one zone
// (GET /zones/{zoneId})
GetZone(ctx context.Context, request GetZoneRequestObject) (GetZoneResponseObject, error)
// UpdateZone Change a zone's own settings
// (PATCH /zones/{zoneId})
UpdateZone(ctx context.Context, request UpdateZoneRequestObject) (UpdateZoneResponseObject, error)
// CheckZone Report what is wrong with a zone as it stands
// (GET /zones/{zoneId}/check)
CheckZone(ctx context.Context, request CheckZoneRequestObject) (CheckZoneResponseObject, error)
// ExportZone Write a zone out as a zonefile
// (GET /zones/{zoneId}/export)
ExportZone(ctx context.Context, request ExportZoneRequestObject) (ExportZoneResponseObject, error)
// ReconcileZone Write the reverse entries this zone's records imply and does not have
// (POST /zones/{zoneId}/reconcile)
ReconcileZone(ctx context.Context, request ReconcileZoneRequestObject) (ReconcileZoneResponseObject, error)
// ListRecords List the records of a zone
// (GET /zones/{zoneId}/records)
ListRecords(ctx context.Context, request ListRecordsRequestObject) (ListRecordsResponseObject, error)
// CreateRecord Add a record to a zone
// (POST /zones/{zoneId}/records)
CreateRecord(ctx context.Context, request CreateRecordRequestObject) (CreateRecordResponseObject, error)
// RollbackZone Restore a zone to the state it had at a serial
// (POST /zones/{zoneId}/rollback)
RollbackZone(ctx context.Context, request RollbackZoneRequestObject) (RollbackZoneResponseObject, error)
// ReplaceRRsets Make the named RRsets exactly what is given
// (PUT /zones/{zoneId}/rrsets)
ReplaceRRsets(ctx context.Context, request ReplaceRRsetsRequestObject) (ReplaceRRsetsResponseObject, error)
}
StrictServerInterface represents all server handlers.
type TSIGAlgorithm ¶ added in v0.2.0
type TSIGAlgorithm string
TSIGAlgorithm The keyed hash the key signs with. This server does not offer hmac-sha1 or HMAC-MD5, which RFC 8945 section 6 calls NOT RECOMMENDED and MUST NOT use respectively; docs/decisions/ D28 argues the departure from its MUST-implement.
const ( TSIGAlgorithmHmacSha256 TSIGAlgorithm = "hmac-sha256." TSIGAlgorithmHmacSha384 TSIGAlgorithm = "hmac-sha384." TSIGAlgorithmHmacSha512 TSIGAlgorithm = "hmac-sha512." )
Defines values for TSIGAlgorithm.
func (TSIGAlgorithm) Valid ¶ added in v0.2.0
func (e TSIGAlgorithm) Valid() bool
Valid indicates whether the value is a known member of the TSIGAlgorithm enum.
type TSIGKey ¶ added in v0.2.0
type TSIGKey struct {
// Algorithm The keyed hash the key signs with. This server does not offer hmac-sha1
// or HMAC-MD5, which RFC 8945 section 6 calls NOT RECOMMENDED and MUST NOT
// use respectively; docs/decisions/ D28 argues the departure from its
// MUST-implement.
Algorithm TSIGAlgorithm `json:"algorithm"`
CreatedAt time.Time `json:"createdAt"`
Id string `json:"id"`
// Name The key name both ends agree on, in domain name syntax
// (RFC 8945 section 4.2). Compared case-insensitively.
Name string `json:"name"`
// RevokedAt Absent for a key that still signs.
RevokedAt *time.Time `json:"revokedAt,omitempty"`
}
TSIGKey A key a secondary signs its transfer requests with, without its secret.
type TSIGKeySecret ¶ added in v0.2.0
type TSIGKeySecret struct {
// Key A key a secondary signs its transfer requests with, without its secret.
Key TSIGKey `json:"key"`
// Secret The shared secret, base64, as every implementation writes it.
Secret string `json:"secret"`
}
TSIGKeySecret defines model for TSIGKeySecret.
type Token ¶
type Token struct {
CreatedAt time.Time `json:"createdAt"`
// ExpiresAt Absent for a token that does not expire.
ExpiresAt *time.Time `json:"expiresAt,omitempty"`
Id string `json:"id"`
// LastUsedAt Absent for a token that has never authenticated a request. Advisory, and may lag.
LastUsedAt *time.Time `json:"lastUsedAt,omitempty"`
// Name What this token is for, as a person would say it.
Name string `json:"name"`
// Prefix The leading characters of the secret, kept in the clear so that two
// tokens can be told apart in a list and in the history.
Prefix string `json:"prefix"`
// RevokedAt Absent for a token that is still usable.
RevokedAt *time.Time `json:"revokedAt,omitempty"`
Scopes []Scope `json:"scopes"`
}
Token A credential, without the secret it authenticates with.
type TokenCreated ¶
type TokenCreated struct {
// Secret The credential itself, shown here and nowhere else. There is no way
// to read it again, because the server does not have it.
Secret string `json:"secret"`
// Token A credential, without the secret it authenticates with.
Token Token `json:"token"`
}
TokenCreated defines model for TokenCreated.
type TooManyValuesForParamError ¶
func (*TooManyValuesForParamError) Error ¶
func (e *TooManyValuesForParamError) Error() string
type TransferAllow ¶ added in v0.2.0
type TransferAllow = []string
TransferAllow Who may transfer a zone off this server, whole or as what has changed since their copy, as addresses or CIDR prefixes. An empty list is nobody, which is where a server starts: a zone is an inventory of a network, and a copy handed out cannot be taken back. A bare address is stored as the single-host prefix it means.
type UnescapedCookieParamError ¶
func (*UnescapedCookieParamError) Error ¶
func (e *UnescapedCookieParamError) Error() string
func (*UnescapedCookieParamError) Unwrap ¶
func (e *UnescapedCookieParamError) Unwrap() error
type Unimplemented ¶
type Unimplemented struct{}
func (Unimplemented) CheckZone ¶ added in v0.2.0
func (_ Unimplemented) CheckZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID, params CheckZoneParams)
CheckZone Report what is wrong with a zone as it stands (GET /zones/{zoneId}/check)
func (Unimplemented) CreateRecord ¶
func (_ Unimplemented) CreateRecord(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
CreateRecord Add a record to a zone (POST /zones/{zoneId}/records)
func (Unimplemented) CreateSession ¶
func (_ Unimplemented) CreateSession(w http.ResponseWriter, r *http.Request)
CreateSession Exchange a token for a browser session (POST /auth/session)
func (Unimplemented) CreateTSIGKey ¶ added in v0.2.0
func (_ Unimplemented) CreateTSIGKey(w http.ResponseWriter, r *http.Request)
CreateTSIGKey Create a key (POST /tsig-keys)
func (Unimplemented) CreateToken ¶
func (_ Unimplemented) CreateToken(w http.ResponseWriter, r *http.Request)
CreateToken Mint a token (POST /tokens)
func (Unimplemented) CreateZone ¶
func (_ Unimplemented) CreateZone(w http.ResponseWriter, r *http.Request)
CreateZone Create a zone (POST /zones)
func (Unimplemented) DeleteRecord ¶
func (_ Unimplemented) DeleteRecord(w http.ResponseWriter, r *http.Request, recordId RecordID)
DeleteRecord Delete a record (DELETE /records/{recordId})
func (Unimplemented) DeleteSession ¶
func (_ Unimplemented) DeleteSession(w http.ResponseWriter, r *http.Request)
DeleteSession End the session (DELETE /auth/session)
func (Unimplemented) DeleteZone ¶
func (_ Unimplemented) DeleteZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
DeleteZone Delete a zone and everything in it (DELETE /zones/{zoneId})
func (Unimplemented) DetachRecord ¶
func (_ Unimplemented) DetachRecord(w http.ResponseWriter, r *http.Request, recordId RecordID)
DetachRecord Take over a generated record (POST /records/{recordId}/detach)
func (Unimplemented) ExportZone ¶
func (_ Unimplemented) ExportZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
ExportZone Write a zone out as a zonefile (GET /zones/{zoneId}/export)
func (Unimplemented) GetCluster ¶ added in v0.5.0
func (_ Unimplemented) GetCluster(w http.ResponseWriter, r *http.Request)
GetCluster Say who the members are, and how far this one has got (GET /cluster)
func (Unimplemented) GetCommit ¶
func (_ Unimplemented) GetCommit(w http.ResponseWriter, r *http.Request, commitId string)
GetCommit Read one commit and everything it changed (GET /commits/{commitId})
func (Unimplemented) GetHealth ¶
func (_ Unimplemented) GetHealth(w http.ResponseWriter, r *http.Request)
GetHealth Report whether the server is fit to answer queries (GET /healthz)
func (Unimplemented) GetMetrics ¶
func (_ Unimplemented) GetMetrics(w http.ResponseWriter, r *http.Request)
GetMetrics Export the current metrics (GET /metrics)
func (Unimplemented) GetRecord ¶
func (_ Unimplemented) GetRecord(w http.ResponseWriter, r *http.Request, recordId RecordID)
GetRecord Read one record (GET /records/{recordId})
func (Unimplemented) GetSecondaryConfig ¶ added in v0.2.0
func (_ Unimplemented) GetSecondaryConfig(w http.ResponseWriter, r *http.Request, params GetSecondaryConfigParams)
GetSecondaryConfig Write the configuration a secondary needs (GET /secondary-config)
func (Unimplemented) GetSecondaryStatus ¶ added in v0.3.0
func (_ Unimplemented) GetSecondaryStatus(w http.ResponseWriter, r *http.Request)
GetSecondaryStatus Say what each secondary holds (GET /secondary-status)
func (Unimplemented) GetSession ¶
func (_ Unimplemented) GetSession(w http.ResponseWriter, r *http.Request)
GetSession Report who this request is authenticated as (GET /auth/session)
func (Unimplemented) GetSettings ¶
func (_ Unimplemented) GetSettings(w http.ResponseWriter, r *http.Request)
GetSettings Read the server-wide settings (GET /settings)
func (Unimplemented) GetZone ¶
func (_ Unimplemented) GetZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
GetZone Read one zone (GET /zones/{zoneId})
func (Unimplemented) ImportZone ¶
func (_ Unimplemented) ImportZone(w http.ResponseWriter, r *http.Request, params ImportZoneParams)
ImportZone Bring a whole zone in from a zonefile (POST /zones/import)
func (Unimplemented) InitCluster ¶ added in v0.5.0
func (_ Unimplemented) InitCluster(w http.ResponseWriter, r *http.Request)
InitCluster Start a cluster with this node as its first member (POST /cluster/init)
func (Unimplemented) ListCommits ¶
func (_ Unimplemented) ListCommits(w http.ResponseWriter, r *http.Request, params ListCommitsParams)
ListCommits List commits, newest first (GET /commits)
func (Unimplemented) ListRecords ¶
func (_ Unimplemented) ListRecords(w http.ResponseWriter, r *http.Request, zoneId ZoneID, params ListRecordsParams)
ListRecords List the records of a zone (GET /zones/{zoneId}/records)
func (Unimplemented) ListTSIGKeys ¶ added in v0.2.0
func (_ Unimplemented) ListTSIGKeys(w http.ResponseWriter, r *http.Request)
ListTSIGKeys List the keys a secondary may sign a transfer with (GET /tsig-keys)
func (Unimplemented) ListTokens ¶
func (_ Unimplemented) ListTokens(w http.ResponseWriter, r *http.Request)
ListTokens List the tokens that may use this API (GET /tokens)
func (Unimplemented) ListZones ¶
func (_ Unimplemented) ListZones(w http.ResponseWriter, r *http.Request, params ListZonesParams)
ListZones List zones (GET /zones)
func (Unimplemented) MakeRecordCanonical ¶ added in v0.2.0
func (_ Unimplemented) MakeRecordCanonical(w http.ResponseWriter, r *http.Request, recordId RecordID)
MakeRecordCanonical Make this the name an address reverses to (POST /records/{recordId}/canonical)
func (Unimplemented) ReadTSIGKeySecret ¶ added in v0.2.0
func (_ Unimplemented) ReadTSIGKeySecret(w http.ResponseWriter, r *http.Request, keyId string)
ReadTSIGKeySecret Read a key's secret (GET /tsig-keys/{keyId}/secret)
func (Unimplemented) ReconcileZone ¶ added in v0.2.0
func (_ Unimplemented) ReconcileZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
ReconcileZone Write the reverse entries this zone's records imply and does not have (POST /zones/{zoneId}/reconcile)
func (Unimplemented) RemoveClusterMember ¶ added in v0.5.0
func (_ Unimplemented) RemoveClusterMember(w http.ResponseWriter, r *http.Request, memberId string)
RemoveClusterMember Take a member out of the cluster (DELETE /cluster/members/{memberId})
func (Unimplemented) ReplaceRRsets ¶
func (_ Unimplemented) ReplaceRRsets(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
ReplaceRRsets Make the named RRsets exactly what is given (PUT /zones/{zoneId}/rrsets)
func (Unimplemented) RevokeTSIGKey ¶ added in v0.2.0
func (_ Unimplemented) RevokeTSIGKey(w http.ResponseWriter, r *http.Request, keyId string)
RevokeTSIGKey Withdraw a key (DELETE /tsig-keys/{keyId})
func (Unimplemented) RevokeToken ¶
func (_ Unimplemented) RevokeToken(w http.ResponseWriter, r *http.Request, tokenId string)
RevokeToken Withdraw a token (DELETE /tokens/{tokenId})
func (Unimplemented) RollbackZone ¶
func (_ Unimplemented) RollbackZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
RollbackZone Restore a zone to the state it had at a serial (POST /zones/{zoneId}/rollback)
func (Unimplemented) StreamQueries ¶
func (_ Unimplemented) StreamQueries(w http.ResponseWriter, r *http.Request, params StreamQueriesParams)
StreamQueries Watch queries as they are answered (GET /queries/stream)
func (Unimplemented) UpdateRecord ¶
func (_ Unimplemented) UpdateRecord(w http.ResponseWriter, r *http.Request, recordId RecordID)
UpdateRecord Change a record (PATCH /records/{recordId})
func (Unimplemented) UpdateSettings ¶
func (_ Unimplemented) UpdateSettings(w http.ResponseWriter, r *http.Request)
UpdateSettings Change the server-wide settings (PATCH /settings)
func (Unimplemented) UpdateZone ¶
func (_ Unimplemented) UpdateZone(w http.ResponseWriter, r *http.Request, zoneId ZoneID)
UpdateZone Change a zone's own settings (PATCH /zones/{zoneId})
type UnmarshalingParamError ¶
func (*UnmarshalingParamError) Error ¶
func (e *UnmarshalingParamError) Error() string
func (*UnmarshalingParamError) Unwrap ¶
func (e *UnmarshalingParamError) Unwrap() error
type UpdateRecord ¶
type UpdateRecord struct {
Comment *string `json:"comment,omitempty"`
Data *string `json:"data,omitempty"`
// Disabled A disabled record is kept but not answered with.
Disabled *bool `json:"disabled,omitempty"`
Name *string `json:"name,omitempty"`
Ttl *int64 `json:"ttl,omitempty"`
Type *string `json:"type,omitempty"`
}
UpdateRecord The parts of a record that may be changed. A field that is absent is left as it is. The class is not among them, because IN is the only class this server answers.
type UpdateRecord200JSONResponse ¶
type UpdateRecord200JSONResponse RecordWritten
func (UpdateRecord200JSONResponse) VisitUpdateRecordResponse ¶
func (response UpdateRecord200JSONResponse) VisitUpdateRecordResponse(w http.ResponseWriter) error
type UpdateRecordJSONRequestBody ¶
type UpdateRecordJSONRequestBody = UpdateRecord
UpdateRecordJSONRequestBody defines body for UpdateRecord for application/json ContentType.
type UpdateRecordRequestObject ¶
type UpdateRecordRequestObject struct {
RecordId RecordID `json:"recordId"`
Body *UpdateRecordJSONRequestBody
}
type UpdateRecordResponse ¶
type UpdateRecordResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *RecordWritten
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseUpdateRecordResponse ¶
func ParseUpdateRecordResponse(rsp *http.Response) (*UpdateRecordResponse, error)
ParseUpdateRecordResponse parses an HTTP response from a UpdateRecordWithResponse call
func (UpdateRecordResponse) ContentType ¶
func (r UpdateRecordResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (UpdateRecordResponse) GetApplicationproblemJSONDefault ¶
func (r UpdateRecordResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (UpdateRecordResponse) GetBody ¶
func (r UpdateRecordResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (UpdateRecordResponse) GetJSON200 ¶
func (r UpdateRecordResponse) GetJSON200() *RecordWritten
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (UpdateRecordResponse) Status ¶
func (r UpdateRecordResponse) Status() string
Status returns HTTPResponse.Status
func (UpdateRecordResponse) StatusCode ¶
func (r UpdateRecordResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type UpdateRecordResponseObject ¶
type UpdateRecordResponseObject interface {
VisitUpdateRecordResponse(w http.ResponseWriter) error
}
type UpdateRecorddefaultApplicationProblemPlusJSONResponse ¶
func (UpdateRecorddefaultApplicationProblemPlusJSONResponse) VisitUpdateRecordResponse ¶
func (response UpdateRecorddefaultApplicationProblemPlusJSONResponse) VisitUpdateRecordResponse(w http.ResponseWriter) error
type UpdateSettings ¶
type UpdateSettings struct {
// NotifyTargets Who is told when a zone changes, as addresses with an optional port.
// An empty list tells nobody, and then a secondary finds out when its
// own refresh timer fires. This is a separate list from transferAllow:
// that one decides who may take a copy, this one names where a
// notification can arrive, so it holds addresses rather than prefixes.
//
// A `key:<name>` after the address signs the notification with that TSIG
// key, for a secondary that insists on one.
NotifyTargets *NotifyTargets `json:"notifyTargets,omitempty"`
// ReverseConflictPolicy What happens when an address already answers a reverse lookup with some
// other name (docs/decisions/ D3).
//
// - `first-wins` keeps the entry that is there and reports the conflict.
// The default, and the only value that never changes an answer nobody
// asked to change.
// - `last-wins` replaces a generated entry with the new one, still
// reporting the conflict. An entry somebody wrote by hand is never
// replaced.
// - `multi` keeps both, which is the literal reading of "generate the
// reverse entry" and turns a routine change into a multi-record PTR set
// that reverse-lookup checks are not built for.
// - `reject` refuses the whole change.
ReverseConflictPolicy *ReverseConflictPolicy `json:"reverseConflictPolicy,omitempty"`
// TransferAllow Who may transfer a zone off this server, whole or as what has changed
// since their copy, as addresses or CIDR prefixes. An empty list is
// nobody, which is where a server starts: a zone is an inventory of a
// network, and a copy handed out cannot be taken back. A bare address is
// stored as the single-host prefix it means.
TransferAllow *TransferAllow `json:"transferAllow,omitempty"`
}
UpdateSettings A field that is absent is left as it is.
type UpdateSettings200JSONResponse ¶
type UpdateSettings200JSONResponse Settings
func (UpdateSettings200JSONResponse) VisitUpdateSettingsResponse ¶
func (response UpdateSettings200JSONResponse) VisitUpdateSettingsResponse(w http.ResponseWriter) error
type UpdateSettingsJSONRequestBody ¶
type UpdateSettingsJSONRequestBody = UpdateSettings
UpdateSettingsJSONRequestBody defines body for UpdateSettings for application/json ContentType.
type UpdateSettingsRequestObject ¶
type UpdateSettingsRequestObject struct {
Body *UpdateSettingsJSONRequestBody
}
type UpdateSettingsResponse ¶
type UpdateSettingsResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *Settings
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseUpdateSettingsResponse ¶
func ParseUpdateSettingsResponse(rsp *http.Response) (*UpdateSettingsResponse, error)
ParseUpdateSettingsResponse parses an HTTP response from a UpdateSettingsWithResponse call
func (UpdateSettingsResponse) ContentType ¶
func (r UpdateSettingsResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (UpdateSettingsResponse) GetApplicationproblemJSONDefault ¶
func (r UpdateSettingsResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (UpdateSettingsResponse) GetBody ¶
func (r UpdateSettingsResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (UpdateSettingsResponse) GetJSON200 ¶
func (r UpdateSettingsResponse) GetJSON200() *Settings
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (UpdateSettingsResponse) Status ¶
func (r UpdateSettingsResponse) Status() string
Status returns HTTPResponse.Status
func (UpdateSettingsResponse) StatusCode ¶
func (r UpdateSettingsResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type UpdateSettingsResponseObject ¶
type UpdateSettingsResponseObject interface {
VisitUpdateSettingsResponse(w http.ResponseWriter) error
}
type UpdateSettingsdefaultApplicationProblemPlusJSONResponse ¶
func (UpdateSettingsdefaultApplicationProblemPlusJSONResponse) VisitUpdateSettingsResponse ¶
func (response UpdateSettingsdefaultApplicationProblemPlusJSONResponse) VisitUpdateSettingsResponse(w http.ResponseWriter) error
type UpdateZone ¶
type UpdateZone struct {
// AutoReverse Whether address records in this zone generate PTRs. Null puts the
// zone back on the server-wide setting, which is a third state and
// not the same as false.
AutoReverse nullable.Nullable[bool] `json:"autoReverse,omitempty"`
Comment *string `json:"comment,omitempty"`
DefaultTtl *int64 `json:"defaultTtl,omitempty"`
// Disabled A disabled zone stops answering entirely.
Disabled *bool `json:"disabled,omitempty"`
// Soa The start-of-authority fields a client may set, on a zone it is
// creating and on one it is changing. Every field is optional in both
// cases: creating a zone fills what is not given from this server's
// defaults, and changing one leaves it as it was. A client that only
// cares about the name server should not have to send five timers it has
// no opinion about.
//
// The serial is not among them: one commit advances it by exactly one,
// and that is what lets the journal be replayed (docs/decisions/ D2).
Soa *SOAInput `json:"soa,omitempty"`
}
UpdateZone The zone settings that may be changed. A field that is absent is left as it is, which is what makes this a partial edit rather than a replacement that a client has to read the whole zone to send.
type UpdateZone200JSONResponse ¶
type UpdateZone200JSONResponse Zone
func (UpdateZone200JSONResponse) VisitUpdateZoneResponse ¶
func (response UpdateZone200JSONResponse) VisitUpdateZoneResponse(w http.ResponseWriter) error
type UpdateZoneJSONRequestBody ¶
type UpdateZoneJSONRequestBody = UpdateZone
UpdateZoneJSONRequestBody defines body for UpdateZone for application/json ContentType.
type UpdateZoneRequestObject ¶
type UpdateZoneRequestObject struct {
ZoneId ZoneID `json:"zoneId"`
Body *UpdateZoneJSONRequestBody
}
type UpdateZoneResponse ¶
type UpdateZoneResponse struct {
Body []byte
HTTPResponse *http.Response
// JSON200 the response for an HTTP 200 `application/json` response
JSON200 *Zone
// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
ApplicationproblemJSONDefault *Problem
}
func ParseUpdateZoneResponse ¶
func ParseUpdateZoneResponse(rsp *http.Response) (*UpdateZoneResponse, error)
ParseUpdateZoneResponse parses an HTTP response from a UpdateZoneWithResponse call
func (UpdateZoneResponse) ContentType ¶
func (r UpdateZoneResponse) ContentType() string
ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers
func (UpdateZoneResponse) GetApplicationproblemJSONDefault ¶
func (r UpdateZoneResponse) GetApplicationproblemJSONDefault() *Problem
GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response
func (UpdateZoneResponse) GetBody ¶
func (r UpdateZoneResponse) GetBody() []byte
GetBody returns the raw response body bytes
func (UpdateZoneResponse) GetJSON200 ¶
func (r UpdateZoneResponse) GetJSON200() *Zone
GetJSON200 returns the response for an HTTP 200 `application/json` response
func (UpdateZoneResponse) Status ¶
func (r UpdateZoneResponse) Status() string
Status returns HTTPResponse.Status
func (UpdateZoneResponse) StatusCode ¶
func (r UpdateZoneResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type UpdateZoneResponseObject ¶
type UpdateZoneResponseObject interface {
VisitUpdateZoneResponse(w http.ResponseWriter) error
}
type UpdateZonedefaultApplicationProblemPlusJSONResponse ¶
func (UpdateZonedefaultApplicationProblemPlusJSONResponse) VisitUpdateZoneResponse ¶
func (response UpdateZonedefaultApplicationProblemPlusJSONResponse) VisitUpdateZoneResponse(w http.ResponseWriter) error
type Zone ¶
type Zone struct {
// AutoReverse Whether address records in this zone generate PTRs. Absent inherits the global setting.
AutoReverse *bool `json:"autoReverse,omitempty"`
Comment *string `json:"comment,omitempty"`
CreatedAt time.Time `json:"createdAt"`
// DefaultTtl Applied to a record added without one.
DefaultTtl int64 `json:"defaultTtl"`
// Disabled A disabled zone is invisible on the wire, not merely marked.
Disabled bool `json:"disabled"`
Id string `json:"id"`
Kind ZoneKind `json:"kind"`
// Name The apex, fully qualified.
Name string `json:"name"`
// Prefix The network a reverse zone answers for, in CIDR form.
Prefix *string `json:"prefix,omitempty"`
// Soa The start-of-authority parameters of a zone (RFC 1035 §3.3.13).
Soa SOA `json:"soa"`
UpdatedAt time.Time `json:"updatedAt"`
}
Zone defines model for Zone.
type ZoneCheck ¶ added in v0.2.0
type ZoneCheck struct {
// Findings What is wrong, in the order the names were read. An empty list
// means the zone satisfies every rule the write path enforces.
Findings []Finding `json:"findings"`
// Records How many records were read.
Records int `json:"records"`
// Truncated True when the check stopped collecting findings. What is listed is
// still true; it is not all of it.
Truncated bool `json:"truncated"`
}
ZoneCheck What checking a zone found.
type ZoneDetail ¶ added in v0.2.0
type ZoneDetail struct {
// AutoReverse Whether address records in this zone generate PTRs. Absent inherits the global setting.
AutoReverse *bool `json:"autoReverse,omitempty"`
Comment *string `json:"comment,omitempty"`
CreatedAt time.Time `json:"createdAt"`
// DefaultTtl Applied to a record added without one.
DefaultTtl int64 `json:"defaultTtl"`
// Disabled A disabled zone is invisible on the wire, not merely marked.
Disabled bool `json:"disabled"`
Id string `json:"id"`
Kind ZoneKind `json:"kind"`
// LameNameServers Name servers this zone points at and has no address for. A
// resolver following the delegation is told, authoritatively,
// that the name does not exist (RFC 1912 §2.8). Correct DNS and
// almost never intended, which is why it travels with the zone
// rather than only in a check.
LameNameServers []LameNameServer `json:"lameNameServers"`
// Name The apex, fully qualified.
Name string `json:"name"`
// Prefix The network a reverse zone answers for, in CIDR form.
Prefix *string `json:"prefix,omitempty"`
// Soa The start-of-authority parameters of a zone (RFC 1035 §3.3.13).
Soa SOA `json:"soa"`
UpdatedAt time.Time `json:"updatedAt"`
}
ZoneDetail defines model for ZoneDetail.
type ZoneImported ¶
type ZoneImported struct {
Conflicts *[]Conflict `json:"conflicts,omitempty"`
MissingZones *[]MissingZone `json:"missingZones,omitempty"`
// Records How many records were written.
Records int `json:"records"`
// Skipped Records the file carried that the zone could never answer with, so
// they were left out. Data rather than an error: whether the source
// zone meant them is a question for a person.
Skipped *[]SkippedRecord `json:"skipped,omitempty"`
Zone Zone `json:"zone"`
}
ZoneImported The zone a file produced, and what reading it ran into.