Documentation
¶
Overview ¶
Package drs provides primitives to interact with the openapi HTTP API.
Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.0 DO NOT EDIT.
Index ¶
- Constants
- func NewAddChecksumsRequest(server string, objectId string, body AddChecksumsJSONRequestBody) (*http.Request, error)
- func NewAddChecksumsRequestWithBody(server string, objectId string, contentType string, body io.Reader) (*http.Request, error)
- func NewBulkAddChecksumsRequest(server string, body BulkAddChecksumsJSONRequestBody) (*http.Request, error)
- func NewBulkAddChecksumsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
- func NewBulkDeleteObjectsRequest(server string, body BulkDeleteObjectsJSONRequestBody) (*http.Request, error)
- func NewBulkDeleteObjectsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
- func NewBulkUpdateAccessMethodsRequest(server string, body BulkUpdateAccessMethodsJSONRequestBody) (*http.Request, error)
- func NewBulkUpdateAccessMethodsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
- func NewDeleteObjectRequest(server string, objectId ObjectId, body DeleteObjectJSONRequestBody) (*http.Request, error)
- func NewDeleteObjectRequestWithBody(server string, objectId ObjectId, contentType string, body io.Reader) (*http.Request, error)
- func NewGetAccessURLRequest(server string, objectId ObjectId, accessId AccessId) (*http.Request, error)
- func NewGetBulkAccessURLRequest(server string, body GetBulkAccessURLJSONRequestBody) (*http.Request, error)
- func NewGetBulkAccessURLRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
- func NewGetBulkObjectsRequest(server string, params *GetBulkObjectsParams, ...) (*http.Request, error)
- func NewGetBulkObjectsRequestWithBody(server string, params *GetBulkObjectsParams, contentType string, ...) (*http.Request, error)
- func NewGetObjectRequest(server string, objectId ObjectId, params *GetObjectParams) (*http.Request, error)
- func NewGetObjectsByChecksumRequest(server string, checksumParameter ChecksumParameter) (*http.Request, error)
- func NewGetServiceInfoRequest(server string) (*http.Request, error)
- func NewOptionsBulkObjectRequest(server string) (*http.Request, error)
- func NewOptionsObjectRequest(server string, objectId ObjectId) (*http.Request, error)
- func NewPostAccessURLRequest(server string, objectId ObjectId, accessId AccessId, ...) (*http.Request, error)
- func NewPostAccessURLRequestWithBody(server string, objectId ObjectId, accessId AccessId, contentType string, ...) (*http.Request, error)
- func NewPostObjectRequest(server string, objectId ObjectId, body PostObjectJSONRequestBody) (*http.Request, error)
- func NewPostObjectRequestWithBody(server string, objectId ObjectId, contentType string, body io.Reader) (*http.Request, error)
- func NewPostUploadRequestRequest(server string, body PostUploadRequestJSONRequestBody) (*http.Request, error)
- func NewPostUploadRequestRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
- func NewRegisterObjectsRequest(server string, body RegisterObjectsJSONRequestBody) (*http.Request, error)
- func NewRegisterObjectsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
- func NewUpdateObjectAccessMethodsRequest(server string, objectId string, body UpdateObjectAccessMethodsJSONRequestBody) (*http.Request, error)
- func NewUpdateObjectAccessMethodsRequestWithBody(server string, objectId string, contentType string, body io.Reader) (*http.Request, error)
- type AccessId
- type AccessMethod
- type AccessMethodAuthorizationsSupportedTypes
- type AccessMethodType
- type AccessMethodUpdateBody
- type AccessMethodUpdateRequest
- type AccessURL
- type AddChecksumsJSONRequestBody
- type AddChecksumsResponse
- type Authorizations
- type AuthorizationsSupportedTypes
- type BulkAccessMethodUpdateBody
- type BulkAccessMethodUpdateRequest
- type BulkAccessURL
- type BulkAddChecksumsJSONRequestBody
- type BulkAddChecksumsResponse
- type BulkChecksumAdditionBody
- type BulkChecksumAdditionRequest
- type BulkDeleteBody
- type BulkDeleteObjectsJSONRequestBody
- type BulkDeleteObjectsResponse
- type BulkDeleteRequest
- type BulkObjectAccessId
- type BulkObjectBody
- type BulkUpdateAccessMethodsJSONRequestBody
- type BulkUpdateAccessMethodsResponse
- type Checksum
- type ChecksumAdditionBody
- type ChecksumAdditionRequest
- type ChecksumParameter
- type Client
- func (c *Client) AddChecksums(ctx context.Context, objectId string, body AddChecksumsJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) AddChecksumsWithBody(ctx context.Context, objectId string, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) BulkAddChecksums(ctx context.Context, body BulkAddChecksumsJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) BulkAddChecksumsWithBody(ctx context.Context, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) BulkDeleteObjects(ctx context.Context, body BulkDeleteObjectsJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) BulkDeleteObjectsWithBody(ctx context.Context, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) BulkUpdateAccessMethods(ctx context.Context, body BulkUpdateAccessMethodsJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) BulkUpdateAccessMethodsWithBody(ctx context.Context, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) DeleteObject(ctx context.Context, objectId ObjectId, body DeleteObjectJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) DeleteObjectWithBody(ctx context.Context, objectId ObjectId, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) GetAccessURL(ctx context.Context, objectId ObjectId, accessId AccessId, ...) (*http.Response, error)
- func (c *Client) GetBulkAccessURL(ctx context.Context, body GetBulkAccessURLJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) GetBulkAccessURLWithBody(ctx context.Context, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) GetBulkObjects(ctx context.Context, params *GetBulkObjectsParams, ...) (*http.Response, error)
- func (c *Client) GetBulkObjectsWithBody(ctx context.Context, params *GetBulkObjectsParams, contentType string, ...) (*http.Response, error)
- func (c *Client) GetObject(ctx context.Context, objectId ObjectId, params *GetObjectParams, ...) (*http.Response, error)
- func (c *Client) GetObjectsByChecksum(ctx context.Context, checksumParameter ChecksumParameter, ...) (*http.Response, error)
- func (c *Client) GetServiceInfo(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) OptionsBulkObject(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) OptionsObject(ctx context.Context, objectId ObjectId, reqEditors ...RequestEditorFn) (*http.Response, error)
- func (c *Client) PostAccessURL(ctx context.Context, objectId ObjectId, accessId AccessId, ...) (*http.Response, error)
- func (c *Client) PostAccessURLWithBody(ctx context.Context, objectId ObjectId, accessId AccessId, contentType string, ...) (*http.Response, error)
- func (c *Client) PostObject(ctx context.Context, objectId ObjectId, body PostObjectJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) PostObjectWithBody(ctx context.Context, objectId ObjectId, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) PostUploadRequest(ctx context.Context, body PostUploadRequestJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) PostUploadRequestWithBody(ctx context.Context, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) RegisterObjects(ctx context.Context, body RegisterObjectsJSONRequestBody, ...) (*http.Response, error)
- func (c *Client) RegisterObjectsWithBody(ctx context.Context, contentType string, body io.Reader, ...) (*http.Response, error)
- func (c *Client) UpdateObjectAccessMethods(ctx context.Context, objectId string, ...) (*http.Response, error)
- func (c *Client) UpdateObjectAccessMethodsWithBody(ctx context.Context, objectId string, contentType string, body io.Reader, ...) (*http.Response, error)
- type ClientInterface
- type ClientOption
- type ClientWithResponses
- func (c *ClientWithResponses) AddChecksumsWithBodyWithResponse(ctx context.Context, objectId string, contentType string, body io.Reader, ...) (*AddChecksumsResponse, error)
- func (c *ClientWithResponses) AddChecksumsWithResponse(ctx context.Context, objectId string, body AddChecksumsJSONRequestBody, ...) (*AddChecksumsResponse, error)
- func (c *ClientWithResponses) BulkAddChecksumsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, ...) (*BulkAddChecksumsResponse, error)
- func (c *ClientWithResponses) BulkAddChecksumsWithResponse(ctx context.Context, body BulkAddChecksumsJSONRequestBody, ...) (*BulkAddChecksumsResponse, error)
- func (c *ClientWithResponses) BulkDeleteObjectsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, ...) (*BulkDeleteObjectsResponse, error)
- func (c *ClientWithResponses) BulkDeleteObjectsWithResponse(ctx context.Context, body BulkDeleteObjectsJSONRequestBody, ...) (*BulkDeleteObjectsResponse, error)
- func (c *ClientWithResponses) BulkUpdateAccessMethodsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, ...) (*BulkUpdateAccessMethodsResponse, error)
- func (c *ClientWithResponses) BulkUpdateAccessMethodsWithResponse(ctx context.Context, body BulkUpdateAccessMethodsJSONRequestBody, ...) (*BulkUpdateAccessMethodsResponse, error)
- func (c *ClientWithResponses) DeleteObjectWithBodyWithResponse(ctx context.Context, objectId ObjectId, contentType string, body io.Reader, ...) (*DeleteObjectResponse, error)
- func (c *ClientWithResponses) DeleteObjectWithResponse(ctx context.Context, objectId ObjectId, body DeleteObjectJSONRequestBody, ...) (*DeleteObjectResponse, error)
- func (c *ClientWithResponses) GetAccessURLWithResponse(ctx context.Context, objectId ObjectId, accessId AccessId, ...) (*GetAccessURLResponse, error)
- func (c *ClientWithResponses) GetBulkAccessURLWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, ...) (*GetBulkAccessURLResponse, error)
- func (c *ClientWithResponses) GetBulkAccessURLWithResponse(ctx context.Context, body GetBulkAccessURLJSONRequestBody, ...) (*GetBulkAccessURLResponse, error)
- func (c *ClientWithResponses) GetBulkObjectsWithBodyWithResponse(ctx context.Context, params *GetBulkObjectsParams, contentType string, ...) (*GetBulkObjectsResponse, error)
- func (c *ClientWithResponses) GetBulkObjectsWithResponse(ctx context.Context, params *GetBulkObjectsParams, ...) (*GetBulkObjectsResponse, error)
- func (c *ClientWithResponses) GetObjectWithResponse(ctx context.Context, objectId ObjectId, params *GetObjectParams, ...) (*GetObjectResponse, error)
- func (c *ClientWithResponses) GetObjectsByChecksumWithResponse(ctx context.Context, checksumParameter ChecksumParameter, ...) (*GetObjectsByChecksumResponse, error)
- func (c *ClientWithResponses) GetServiceInfoWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetServiceInfoResponse, error)
- func (c *ClientWithResponses) OptionsBulkObjectWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*OptionsBulkObjectResponse, error)
- func (c *ClientWithResponses) OptionsObjectWithResponse(ctx context.Context, objectId ObjectId, reqEditors ...RequestEditorFn) (*OptionsObjectResponse, error)
- func (c *ClientWithResponses) PostAccessURLWithBodyWithResponse(ctx context.Context, objectId ObjectId, accessId AccessId, contentType string, ...) (*PostAccessURLResponse, error)
- func (c *ClientWithResponses) PostAccessURLWithResponse(ctx context.Context, objectId ObjectId, accessId AccessId, ...) (*PostAccessURLResponse, error)
- func (c *ClientWithResponses) PostObjectWithBodyWithResponse(ctx context.Context, objectId ObjectId, contentType string, body io.Reader, ...) (*PostObjectResponse, error)
- func (c *ClientWithResponses) PostObjectWithResponse(ctx context.Context, objectId ObjectId, body PostObjectJSONRequestBody, ...) (*PostObjectResponse, error)
- func (c *ClientWithResponses) PostUploadRequestWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, ...) (*PostUploadRequestResponse, error)
- func (c *ClientWithResponses) PostUploadRequestWithResponse(ctx context.Context, body PostUploadRequestJSONRequestBody, ...) (*PostUploadRequestResponse, error)
- func (c *ClientWithResponses) RegisterObjectsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, ...) (*RegisterObjectsResponse, error)
- func (c *ClientWithResponses) RegisterObjectsWithResponse(ctx context.Context, body RegisterObjectsJSONRequestBody, ...) (*RegisterObjectsResponse, error)
- func (c *ClientWithResponses) UpdateObjectAccessMethodsWithBodyWithResponse(ctx context.Context, objectId string, contentType string, body io.Reader, ...) (*UpdateObjectAccessMethodsResponse, error)
- func (c *ClientWithResponses) UpdateObjectAccessMethodsWithResponse(ctx context.Context, objectId string, ...) (*UpdateObjectAccessMethodsResponse, error)
- type ClientWithResponsesInterface
- type ContentsObject
- type DeleteBody
- type DeleteObjectJSONRequestBody
- type DeleteObjectResponse
- type DeleteRequest
- type DrsObject
- type DrsObjectCandidate
- type DrsService
- type DrsServiceDrsControlledAccessClaimFormat
- type DrsServiceDrsControlledAccessDefault
- type DrsServiceDrsSupportedUploadMethodTypes
- type DrsServiceTypeArtifact
- type Error
- type Expand
- type GetAccessURLResponse
- type GetBulkAccessURLJSONRequestBody
- type GetBulkAccessURLResponse
- type GetBulkObjectsJSONBody
- type GetBulkObjectsJSONRequestBody
- type GetBulkObjectsParams
- type GetBulkObjectsResponse
- type GetObjectParams
- type GetObjectResponse
- type GetObjectsByChecksumResponse
- type GetServiceInfo200DrsControlledAccessClaimFormat
- type GetServiceInfo200DrsControlledAccessDefault
- type GetServiceInfo200DrsSupportedUploadMethodTypes
- type GetServiceInfo200TypeArtifact
- type GetServiceInfoResponse
- type HttpRequestDoer
- type N200AccessMethodUpdate
- type N200BulkAccessMethodUpdate
- type N200BulkChecksumAddition
- type N200ChecksumAddition
- type N200OkAccess
- type N200OkAccesses
- type N200OkAuthorizations
- type N200OkBulkAuthorizations
- type N200OkDrsObject
- type N200OkDrsObjects
- type N200ServiceInfo
- type N200ServiceInfoDrsControlledAccessClaimFormat
- type N200ServiceInfoDrsControlledAccessDefault
- type N200ServiceInfoDrsSupportedUploadMethodTypes
- type N200ServiceInfoTypeArtifact
- type N200UploadRequest
- type N201ObjectsCreated
- type N400BadRequest
- type N400BadRequestDelete
- type N401Unauthorized
- type N403Forbidden
- type N403ForbiddenDelete
- type N404NotFoundAccess
- type N404NotFoundDelete
- type N404NotFoundDrsObject
- type N413RequestTooLarge
- type N500InternalServerError
- type ObjectId
- type OptionsBulkObjectResponse
- type OptionsObjectResponse
- type Passports
- type PostAccessURLJSONBody
- type PostAccessURLJSONRequestBody
- type PostAccessURLResponse
- type PostObjectBody
- type PostObjectJSONBody
- type PostObjectJSONRequestBody
- type PostObjectResponse
- type PostUploadRequestJSONRequestBody
- type PostUploadRequestResponse
- type RegisterObjectsBody
- type RegisterObjectsJSONBody
- type RegisterObjectsJSONRequestBody
- type RegisterObjectsResponse
- type RequestEditorFn
- type Service
- type ServiceType
- type Summary
- type Unresolved
- type UpdateObjectAccessMethodsJSONRequestBody
- type UpdateObjectAccessMethodsResponse
- type UploadMethod
- type UploadMethodType
- type UploadRequest
- type UploadRequestBody
- type UploadRequestObject
- type UploadResponse
- type UploadResponseObject
Constants ¶
const ( BasicAuthScopes = "BasicAuth.Scopes" BearerAuthScopes = "BearerAuth.Scopes" PassportAuthScopes = "PassportAuth.Scopes" )
Variables ¶
This section is empty.
Functions ¶
func NewAddChecksumsRequest ¶ added in v0.2.6
func NewAddChecksumsRequest(server string, objectId string, body AddChecksumsJSONRequestBody) (*http.Request, error)
NewAddChecksumsRequest calls the generic AddChecksums builder with application/json body
func NewAddChecksumsRequestWithBody ¶ added in v0.2.6
func NewAddChecksumsRequestWithBody(server string, objectId string, contentType string, body io.Reader) (*http.Request, error)
NewAddChecksumsRequestWithBody generates requests for AddChecksums with any type of body
func NewBulkAddChecksumsRequest ¶ added in v0.2.6
func NewBulkAddChecksumsRequest(server string, body BulkAddChecksumsJSONRequestBody) (*http.Request, error)
NewBulkAddChecksumsRequest calls the generic BulkAddChecksums builder with application/json body
func NewBulkAddChecksumsRequestWithBody ¶ added in v0.2.6
func NewBulkAddChecksumsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
NewBulkAddChecksumsRequestWithBody generates requests for BulkAddChecksums with any type of body
func NewBulkDeleteObjectsRequest ¶
func NewBulkDeleteObjectsRequest(server string, body BulkDeleteObjectsJSONRequestBody) (*http.Request, error)
NewBulkDeleteObjectsRequest calls the generic BulkDeleteObjects builder with application/json body
func NewBulkDeleteObjectsRequestWithBody ¶
func NewBulkDeleteObjectsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
NewBulkDeleteObjectsRequestWithBody generates requests for BulkDeleteObjects with any type of body
func NewBulkUpdateAccessMethodsRequest ¶
func NewBulkUpdateAccessMethodsRequest(server string, body BulkUpdateAccessMethodsJSONRequestBody) (*http.Request, error)
NewBulkUpdateAccessMethodsRequest calls the generic BulkUpdateAccessMethods builder with application/json body
func NewBulkUpdateAccessMethodsRequestWithBody ¶
func NewBulkUpdateAccessMethodsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
NewBulkUpdateAccessMethodsRequestWithBody generates requests for BulkUpdateAccessMethods with any type of body
func NewDeleteObjectRequest ¶
func NewDeleteObjectRequest(server string, objectId ObjectId, body DeleteObjectJSONRequestBody) (*http.Request, error)
NewDeleteObjectRequest calls the generic DeleteObject builder with application/json body
func NewDeleteObjectRequestWithBody ¶
func NewDeleteObjectRequestWithBody(server string, objectId ObjectId, contentType string, body io.Reader) (*http.Request, error)
NewDeleteObjectRequestWithBody generates requests for DeleteObject with any type of body
func NewGetAccessURLRequest ¶
func NewGetAccessURLRequest(server string, objectId ObjectId, accessId AccessId) (*http.Request, error)
NewGetAccessURLRequest generates requests for GetAccessURL
func NewGetBulkAccessURLRequest ¶
func NewGetBulkAccessURLRequest(server string, body GetBulkAccessURLJSONRequestBody) (*http.Request, error)
NewGetBulkAccessURLRequest calls the generic GetBulkAccessURL builder with application/json body
func NewGetBulkAccessURLRequestWithBody ¶
func NewGetBulkAccessURLRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
NewGetBulkAccessURLRequestWithBody generates requests for GetBulkAccessURL with any type of body
func NewGetBulkObjectsRequest ¶
func NewGetBulkObjectsRequest(server string, params *GetBulkObjectsParams, body GetBulkObjectsJSONRequestBody) (*http.Request, error)
NewGetBulkObjectsRequest calls the generic GetBulkObjects builder with application/json body
func NewGetBulkObjectsRequestWithBody ¶
func NewGetBulkObjectsRequestWithBody(server string, params *GetBulkObjectsParams, contentType string, body io.Reader) (*http.Request, error)
NewGetBulkObjectsRequestWithBody generates requests for GetBulkObjects with any type of body
func NewGetObjectRequest ¶
func NewGetObjectRequest(server string, objectId ObjectId, params *GetObjectParams) (*http.Request, error)
NewGetObjectRequest generates requests for GetObject
func NewGetObjectsByChecksumRequest ¶
func NewGetObjectsByChecksumRequest(server string, checksumParameter ChecksumParameter) (*http.Request, error)
NewGetObjectsByChecksumRequest generates requests for GetObjectsByChecksum
func NewGetServiceInfoRequest ¶
NewGetServiceInfoRequest generates requests for GetServiceInfo
func NewOptionsBulkObjectRequest ¶
NewOptionsBulkObjectRequest generates requests for OptionsBulkObject
func NewOptionsObjectRequest ¶
NewOptionsObjectRequest generates requests for OptionsObject
func NewPostAccessURLRequest ¶
func NewPostAccessURLRequest(server string, objectId ObjectId, accessId AccessId, body PostAccessURLJSONRequestBody) (*http.Request, error)
NewPostAccessURLRequest calls the generic PostAccessURL builder with application/json body
func NewPostAccessURLRequestWithBody ¶
func NewPostAccessURLRequestWithBody(server string, objectId ObjectId, accessId AccessId, contentType string, body io.Reader) (*http.Request, error)
NewPostAccessURLRequestWithBody generates requests for PostAccessURL with any type of body
func NewPostObjectRequest ¶
func NewPostObjectRequest(server string, objectId ObjectId, body PostObjectJSONRequestBody) (*http.Request, error)
NewPostObjectRequest calls the generic PostObject builder with application/json body
func NewPostObjectRequestWithBody ¶
func NewPostObjectRequestWithBody(server string, objectId ObjectId, contentType string, body io.Reader) (*http.Request, error)
NewPostObjectRequestWithBody generates requests for PostObject with any type of body
func NewPostUploadRequestRequest ¶
func NewPostUploadRequestRequest(server string, body PostUploadRequestJSONRequestBody) (*http.Request, error)
NewPostUploadRequestRequest calls the generic PostUploadRequest builder with application/json body
func NewPostUploadRequestRequestWithBody ¶
func NewPostUploadRequestRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
NewPostUploadRequestRequestWithBody generates requests for PostUploadRequest with any type of body
func NewRegisterObjectsRequest ¶
func NewRegisterObjectsRequest(server string, body RegisterObjectsJSONRequestBody) (*http.Request, error)
NewRegisterObjectsRequest calls the generic RegisterObjects builder with application/json body
func NewRegisterObjectsRequestWithBody ¶
func NewRegisterObjectsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)
NewRegisterObjectsRequestWithBody generates requests for RegisterObjects with any type of body
func NewUpdateObjectAccessMethodsRequest ¶
func NewUpdateObjectAccessMethodsRequest(server string, objectId string, body UpdateObjectAccessMethodsJSONRequestBody) (*http.Request, error)
NewUpdateObjectAccessMethodsRequest calls the generic UpdateObjectAccessMethods builder with application/json body
func NewUpdateObjectAccessMethodsRequestWithBody ¶
func NewUpdateObjectAccessMethodsRequestWithBody(server string, objectId string, contentType string, body io.Reader) (*http.Request, error)
NewUpdateObjectAccessMethodsRequestWithBody generates requests for UpdateObjectAccessMethods with any type of body
Types ¶
type AccessMethod ¶
type AccessMethod struct {
// AccessId An arbitrary string to be passed to the `/access` method to get an `AccessURL`. This string must be unique within the scope of a single object. Note that at least one of `access_url` and `access_id` must be provided.
AccessId *string `json:"access_id,omitempty"`
AccessUrl *struct {
// Headers An optional list of headers to include in the HTTP request to `url`. These headers can be used to provide auth tokens required to fetch the object bytes.
Headers *[]string `json:"headers,omitempty"`
// Url A fully resolvable URL that can be used to fetch the actual object bytes.
Url string `json:"url"`
} `json:"access_url,omitempty"`
Authorizations *struct {
// BearerAuthIssuers If authorizations contain `BearerAuth` this is an optional list of issuers that may authorize access to this object. The caller must provide a token from one of these issuers. If this is empty or missing it assumed the caller knows which token to send via other means. It is strongly recommended that the caller validate that it is appropriate to send the requested token to the DRS server to mitigate attacks by malicious DRS servers requesting credentials they should not have.
BearerAuthIssuers *[]string `json:"bearer_auth_issuers,omitempty"`
DrsObjectId *string `json:"drs_object_id,omitempty"`
// PassportAuthIssuers If authorizations contain `PassportAuth` this is a required list of visa issuers (as found in a visa's `iss` claim) that may authorize access to this object. The caller must only provide passports that contain visas from this list. It is strongly recommended that the caller validate that it is appropriate to send the requested passport/visa to the DRS server to mitigate attacks by malicious DRS servers requesting credentials they should not have.
PassportAuthIssuers *[]string `json:"passport_auth_issuers,omitempty"`
// SupportedTypes An Optional list of support authorization types. More than one can be supported and tried in sequence. Defaults to `None` if empty or missing.
SupportedTypes *[]AccessMethodAuthorizationsSupportedTypes `json:"supported_types,omitempty"`
} `json:"authorizations,omitempty"`
// Available Availablity of file in the cloud. This label defines if this file is immediately accessible via DRS. Any delay or requirement of thawing mechanism if the file is in offline/archival storage is classified as false, meaning it is unavailable.
Available *bool `json:"available,omitempty"`
// Cloud Name of the cloud service provider that the object belongs to. If the cloud service is Amazon Web Services, Google Cloud Platform or Azure the values should be `aws`, `gcp`, or `azure` respectively.
Cloud *string `json:"cloud,omitempty"`
// Region Name of the region in the cloud service provider that the object belongs to.
Region *string `json:"region,omitempty"`
// Type Type of the access method.
Type AccessMethodType `json:"type"`
}
AccessMethod defines model for AccessMethod.
type AccessMethodAuthorizationsSupportedTypes ¶
type AccessMethodAuthorizationsSupportedTypes string
AccessMethodAuthorizationsSupportedTypes defines model for AccessMethod.Authorizations.SupportedTypes.
const ( AccessMethodAuthorizationsSupportedTypesBasicAuth AccessMethodAuthorizationsSupportedTypes = "BasicAuth" AccessMethodAuthorizationsSupportedTypesBearerAuth AccessMethodAuthorizationsSupportedTypes = "BearerAuth" AccessMethodAuthorizationsSupportedTypesNone AccessMethodAuthorizationsSupportedTypes = "None" AccessMethodAuthorizationsSupportedTypesPassportAuth AccessMethodAuthorizationsSupportedTypes = "PassportAuth" )
Defines values for AccessMethodAuthorizationsSupportedTypes.
type AccessMethodType ¶
type AccessMethodType string
AccessMethodType Type of the access method.
const ( AccessMethodTypeFile AccessMethodType = "file" AccessMethodTypeFtp AccessMethodType = "ftp" AccessMethodTypeGlobus AccessMethodType = "globus" AccessMethodTypeGs AccessMethodType = "gs" AccessMethodTypeGsiftp AccessMethodType = "gsiftp" AccessMethodTypeHtsget AccessMethodType = "htsget" AccessMethodTypeHttps AccessMethodType = "https" AccessMethodTypeS3 AccessMethodType = "s3" )
Defines values for AccessMethodType.
type AccessMethodUpdateBody ¶
type AccessMethodUpdateBody = AccessMethodUpdateRequest
AccessMethodUpdateBody defines model for AccessMethodUpdateBody.
type AccessMethodUpdateRequest ¶
type AccessMethodUpdateRequest struct {
// AccessMethods New access methods for the DRS object
AccessMethods []AccessMethod `json:"access_methods"`
// Passports Optional GA4GH Passport JWTs for authorization
Passports *[]string `json:"passports,omitempty"`
}
AccessMethodUpdateRequest defines model for AccessMethodUpdateRequest.
type AccessURL ¶
type AccessURL struct {
// Headers An optional list of headers to include in the HTTP request to `url`. These headers can be used to provide auth tokens required to fetch the object bytes.
Headers *[]string `json:"headers,omitempty"`
// Url A fully resolvable URL that can be used to fetch the actual object bytes.
Url string `json:"url"`
}
AccessURL defines model for AccessURL.
type AddChecksumsJSONRequestBody ¶ added in v0.2.6
type AddChecksumsJSONRequestBody = ChecksumAdditionRequest
AddChecksumsJSONRequestBody defines body for AddChecksums for application/json ContentType.
type AddChecksumsResponse ¶ added in v0.2.6
type AddChecksumsResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *N200ChecksumAddition
JSON400 *N400BadRequest
JSON401 *N401Unauthorized
JSON403 *N403Forbidden
JSON404 *N404NotFoundDrsObject
JSON413 *N413RequestTooLarge
JSON500 *N500InternalServerError
}
func ParseAddChecksumsResponse ¶ added in v0.2.6
func ParseAddChecksumsResponse(rsp *http.Response) (*AddChecksumsResponse, error)
ParseAddChecksumsResponse parses an HTTP response from a AddChecksumsWithResponse call
func (AddChecksumsResponse) Status ¶ added in v0.2.6
func (r AddChecksumsResponse) Status() string
Status returns HTTPResponse.Status
func (AddChecksumsResponse) StatusCode ¶ added in v0.2.6
func (r AddChecksumsResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type Authorizations ¶
type Authorizations struct {
// BearerAuthIssuers If authorizations contain `BearerAuth` this is an optional list of issuers that may authorize access to this object. The caller must provide a token from one of these issuers. If this is empty or missing it assumed the caller knows which token to send via other means. It is strongly recommended that the caller validate that it is appropriate to send the requested token to the DRS server to mitigate attacks by malicious DRS servers requesting credentials they should not have.
BearerAuthIssuers *[]string `json:"bearer_auth_issuers,omitempty"`
DrsObjectId *string `json:"drs_object_id,omitempty"`
// PassportAuthIssuers If authorizations contain `PassportAuth` this is a required list of visa issuers (as found in a visa's `iss` claim) that may authorize access to this object. The caller must only provide passports that contain visas from this list. It is strongly recommended that the caller validate that it is appropriate to send the requested passport/visa to the DRS server to mitigate attacks by malicious DRS servers requesting credentials they should not have.
PassportAuthIssuers *[]string `json:"passport_auth_issuers,omitempty"`
// SupportedTypes An Optional list of support authorization types. More than one can be supported and tried in sequence. Defaults to `None` if empty or missing.
SupportedTypes *[]AuthorizationsSupportedTypes `json:"supported_types,omitempty"`
}
Authorizations defines model for Authorizations.
type AuthorizationsSupportedTypes ¶
type AuthorizationsSupportedTypes string
AuthorizationsSupportedTypes defines model for Authorizations.SupportedTypes.
const ( AuthorizationsSupportedTypesBasicAuth AuthorizationsSupportedTypes = "BasicAuth" AuthorizationsSupportedTypesBearerAuth AuthorizationsSupportedTypes = "BearerAuth" AuthorizationsSupportedTypesNone AuthorizationsSupportedTypes = "None" AuthorizationsSupportedTypesPassportAuth AuthorizationsSupportedTypes = "PassportAuth" )
Defines values for AuthorizationsSupportedTypes.
type BulkAccessMethodUpdateBody ¶
type BulkAccessMethodUpdateBody = BulkAccessMethodUpdateRequest
BulkAccessMethodUpdateBody defines model for BulkAccessMethodUpdateBody.
type BulkAccessMethodUpdateRequest ¶
type BulkAccessMethodUpdateRequest struct {
// Passports Optional GA4GH Passport JWTs for authorization
Passports *[]string `json:"passports,omitempty"`
// Updates Array of access method updates to perform
Updates []struct {
// AccessMethods New access methods for this object
AccessMethods []AccessMethod `json:"access_methods"`
// ObjectId DRS object ID to update
ObjectId string `json:"object_id"`
} `json:"updates"`
}
BulkAccessMethodUpdateRequest defines model for BulkAccessMethodUpdateRequest.
type BulkAccessURL ¶
type BulkAccessURL struct {
DrsAccessId *string `json:"drs_access_id,omitempty"`
DrsObjectId *string `json:"drs_object_id,omitempty"`
// Headers An optional list of headers to include in the HTTP request to `url`. These headers can be used to provide auth tokens required to fetch the object bytes.
Headers *[]string `json:"headers,omitempty"`
// Url A fully resolvable URL that can be used to fetch the actual object bytes.
Url string `json:"url"`
}
BulkAccessURL defines model for BulkAccessURL.
type BulkAddChecksumsJSONRequestBody ¶ added in v0.2.6
type BulkAddChecksumsJSONRequestBody = BulkChecksumAdditionRequest
BulkAddChecksumsJSONRequestBody defines body for BulkAddChecksums for application/json ContentType.
type BulkAddChecksumsResponse ¶ added in v0.2.6
type BulkAddChecksumsResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *N200BulkChecksumAddition
JSON400 *N400BadRequest
JSON401 *N401Unauthorized
JSON403 *N403Forbidden
JSON404 *N404NotFoundDrsObject
JSON413 *N413RequestTooLarge
JSON500 *N500InternalServerError
}
func ParseBulkAddChecksumsResponse ¶ added in v0.2.6
func ParseBulkAddChecksumsResponse(rsp *http.Response) (*BulkAddChecksumsResponse, error)
ParseBulkAddChecksumsResponse parses an HTTP response from a BulkAddChecksumsWithResponse call
func (BulkAddChecksumsResponse) Status ¶ added in v0.2.6
func (r BulkAddChecksumsResponse) Status() string
Status returns HTTPResponse.Status
func (BulkAddChecksumsResponse) StatusCode ¶ added in v0.2.6
func (r BulkAddChecksumsResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type BulkChecksumAdditionBody ¶ added in v0.2.6
type BulkChecksumAdditionBody = BulkChecksumAdditionRequest
BulkChecksumAdditionBody defines model for BulkChecksumAdditionBody.
type BulkChecksumAdditionRequest ¶ added in v0.2.6
type BulkChecksumAdditionRequest struct {
// Additions Array of checksum additions
Additions []struct {
// Checksums New checksums for this object
Checksums []Checksum `json:"checksums"`
// ObjectId DRS object ID to add checksum for
ObjectId string `json:"object_id"`
} `json:"additions"`
// Passports Optional GA4GH Passport JWTs for authorization
Passports *[]string `json:"passports,omitempty"`
}
BulkChecksumAdditionRequest defines model for BulkChecksumAdditionRequest.
type BulkDeleteBody ¶
type BulkDeleteBody = BulkDeleteRequest
BulkDeleteBody Request body for bulk delete operations
type BulkDeleteObjectsJSONRequestBody ¶
type BulkDeleteObjectsJSONRequestBody = BulkDeleteRequest
BulkDeleteObjectsJSONRequestBody defines body for BulkDeleteObjects for application/json ContentType.
type BulkDeleteObjectsResponse ¶
type BulkDeleteObjectsResponse struct {
Body []byte
HTTPResponse *http.Response
JSON400 *N400BadRequestDelete
JSON401 *N401Unauthorized
JSON403 *N403ForbiddenDelete
JSON404 *N404NotFoundDelete
JSON413 *N413RequestTooLarge
JSON500 *N500InternalServerError
}
func ParseBulkDeleteObjectsResponse ¶
func ParseBulkDeleteObjectsResponse(rsp *http.Response) (*BulkDeleteObjectsResponse, error)
ParseBulkDeleteObjectsResponse parses an HTTP response from a BulkDeleteObjectsWithResponse call
func (BulkDeleteObjectsResponse) Status ¶
func (r BulkDeleteObjectsResponse) Status() string
Status returns HTTPResponse.Status
func (BulkDeleteObjectsResponse) StatusCode ¶
func (r BulkDeleteObjectsResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type BulkDeleteRequest ¶
type BulkDeleteRequest struct {
// BulkObjectIds Array of DRS object IDs to delete
BulkObjectIds []string `json:"bulk_object_ids"`
// DeleteObjectMetadata If true, permanently remove the DRS object metadata record. The object ID will no longer resolve and cannot be recovered. If false (default), the server marks the object as deleted but preserves the metadata record, enabling potential recovery. Read and access endpoints return 410 Gone for objects in this state. Servers that support this mode advertise metadataRetentionSupported in service-info. Only applicable when the server advertises deleteSupported in service-info. Servers that do not support metadata retention SHOULD silently ignore this parameter and permanently delete metadata regardless of the value provided.
DeleteObjectMetadata *bool `json:"delete_object_metadata,omitempty"`
// DeleteStorageData If true, the server attempts to delete the underlying storage data (follows server's deleteStorageDataSupported capability). If false (default), underlying storage data is preserved. This parameter is independent of delete_object_metadata and controls only the storage layer. Clients must explicitly set this to true to enable storage data deletion, ensuring intentional choice for this potentially destructive operation. Only applicable when the server advertises deleteSupported in service-info.
DeleteStorageData *bool `json:"delete_storage_data,omitempty"`
// Passports the encoded JWT GA4GH Passport that contains embedded Visas. The overall JWT is signed as are the individual Passport Visas.
Passports *[]string `json:"passports,omitempty"`
}
BulkDeleteRequest Request body for bulk delete operations
type BulkObjectAccessId ¶
type BulkObjectAccessId struct {
BulkObjectAccessIds *[]struct {
// BulkAccessIds DRS object access ID
BulkAccessIds *[]string `json:"bulk_access_ids,omitempty"`
// BulkObjectId DRS object ID
BulkObjectId *string `json:"bulk_object_id,omitempty"`
} `json:"bulk_object_access_ids,omitempty"`
Passports *[]string `json:"passports,omitempty"`
}
BulkObjectAccessId The object that contains object_id/access_id tuples
type BulkObjectBody ¶
type BulkObjectBody struct {
// BulkObjectIds An array of ObjectIDs to retrieve metadata for
BulkObjectIds []string `json:"bulk_object_ids"`
// Passports the encoded JWT GA4GH Passport that contains embedded Visas. The overall JWT is signed as are the individual Passport Visas.
Passports *[]string `json:"passports,omitempty"`
}
BulkObjectBody defines model for BulkObjectBody.
type BulkUpdateAccessMethodsJSONRequestBody ¶
type BulkUpdateAccessMethodsJSONRequestBody = BulkAccessMethodUpdateRequest
BulkUpdateAccessMethodsJSONRequestBody defines body for BulkUpdateAccessMethods for application/json ContentType.
type BulkUpdateAccessMethodsResponse ¶
type BulkUpdateAccessMethodsResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *N200BulkAccessMethodUpdate
JSON400 *N400BadRequest
JSON401 *N401Unauthorized
JSON403 *N403Forbidden
JSON404 *N404NotFoundDrsObject
JSON413 *N413RequestTooLarge
JSON500 *N500InternalServerError
}
func ParseBulkUpdateAccessMethodsResponse ¶
func ParseBulkUpdateAccessMethodsResponse(rsp *http.Response) (*BulkUpdateAccessMethodsResponse, error)
ParseBulkUpdateAccessMethodsResponse parses an HTTP response from a BulkUpdateAccessMethodsWithResponse call
func (BulkUpdateAccessMethodsResponse) Status ¶
func (r BulkUpdateAccessMethodsResponse) Status() string
Status returns HTTPResponse.Status
func (BulkUpdateAccessMethodsResponse) StatusCode ¶
func (r BulkUpdateAccessMethodsResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type Checksum ¶
type Checksum struct {
// Checksum The hex-string encoded checksum for the data
Checksum string `json:"checksum"`
// Type The digest method used to create the checksum.
// The value (e.g. `sha-256`) SHOULD be listed as `Hash Name String` in the https://www.iana.org/assignments/named-information/named-information.xhtml#hash-alg[IANA Named Information Hash Algorithm Registry]. Other values MAY be used, as long as implementors are aware of the issues discussed in https://tools.ietf.org/html/rfc6920#section-9.4[RFC6920].
// GA4GH may provide more explicit guidance for use of non-IANA-registered algorithms in the future. Until then, if implementers do choose such an algorithm (e.g. because it's implemented by their storage provider), they SHOULD use an existing standard `type` value such as `md5`, `etag`, `crc32c`, `trunc512`, or `sha1`.
Type string `json:"type"`
}
Checksum defines model for Checksum.
type ChecksumAdditionBody ¶ added in v0.2.6
type ChecksumAdditionBody = ChecksumAdditionRequest
ChecksumAdditionBody defines model for ChecksumAdditionBody.
type ChecksumAdditionRequest ¶ added in v0.2.6
type ChecksumAdditionRequest struct {
// Checksums New checksums for the DRS object
Checksums []Checksum `json:"checksums"`
// Passports Optional GA4GH Passport JWTs for authorization
Passports *[]string `json:"passports,omitempty"`
}
ChecksumAdditionRequest defines model for ChecksumAdditionRequest.
type ChecksumParameter ¶ added in v0.2.6
type ChecksumParameter = string
ChecksumParameter defines model for Checksum.
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) AddChecksums ¶ added in v0.2.6
func (c *Client) AddChecksums(ctx context.Context, objectId string, body AddChecksumsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
func (*Client) AddChecksumsWithBody ¶ added in v0.2.6
func (*Client) BulkAddChecksums ¶ added in v0.2.6
func (c *Client) BulkAddChecksums(ctx context.Context, body BulkAddChecksumsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
func (*Client) BulkAddChecksumsWithBody ¶ added in v0.2.6
func (*Client) BulkDeleteObjects ¶
func (c *Client) BulkDeleteObjects(ctx context.Context, body BulkDeleteObjectsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
func (*Client) BulkDeleteObjectsWithBody ¶
func (*Client) BulkUpdateAccessMethods ¶
func (c *Client) BulkUpdateAccessMethods(ctx context.Context, body BulkUpdateAccessMethodsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
func (*Client) BulkUpdateAccessMethodsWithBody ¶
func (*Client) DeleteObject ¶
func (c *Client) DeleteObject(ctx context.Context, objectId ObjectId, body DeleteObjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
func (*Client) DeleteObjectWithBody ¶
func (*Client) GetAccessURL ¶
func (*Client) GetBulkAccessURL ¶
func (c *Client) GetBulkAccessURL(ctx context.Context, body GetBulkAccessURLJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
func (*Client) GetBulkAccessURLWithBody ¶
func (*Client) GetBulkObjects ¶
func (c *Client) GetBulkObjects(ctx context.Context, params *GetBulkObjectsParams, body GetBulkObjectsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
func (*Client) GetBulkObjectsWithBody ¶
func (*Client) GetObject ¶
func (c *Client) GetObject(ctx context.Context, objectId ObjectId, params *GetObjectParams, reqEditors ...RequestEditorFn) (*http.Response, error)
func (*Client) GetObjectsByChecksum ¶
func (c *Client) GetObjectsByChecksum(ctx context.Context, checksumParameter ChecksumParameter, reqEditors ...RequestEditorFn) (*http.Response, error)
func (*Client) GetServiceInfo ¶
func (*Client) OptionsBulkObject ¶
func (*Client) OptionsObject ¶
func (*Client) PostAccessURL ¶
func (c *Client) PostAccessURL(ctx context.Context, objectId ObjectId, accessId AccessId, body PostAccessURLJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
func (*Client) PostAccessURLWithBody ¶
func (*Client) PostObject ¶
func (c *Client) PostObject(ctx context.Context, objectId ObjectId, body PostObjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
func (*Client) PostObjectWithBody ¶
func (*Client) PostUploadRequest ¶
func (c *Client) PostUploadRequest(ctx context.Context, body PostUploadRequestJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
func (*Client) PostUploadRequestWithBody ¶
func (*Client) RegisterObjects ¶
func (c *Client) RegisterObjects(ctx context.Context, body RegisterObjectsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
func (*Client) RegisterObjectsWithBody ¶
func (*Client) UpdateObjectAccessMethods ¶
func (c *Client) UpdateObjectAccessMethods(ctx context.Context, objectId string, body UpdateObjectAccessMethodsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
type ClientInterface ¶
type ClientInterface interface {
// OptionsBulkObject request
OptionsBulkObject(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetBulkObjectsWithBody request with any body
GetBulkObjectsWithBody(ctx context.Context, params *GetBulkObjectsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
GetBulkObjects(ctx context.Context, params *GetBulkObjectsParams, body GetBulkObjectsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetBulkAccessURLWithBody request with any body
GetBulkAccessURLWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
GetBulkAccessURL(ctx context.Context, body GetBulkAccessURLJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// BulkUpdateAccessMethodsWithBody request with any body
BulkUpdateAccessMethodsWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
BulkUpdateAccessMethods(ctx context.Context, body BulkUpdateAccessMethodsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetObjectsByChecksum request
GetObjectsByChecksum(ctx context.Context, checksumParameter ChecksumParameter, reqEditors ...RequestEditorFn) (*http.Response, error)
// BulkAddChecksumsWithBody request with any body
BulkAddChecksumsWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
BulkAddChecksums(ctx context.Context, body BulkAddChecksumsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// BulkDeleteObjectsWithBody request with any body
BulkDeleteObjectsWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
BulkDeleteObjects(ctx context.Context, body BulkDeleteObjectsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// RegisterObjectsWithBody request with any body
RegisterObjectsWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
RegisterObjects(ctx context.Context, body RegisterObjectsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetObject request
GetObject(ctx context.Context, objectId ObjectId, params *GetObjectParams, reqEditors ...RequestEditorFn) (*http.Response, error)
// OptionsObject request
OptionsObject(ctx context.Context, objectId ObjectId, reqEditors ...RequestEditorFn) (*http.Response, error)
// PostObjectWithBody request with any body
PostObjectWithBody(ctx context.Context, objectId ObjectId, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
PostObject(ctx context.Context, objectId ObjectId, body PostObjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// UpdateObjectAccessMethodsWithBody request with any body
UpdateObjectAccessMethodsWithBody(ctx context.Context, objectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
UpdateObjectAccessMethods(ctx context.Context, objectId string, body UpdateObjectAccessMethodsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetAccessURL request
GetAccessURL(ctx context.Context, objectId ObjectId, accessId AccessId, reqEditors ...RequestEditorFn) (*http.Response, error)
// PostAccessURLWithBody request with any body
PostAccessURLWithBody(ctx context.Context, objectId ObjectId, accessId AccessId, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
PostAccessURL(ctx context.Context, objectId ObjectId, accessId AccessId, body PostAccessURLJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// AddChecksumsWithBody request with any body
AddChecksumsWithBody(ctx context.Context, objectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
AddChecksums(ctx context.Context, objectId string, body AddChecksumsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// DeleteObjectWithBody request with any body
DeleteObjectWithBody(ctx context.Context, objectId ObjectId, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
DeleteObject(ctx context.Context, objectId ObjectId, body DeleteObjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetServiceInfo request
GetServiceInfo(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// PostUploadRequestWithBody request with any body
PostUploadRequestWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
PostUploadRequest(ctx context.Context, body PostUploadRequestJSONRequestBody, 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) AddChecksumsWithBodyWithResponse ¶ added in v0.2.6
func (c *ClientWithResponses) AddChecksumsWithBodyWithResponse(ctx context.Context, objectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*AddChecksumsResponse, error)
AddChecksumsWithBodyWithResponse request with arbitrary body returning *AddChecksumsResponse
func (*ClientWithResponses) AddChecksumsWithResponse ¶ added in v0.2.6
func (c *ClientWithResponses) AddChecksumsWithResponse(ctx context.Context, objectId string, body AddChecksumsJSONRequestBody, reqEditors ...RequestEditorFn) (*AddChecksumsResponse, error)
func (*ClientWithResponses) BulkAddChecksumsWithBodyWithResponse ¶ added in v0.2.6
func (c *ClientWithResponses) BulkAddChecksumsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*BulkAddChecksumsResponse, error)
BulkAddChecksumsWithBodyWithResponse request with arbitrary body returning *BulkAddChecksumsResponse
func (*ClientWithResponses) BulkAddChecksumsWithResponse ¶ added in v0.2.6
func (c *ClientWithResponses) BulkAddChecksumsWithResponse(ctx context.Context, body BulkAddChecksumsJSONRequestBody, reqEditors ...RequestEditorFn) (*BulkAddChecksumsResponse, error)
func (*ClientWithResponses) BulkDeleteObjectsWithBodyWithResponse ¶
func (c *ClientWithResponses) BulkDeleteObjectsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*BulkDeleteObjectsResponse, error)
BulkDeleteObjectsWithBodyWithResponse request with arbitrary body returning *BulkDeleteObjectsResponse
func (*ClientWithResponses) BulkDeleteObjectsWithResponse ¶
func (c *ClientWithResponses) BulkDeleteObjectsWithResponse(ctx context.Context, body BulkDeleteObjectsJSONRequestBody, reqEditors ...RequestEditorFn) (*BulkDeleteObjectsResponse, error)
func (*ClientWithResponses) BulkUpdateAccessMethodsWithBodyWithResponse ¶
func (c *ClientWithResponses) BulkUpdateAccessMethodsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*BulkUpdateAccessMethodsResponse, error)
BulkUpdateAccessMethodsWithBodyWithResponse request with arbitrary body returning *BulkUpdateAccessMethodsResponse
func (*ClientWithResponses) BulkUpdateAccessMethodsWithResponse ¶
func (c *ClientWithResponses) BulkUpdateAccessMethodsWithResponse(ctx context.Context, body BulkUpdateAccessMethodsJSONRequestBody, reqEditors ...RequestEditorFn) (*BulkUpdateAccessMethodsResponse, error)
func (*ClientWithResponses) DeleteObjectWithBodyWithResponse ¶
func (c *ClientWithResponses) DeleteObjectWithBodyWithResponse(ctx context.Context, objectId ObjectId, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*DeleteObjectResponse, error)
DeleteObjectWithBodyWithResponse request with arbitrary body returning *DeleteObjectResponse
func (*ClientWithResponses) DeleteObjectWithResponse ¶
func (c *ClientWithResponses) DeleteObjectWithResponse(ctx context.Context, objectId ObjectId, body DeleteObjectJSONRequestBody, reqEditors ...RequestEditorFn) (*DeleteObjectResponse, error)
func (*ClientWithResponses) GetAccessURLWithResponse ¶
func (c *ClientWithResponses) GetAccessURLWithResponse(ctx context.Context, objectId ObjectId, accessId AccessId, reqEditors ...RequestEditorFn) (*GetAccessURLResponse, error)
GetAccessURLWithResponse request returning *GetAccessURLResponse
func (*ClientWithResponses) GetBulkAccessURLWithBodyWithResponse ¶
func (c *ClientWithResponses) GetBulkAccessURLWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*GetBulkAccessURLResponse, error)
GetBulkAccessURLWithBodyWithResponse request with arbitrary body returning *GetBulkAccessURLResponse
func (*ClientWithResponses) GetBulkAccessURLWithResponse ¶
func (c *ClientWithResponses) GetBulkAccessURLWithResponse(ctx context.Context, body GetBulkAccessURLJSONRequestBody, reqEditors ...RequestEditorFn) (*GetBulkAccessURLResponse, error)
func (*ClientWithResponses) GetBulkObjectsWithBodyWithResponse ¶
func (c *ClientWithResponses) GetBulkObjectsWithBodyWithResponse(ctx context.Context, params *GetBulkObjectsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*GetBulkObjectsResponse, error)
GetBulkObjectsWithBodyWithResponse request with arbitrary body returning *GetBulkObjectsResponse
func (*ClientWithResponses) GetBulkObjectsWithResponse ¶
func (c *ClientWithResponses) GetBulkObjectsWithResponse(ctx context.Context, params *GetBulkObjectsParams, body GetBulkObjectsJSONRequestBody, reqEditors ...RequestEditorFn) (*GetBulkObjectsResponse, error)
func (*ClientWithResponses) GetObjectWithResponse ¶
func (c *ClientWithResponses) GetObjectWithResponse(ctx context.Context, objectId ObjectId, params *GetObjectParams, reqEditors ...RequestEditorFn) (*GetObjectResponse, error)
GetObjectWithResponse request returning *GetObjectResponse
func (*ClientWithResponses) GetObjectsByChecksumWithResponse ¶
func (c *ClientWithResponses) GetObjectsByChecksumWithResponse(ctx context.Context, checksumParameter ChecksumParameter, reqEditors ...RequestEditorFn) (*GetObjectsByChecksumResponse, error)
GetObjectsByChecksumWithResponse request returning *GetObjectsByChecksumResponse
func (*ClientWithResponses) GetServiceInfoWithResponse ¶
func (c *ClientWithResponses) GetServiceInfoWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetServiceInfoResponse, error)
GetServiceInfoWithResponse request returning *GetServiceInfoResponse
func (*ClientWithResponses) OptionsBulkObjectWithResponse ¶
func (c *ClientWithResponses) OptionsBulkObjectWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*OptionsBulkObjectResponse, error)
OptionsBulkObjectWithResponse request returning *OptionsBulkObjectResponse
func (*ClientWithResponses) OptionsObjectWithResponse ¶
func (c *ClientWithResponses) OptionsObjectWithResponse(ctx context.Context, objectId ObjectId, reqEditors ...RequestEditorFn) (*OptionsObjectResponse, error)
OptionsObjectWithResponse request returning *OptionsObjectResponse
func (*ClientWithResponses) PostAccessURLWithBodyWithResponse ¶
func (c *ClientWithResponses) PostAccessURLWithBodyWithResponse(ctx context.Context, objectId ObjectId, accessId AccessId, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostAccessURLResponse, error)
PostAccessURLWithBodyWithResponse request with arbitrary body returning *PostAccessURLResponse
func (*ClientWithResponses) PostAccessURLWithResponse ¶
func (c *ClientWithResponses) PostAccessURLWithResponse(ctx context.Context, objectId ObjectId, accessId AccessId, body PostAccessURLJSONRequestBody, reqEditors ...RequestEditorFn) (*PostAccessURLResponse, error)
func (*ClientWithResponses) PostObjectWithBodyWithResponse ¶
func (c *ClientWithResponses) PostObjectWithBodyWithResponse(ctx context.Context, objectId ObjectId, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostObjectResponse, error)
PostObjectWithBodyWithResponse request with arbitrary body returning *PostObjectResponse
func (*ClientWithResponses) PostObjectWithResponse ¶
func (c *ClientWithResponses) PostObjectWithResponse(ctx context.Context, objectId ObjectId, body PostObjectJSONRequestBody, reqEditors ...RequestEditorFn) (*PostObjectResponse, error)
func (*ClientWithResponses) PostUploadRequestWithBodyWithResponse ¶
func (c *ClientWithResponses) PostUploadRequestWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostUploadRequestResponse, error)
PostUploadRequestWithBodyWithResponse request with arbitrary body returning *PostUploadRequestResponse
func (*ClientWithResponses) PostUploadRequestWithResponse ¶
func (c *ClientWithResponses) PostUploadRequestWithResponse(ctx context.Context, body PostUploadRequestJSONRequestBody, reqEditors ...RequestEditorFn) (*PostUploadRequestResponse, error)
func (*ClientWithResponses) RegisterObjectsWithBodyWithResponse ¶
func (c *ClientWithResponses) RegisterObjectsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*RegisterObjectsResponse, error)
RegisterObjectsWithBodyWithResponse request with arbitrary body returning *RegisterObjectsResponse
func (*ClientWithResponses) RegisterObjectsWithResponse ¶
func (c *ClientWithResponses) RegisterObjectsWithResponse(ctx context.Context, body RegisterObjectsJSONRequestBody, reqEditors ...RequestEditorFn) (*RegisterObjectsResponse, error)
func (*ClientWithResponses) UpdateObjectAccessMethodsWithBodyWithResponse ¶
func (c *ClientWithResponses) UpdateObjectAccessMethodsWithBodyWithResponse(ctx context.Context, objectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateObjectAccessMethodsResponse, error)
UpdateObjectAccessMethodsWithBodyWithResponse request with arbitrary body returning *UpdateObjectAccessMethodsResponse
func (*ClientWithResponses) UpdateObjectAccessMethodsWithResponse ¶
func (c *ClientWithResponses) UpdateObjectAccessMethodsWithResponse(ctx context.Context, objectId string, body UpdateObjectAccessMethodsJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateObjectAccessMethodsResponse, error)
type ClientWithResponsesInterface ¶
type ClientWithResponsesInterface interface {
// OptionsBulkObjectWithResponse request
OptionsBulkObjectWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*OptionsBulkObjectResponse, error)
// GetBulkObjectsWithBodyWithResponse request with any body
GetBulkObjectsWithBodyWithResponse(ctx context.Context, params *GetBulkObjectsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*GetBulkObjectsResponse, error)
GetBulkObjectsWithResponse(ctx context.Context, params *GetBulkObjectsParams, body GetBulkObjectsJSONRequestBody, reqEditors ...RequestEditorFn) (*GetBulkObjectsResponse, error)
// GetBulkAccessURLWithBodyWithResponse request with any body
GetBulkAccessURLWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*GetBulkAccessURLResponse, error)
GetBulkAccessURLWithResponse(ctx context.Context, body GetBulkAccessURLJSONRequestBody, reqEditors ...RequestEditorFn) (*GetBulkAccessURLResponse, error)
// BulkUpdateAccessMethodsWithBodyWithResponse request with any body
BulkUpdateAccessMethodsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*BulkUpdateAccessMethodsResponse, error)
BulkUpdateAccessMethodsWithResponse(ctx context.Context, body BulkUpdateAccessMethodsJSONRequestBody, reqEditors ...RequestEditorFn) (*BulkUpdateAccessMethodsResponse, error)
// GetObjectsByChecksumWithResponse request
GetObjectsByChecksumWithResponse(ctx context.Context, checksumParameter ChecksumParameter, reqEditors ...RequestEditorFn) (*GetObjectsByChecksumResponse, error)
// BulkAddChecksumsWithBodyWithResponse request with any body
BulkAddChecksumsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*BulkAddChecksumsResponse, error)
BulkAddChecksumsWithResponse(ctx context.Context, body BulkAddChecksumsJSONRequestBody, reqEditors ...RequestEditorFn) (*BulkAddChecksumsResponse, error)
// BulkDeleteObjectsWithBodyWithResponse request with any body
BulkDeleteObjectsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*BulkDeleteObjectsResponse, error)
BulkDeleteObjectsWithResponse(ctx context.Context, body BulkDeleteObjectsJSONRequestBody, reqEditors ...RequestEditorFn) (*BulkDeleteObjectsResponse, error)
// RegisterObjectsWithBodyWithResponse request with any body
RegisterObjectsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*RegisterObjectsResponse, error)
RegisterObjectsWithResponse(ctx context.Context, body RegisterObjectsJSONRequestBody, reqEditors ...RequestEditorFn) (*RegisterObjectsResponse, error)
// GetObjectWithResponse request
GetObjectWithResponse(ctx context.Context, objectId ObjectId, params *GetObjectParams, reqEditors ...RequestEditorFn) (*GetObjectResponse, error)
// OptionsObjectWithResponse request
OptionsObjectWithResponse(ctx context.Context, objectId ObjectId, reqEditors ...RequestEditorFn) (*OptionsObjectResponse, error)
// PostObjectWithBodyWithResponse request with any body
PostObjectWithBodyWithResponse(ctx context.Context, objectId ObjectId, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostObjectResponse, error)
PostObjectWithResponse(ctx context.Context, objectId ObjectId, body PostObjectJSONRequestBody, reqEditors ...RequestEditorFn) (*PostObjectResponse, error)
// UpdateObjectAccessMethodsWithBodyWithResponse request with any body
UpdateObjectAccessMethodsWithBodyWithResponse(ctx context.Context, objectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateObjectAccessMethodsResponse, error)
UpdateObjectAccessMethodsWithResponse(ctx context.Context, objectId string, body UpdateObjectAccessMethodsJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateObjectAccessMethodsResponse, error)
// GetAccessURLWithResponse request
GetAccessURLWithResponse(ctx context.Context, objectId ObjectId, accessId AccessId, reqEditors ...RequestEditorFn) (*GetAccessURLResponse, error)
// PostAccessURLWithBodyWithResponse request with any body
PostAccessURLWithBodyWithResponse(ctx context.Context, objectId ObjectId, accessId AccessId, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostAccessURLResponse, error)
PostAccessURLWithResponse(ctx context.Context, objectId ObjectId, accessId AccessId, body PostAccessURLJSONRequestBody, reqEditors ...RequestEditorFn) (*PostAccessURLResponse, error)
// AddChecksumsWithBodyWithResponse request with any body
AddChecksumsWithBodyWithResponse(ctx context.Context, objectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*AddChecksumsResponse, error)
AddChecksumsWithResponse(ctx context.Context, objectId string, body AddChecksumsJSONRequestBody, reqEditors ...RequestEditorFn) (*AddChecksumsResponse, error)
// DeleteObjectWithBodyWithResponse request with any body
DeleteObjectWithBodyWithResponse(ctx context.Context, objectId ObjectId, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*DeleteObjectResponse, error)
DeleteObjectWithResponse(ctx context.Context, objectId ObjectId, body DeleteObjectJSONRequestBody, reqEditors ...RequestEditorFn) (*DeleteObjectResponse, error)
// GetServiceInfoWithResponse request
GetServiceInfoWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetServiceInfoResponse, error)
// PostUploadRequestWithBodyWithResponse request with any body
PostUploadRequestWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostUploadRequestResponse, error)
PostUploadRequestWithResponse(ctx context.Context, body PostUploadRequestJSONRequestBody, reqEditors ...RequestEditorFn) (*PostUploadRequestResponse, error)
}
ClientWithResponsesInterface is the interface specification for the client with responses above.
type ContentsObject ¶
type ContentsObject struct {
// Contents If this ContentsObject describes a nested bundle and the caller specified "?expand=true" on the request, then this contents array must be present and describe the objects within the nested bundle.
Contents *[]ContentsObject `json:"contents,omitempty"`
// DrsUri A list of full DRS identifier URI paths that may be used to obtain the object. These URIs may be external to this DRS instance.
DrsUri *[]string `json:"drs_uri,omitempty"`
// Id A DRS identifier of a `DrsObject` (either a single blob or a nested bundle). If this ContentsObject is an object within a nested bundle, then the id is optional. Otherwise, the id is required.
Id *string `json:"id,omitempty"`
// Name A name declared by the bundle author that must be used when materialising this object, overriding any name directly associated with the object itself. The name must be unique within the containing bundle. This string is made up of uppercase and lowercase letters, decimal digits, hyphen, period, and underscore [A-Za-z0-9.-_]. See http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_282[portable filenames].
Name string `json:"name"`
}
ContentsObject defines model for ContentsObject.
type DeleteBody ¶
type DeleteBody = DeleteRequest
DeleteBody Request body for single object delete operations
type DeleteObjectJSONRequestBody ¶
type DeleteObjectJSONRequestBody = DeleteRequest
DeleteObjectJSONRequestBody defines body for DeleteObject for application/json ContentType.
type DeleteObjectResponse ¶
type DeleteObjectResponse struct {
Body []byte
HTTPResponse *http.Response
JSON400 *N400BadRequestDelete
JSON401 *N401Unauthorized
JSON403 *N403ForbiddenDelete
JSON404 *N404NotFoundDelete
JSON500 *N500InternalServerError
}
func ParseDeleteObjectResponse ¶
func ParseDeleteObjectResponse(rsp *http.Response) (*DeleteObjectResponse, error)
ParseDeleteObjectResponse parses an HTTP response from a DeleteObjectWithResponse call
func (DeleteObjectResponse) Status ¶
func (r DeleteObjectResponse) Status() string
Status returns HTTPResponse.Status
func (DeleteObjectResponse) StatusCode ¶
func (r DeleteObjectResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type DeleteRequest ¶
type DeleteRequest struct {
// DeleteObjectMetadata If true, permanently remove the DRS object metadata record. The object ID will no longer resolve and cannot be recovered. If false (default), the server marks the object as deleted but preserves the metadata record, enabling potential recovery. Read and access endpoints return 410 Gone for objects in this state. Servers that support this mode advertise metadataRetentionSupported in service-info. Only applicable when the server advertises deleteSupported in service-info. Servers that do not support metadata retention SHOULD silently ignore this parameter and permanently delete metadata regardless of the value provided.
DeleteObjectMetadata *bool `json:"delete_object_metadata,omitempty"`
// DeleteStorageData If true, the server attempts to delete the underlying storage data (follows server's deleteStorageDataSupported capability). If false (default), underlying storage data is preserved. This parameter is independent of delete_object_metadata and controls only the storage layer. Clients must explicitly set this to true to enable storage data deletion, ensuring intentional choice for this potentially destructive operation. Only applicable when the server advertises deleteSupported in service-info.
DeleteStorageData *bool `json:"delete_storage_data,omitempty"`
// Passports the encoded JWT GA4GH Passport that contains embedded Visas. The overall JWT is signed as are the individual Passport Visas.
Passports *[]string `json:"passports,omitempty"`
}
DeleteRequest Request body for single object delete operations
type DrsObject ¶
type DrsObject struct {
// AccessMethods The list of access methods that can be used to fetch the `DrsObject`.
// Required for single blobs; optional for bundles.
AccessMethods *[]AccessMethod `json:"access_methods,omitempty"`
// Aliases A list of strings that can be used to find other metadata about this `DrsObject` from external metadata sources. These aliases can be used to represent secondary accession numbers or external GUIDs.
Aliases *[]string `json:"aliases,omitempty"`
// Checksums The checksum of the `DrsObject`. At least one checksum must be provided.
// For blobs, the checksum is computed over the bytes in the blob.
// For bundles, the checksum is computed over a sorted concatenation of the checksums of its top-level contained objects (not recursive, names not included). The list of checksums is sorted alphabetically (hex-code) before concatenation and a further checksum is performed on the concatenated checksum value.
// For example, if a bundle contains blobs with the following checksums:
// md5(blob1) = 72794b6d
// md5(blob2) = 5e089d29
// Then the checksum of the bundle is:
// md5( concat( sort( md5(blob1), md5(blob2) ) ) )
// = md5( concat( sort( 72794b6d, 5e089d29 ) ) )
// = md5( concat( 5e089d29, 72794b6d ) )
// = md5( 5e089d2972794b6d )
// = f7a29a04
Checksums []Checksum `json:"checksums"`
// Contents If not set, this `DrsObject` is a single blob.
// If set, this `DrsObject` is a bundle containing the listed `ContentsObject` s (some of which may be further nested).
Contents *[]ContentsObject `json:"contents,omitempty"`
// ControlledAccess A list of authorization claims representing controlled-access
// requirements for this `DrsObject`.
//
// Claims SHOULD be represented as strings using URL claim semantics
// compatible with GA4GH Passport visa claim values:
// https://github.com/ga4gh-duri/ga4gh-duri.github.io/blob/master/researcher_ids/ga4gh_passport_v1.md#url-claims
//
// If this field is missing or empty, the `DrsObject` MUST be treated as
// open access for read operations.
//
// This field is required for write operations.
ControlledAccess *[]string `json:"controlled_access,omitempty"`
// CreatedTime Timestamp of content creation in RFC3339.
// (This is the creation time of the underlying content, not of the JSON object.)
CreatedTime time.Time `json:"created_time"`
// Description A human readable description of the `DrsObject`.
Description *string `json:"description,omitempty"`
// Id An identifier unique to this `DrsObject`
Id string `json:"id"`
// MimeType A string providing the mime-type of the `DrsObject`.
MimeType *string `json:"mime_type,omitempty"`
// Name A string that can be used to name a `DrsObject`.
// This string is made up of uppercase and lowercase letters, decimal digits, hyphen, period, and underscore [A-Za-z0-9.-_]. See http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_282[portable filenames].
Name *string `json:"name,omitempty"`
// SelfUri A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object.
// The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls.
SelfUri string `json:"self_uri"`
// Size For blobs, the blob size in bytes.
// For bundles, the cumulative size, in bytes, of items in the `contents` field.
Size int64 `json:"size"`
// UpdatedTime Timestamp of content update in RFC3339, identical to `created_time` in systems that do not support updates. (This is the update time of the underlying content, not of the JSON object.)
UpdatedTime *time.Time `json:"updated_time,omitempty"`
// Version A string representing a version.
// (Some systems may use checksum, a RFC3339 timestamp, or an incrementing version number.)
Version *string `json:"version,omitempty"`
}
DrsObject defines model for DrsObject.
type DrsObjectCandidate ¶
type DrsObjectCandidate struct {
// AccessMethods The list of access methods that can be used to fetch the `DrsObject`.
// Required for single blobs; optional for bundles.
AccessMethods *[]AccessMethod `json:"access_methods,omitempty"`
// Aliases A list of strings that can be used to find other metadata about this `DrsObject` from external metadata sources. These aliases can be used to represent secondary accession numbers or external GUIDs.
Aliases *[]string `json:"aliases,omitempty"`
// Checksums The checksum of the `DrsObject`. At least one checksum must be provided.
// For blobs, the checksum is computed over the bytes in the blob.
// For bundles, the checksum is computed over a sorted concatenation of the checksums of its top-level contained objects (not recursive, names not included). The list of checksums is sorted alphabetically (hex-code) before concatenation and a further checksum is performed on the concatenated checksum value.
// For example, if a bundle contains blobs with the following checksums:
// md5(blob1) = 72794b6d
// md5(blob2) = 5e089d29
// Then the checksum of the bundle is:
// md5( concat( sort( md5(blob1), md5(blob2) ) ) )
// = md5( concat( sort( 72794b6d, 5e089d29 ) ) )
// = md5( concat( 5e089d29, 72794b6d ) )
// = md5( 5e089d2972794b6d )
// = f7a29a04
Checksums []Checksum `json:"checksums"`
// Contents If not set, this `DrsObject` is a single blob.
// If set, this `DrsObject` is a bundle containing the listed `ContentsObject` s (some of which may be further nested).
Contents *[]ContentsObject `json:"contents,omitempty"`
// ControlledAccess A list of authorization claims representing controlled-access
// requirements to assign to the registered `DrsObject`.
//
// Claims SHOULD be represented as strings using URL claim semantics
// compatible with GA4GH Passport visa claim values:
// https://github.com/ga4gh-duri/ga4gh-duri.github.io/blob/master/researcher_ids/ga4gh_passport_v1.md#url-claims
//
// During `/objects/register`, the server SHOULD verify that the supplied
// Passport or bearer token authorizes the caller to assign these claims.
//
// If this field is missing or empty, the resulting `DrsObject` MUST be
// treated as open access for read operations.
//
// This field is required for write operations.
ControlledAccess *[]string `json:"controlled_access,omitempty"`
// Description A human readable description of the `DrsObject`.
Description *string `json:"description,omitempty"`
// MimeType A string providing the mime-type of the `DrsObject`.
MimeType *string `json:"mime_type,omitempty"`
// Name A string that can be used to name a `DrsObject`.
// This string is made up of uppercase and lowercase letters, decimal digits, hyphen, period, and underscore [A-Za-z0-9.-_]. See http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_282[portable filenames].
Name *string `json:"name,omitempty"`
// Size For blobs, the blob size in bytes.
// For bundles, the cumulative size, in bytes, of items in the `contents` field.
Size int64 `json:"size"`
// Version A string representing a version.
// (Some systems may use checksum, a RFC3339 timestamp, or an incrementing version number.)
Version *string `json:"version,omitempty"`
}
DrsObjectCandidate defines model for DrsObjectCandidate.
type DrsService ¶
type DrsService struct {
Drs *struct {
// AccessMethodUpdateSupported Indicates whether this DRS server supports updating access methods for existing objects. If true, clients can update access methods using `/objects/{object_id}/access-methods` and `/objects/access-methods` endpoints. If false or missing, the server does not support access method updates.
AccessMethodUpdateSupported *bool `json:"accessMethodUpdateSupported,omitempty"`
// ChecksumAdditionSupported Indicates whether this DRS server supports adding new checksums for for existing objects. If true, clients can update access methods using `/objects/{object_id}/checksums` and `/objects/checksums` endpoints. If false or missing, the server does not support checksum addition.
ChecksumAdditionSupported *bool `json:"checksumAdditionSupported,omitempty"`
// ControlledAccessClaimFormat Describes the expected format for entries in the `controlled_access` array. The value `ga4gh-passport-url-claim` indicates that claims are represented as strings using URL claim semantics compatible with GA4GH Passport visa claim values.
ControlledAccessClaimFormat *DrsServiceDrsControlledAccessClaimFormat `json:"controlledAccessClaimFormat,omitempty"`
// ControlledAccessDefault Describes how the service interprets a missing or empty `controlled_access` array. The value `open-access-read` means that if `controlled_access` is missing or empty, the `DrsObject` is treated as open access for read operations.
ControlledAccessDefault *DrsServiceDrsControlledAccessDefault `json:"controlledAccessDefault,omitempty"`
// ControlledAccessSupported Indicates whether this DRS server supports the `controlled_access` field on `DrsObject` and `DrsObjectCandidate`. If true, clients may include controlled-access claims when registering objects and may expect returned `DrsObject` resources to include controlled-access claims when applicable. If false or missing, the server does not advertise support for controlled-access claims.
ControlledAccessSupported *bool `json:"controlledAccessSupported,omitempty"`
// DeleteStorageDataSupported Indicates whether this DRS server supports attempting to delete underlying storage data when clients request it. If true, the server will attempt to delete both metadata and storage files when `delete_storage_data: true` is specified in delete requests. If false or missing, the server only supports metadata deletion regardless of client request, preserving underlying storage data. Only present when deleteSupported is true. This is a capability flag indicating what the server can attempt, not a default behavior setting. Note: Storage deletion attempts may fail due to permissions, network issues, or storage service errors.
DeleteStorageDataSupported *bool `json:"deleteStorageDataSupported,omitempty"`
// DeleteSupported Indicates whether this DRS server supports delete operations via the delete endpoints. If true, clients can delete DRS objects using PUT requests to `/objects/{object_id}/delete` and `/objects/delete`. If false or missing, the server does not support delete operations and will return 404 for delete endpoint requests. Like upload functionality, delete support is entirely optional and servers remain DRS compliant without it.
DeleteSupported *bool `json:"deleteSupported,omitempty"`
// FetchByChecksumSupported Indicates whether this DRS server supports fetching objects by checksum. If true, clients can fetch DRS objects using `/objects/checksum/{checksum}`, noting that it is possible for multiple objects to have the same checksum. If false or missing, the server does not support fetching by cejcsum.
FetchByChecksumSupported *bool `json:"fetchByChecksumSupported,omitempty"`
// MaxBulkAccessMethodUpdateLength Maximum number of objects that can be updated in a single bulk access method update request. Only present when accessMethodUpdateSupported is true. If not specified, defaults to maxBulkRequestLength.
MaxBulkAccessMethodUpdateLength *int `json:"maxBulkAccessMethodUpdateLength,omitempty"`
// MaxBulkChecksumAdditionLength Maximum number of objects that can be updated in a single bulk checksum addition request. Only present when checksumAdditionSupported is true. If not specified, defaults to maxBulkRequestLength.
MaxBulkChecksumAdditionLength *int `json:"maxBulkChecksumAdditionLength,omitempty"`
// MaxBulkDeleteLength Maximum number of objects that can be deleted in a single bulk delete request via `/objects/delete`. Only present when deleteSupported is true. If not specified when delete is supported, defaults to the same value as maxBulkRequestLength. Servers may enforce lower limits for delete operations compared to other bulk operations for safety reasons.
MaxBulkDeleteLength *int `json:"maxBulkDeleteLength,omitempty"`
// MaxBulkRequestLength The max length the bulk request endpoints can handle (>= 1) before generating a 413 error e.g. how long can the arrays bulk_object_ids and bulk_object_access_ids be for this server.
MaxBulkRequestLength int `json:"maxBulkRequestLength"`
// MaxRegisterRequestLength Maximum number of candidate objects that can be included in a single registration request. Only present when objectRegistrationSupported is true. If not specified, defaults to the same value as maxBulkRequestLength.
MaxRegisterRequestLength *int `json:"maxRegisterRequestLength,omitempty"`
// MaxUploadRequestLength Maximum number of files that can be included in a single upload request. Only present when uploadRequestSupported is true. If not specified, defaults to the same value as maxBulkRequestLength.
MaxUploadRequestLength *int `json:"maxUploadRequestLength,omitempty"`
// MaxUploadSize Maximum file size in bytes that can be uploaded via the upload endpoints. Only present when uploadRequestSupported is true. If not specified, there is no explicit size limit.
MaxUploadSize *int64 `json:"maxUploadSize,omitempty"`
// MetadataRetentionSupported Indicates whether this DRS server supports preserving object metadata after deletion. If true, the server honours `delete_object_metadata: false` in delete requests by marking the object as deleted rather than permanently removing it. Read and access endpoints return 410 Gone for objects in this state. Only present when deleteSupported is true.
MetadataRetentionSupported *bool `json:"metadataRetentionSupported,omitempty"`
// ObjectCount The total number of objects in this DRS service.
ObjectCount *int `json:"objectCount,omitempty"`
// ObjectRegistrationSupported Indicates whether this DRS server supports object registration operations via the `/objects/register` endpoint. If true, clients can register uploaded files or existing data as DRS objects. If false or missing, the server does not support object registration.
ObjectRegistrationSupported *bool `json:"objectRegistrationSupported,omitempty"`
// RelatedFileStorageSupported Indicates whether this DRS server supports storing files from the same upload request under a common prefix or folder structure. If true, the server will organize related files together in storage, enabling bioinformatics workflows that expect co-located files (e.g., CRAM + CRAI, VCF + TBI). If false or missing, the server may distribute files across different storage locations or prefixes. Only present when uploadRequestSupported is true. This feature is particularly valuable for genomics tools like samtools that expect index files to be co-located with data files.
RelatedFileStorageSupported *bool `json:"relatedFileStorageSupported,omitempty"`
// SupportedUploadMethodTypes List of upload methods supported by this DRS server. Only present when uploadRequestSupported is true. Clients can use this information to determine which upload methods are available before making upload requests.
// - **s3**: Direct S3 upload with temporary AWS credentials - **gs**: Google Cloud Storage upload with access tokens - **https**: Presigned POST URL for HTTP uploads - **ftp**: File Transfer Protocol uploads - **sftp**: Secure File Transfer Protocol uploads - **gsiftp**: GridFTP secure file transfer - **globus**: Globus transfer service for high-performance data movement
SupportedUploadMethodTypes *[]DrsServiceDrsSupportedUploadMethodTypes `json:"supportedUploadMethodTypes,omitempty"`
// TotalObjectSize The total size of all objects in this DRS service in bytes. As a general best practice, file bytes are counted for each unique file and not cloud mirrors or other redundant copies.
TotalObjectSize *int `json:"totalObjectSize,omitempty"`
// UploadRequestSupported Indicates whether this DRS server supports upload request operations via the `/upload-request` endpoint. If true, clients can request upload methods and credentials for uploading files. If false or missing, the server does not support upload request coordination.
UploadRequestSupported *bool `json:"uploadRequestSupported,omitempty"`
// ValidateAccessMethods Indicates whether this DRS server validates access methods by following the URLs to check that they resolve to the expected objects (e.g. by checking that the file sizes and checksums match) If true, the server will attempt to verify checksums/content before accepting access methods. If false or missing, the server trusts client-provided access methods without validation. Only present when at least one of objectRegistrationSupported or accessMethodUpdateSupported are true.
ValidateAccessMethods *bool `json:"validateAccessMethods,omitempty"`
// ValidateChecksums Indicates whether this DRS server validates file checksums against the provided metadata. If true, the server will verify that uploaded and registered files match their declared checksums and may reject objects with mismatches. If false or missing, the server does not perform checksum validation and relies on client-provided metadata. Only present when at least one of uploadRequestSupported or objectRegistrationSupported or checksumAdditionSupported are true.
ValidateChecksums *bool `json:"validateChecksums,omitempty"`
// ValidateFileSizes Indicates whether this DRS server validates file sizes against the provided metadata. If true, the server will verify that uploaded files match their declared sizes and may reject uploads with mismatches. If false or missing, the server does not perform file size validation and relies on client-provided metadata. Only present when uploadRequestSupported or objectRegistrationSupported is true.
ValidateFileSizes *bool `json:"validateFileSizes,omitempty"`
} `json:"drs,omitempty"`
// MaxBulkRequestLength DEPRECATED - In 2.0 this will move to under the drs section of service info and not at the root level. The max length the bulk request endpoints can handle (>= 1) before generating a 413 error e.g. how long can the arrays bulk_object_ids and bulk_object_access_ids be for this server.
MaxBulkRequestLength int `json:"maxBulkRequestLength"`
Type struct {
Artifact DrsServiceTypeArtifact `json:"artifact"`
} `json:"type"`
}
DrsService defines model for DrsService.
type DrsServiceDrsControlledAccessClaimFormat ¶ added in v0.2.6
type DrsServiceDrsControlledAccessClaimFormat string
DrsServiceDrsControlledAccessClaimFormat Describes the expected format for entries in the `controlled_access` array. The value `ga4gh-passport-url-claim` indicates that claims are represented as strings using URL claim semantics compatible with GA4GH Passport visa claim values.
const (
Ga4ghPassportUrlClaim DrsServiceDrsControlledAccessClaimFormat = "ga4gh-passport-url-claim"
)
Defines values for DrsServiceDrsControlledAccessClaimFormat.
type DrsServiceDrsControlledAccessDefault ¶ added in v0.2.6
type DrsServiceDrsControlledAccessDefault string
DrsServiceDrsControlledAccessDefault Describes how the service interprets a missing or empty `controlled_access` array. The value `open-access-read` means that if `controlled_access` is missing or empty, the `DrsObject` is treated as open access for read operations.
const (
OpenAccessRead DrsServiceDrsControlledAccessDefault = "open-access-read"
)
Defines values for DrsServiceDrsControlledAccessDefault.
type DrsServiceDrsSupportedUploadMethodTypes ¶ added in v0.2.6
type DrsServiceDrsSupportedUploadMethodTypes string
DrsServiceDrsSupportedUploadMethodTypes defines model for DrsService.Drs.SupportedUploadMethodTypes.
const ( DrsServiceDrsSupportedUploadMethodTypesFtp DrsServiceDrsSupportedUploadMethodTypes = "ftp" DrsServiceDrsSupportedUploadMethodTypesGs DrsServiceDrsSupportedUploadMethodTypes = "gs" DrsServiceDrsSupportedUploadMethodTypesHttps DrsServiceDrsSupportedUploadMethodTypes = "https" DrsServiceDrsSupportedUploadMethodTypesS3 DrsServiceDrsSupportedUploadMethodTypes = "s3" DrsServiceDrsSupportedUploadMethodTypesSftp DrsServiceDrsSupportedUploadMethodTypes = "sftp" )
Defines values for DrsServiceDrsSupportedUploadMethodTypes.
type DrsServiceTypeArtifact ¶
type DrsServiceTypeArtifact string
DrsServiceTypeArtifact defines model for DrsService.Type.Artifact.
const (
Drs DrsServiceTypeArtifact = "drs"
)
Defines values for DrsServiceTypeArtifact.
type Error ¶
type Error struct {
// Msg A detailed error message.
Msg *string `json:"msg,omitempty"`
// StatusCode The integer representing the HTTP status code (e.g. 200, 404).
StatusCode *int `json:"status_code,omitempty"`
}
Error An object that can optionally include information about the error.
type GetAccessURLResponse ¶
type GetAccessURLResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *N200OkAccess
JSON400 *N400BadRequest
JSON401 *N401Unauthorized
JSON403 *N403Forbidden
JSON404 *N404NotFoundAccess
JSON500 *N500InternalServerError
}
func ParseGetAccessURLResponse ¶
func ParseGetAccessURLResponse(rsp *http.Response) (*GetAccessURLResponse, error)
ParseGetAccessURLResponse parses an HTTP response from a GetAccessURLWithResponse call
func (GetAccessURLResponse) Status ¶
func (r GetAccessURLResponse) Status() string
Status returns HTTPResponse.Status
func (GetAccessURLResponse) StatusCode ¶
func (r GetAccessURLResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type GetBulkAccessURLJSONRequestBody ¶
type GetBulkAccessURLJSONRequestBody = BulkObjectAccessId
GetBulkAccessURLJSONRequestBody defines body for GetBulkAccessURL for application/json ContentType.
type GetBulkAccessURLResponse ¶
type GetBulkAccessURLResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *N200OkAccesses
JSON400 *N400BadRequest
JSON401 *N401Unauthorized
JSON403 *N403Forbidden
JSON404 *N404NotFoundAccess
JSON413 *N413RequestTooLarge
JSON500 *N500InternalServerError
}
func ParseGetBulkAccessURLResponse ¶
func ParseGetBulkAccessURLResponse(rsp *http.Response) (*GetBulkAccessURLResponse, error)
ParseGetBulkAccessURLResponse parses an HTTP response from a GetBulkAccessURLWithResponse call
func (GetBulkAccessURLResponse) Status ¶
func (r GetBulkAccessURLResponse) Status() string
Status returns HTTPResponse.Status
func (GetBulkAccessURLResponse) StatusCode ¶
func (r GetBulkAccessURLResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type GetBulkObjectsJSONBody ¶
type GetBulkObjectsJSONBody struct {
// BulkObjectIds An array of ObjectIDs to retrieve metadata for
BulkObjectIds []string `json:"bulk_object_ids"`
// Passports the encoded JWT GA4GH Passport that contains embedded Visas. The overall JWT is signed as are the individual Passport Visas.
Passports *[]string `json:"passports,omitempty"`
}
GetBulkObjectsJSONBody defines parameters for GetBulkObjects.
type GetBulkObjectsJSONRequestBody ¶
type GetBulkObjectsJSONRequestBody GetBulkObjectsJSONBody
GetBulkObjectsJSONRequestBody defines body for GetBulkObjects for application/json ContentType.
type GetBulkObjectsParams ¶
type GetBulkObjectsParams struct {
// Expand If false and the object_id refers to a bundle, then the ContentsObject array contains only those objects directly contained in the bundle. That is, if the bundle contains other bundles, those other bundles are not recursively included in the result.
// If true and the object_id refers to a bundle, then the entire set of objects in the bundle is expanded. That is, if the bundle contains other bundles, then those other bundles are recursively expanded and included in the result. Recursion continues through the entire sub-tree of the bundle.
// If the object_id refers to a blob, then the query parameter is ignored.
Expand *Expand `form:"expand,omitempty" json:"expand,omitempty"`
}
GetBulkObjectsParams defines parameters for GetBulkObjects.
type GetBulkObjectsResponse ¶
type GetBulkObjectsResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *N200OkDrsObjects
JSON400 *N400BadRequest
JSON401 *N401Unauthorized
JSON403 *N403Forbidden
JSON404 *N404NotFoundDrsObject
JSON413 *N413RequestTooLarge
JSON500 *N500InternalServerError
}
func ParseGetBulkObjectsResponse ¶
func ParseGetBulkObjectsResponse(rsp *http.Response) (*GetBulkObjectsResponse, error)
ParseGetBulkObjectsResponse parses an HTTP response from a GetBulkObjectsWithResponse call
func (GetBulkObjectsResponse) Status ¶
func (r GetBulkObjectsResponse) Status() string
Status returns HTTPResponse.Status
func (GetBulkObjectsResponse) StatusCode ¶
func (r GetBulkObjectsResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type GetObjectParams ¶
type GetObjectParams struct {
// Expand If false and the object_id refers to a bundle, then the ContentsObject array contains only those objects directly contained in the bundle. That is, if the bundle contains other bundles, those other bundles are not recursively included in the result.
// If true and the object_id refers to a bundle, then the entire set of objects in the bundle is expanded. That is, if the bundle contains other bundles, then those other bundles are recursively expanded and included in the result. Recursion continues through the entire sub-tree of the bundle.
// If the object_id refers to a blob, then the query parameter is ignored.
Expand *Expand `form:"expand,omitempty" json:"expand,omitempty"`
}
GetObjectParams defines parameters for GetObject.
type GetObjectResponse ¶
type GetObjectResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *N200OkDrsObject
JSON400 *N400BadRequest
JSON401 *N401Unauthorized
JSON403 *N403Forbidden
JSON404 *N404NotFoundDrsObject
JSON500 *N500InternalServerError
}
func ParseGetObjectResponse ¶
func ParseGetObjectResponse(rsp *http.Response) (*GetObjectResponse, error)
ParseGetObjectResponse parses an HTTP response from a GetObjectWithResponse call
func (GetObjectResponse) Status ¶
func (r GetObjectResponse) Status() string
Status returns HTTPResponse.Status
func (GetObjectResponse) StatusCode ¶
func (r GetObjectResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type GetObjectsByChecksumResponse ¶
type GetObjectsByChecksumResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *N200OkDrsObjects
JSON400 *N400BadRequest
JSON401 *N401Unauthorized
JSON403 *N403Forbidden
JSON404 *N404NotFoundDrsObject
JSON500 *N500InternalServerError
}
func ParseGetObjectsByChecksumResponse ¶
func ParseGetObjectsByChecksumResponse(rsp *http.Response) (*GetObjectsByChecksumResponse, error)
ParseGetObjectsByChecksumResponse parses an HTTP response from a GetObjectsByChecksumWithResponse call
func (GetObjectsByChecksumResponse) Status ¶
func (r GetObjectsByChecksumResponse) Status() string
Status returns HTTPResponse.Status
func (GetObjectsByChecksumResponse) StatusCode ¶
func (r GetObjectsByChecksumResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type GetServiceInfo200DrsControlledAccessClaimFormat ¶ added in v0.2.6
type GetServiceInfo200DrsControlledAccessClaimFormat string
type GetServiceInfo200DrsControlledAccessDefault ¶ added in v0.2.6
type GetServiceInfo200DrsControlledAccessDefault string
type GetServiceInfo200DrsSupportedUploadMethodTypes ¶ added in v0.2.6
type GetServiceInfo200DrsSupportedUploadMethodTypes string
type GetServiceInfo200TypeArtifact ¶
type GetServiceInfo200TypeArtifact string
type GetServiceInfoResponse ¶
type GetServiceInfoResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *N200ServiceInfo
JSON500 *N500InternalServerError
}
func ParseGetServiceInfoResponse ¶
func ParseGetServiceInfoResponse(rsp *http.Response) (*GetServiceInfoResponse, error)
ParseGetServiceInfoResponse parses an HTTP response from a GetServiceInfoWithResponse call
func (GetServiceInfoResponse) Status ¶
func (r GetServiceInfoResponse) Status() string
Status returns HTTPResponse.Status
func (GetServiceInfoResponse) StatusCode ¶
func (r GetServiceInfoResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type HttpRequestDoer ¶
Doer performs HTTP requests.
The standard http.Client implements this interface.
type N200AccessMethodUpdate ¶
type N200AccessMethodUpdate = DrsObject
N200AccessMethodUpdate defines model for 200AccessMethodUpdate.
type N200BulkAccessMethodUpdate ¶
type N200BulkAccessMethodUpdate struct {
// Objects Array of updated DRS objects
Objects []DrsObject `json:"objects"`
}
N200BulkAccessMethodUpdate defines model for 200BulkAccessMethodUpdate.
type N200BulkChecksumAddition ¶ added in v0.2.6
type N200BulkChecksumAddition struct {
// Objects Array of updated DRS objects
Objects []DrsObject `json:"objects"`
}
N200BulkChecksumAddition defines model for 200BulkChecksumAddition.
type N200ChecksumAddition ¶ added in v0.2.6
type N200ChecksumAddition = DrsObject
N200ChecksumAddition defines model for 200ChecksumAddition.
type N200OkAccesses ¶
type N200OkAccesses struct {
ResolvedDrsObjectAccessUrls *[]BulkAccessURL `json:"resolved_drs_object_access_urls,omitempty"`
// Summary A summary of what was resolved.
Summary *Summary `json:"summary,omitempty"`
// UnresolvedDrsObjects Error codes for each unresolved drs objects.
UnresolvedDrsObjects *Unresolved `json:"unresolved_drs_objects,omitempty"`
}
N200OkAccesses defines model for 200OkAccesses.
type N200OkAuthorizations ¶
type N200OkAuthorizations = Authorizations
N200OkAuthorizations defines model for 200OkAuthorizations.
type N200OkBulkAuthorizations ¶
type N200OkBulkAuthorizations struct {
ResolvedDrsObject *[]Authorizations `json:"resolved_drs_object,omitempty"`
// Summary A summary of what was resolved.
Summary *Summary `json:"summary,omitempty"`
// UnresolvedDrsObjects Error codes for each unresolved drs objects.
UnresolvedDrsObjects *Unresolved `json:"unresolved_drs_objects,omitempty"`
}
N200OkBulkAuthorizations defines model for 200OkBulkAuthorizations.
type N200OkDrsObject ¶
type N200OkDrsObject = DrsObject
N200OkDrsObject defines model for 200OkDrsObject.
type N200OkDrsObjects ¶
type N200OkDrsObjects struct {
ResolvedDrsObject *[]DrsObject `json:"resolved_drs_object,omitempty"`
// Summary A summary of what was resolved.
Summary *Summary `json:"summary,omitempty"`
// UnresolvedDrsObjects Error codes for each unresolved drs objects.
UnresolvedDrsObjects *Unresolved `json:"unresolved_drs_objects,omitempty"`
}
N200OkDrsObjects defines model for 200OkDrsObjects.
type N200ServiceInfo ¶
type N200ServiceInfo struct {
// ContactUrl URL of the contact for the provider of this service, e.g. a link to a contact form (RFC 3986 format), or an email (RFC 2368 format).
ContactUrl *string `json:"contactUrl,omitempty"`
// CreatedAt Timestamp describing when the service was first deployed and available (RFC 3339 format)
CreatedAt *time.Time `json:"createdAt,omitempty"`
// Description Description of the service. Should be human readable and provide information about the service.
Description *string `json:"description,omitempty"`
// DocumentationUrl URL of the documentation of this service (RFC 3986 format). This should help someone learn how to use your service, including any specifics required to access data, e.g. authentication.
DocumentationUrl *string `json:"documentationUrl,omitempty"`
Drs *struct {
// AccessMethodUpdateSupported Indicates whether this DRS server supports updating access methods for existing objects. If true, clients can update access methods using `/objects/{object_id}/access-methods` and `/objects/access-methods` endpoints. If false or missing, the server does not support access method updates.
AccessMethodUpdateSupported *bool `json:"accessMethodUpdateSupported,omitempty"`
// ChecksumAdditionSupported Indicates whether this DRS server supports adding new checksums for for existing objects. If true, clients can update access methods using `/objects/{object_id}/checksums` and `/objects/checksums` endpoints. If false or missing, the server does not support checksum addition.
ChecksumAdditionSupported *bool `json:"checksumAdditionSupported,omitempty"`
// ControlledAccessClaimFormat Describes the expected format for entries in the `controlled_access` array. The value `ga4gh-passport-url-claim` indicates that claims are represented as strings using URL claim semantics compatible with GA4GH Passport visa claim values.
ControlledAccessClaimFormat *N200ServiceInfoDrsControlledAccessClaimFormat `json:"controlledAccessClaimFormat,omitempty"`
// ControlledAccessDefault Describes how the service interprets a missing or empty `controlled_access` array. The value `open-access-read` means that if `controlled_access` is missing or empty, the `DrsObject` is treated as open access for read operations.
ControlledAccessDefault *N200ServiceInfoDrsControlledAccessDefault `json:"controlledAccessDefault,omitempty"`
// ControlledAccessSupported Indicates whether this DRS server supports the `controlled_access` field on `DrsObject` and `DrsObjectCandidate`. If true, clients may include controlled-access claims when registering objects and may expect returned `DrsObject` resources to include controlled-access claims when applicable. If false or missing, the server does not advertise support for controlled-access claims.
ControlledAccessSupported *bool `json:"controlledAccessSupported,omitempty"`
// DeleteStorageDataSupported Indicates whether this DRS server supports attempting to delete underlying storage data when clients request it. If true, the server will attempt to delete both metadata and storage files when `delete_storage_data: true` is specified in delete requests. If false or missing, the server only supports metadata deletion regardless of client request, preserving underlying storage data. Only present when deleteSupported is true. This is a capability flag indicating what the server can attempt, not a default behavior setting. Note: Storage deletion attempts may fail due to permissions, network issues, or storage service errors.
DeleteStorageDataSupported *bool `json:"deleteStorageDataSupported,omitempty"`
// DeleteSupported Indicates whether this DRS server supports delete operations via the delete endpoints. If true, clients can delete DRS objects using PUT requests to `/objects/{object_id}/delete` and `/objects/delete`. If false or missing, the server does not support delete operations and will return 404 for delete endpoint requests. Like upload functionality, delete support is entirely optional and servers remain DRS compliant without it.
DeleteSupported *bool `json:"deleteSupported,omitempty"`
// FetchByChecksumSupported Indicates whether this DRS server supports fetching objects by checksum. If true, clients can fetch DRS objects using `/objects/checksum/{checksum}`, noting that it is possible for multiple objects to have the same checksum. If false or missing, the server does not support fetching by cejcsum.
FetchByChecksumSupported *bool `json:"fetchByChecksumSupported,omitempty"`
// MaxBulkAccessMethodUpdateLength Maximum number of objects that can be updated in a single bulk access method update request. Only present when accessMethodUpdateSupported is true. If not specified, defaults to maxBulkRequestLength.
MaxBulkAccessMethodUpdateLength *int `json:"maxBulkAccessMethodUpdateLength,omitempty"`
// MaxBulkChecksumAdditionLength Maximum number of objects that can be updated in a single bulk checksum addition request. Only present when checksumAdditionSupported is true. If not specified, defaults to maxBulkRequestLength.
MaxBulkChecksumAdditionLength *int `json:"maxBulkChecksumAdditionLength,omitempty"`
// MaxBulkDeleteLength Maximum number of objects that can be deleted in a single bulk delete request via `/objects/delete`. Only present when deleteSupported is true. If not specified when delete is supported, defaults to the same value as maxBulkRequestLength. Servers may enforce lower limits for delete operations compared to other bulk operations for safety reasons.
MaxBulkDeleteLength *int `json:"maxBulkDeleteLength,omitempty"`
// MaxBulkRequestLength The max length the bulk request endpoints can handle (>= 1) before generating a 413 error e.g. how long can the arrays bulk_object_ids and bulk_object_access_ids be for this server.
MaxBulkRequestLength int `json:"maxBulkRequestLength"`
// MaxRegisterRequestLength Maximum number of candidate objects that can be included in a single registration request. Only present when objectRegistrationSupported is true. If not specified, defaults to the same value as maxBulkRequestLength.
MaxRegisterRequestLength *int `json:"maxRegisterRequestLength,omitempty"`
// MaxUploadRequestLength Maximum number of files that can be included in a single upload request. Only present when uploadRequestSupported is true. If not specified, defaults to the same value as maxBulkRequestLength.
MaxUploadRequestLength *int `json:"maxUploadRequestLength,omitempty"`
// MaxUploadSize Maximum file size in bytes that can be uploaded via the upload endpoints. Only present when uploadRequestSupported is true. If not specified, there is no explicit size limit.
MaxUploadSize *int64 `json:"maxUploadSize,omitempty"`
// MetadataRetentionSupported Indicates whether this DRS server supports preserving object metadata after deletion. If true, the server honours `delete_object_metadata: false` in delete requests by marking the object as deleted rather than permanently removing it. Read and access endpoints return 410 Gone for objects in this state. Only present when deleteSupported is true.
MetadataRetentionSupported *bool `json:"metadataRetentionSupported,omitempty"`
// ObjectCount The total number of objects in this DRS service.
ObjectCount *int `json:"objectCount,omitempty"`
// ObjectRegistrationSupported Indicates whether this DRS server supports object registration operations via the `/objects/register` endpoint. If true, clients can register uploaded files or existing data as DRS objects. If false or missing, the server does not support object registration.
ObjectRegistrationSupported *bool `json:"objectRegistrationSupported,omitempty"`
// RelatedFileStorageSupported Indicates whether this DRS server supports storing files from the same upload request under a common prefix or folder structure. If true, the server will organize related files together in storage, enabling bioinformatics workflows that expect co-located files (e.g., CRAM + CRAI, VCF + TBI). If false or missing, the server may distribute files across different storage locations or prefixes. Only present when uploadRequestSupported is true. This feature is particularly valuable for genomics tools like samtools that expect index files to be co-located with data files.
RelatedFileStorageSupported *bool `json:"relatedFileStorageSupported,omitempty"`
// SupportedUploadMethodTypes List of upload methods supported by this DRS server. Only present when uploadRequestSupported is true. Clients can use this information to determine which upload methods are available before making upload requests.
// - **s3**: Direct S3 upload with temporary AWS credentials - **gs**: Google Cloud Storage upload with access tokens - **https**: Presigned POST URL for HTTP uploads - **ftp**: File Transfer Protocol uploads - **sftp**: Secure File Transfer Protocol uploads - **gsiftp**: GridFTP secure file transfer - **globus**: Globus transfer service for high-performance data movement
SupportedUploadMethodTypes *[]N200ServiceInfoDrsSupportedUploadMethodTypes `json:"supportedUploadMethodTypes,omitempty"`
// TotalObjectSize The total size of all objects in this DRS service in bytes. As a general best practice, file bytes are counted for each unique file and not cloud mirrors or other redundant copies.
TotalObjectSize *int `json:"totalObjectSize,omitempty"`
// UploadRequestSupported Indicates whether this DRS server supports upload request operations via the `/upload-request` endpoint. If true, clients can request upload methods and credentials for uploading files. If false or missing, the server does not support upload request coordination.
UploadRequestSupported *bool `json:"uploadRequestSupported,omitempty"`
// ValidateAccessMethods Indicates whether this DRS server validates access methods by following the URLs to check that they resolve to the expected objects (e.g. by checking that the file sizes and checksums match) If true, the server will attempt to verify checksums/content before accepting access methods. If false or missing, the server trusts client-provided access methods without validation. Only present when at least one of objectRegistrationSupported or accessMethodUpdateSupported are true.
ValidateAccessMethods *bool `json:"validateAccessMethods,omitempty"`
// ValidateChecksums Indicates whether this DRS server validates file checksums against the provided metadata. If true, the server will verify that uploaded and registered files match their declared checksums and may reject objects with mismatches. If false or missing, the server does not perform checksum validation and relies on client-provided metadata. Only present when at least one of uploadRequestSupported or objectRegistrationSupported or checksumAdditionSupported are true.
ValidateChecksums *bool `json:"validateChecksums,omitempty"`
// ValidateFileSizes Indicates whether this DRS server validates file sizes against the provided metadata. If true, the server will verify that uploaded files match their declared sizes and may reject uploads with mismatches. If false or missing, the server does not perform file size validation and relies on client-provided metadata. Only present when uploadRequestSupported or objectRegistrationSupported is true.
ValidateFileSizes *bool `json:"validateFileSizes,omitempty"`
} `json:"drs,omitempty"`
// Environment Environment the service is running in. Use this to distinguish between production, development and testing/staging deployments. Suggested values are prod, test, dev, staging. However this is advised and not enforced.
Environment *string `json:"environment,omitempty"`
// Id Unique ID of this service. Reverse domain name notation is recommended, though not required. The identifier should attempt to be globally unique so it can be used in downstream aggregator services e.g. Service Registry.
Id string `json:"id"`
// MaxBulkRequestLength DEPRECATED - In 2.0 this will move to under the drs section of service info and not at the root level. The max length the bulk request endpoints can handle (>= 1) before generating a 413 error e.g. how long can the arrays bulk_object_ids and bulk_object_access_ids be for this server.
MaxBulkRequestLength int `json:"maxBulkRequestLength"`
// Name Name of this service. Should be human readable.
Name string `json:"name"`
// Organization Organization providing the service
Organization struct {
// Name Name of the organization responsible for the service
Name string `json:"name"`
// Url URL of the website of the organization (RFC 3986 format)
Url string `json:"url"`
} `json:"organization"`
Type struct {
Artifact N200ServiceInfoTypeArtifact `json:"artifact"`
} `json:"type"`
// UpdatedAt Timestamp describing when the service was last updated (RFC 3339 format)
UpdatedAt *time.Time `json:"updatedAt,omitempty"`
// Version Version of the service being described. Semantic versioning is recommended, but other identifiers, such as dates or commit hashes, are also allowed. The version should be changed whenever the service is updated.
Version string `json:"version"`
}
N200ServiceInfo defines model for 200ServiceInfo.
type N200ServiceInfoDrsControlledAccessClaimFormat ¶ added in v0.2.6
type N200ServiceInfoDrsControlledAccessClaimFormat = DrsServiceDrsControlledAccessClaimFormat
Compatibility aliases for generator-emitted service-info field names.
type N200ServiceInfoDrsControlledAccessDefault ¶ added in v0.2.6
type N200ServiceInfoDrsControlledAccessDefault = DrsServiceDrsControlledAccessDefault
type N200ServiceInfoDrsSupportedUploadMethodTypes ¶ added in v0.2.6
type N200ServiceInfoDrsSupportedUploadMethodTypes = DrsServiceDrsSupportedUploadMethodTypes
type N200ServiceInfoTypeArtifact ¶
type N200ServiceInfoTypeArtifact = DrsServiceTypeArtifact
type N200UploadRequest ¶
type N200UploadRequest = UploadResponse
N200UploadRequest defines model for 200UploadRequest.
type N201ObjectsCreated ¶
type N201ObjectsCreated struct {
// Objects Array of registered DRS objects in the same order as the candidates in the request
Objects []DrsObject `json:"objects"`
}
N201ObjectsCreated defines model for 201ObjectsCreated.
type N400BadRequest ¶
type N400BadRequest = Error
N400BadRequest An object that can optionally include information about the error.
type N400BadRequestDelete ¶
type N400BadRequestDelete = Error
N400BadRequestDelete An object that can optionally include information about the error.
type N401Unauthorized ¶
type N401Unauthorized = Error
N401Unauthorized An object that can optionally include information about the error.
type N403Forbidden ¶
type N403Forbidden = Error
N403Forbidden An object that can optionally include information about the error.
type N403ForbiddenDelete ¶
type N403ForbiddenDelete = Error
N403ForbiddenDelete An object that can optionally include information about the error.
type N404NotFoundAccess ¶
type N404NotFoundAccess = Error
N404NotFoundAccess An object that can optionally include information about the error.
type N404NotFoundDelete ¶
type N404NotFoundDelete = Error
N404NotFoundDelete An object that can optionally include information about the error.
type N404NotFoundDrsObject ¶
type N404NotFoundDrsObject = Error
N404NotFoundDrsObject An object that can optionally include information about the error.
type N413RequestTooLarge ¶
type N413RequestTooLarge = Error
N413RequestTooLarge An object that can optionally include information about the error.
type N500InternalServerError ¶
type N500InternalServerError = Error
N500InternalServerError An object that can optionally include information about the error.
type OptionsBulkObjectResponse ¶
type OptionsBulkObjectResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *N200OkBulkAuthorizations
JSON400 *N400BadRequest
JSON404 *N404NotFoundDrsObject
JSON413 *N413RequestTooLarge
JSON500 *N500InternalServerError
}
func ParseOptionsBulkObjectResponse ¶
func ParseOptionsBulkObjectResponse(rsp *http.Response) (*OptionsBulkObjectResponse, error)
ParseOptionsBulkObjectResponse parses an HTTP response from a OptionsBulkObjectWithResponse call
func (OptionsBulkObjectResponse) Status ¶
func (r OptionsBulkObjectResponse) Status() string
Status returns HTTPResponse.Status
func (OptionsBulkObjectResponse) StatusCode ¶
func (r OptionsBulkObjectResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type OptionsObjectResponse ¶
type OptionsObjectResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *N200OkAuthorizations
JSON400 *N400BadRequest
JSON404 *N404NotFoundDrsObject
JSON500 *N500InternalServerError
}
func ParseOptionsObjectResponse ¶
func ParseOptionsObjectResponse(rsp *http.Response) (*OptionsObjectResponse, error)
ParseOptionsObjectResponse parses an HTTP response from a OptionsObjectWithResponse call
func (OptionsObjectResponse) Status ¶
func (r OptionsObjectResponse) Status() string
Status returns HTTPResponse.Status
func (OptionsObjectResponse) StatusCode ¶
func (r OptionsObjectResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type Passports ¶
type Passports struct {
// Passports the encoded JWT GA4GH Passport that contains embedded Visas. The overall JWT is signed as are the individual Passport Visas.
Passports *[]string `json:"passports,omitempty"`
}
Passports defines model for Passports.
type PostAccessURLJSONBody ¶
type PostAccessURLJSONBody struct {
// Passports the encoded JWT GA4GH Passport that contains embedded Visas. The overall JWT is signed as are the individual Passport Visas.
Passports *[]string `json:"passports,omitempty"`
}
PostAccessURLJSONBody defines parameters for PostAccessURL.
type PostAccessURLJSONRequestBody ¶
type PostAccessURLJSONRequestBody PostAccessURLJSONBody
PostAccessURLJSONRequestBody defines body for PostAccessURL for application/json ContentType.
type PostAccessURLResponse ¶
type PostAccessURLResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *N200OkAccess
JSON400 *N400BadRequest
JSON401 *N401Unauthorized
JSON403 *N403Forbidden
JSON404 *N404NotFoundAccess
JSON500 *N500InternalServerError
}
func ParsePostAccessURLResponse ¶
func ParsePostAccessURLResponse(rsp *http.Response) (*PostAccessURLResponse, error)
ParsePostAccessURLResponse parses an HTTP response from a PostAccessURLWithResponse call
func (PostAccessURLResponse) Status ¶
func (r PostAccessURLResponse) Status() string
Status returns HTTPResponse.Status
func (PostAccessURLResponse) StatusCode ¶
func (r PostAccessURLResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type PostObjectBody ¶
type PostObjectBody struct {
// Expand If false and the object_id refers to a bundle, then the ContentsObject array contains only those objects directly contained in the bundle. That is, if the bundle contains other bundles, those other bundles are not recursively included in the result.
// If true and the object_id refers to a bundle, then the entire set of objects in the bundle is expanded. That is, if the bundle contains other bundles, then those other bundles are recursively expanded and included in the result. Recursion continues through the entire sub-tree of the bundle.
// If the object_id refers to a blob, then the query parameter is ignored.
Expand *bool `json:"expand,omitempty"`
// Passports the encoded JWT GA4GH Passport that contains embedded Visas. The overall JWT is signed as are the individual Passport Visas.
Passports *[]string `json:"passports,omitempty"`
}
PostObjectBody defines model for PostObjectBody.
type PostObjectJSONBody ¶
type PostObjectJSONBody struct {
// Expand If false and the object_id refers to a bundle, then the ContentsObject array contains only those objects directly contained in the bundle. That is, if the bundle contains other bundles, those other bundles are not recursively included in the result.
// If true and the object_id refers to a bundle, then the entire set of objects in the bundle is expanded. That is, if the bundle contains other bundles, then those other bundles are recursively expanded and included in the result. Recursion continues through the entire sub-tree of the bundle.
// If the object_id refers to a blob, then the query parameter is ignored.
Expand *bool `json:"expand,omitempty"`
// Passports the encoded JWT GA4GH Passport that contains embedded Visas. The overall JWT is signed as are the individual Passport Visas.
Passports *[]string `json:"passports,omitempty"`
}
PostObjectJSONBody defines parameters for PostObject.
type PostObjectJSONRequestBody ¶
type PostObjectJSONRequestBody PostObjectJSONBody
PostObjectJSONRequestBody defines body for PostObject for application/json ContentType.
type PostObjectResponse ¶
type PostObjectResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *N200OkDrsObject
JSON400 *N400BadRequest
JSON401 *N401Unauthorized
JSON403 *N403Forbidden
JSON404 *N404NotFoundAccess
JSON500 *N500InternalServerError
}
func ParsePostObjectResponse ¶
func ParsePostObjectResponse(rsp *http.Response) (*PostObjectResponse, error)
ParsePostObjectResponse parses an HTTP response from a PostObjectWithResponse call
func (PostObjectResponse) Status ¶
func (r PostObjectResponse) Status() string
Status returns HTTPResponse.Status
func (PostObjectResponse) StatusCode ¶
func (r PostObjectResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type PostUploadRequestJSONRequestBody ¶
type PostUploadRequestJSONRequestBody = UploadRequest
PostUploadRequestJSONRequestBody defines body for PostUploadRequest for application/json ContentType.
type PostUploadRequestResponse ¶
type PostUploadRequestResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *N200UploadRequest
JSON400 *N400BadRequest
JSON401 *N401Unauthorized
JSON403 *N403Forbidden
JSON500 *N500InternalServerError
}
func ParsePostUploadRequestResponse ¶
func ParsePostUploadRequestResponse(rsp *http.Response) (*PostUploadRequestResponse, error)
ParsePostUploadRequestResponse parses an HTTP response from a PostUploadRequestWithResponse call
func (PostUploadRequestResponse) Status ¶
func (r PostUploadRequestResponse) Status() string
Status returns HTTPResponse.Status
func (PostUploadRequestResponse) StatusCode ¶
func (r PostUploadRequestResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type RegisterObjectsBody ¶
type RegisterObjectsBody struct {
// Candidates Array of DRS object candidates to register (server will mint IDs and timestamps)
Candidates []DrsObjectCandidate `json:"candidates"`
// Passports Optional array of GA4GH Passport JWTs for authorization
Passports *[]string `json:"passports,omitempty"`
}
RegisterObjectsBody defines model for RegisterObjectsBody.
type RegisterObjectsJSONBody ¶
type RegisterObjectsJSONBody struct {
// Candidates Array of DRS object candidates to register (server will mint IDs and timestamps)
Candidates []DrsObjectCandidate `json:"candidates"`
// Passports Optional array of GA4GH Passport JWTs for authorization
Passports *[]string `json:"passports,omitempty"`
}
RegisterObjectsJSONBody defines parameters for RegisterObjects.
type RegisterObjectsJSONRequestBody ¶
type RegisterObjectsJSONRequestBody RegisterObjectsJSONBody
RegisterObjectsJSONRequestBody defines body for RegisterObjects for application/json ContentType.
type RegisterObjectsResponse ¶
type RegisterObjectsResponse struct {
Body []byte
HTTPResponse *http.Response
JSON201 *N201ObjectsCreated
JSON400 *N400BadRequest
JSON401 *N401Unauthorized
JSON403 *N403Forbidden
JSON413 *N413RequestTooLarge
JSON500 *N500InternalServerError
}
func ParseRegisterObjectsResponse ¶
func ParseRegisterObjectsResponse(rsp *http.Response) (*RegisterObjectsResponse, error)
ParseRegisterObjectsResponse parses an HTTP response from a RegisterObjectsWithResponse call
func (RegisterObjectsResponse) Status ¶
func (r RegisterObjectsResponse) Status() string
Status returns HTTPResponse.Status
func (RegisterObjectsResponse) StatusCode ¶
func (r RegisterObjectsResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type RequestEditorFn ¶
RequestEditorFn is the function signature for the RequestEditor callback function
type Service ¶
type Service struct {
// ContactUrl URL of the contact for the provider of this service, e.g. a link to a contact form (RFC 3986 format), or an email (RFC 2368 format).
ContactUrl *string `json:"contactUrl,omitempty"`
// CreatedAt Timestamp describing when the service was first deployed and available (RFC 3339 format)
CreatedAt *time.Time `json:"createdAt,omitempty"`
// Description Description of the service. Should be human readable and provide information about the service.
Description *string `json:"description,omitempty"`
// DocumentationUrl URL of the documentation of this service (RFC 3986 format). This should help someone learn how to use your service, including any specifics required to access data, e.g. authentication.
DocumentationUrl *string `json:"documentationUrl,omitempty"`
// Environment Environment the service is running in. Use this to distinguish between production, development and testing/staging deployments. Suggested values are prod, test, dev, staging. However this is advised and not enforced.
Environment *string `json:"environment,omitempty"`
// Id Unique ID of this service. Reverse domain name notation is recommended, though not required. The identifier should attempt to be globally unique so it can be used in downstream aggregator services e.g. Service Registry.
Id string `json:"id"`
// Name Name of this service. Should be human readable.
Name string `json:"name"`
// Organization Organization providing the service
Organization struct {
// Name Name of the organization responsible for the service
Name string `json:"name"`
// Url URL of the website of the organization (RFC 3986 format)
Url string `json:"url"`
} `json:"organization"`
// Type Type of a GA4GH service
Type ServiceType `json:"type"`
// UpdatedAt Timestamp describing when the service was last updated (RFC 3339 format)
UpdatedAt *time.Time `json:"updatedAt,omitempty"`
// Version Version of the service being described. Semantic versioning is recommended, but other identifiers, such as dates or commit hashes, are also allowed. The version should be changed whenever the service is updated.
Version string `json:"version"`
}
Service GA4GH service
type ServiceType ¶
type ServiceType struct {
// Artifact Name of the API or GA4GH specification implemented. Official GA4GH types should be assigned as part of standards approval process. Custom artifacts are supported.
Artifact string `json:"artifact"`
// Group Namespace in reverse domain name format. Use `org.ga4gh` for implementations compliant with official GA4GH specifications. For services with custom APIs not standardized by GA4GH, or implementations diverging from official GA4GH specifications, use a different namespace (e.g. your organization's reverse domain name).
Group string `json:"group"`
// Version Version of the API or specification. GA4GH specifications use semantic versioning.
Version string `json:"version"`
}
ServiceType Type of a GA4GH service
type Summary ¶
type Summary struct {
// Requested Number of items requested.
Requested *int `json:"requested,omitempty"`
// Resolved Number of objects resolved.
Resolved *int `json:"resolved,omitempty"`
// Unresolved Number of objects not resolved.
Unresolved *int `json:"unresolved,omitempty"`
}
Summary A summary of what was resolved.
type Unresolved ¶
type Unresolved = []struct {
ErrorCode *int `json:"error_code,omitempty"`
ObjectIds *[]string `json:"object_ids,omitempty"`
}
Unresolved Error codes for each unresolved drs objects.
type UpdateObjectAccessMethodsJSONRequestBody ¶
type UpdateObjectAccessMethodsJSONRequestBody = AccessMethodUpdateRequest
UpdateObjectAccessMethodsJSONRequestBody defines body for UpdateObjectAccessMethods for application/json ContentType.
type UpdateObjectAccessMethodsResponse ¶
type UpdateObjectAccessMethodsResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *N200AccessMethodUpdate
JSON400 *N400BadRequest
JSON401 *N401Unauthorized
JSON403 *N403Forbidden
JSON404 *N404NotFoundDrsObject
JSON500 *N500InternalServerError
}
func ParseUpdateObjectAccessMethodsResponse ¶
func ParseUpdateObjectAccessMethodsResponse(rsp *http.Response) (*UpdateObjectAccessMethodsResponse, error)
ParseUpdateObjectAccessMethodsResponse parses an HTTP response from a UpdateObjectAccessMethodsWithResponse call
func (UpdateObjectAccessMethodsResponse) Status ¶
func (r UpdateObjectAccessMethodsResponse) Status() string
Status returns HTTPResponse.Status
func (UpdateObjectAccessMethodsResponse) StatusCode ¶
func (r UpdateObjectAccessMethodsResponse) StatusCode() int
StatusCode returns HTTPResponse.StatusCode
type UploadMethod ¶
type UploadMethod struct {
AccessUrl struct {
// Headers An optional list of headers to include in the HTTP request to `url`. These headers can be used to provide auth tokens required to fetch the object bytes.
Headers *[]string `json:"headers,omitempty"`
// Url A fully resolvable URL that can be used to fetch the actual object bytes.
Url string `json:"url"`
} `json:"access_url"`
// Region Cloud region for the upload location. Optional for non-cloud storage types.
Region *string `json:"region,omitempty"`
// Type Type of upload method. Implementations MAY support any subset of these types.
// The 'https' type can be used to return a presigned POST URL and is expected to be the most common implementation for typical file uploads. This method provides a simple HTTP POST interface that works with standard web clients.
// The 's3' type is primarily intended to support uploads of large files that want to take advantage of multipart uploads and automatic retries implemented in AWS libraries. This method provides direct access to S3-specific upload capabilities.
// Other common implementations include 'gs' for Google Cloud Storage and 'sftp' for secure FTP uploads.
Type UploadMethodType `json:"type"`
// UploadDetails A dictionary of storage provider specific configuration details that vary by upload method type. The contents and structure depend on the specific upload method being used.
UploadDetails *map[string]interface{} `json:"upload_details,omitempty"`
}
UploadMethod defines model for UploadMethod.
type UploadMethodType ¶
type UploadMethodType string
UploadMethodType Type of upload method. Implementations MAY support any subset of these types. The 'https' type can be used to return a presigned POST URL and is expected to be the most common implementation for typical file uploads. This method provides a simple HTTP POST interface that works with standard web clients. The 's3' type is primarily intended to support uploads of large files that want to take advantage of multipart uploads and automatic retries implemented in AWS libraries. This method provides direct access to S3-specific upload capabilities. Other common implementations include 'gs' for Google Cloud Storage and 'sftp' for secure FTP uploads.
const ( Ftp UploadMethodType = "ftp" Globus UploadMethodType = "globus" Gs UploadMethodType = "gs" Gsiftp UploadMethodType = "gsiftp" Https UploadMethodType = "https" S3 UploadMethodType = "s3" Sftp UploadMethodType = "sftp" )
Defines values for UploadMethodType.
type UploadRequest ¶
type UploadRequest struct {
// Passports Optional array of GA4GH Passport JWTs for authorization
Passports *[]string `json:"passports,omitempty"`
// Requests Array of upload requests for files
Requests []UploadRequestObject `json:"requests"`
}
UploadRequest defines model for UploadRequest.
type UploadRequestBody ¶
type UploadRequestBody = UploadRequest
UploadRequestBody defines model for UploadRequestBody.
type UploadRequestObject ¶
type UploadRequestObject struct {
// Aliases Optional array of alternative names for the file
Aliases *[]string `json:"aliases,omitempty"`
// Checksums Array of checksums for file integrity verification
Checksums []Checksum `json:"checksums"`
// Description Optional description of the file
Description *string `json:"description,omitempty"`
// MimeType MIME type of the file
MimeType string `json:"mime_type"`
// Name The name of the file to upload
Name string `json:"name"`
// Size Size of the file in bytes
Size int64 `json:"size"`
// UploadMethodTypes Optional array of requested upload method types which should match those published by the server in the `supportedUploadMethodsTypes` field in the `/service-info` response. Servers SHALL try to honour requests, but the server may not be able to offer the requested upload type for specific file types/sizes etc. The server MAY return a 400 error if it cannot honour the request, or MAY return an alternative supported upload method.
UploadMethodTypes *[]string `json:"upload_method_types,omitempty"`
}
UploadRequestObject defines model for UploadRequestObject.
type UploadResponse ¶
type UploadResponse struct {
// Responses List of upload responses for the requested files
Responses []UploadResponseObject `json:"responses"`
}
UploadResponse defines model for UploadResponse.
type UploadResponseObject ¶
type UploadResponseObject struct {
// Aliases Optional array of alternative names
Aliases *[]string `json:"aliases,omitempty"`
// Checksums Array of checksums for file integrity verification
Checksums []Checksum `json:"checksums"`
// Description Optional description of the file
Description *string `json:"description,omitempty"`
// MimeType MIME type of the file
MimeType string `json:"mime_type"`
// Name The name of the file
Name string `json:"name"`
// Size Size of the file in bytes
Size int64 `json:"size"`
// UploadMethods Available methods for uploading this file
UploadMethods *[]UploadMethod `json:"upload_methods,omitempty"`
}
UploadResponseObject defines model for UploadResponseObject.