// Package uploads provides primitives to interact the openapi HTTP API.
//
// Code generated by go-sdk-codegen DO NOT EDIT.
package uploads

// CreateUploadDestinationResponse defines model for CreateUploadDestinationResponse.
type CreateUploadDestinationResponse struct {

	// A list of error responses returned when a request is unsuccessful.
	Errors *ErrorList `json:"errors,omitempty"`

	// Information about an upload destination.
	Payload *UploadDestination `json:"payload,omitempty"`
}

// Error defines model for Error.
type Error struct {

	// An error code that identifies the type of error that occurred.
	Code string `json:"code"`

	// Additional details that can help the caller understand or fix the issue.
	Details *string `json:"details,omitempty"`

	// A message that describes the error condition in a human-readable form.
	Message string `json:"message"`
}

// ErrorList defines model for ErrorList.
type ErrorList []Error

// UploadDestination defines model for UploadDestination.
type UploadDestination struct {

	// The headers to include in the upload request.
	Headers *map[string]interface{} `json:"headers,omitempty"`

	// The unique identifier for the upload destination.
	UploadDestinationId *string `json:"uploadDestinationId,omitempty"`

	// The URL for the upload destination.
	Url *string `json:"url,omitempty"`
}

// CreateUploadDestinationForResourceParams defines parameters for CreateUploadDestinationForResource.
type CreateUploadDestinationForResourceParams struct {

	// A list of marketplace identifiers. This specifies the marketplaces where the upload will be available. Only one marketplace can be specified.
	MarketplaceIds []string `json:"marketplaceIds"`

	// An MD5 hash of the content to be submitted to the upload destination. This value is used to determine if the data has been corrupted or tampered with during transit.
	ContentMD5 string `json:"contentMD5"`

	// The content type of the file to be uploaded.
	ContentType *string `json:"contentType,omitempty"`
}
