Documentation ¶
Overview ¶
Package cache provides functionality for working with an on-disk cache of the ECS Agent image.
Package cache is a generated GoMock package.
Index ¶
- type CacheStatus
- type Downloader
- func (d *Downloader) AgentCacheStatus() CacheStatus
- func (d *Downloader) DownloadAgent() error
- func (d *Downloader) IsAgentCached() bool
- func (d *Downloader) LoadCachedAgent() (io.ReadCloser, error)
- func (d *Downloader) LoadDesiredAgent() (io.ReadCloser, error)
- func (d *Downloader) RecordCachedAgent() error
- type MockfileSizeInfo
- type MockfileSizeInfoMockRecorder
- type MockfileSystem
- func (m *MockfileSystem) Base(path string) string
- func (m *MockfileSystem) Copy(dst io.Writer, src io.Reader) (int64, error)
- func (m *MockfileSystem) EXPECT() *MockfileSystemMockRecorder
- func (m *MockfileSystem) MkdirAll(path string, perm os.FileMode) error
- func (m *MockfileSystem) Open(name string) (io.ReadCloser, error)
- func (m *MockfileSystem) ReadAll(r io.Reader) ([]byte, error)
- func (m *MockfileSystem) Remove(path string)
- func (m *MockfileSystem) Rename(oldpath, newpath string) error
- func (m *MockfileSystem) Stat(name string) (fileSizeInfo, error)
- func (m *MockfileSystem) TeeReader(r io.Reader, w io.Writer) io.Reader
- func (m *MockfileSystem) TempFile(dir, prefix string) (*os.File, error)
- func (m *MockfileSystem) WriteFile(filename string, data []byte, perm os.FileMode) error
- type MockfileSystemMockRecorder
- func (mr *MockfileSystemMockRecorder) Base(path interface{}) *gomock.Call
- func (mr *MockfileSystemMockRecorder) Copy(dst, src interface{}) *gomock.Call
- func (mr *MockfileSystemMockRecorder) MkdirAll(path, perm interface{}) *gomock.Call
- func (mr *MockfileSystemMockRecorder) Open(name interface{}) *gomock.Call
- func (mr *MockfileSystemMockRecorder) ReadAll(r interface{}) *gomock.Call
- func (mr *MockfileSystemMockRecorder) Remove(path interface{}) *gomock.Call
- func (mr *MockfileSystemMockRecorder) Rename(oldpath, newpath interface{}) *gomock.Call
- func (mr *MockfileSystemMockRecorder) Stat(name interface{}) *gomock.Call
- func (mr *MockfileSystemMockRecorder) TeeReader(r, w interface{}) *gomock.Call
- func (mr *MockfileSystemMockRecorder) TempFile(dir, prefix interface{}) *gomock.Call
- func (mr *MockfileSystemMockRecorder) WriteFile(filename, data, perm interface{}) *gomock.Call
- type MockinstanceMetadata
- type MockinstanceMetadataMockRecorder
- type Mocks3API
- type Mocks3APIMockRecorder
- type Mocks3DownloaderAPI
- type Mocks3DownloaderAPIMockRecorder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CacheStatus ¶
type CacheStatus uint8
CacheStatus represents the status of the on-disk cache for agent tarballs in the cache directory. This status may be used to determine what the appropriate actions are based on the availability of agent images and communicates advice from the cache's state file.
const ( // StatusUncached indicates that there is not an already downloaded // and cached agent that is suitable for loading. StatusUncached CacheStatus = 0 // StatusCached indicates that there is an agent downloaded and // cached. This should be taken to mean that the image is suitable // for load if agent isn't already loaded. StatusCached CacheStatus = 1 // StatusReloadNeeded indicates that the cached image should take // precedence over the already loaded agent image. This may be // specified by the packaging to cause ecs-init to load a package // distributed cached image on package installation, upgrades, or // downgrades. StatusReloadNeeded CacheStatus = 2 )
type Downloader ¶
type Downloader struct {
// contains filtered or unexported fields
}
Downloader is responsible for cache operations relating to downloading the agent
func NewDownloader ¶
func NewDownloader() (*Downloader, error)
NewDownloader returns a Downloader with default dependencies
func (*Downloader) AgentCacheStatus ¶
func (d *Downloader) AgentCacheStatus() CacheStatus
AgentCacheStatus inspects the on-disk cache and returns its status. See `CacheStatus` for possible cache statuses and scenarios.
func (*Downloader) DownloadAgent ¶
func (d *Downloader) DownloadAgent() error
DownloadAgent downloads a copy of the Agent and performs an integrity check of the downloaded image
func (*Downloader) IsAgentCached ¶
func (d *Downloader) IsAgentCached() bool
IsAgentCached returns true if there is a cached copy of the Agent present and a cache state file is not empty (no validation is performed on the tarball or cache state file contents)
func (*Downloader) LoadCachedAgent ¶
func (d *Downloader) LoadCachedAgent() (io.ReadCloser, error)
LoadCachedAgent returns an io.ReadCloser of the Agent from the cache
func (*Downloader) LoadDesiredAgent ¶
func (d *Downloader) LoadDesiredAgent() (io.ReadCloser, error)
LoadDesiredAgent returns an io.ReadCloser of the Agent indicated by the desiredImageLocatorFile (/var/cache/ecs/desired-image). The desiredImageLocatorFile must contain as the beginning of the file the name of the file containing the desired image (interpreted as a basename) and ending in a newline. Only the first line is read, with the rest of the file reserved for future use.
func (*Downloader) RecordCachedAgent ¶
func (d *Downloader) RecordCachedAgent() error
RecordCachedAgent writes the StatusCached state to disk to record a newly cached or loaded agent image; this prevents StatusReloadNeeded from being interpreted after the reload.
type MockfileSizeInfo ¶
type MockfileSizeInfo struct {
// contains filtered or unexported fields
}
MockfileSizeInfo is a mock of fileSizeInfo interface.
func NewMockfileSizeInfo ¶
func NewMockfileSizeInfo(ctrl *gomock.Controller) *MockfileSizeInfo
NewMockfileSizeInfo creates a new mock instance.
func (*MockfileSizeInfo) EXPECT ¶
func (m *MockfileSizeInfo) EXPECT() *MockfileSizeInfoMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
type MockfileSizeInfoMockRecorder ¶
type MockfileSizeInfoMockRecorder struct {
// contains filtered or unexported fields
}
MockfileSizeInfoMockRecorder is the mock recorder for MockfileSizeInfo.
func (*MockfileSizeInfoMockRecorder) Size ¶
func (mr *MockfileSizeInfoMockRecorder) Size() *gomock.Call
Size indicates an expected call of Size.
type MockfileSystem ¶
type MockfileSystem struct {
// contains filtered or unexported fields
}
MockfileSystem is a mock of fileSystem interface.
func NewMockfileSystem ¶
func NewMockfileSystem(ctrl *gomock.Controller) *MockfileSystem
NewMockfileSystem creates a new mock instance.
func (*MockfileSystem) Base ¶
func (m *MockfileSystem) Base(path string) string
Base mocks base method.
func (*MockfileSystem) EXPECT ¶
func (m *MockfileSystem) EXPECT() *MockfileSystemMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockfileSystem) MkdirAll ¶
func (m *MockfileSystem) MkdirAll(path string, perm os.FileMode) error
MkdirAll mocks base method.
func (*MockfileSystem) Open ¶
func (m *MockfileSystem) Open(name string) (io.ReadCloser, error)
Open mocks base method.
func (*MockfileSystem) ReadAll ¶
func (m *MockfileSystem) ReadAll(r io.Reader) ([]byte, error)
ReadAll mocks base method.
func (*MockfileSystem) Remove ¶
func (m *MockfileSystem) Remove(path string)
Remove mocks base method.
func (*MockfileSystem) Rename ¶
func (m *MockfileSystem) Rename(oldpath, newpath string) error
Rename mocks base method.
func (*MockfileSystem) Stat ¶
func (m *MockfileSystem) Stat(name string) (fileSizeInfo, error)
Stat mocks base method.
type MockfileSystemMockRecorder ¶
type MockfileSystemMockRecorder struct {
// contains filtered or unexported fields
}
MockfileSystemMockRecorder is the mock recorder for MockfileSystem.
func (*MockfileSystemMockRecorder) Base ¶
func (mr *MockfileSystemMockRecorder) Base(path interface{}) *gomock.Call
Base indicates an expected call of Base.
func (*MockfileSystemMockRecorder) Copy ¶
func (mr *MockfileSystemMockRecorder) Copy(dst, src interface{}) *gomock.Call
Copy indicates an expected call of Copy.
func (*MockfileSystemMockRecorder) MkdirAll ¶
func (mr *MockfileSystemMockRecorder) MkdirAll(path, perm interface{}) *gomock.Call
MkdirAll indicates an expected call of MkdirAll.
func (*MockfileSystemMockRecorder) Open ¶
func (mr *MockfileSystemMockRecorder) Open(name interface{}) *gomock.Call
Open indicates an expected call of Open.
func (*MockfileSystemMockRecorder) ReadAll ¶
func (mr *MockfileSystemMockRecorder) ReadAll(r interface{}) *gomock.Call
ReadAll indicates an expected call of ReadAll.
func (*MockfileSystemMockRecorder) Remove ¶
func (mr *MockfileSystemMockRecorder) Remove(path interface{}) *gomock.Call
Remove indicates an expected call of Remove.
func (*MockfileSystemMockRecorder) Rename ¶
func (mr *MockfileSystemMockRecorder) Rename(oldpath, newpath interface{}) *gomock.Call
Rename indicates an expected call of Rename.
func (*MockfileSystemMockRecorder) Stat ¶
func (mr *MockfileSystemMockRecorder) Stat(name interface{}) *gomock.Call
Stat indicates an expected call of Stat.
func (*MockfileSystemMockRecorder) TeeReader ¶
func (mr *MockfileSystemMockRecorder) TeeReader(r, w interface{}) *gomock.Call
TeeReader indicates an expected call of TeeReader.
func (*MockfileSystemMockRecorder) TempFile ¶
func (mr *MockfileSystemMockRecorder) TempFile(dir, prefix interface{}) *gomock.Call
TempFile indicates an expected call of TempFile.
func (*MockfileSystemMockRecorder) WriteFile ¶
func (mr *MockfileSystemMockRecorder) WriteFile(filename, data, perm interface{}) *gomock.Call
WriteFile indicates an expected call of WriteFile.
type MockinstanceMetadata ¶
type MockinstanceMetadata struct {
// contains filtered or unexported fields
}
MockinstanceMetadata is a mock of instanceMetadata interface.
func NewMockinstanceMetadata ¶
func NewMockinstanceMetadata(ctrl *gomock.Controller) *MockinstanceMetadata
NewMockinstanceMetadata creates a new mock instance.
func (*MockinstanceMetadata) EXPECT ¶
func (m *MockinstanceMetadata) EXPECT() *MockinstanceMetadataMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockinstanceMetadata) GetRegion ¶
func (m *MockinstanceMetadata) GetRegion(ctx context.Context, input *imds.GetRegionInput, opts ...func(*imds.Options)) (*imds.GetRegionOutput, error)
GetRegion mocks base method.
type MockinstanceMetadataMockRecorder ¶
type MockinstanceMetadataMockRecorder struct {
// contains filtered or unexported fields
}
MockinstanceMetadataMockRecorder is the mock recorder for MockinstanceMetadata.
func (*MockinstanceMetadataMockRecorder) GetRegion ¶
func (mr *MockinstanceMetadataMockRecorder) GetRegion(ctx, input interface{}, opts ...interface{}) *gomock.Call
GetRegion indicates an expected call of GetRegion.
type Mocks3API ¶
type Mocks3API struct {
// contains filtered or unexported fields
}
Mocks3API is a mock of s3API interface.
func NewMocks3API ¶
func NewMocks3API(ctrl *gomock.Controller) *Mocks3API
NewMocks3API creates a new mock instance.
func (*Mocks3API) Download ¶
func (m *Mocks3API) Download(ctx context.Context, w io.WriterAt, input *s3.GetObjectInput, options ...func(*manager.Downloader)) (int64, error)
Download mocks base method.
func (*Mocks3API) EXPECT ¶
func (m *Mocks3API) EXPECT() *Mocks3APIMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
type Mocks3APIMockRecorder ¶
type Mocks3APIMockRecorder struct {
// contains filtered or unexported fields
}
Mocks3APIMockRecorder is the mock recorder for Mocks3API.
func (*Mocks3APIMockRecorder) Download ¶
func (mr *Mocks3APIMockRecorder) Download(ctx, w, input interface{}, options ...interface{}) *gomock.Call
Download indicates an expected call of Download.
type Mocks3DownloaderAPI ¶
type Mocks3DownloaderAPI struct {
// contains filtered or unexported fields
}
Mocks3DownloaderAPI is a mock of s3DownloaderAPI interface.
func NewMocks3DownloaderAPI ¶
func NewMocks3DownloaderAPI(ctrl *gomock.Controller) *Mocks3DownloaderAPI
NewMocks3DownloaderAPI creates a new mock instance.
func (*Mocks3DownloaderAPI) EXPECT ¶
func (m *Mocks3DownloaderAPI) EXPECT() *Mocks3DownloaderAPIMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
type Mocks3DownloaderAPIMockRecorder ¶
type Mocks3DownloaderAPIMockRecorder struct {
// contains filtered or unexported fields
}
Mocks3DownloaderAPIMockRecorder is the mock recorder for Mocks3DownloaderAPI.