// Code generated by ifacemaker; DO NOT EDIT.

package hcloud

import (
	"context"
)

// IISOClient ...
type IISOClient interface {
	// GetByID retrieves an ISO by its ID.
	GetByID(ctx context.Context, id int64) (*ISO, *Response, error)
	// GetByName retrieves an ISO by its name.
	GetByName(ctx context.Context, name string) (*ISO, *Response, error)
	// Get retrieves an ISO by its ID if the input can be parsed as an integer, otherwise it retrieves an ISO by its name.
	Get(ctx context.Context, idOrName string) (*ISO, *Response, error)
	// List returns a list of ISOs for a specific page.
	//
	// Please note that filters specified in opts are not taken into account
	// when their value corresponds to their zero value or when they are empty.
	List(ctx context.Context, opts ISOListOpts) ([]*ISO, *Response, error)
	// All returns all ISOs.
	All(ctx context.Context) ([]*ISO, error)
	// AllWithOpts returns all ISOs for the given options.
	AllWithOpts(ctx context.Context, opts ISOListOpts) ([]*ISO, error)
}
