diff --git a/cmd/containers-storage/container.go b/cmd/containers-storage/container.go index d13f4dd47..b788a9164 100644 --- a/cmd/containers-storage/container.go +++ b/cmd/containers-storage/container.go @@ -97,6 +97,40 @@ func getContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, a return 0 } +func getContainerBigDataSize(flags *mflag.FlagSet, action string, m storage.Store, args []string) int { + container, err := m.Container(args[0]) + if err != nil { + fmt.Fprintf(os.Stderr, "%v\n", err) + return 1 + } + size, err := m.ContainerBigDataSize(container.ID, args[1]) + if err != nil { + fmt.Fprintf(os.Stderr, "%v\n", err) + return 1 + } + fmt.Fprintf(os.Stdout, "%d\n", size) + return 0 +} + +func getContainerBigDataDigest(flags *mflag.FlagSet, action string, m storage.Store, args []string) int { + container, err := m.Container(args[0]) + if err != nil { + fmt.Fprintf(os.Stderr, "%v\n", err) + return 1 + } + d, err := m.ContainerBigDataDigest(container.ID, args[1]) + if err != nil { + fmt.Fprintf(os.Stderr, "%v\n", err) + return 1 + } + if d.Validate() != nil { + fmt.Fprintf(os.Stderr, "%v\n", d.Validate()) + return 1 + } + fmt.Fprintf(os.Stdout, "%s\n", d.String()) + return 0 +} + func setContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, args []string) int { container, err := m.Container(args[0]) if err != nil { @@ -178,6 +212,20 @@ func init() { flags.StringVar(¶mContainerDataFile, []string{"-file", "f"}, paramContainerDataFile, "Write data to file") }, }, + command{ + names: []string{"get-container-data-size", "getcontainerdatasize"}, + optionsHelp: "[options [...]] containerNameOrID dataName", + usage: "Get size of data that is attached to an container", + action: getContainerBigDataSize, + minArgs: 2, + }, + command{ + names: []string{"get-container-data-digest", "getcontainerdatadigest"}, + optionsHelp: "[options [...]] containerNameOrID dataName", + usage: "Get digest of data that is attached to an container", + action: getContainerBigDataDigest, + minArgs: 2, + }, command{ names: []string{"set-container-data", "setcontainerdata"}, optionsHelp: "[options [...]] containerNameOrID dataName", diff --git a/cmd/containers-storage/image.go b/cmd/containers-storage/image.go index 79c45587e..5555dfe6c 100644 --- a/cmd/containers-storage/image.go +++ b/cmd/containers-storage/image.go @@ -83,6 +83,40 @@ func getImageBigData(flags *mflag.FlagSet, action string, m storage.Store, args return 0 } +func getImageBigDataSize(flags *mflag.FlagSet, action string, m storage.Store, args []string) int { + image, err := m.Image(args[0]) + if err != nil { + fmt.Fprintf(os.Stderr, "%v\n", err) + return 1 + } + size, err := m.ImageBigDataSize(image.ID, args[1]) + if err != nil { + fmt.Fprintf(os.Stderr, "%v\n", err) + return 1 + } + fmt.Fprintf(os.Stdout, "%d\n", size) + return 0 +} + +func getImageBigDataDigest(flags *mflag.FlagSet, action string, m storage.Store, args []string) int { + image, err := m.Image(args[0]) + if err != nil { + fmt.Fprintf(os.Stderr, "%v\n", err) + return 1 + } + d, err := m.ImageBigDataDigest(image.ID, args[1]) + if err != nil { + fmt.Fprintf(os.Stderr, "%v\n", err) + return 1 + } + if d.Validate() != nil { + fmt.Fprintf(os.Stderr, "%v\n", d.Validate()) + return 1 + } + fmt.Fprintf(os.Stdout, "%s\n", d.String()) + return 0 +} + func setImageBigData(flags *mflag.FlagSet, action string, m storage.Store, args []string) int { image, err := m.Image(args[0]) if err != nil { @@ -144,6 +178,20 @@ func init() { flags.StringVar(¶mImageDataFile, []string{"-file", "f"}, paramImageDataFile, "Write data to file") }, }, + command{ + names: []string{"get-image-data-size", "getimagedatasize"}, + optionsHelp: "[options [...]] imageNameOrID dataName", + usage: "Get size of data that is attached to an image", + action: getImageBigDataSize, + minArgs: 2, + }, + command{ + names: []string{"get-image-data-digest", "getimagedatadigest"}, + optionsHelp: "[options [...]] imageNameOrID dataName", + usage: "Get digest of data that is attached to an image", + action: getImageBigDataDigest, + minArgs: 2, + }, command{ names: []string{"set-image-data", "setimagedata"}, optionsHelp: "[options [...]] imageNameOrID dataName", diff --git a/cmd/containers-storage/main.go b/cmd/containers-storage/main.go index 19c2d43ef..3e3b6fc35 100644 --- a/cmd/containers-storage/main.go +++ b/cmd/containers-storage/main.go @@ -49,7 +49,7 @@ func main() { fmt.Printf("Usage: containers-storage command [options [...]]\n\n") fmt.Printf("Commands:\n\n") for _, command := range commands { - fmt.Printf(" %-22s%s\n", command.names[0], command.usage) + fmt.Printf(" %-30s%s\n", command.names[0], command.usage) } fmt.Printf("\nOptions:\n") flags.PrintDefaults() diff --git a/docs/containers-storage-get-container-data-digest.md b/docs/containers-storage-get-container-data-digest.md new file mode 100644 index 000000000..4a2e78306 --- /dev/null +++ b/docs/containers-storage-get-container-data-digest.md @@ -0,0 +1,20 @@ +## containers-storage-get-container-data-digest 1 "August 2017" + +## NAME +containers-storage get-container-data-digest - Retrieve the digest of a lookaside data item + +## SYNOPSIS +**containers-storage** **get-container-data-digest** *containerNameOrID* *dataName* + +## DESCRIPTION +Prints the digest of the named data item which is associated with the specified +container. + +## EXAMPLE +**containers-storage get-container-data-digest my-container manifest.json** + +## SEE ALSO +containers-storage-get-container-data(1) +containers-storage-get-container-data-size(1) +containers-storage-list-container-data(1) +containers-storage-set-container-data(1) diff --git a/docs/containers-storage-get-container-data-size.md b/docs/containers-storage-get-container-data-size.md new file mode 100644 index 000000000..b92dec26c --- /dev/null +++ b/docs/containers-storage-get-container-data-size.md @@ -0,0 +1,20 @@ +## containers-storage-get-container-data-size 1 "August 2017" + +## NAME +containers-storage get-container-data-size - Retrieve the size of a lookaside data item + +## SYNOPSIS +**containers-storage** **get-container-data-size** *containerNameOrID* *dataName* + +## DESCRIPTION +Prints the size of the named data item which is associated with the specified +container. + +## EXAMPLE +**containers-storage get-container-data-size my-container blah.foo** + +## SEE ALSO +containers-storage-get-container-data(1) +containers-storage-get-container-data-digest(1) +containers-storage-list-container-data(1) +containers-storage-set-image-data(1) diff --git a/docs/containers-storage-get-container-data.md b/docs/containers-storage-get-container-data.md index 4e51eeeea..0dbfdcca2 100644 --- a/docs/containers-storage-get-container-data.md +++ b/docs/containers-storage-get-container-data.md @@ -19,4 +19,6 @@ Write the data to a file instead of stdout. ## SEE ALSO containers-storage-list-container-data(1) +containers-storage-get-container-data-size(1) +containers-storage-get-container-data-digest(1) containers-storage-set-container-data(1) diff --git a/docs/containers-storage-get-image-data-digest.md b/docs/containers-storage-get-image-data-digest.md new file mode 100644 index 000000000..2b5c89d52 --- /dev/null +++ b/docs/containers-storage-get-image-data-digest.md @@ -0,0 +1,20 @@ +## containers-storage-get-image-data-digest 1 "August 2017" + +## NAME +containers-storage get-image-data-digest - Retrieve the digest of a lookaside data item + +## SYNOPSIS +**containers-storage** **get-image-data-digest** *imageNameOrID* *dataName* + +## DESCRIPTION +Prints the digest of the named data item which is associated with the specified +image. + +## EXAMPLE +**containers-storage get-image-data-digest my-image manifest.json** + +## SEE ALSO +containers-storage-get-image-data(1) +containers-storage-get-image-data-size(1) +containers-storage-list-image-data(1) +containers-storage-set-image-data(1) diff --git a/docs/containers-storage-get-image-data-size.md b/docs/containers-storage-get-image-data-size.md new file mode 100644 index 000000000..e946508eb --- /dev/null +++ b/docs/containers-storage-get-image-data-size.md @@ -0,0 +1,20 @@ +## containers-storage-get-image-data-size 1 "August 2017" + +## NAME +containers-storage get-image-data-size - Retrieve the size of a lookaside data item + +## SYNOPSIS +**containers-storage** **get-image-data-size** *imageNameOrID* *dataName* + +## DESCRIPTION +Prints the size of the named data item which is associated with the specified +image. + +## EXAMPLE +**containers-storage get-image-data-size my-image manifest.json** + +## SEE ALSO +containers-storage-get-image-data(1) +containers-storage-get-image-data-digest(1) +containers-storage-list-image-data(1) +containers-storage-set-image-data(1) diff --git a/docs/containers-storage-get-image-data.md b/docs/containers-storage-get-image-data.md index 07cb2e551..ec853d725 100644 --- a/docs/containers-storage-get-image-data.md +++ b/docs/containers-storage-get-image-data.md @@ -19,4 +19,6 @@ Write the data to a file instead of stdout. ## SEE ALSO containers-storage-list-image-data(1) +containers-storage-get-image-data-size(1) +containers-storage-get-image-data-digest(1) containers-storage-set-image-data(1) diff --git a/docs/containers-storage-list-container-data.md b/docs/containers-storage-list-container-data.md index f46332e4c..0c7ccbc95 100644 --- a/docs/containers-storage-list-container-data.md +++ b/docs/containers-storage-list-container-data.md @@ -14,4 +14,6 @@ List the pieces of named data which are associated with a container. ## SEE ALSO containers-storage-get-container-data(1) +containers-storage-get-container-data-size(1) +containers-storage-get-container-data-digest(1) containers-storage-set-container-data(1) diff --git a/docs/containers-storage-list-image-data.md b/docs/containers-storage-list-image-data.md index b33cd1e6b..5dd8fc6f8 100644 --- a/docs/containers-storage-list-image-data.md +++ b/docs/containers-storage-list-image-data.md @@ -14,4 +14,6 @@ List the pieces of named data which are associated with an image. ## SEE ALSO containers-storage-get-image-data(1) -containers-storage-list-image-data(1) +containers-storage-get-image-data-size(1) +containers-storage-get-image-data-digest(1) +containers-storage-set-image-data(1) diff --git a/docs/containers-storage-set-container-data.md b/docs/containers-storage-set-container-data.md index 9cb30289f..4ee23730e 100644 --- a/docs/containers-storage-set-container-data.md +++ b/docs/containers-storage-set-container-data.md @@ -18,5 +18,7 @@ Read the data contents from a file instead of stdin. **containers-storage set-container-data -f ./config.json my-container configuration** ## SEE ALSO -containers-storage-get-container-data(1) containers-storage-list-container-data(1) +containers-storage-get-container-data(1) +containers-storage-get-container-data-size(1) +containers-storage-get-container-data-digest(1) diff --git a/docs/containers-storage-set-image-data.md b/docs/containers-storage-set-image-data.md index 09187d677..dd0abe663 100644 --- a/docs/containers-storage-set-image-data.md +++ b/docs/containers-storage-set-image-data.md @@ -18,5 +18,7 @@ Read the data contents from a file instead of stdin. **containers-storage set-image-data -f ./manifest.json my-image manifest** ## SEE ALSO -containers-storage-get-image-data(1) containers-storage-list-image-data(1) +containers-storage-get-image-data(1) +containers-storage-get-image-data-size(1) +containers-storage-get-image-data-digest(1)