Commit c5f672a0 authored by Nick Sardo's avatar Nick Sardo

Update GCP API package

parent 89cd583e
...@@ -430,32 +430,32 @@ ...@@ -430,32 +430,32 @@
}, },
{ {
"ImportPath": "github.com/containernetworking/cni/libcni", "ImportPath": "github.com/containernetworking/cni/libcni",
"Comment": "v0.5.2", "Comment": "spec-v0.3.1",
"Rev": "137b4975ecab6e1f0c24c1e3c228a50a3cfba75e" "Rev": "137b4975ecab6e1f0c24c1e3c228a50a3cfba75e"
}, },
{ {
"ImportPath": "github.com/containernetworking/cni/pkg/invoke", "ImportPath": "github.com/containernetworking/cni/pkg/invoke",
"Comment": "v0.5.2", "Comment": "spec-v0.3.1",
"Rev": "137b4975ecab6e1f0c24c1e3c228a50a3cfba75e" "Rev": "137b4975ecab6e1f0c24c1e3c228a50a3cfba75e"
}, },
{ {
"ImportPath": "github.com/containernetworking/cni/pkg/types", "ImportPath": "github.com/containernetworking/cni/pkg/types",
"Comment": "v0.5.2", "Comment": "spec-v0.3.1",
"Rev": "137b4975ecab6e1f0c24c1e3c228a50a3cfba75e" "Rev": "137b4975ecab6e1f0c24c1e3c228a50a3cfba75e"
}, },
{ {
"ImportPath": "github.com/containernetworking/cni/pkg/types/020", "ImportPath": "github.com/containernetworking/cni/pkg/types/020",
"Comment": "v0.5.2", "Comment": "spec-v0.3.1",
"Rev": "137b4975ecab6e1f0c24c1e3c228a50a3cfba75e" "Rev": "137b4975ecab6e1f0c24c1e3c228a50a3cfba75e"
}, },
{ {
"ImportPath": "github.com/containernetworking/cni/pkg/types/current", "ImportPath": "github.com/containernetworking/cni/pkg/types/current",
"Comment": "v0.5.2", "Comment": "spec-v0.3.1",
"Rev": "137b4975ecab6e1f0c24c1e3c228a50a3cfba75e" "Rev": "137b4975ecab6e1f0c24c1e3c228a50a3cfba75e"
}, },
{ {
"ImportPath": "github.com/containernetworking/cni/pkg/version", "ImportPath": "github.com/containernetworking/cni/pkg/version",
"Comment": "v0.5.2", "Comment": "spec-v0.3.1",
"Rev": "137b4975ecab6e1f0c24c1e3c228a50a3cfba75e" "Rev": "137b4975ecab6e1f0c24c1e3c228a50a3cfba75e"
}, },
{ {
...@@ -838,12 +838,12 @@ ...@@ -838,12 +838,12 @@
}, },
{ {
"ImportPath": "github.com/docker/distribution/digest", "ImportPath": "github.com/docker/distribution/digest",
"Comment": "v2.4.0-rc.1-38-gcd27f17", "Comment": "v2.4.0-rc.1-38-gcd27f179",
"Rev": "cd27f179f2c10c5d300e6d09025b538c475b0d51" "Rev": "cd27f179f2c10c5d300e6d09025b538c475b0d51"
}, },
{ {
"ImportPath": "github.com/docker/distribution/reference", "ImportPath": "github.com/docker/distribution/reference",
"Comment": "v2.4.0-rc.1-38-gcd27f17", "Comment": "v2.4.0-rc.1-38-gcd27f179",
"Rev": "cd27f179f2c10c5d300e6d09025b538c475b0d51" "Rev": "cd27f179f2c10c5d300e6d09025b538c475b0d51"
}, },
{ {
...@@ -1171,127 +1171,127 @@ ...@@ -1171,127 +1171,127 @@
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/gogoproto", "ImportPath": "github.com/gogo/protobuf/gogoproto",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/compare", "ImportPath": "github.com/gogo/protobuf/plugin/compare",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/defaultcheck", "ImportPath": "github.com/gogo/protobuf/plugin/defaultcheck",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/description", "ImportPath": "github.com/gogo/protobuf/plugin/description",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/embedcheck", "ImportPath": "github.com/gogo/protobuf/plugin/embedcheck",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/enumstringer", "ImportPath": "github.com/gogo/protobuf/plugin/enumstringer",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/equal", "ImportPath": "github.com/gogo/protobuf/plugin/equal",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/face", "ImportPath": "github.com/gogo/protobuf/plugin/face",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/gostring", "ImportPath": "github.com/gogo/protobuf/plugin/gostring",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/marshalto", "ImportPath": "github.com/gogo/protobuf/plugin/marshalto",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/oneofcheck", "ImportPath": "github.com/gogo/protobuf/plugin/oneofcheck",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/populate", "ImportPath": "github.com/gogo/protobuf/plugin/populate",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/size", "ImportPath": "github.com/gogo/protobuf/plugin/size",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/stringer", "ImportPath": "github.com/gogo/protobuf/plugin/stringer",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/testgen", "ImportPath": "github.com/gogo/protobuf/plugin/testgen",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/union", "ImportPath": "github.com/gogo/protobuf/plugin/union",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/unmarshal", "ImportPath": "github.com/gogo/protobuf/plugin/unmarshal",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/proto", "ImportPath": "github.com/gogo/protobuf/proto",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/descriptor", "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/descriptor",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/generator", "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/generator",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/grpc", "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/grpc",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/plugin", "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/plugin",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/sortkeys", "ImportPath": "github.com/gogo/protobuf/sortkeys",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/vanity", "ImportPath": "github.com/gogo/protobuf/vanity",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/vanity/command", "ImportPath": "github.com/gogo/protobuf/vanity/command",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
...@@ -2152,82 +2152,82 @@ ...@@ -2152,82 +2152,82 @@
}, },
{ {
"ImportPath": "github.com/opencontainers/runc/libcontainer", "ImportPath": "github.com/opencontainers/runc/libcontainer",
"Comment": "v1.0.0-rc2-49-gd223e2a", "Comment": "v1.0.0-rc2-49-gd223e2ad",
"Rev": "d223e2adae83f62d58448a799a5da05730228089" "Rev": "d223e2adae83f62d58448a799a5da05730228089"
}, },
{ {
"ImportPath": "github.com/opencontainers/runc/libcontainer/apparmor", "ImportPath": "github.com/opencontainers/runc/libcontainer/apparmor",
"Comment": "v1.0.0-rc2-49-gd223e2a", "Comment": "v1.0.0-rc2-49-gd223e2ad",
"Rev": "d223e2adae83f62d58448a799a5da05730228089" "Rev": "d223e2adae83f62d58448a799a5da05730228089"
}, },
{ {
"ImportPath": "github.com/opencontainers/runc/libcontainer/cgroups", "ImportPath": "github.com/opencontainers/runc/libcontainer/cgroups",
"Comment": "v1.0.0-rc2-49-gd223e2a", "Comment": "v1.0.0-rc2-49-gd223e2ad",
"Rev": "d223e2adae83f62d58448a799a5da05730228089" "Rev": "d223e2adae83f62d58448a799a5da05730228089"
}, },
{ {
"ImportPath": "github.com/opencontainers/runc/libcontainer/cgroups/fs", "ImportPath": "github.com/opencontainers/runc/libcontainer/cgroups/fs",
"Comment": "v1.0.0-rc2-49-gd223e2a", "Comment": "v1.0.0-rc2-49-gd223e2ad",
"Rev": "d223e2adae83f62d58448a799a5da05730228089" "Rev": "d223e2adae83f62d58448a799a5da05730228089"
}, },
{ {
"ImportPath": "github.com/opencontainers/runc/libcontainer/cgroups/systemd", "ImportPath": "github.com/opencontainers/runc/libcontainer/cgroups/systemd",
"Comment": "v1.0.0-rc2-49-gd223e2a", "Comment": "v1.0.0-rc2-49-gd223e2ad",
"Rev": "d223e2adae83f62d58448a799a5da05730228089" "Rev": "d223e2adae83f62d58448a799a5da05730228089"
}, },
{ {
"ImportPath": "github.com/opencontainers/runc/libcontainer/configs", "ImportPath": "github.com/opencontainers/runc/libcontainer/configs",
"Comment": "v1.0.0-rc2-49-gd223e2a", "Comment": "v1.0.0-rc2-49-gd223e2ad",
"Rev": "d223e2adae83f62d58448a799a5da05730228089" "Rev": "d223e2adae83f62d58448a799a5da05730228089"
}, },
{ {
"ImportPath": "github.com/opencontainers/runc/libcontainer/configs/validate", "ImportPath": "github.com/opencontainers/runc/libcontainer/configs/validate",
"Comment": "v1.0.0-rc2-49-gd223e2a", "Comment": "v1.0.0-rc2-49-gd223e2ad",
"Rev": "d223e2adae83f62d58448a799a5da05730228089" "Rev": "d223e2adae83f62d58448a799a5da05730228089"
}, },
{ {
"ImportPath": "github.com/opencontainers/runc/libcontainer/criurpc", "ImportPath": "github.com/opencontainers/runc/libcontainer/criurpc",
"Comment": "v1.0.0-rc2-49-gd223e2a", "Comment": "v1.0.0-rc2-49-gd223e2ad",
"Rev": "d223e2adae83f62d58448a799a5da05730228089" "Rev": "d223e2adae83f62d58448a799a5da05730228089"
}, },
{ {
"ImportPath": "github.com/opencontainers/runc/libcontainer/keys", "ImportPath": "github.com/opencontainers/runc/libcontainer/keys",
"Comment": "v1.0.0-rc2-49-gd223e2a", "Comment": "v1.0.0-rc2-49-gd223e2ad",
"Rev": "d223e2adae83f62d58448a799a5da05730228089" "Rev": "d223e2adae83f62d58448a799a5da05730228089"
}, },
{ {
"ImportPath": "github.com/opencontainers/runc/libcontainer/label", "ImportPath": "github.com/opencontainers/runc/libcontainer/label",
"Comment": "v1.0.0-rc2-49-gd223e2a", "Comment": "v1.0.0-rc2-49-gd223e2ad",
"Rev": "d223e2adae83f62d58448a799a5da05730228089" "Rev": "d223e2adae83f62d58448a799a5da05730228089"
}, },
{ {
"ImportPath": "github.com/opencontainers/runc/libcontainer/seccomp", "ImportPath": "github.com/opencontainers/runc/libcontainer/seccomp",
"Comment": "v1.0.0-rc2-49-gd223e2a", "Comment": "v1.0.0-rc2-49-gd223e2ad",
"Rev": "d223e2adae83f62d58448a799a5da05730228089" "Rev": "d223e2adae83f62d58448a799a5da05730228089"
}, },
{ {
"ImportPath": "github.com/opencontainers/runc/libcontainer/selinux", "ImportPath": "github.com/opencontainers/runc/libcontainer/selinux",
"Comment": "v1.0.0-rc2-49-gd223e2a", "Comment": "v1.0.0-rc2-49-gd223e2ad",
"Rev": "d223e2adae83f62d58448a799a5da05730228089" "Rev": "d223e2adae83f62d58448a799a5da05730228089"
}, },
{ {
"ImportPath": "github.com/opencontainers/runc/libcontainer/stacktrace", "ImportPath": "github.com/opencontainers/runc/libcontainer/stacktrace",
"Comment": "v1.0.0-rc2-49-gd223e2a", "Comment": "v1.0.0-rc2-49-gd223e2ad",
"Rev": "d223e2adae83f62d58448a799a5da05730228089" "Rev": "d223e2adae83f62d58448a799a5da05730228089"
}, },
{ {
"ImportPath": "github.com/opencontainers/runc/libcontainer/system", "ImportPath": "github.com/opencontainers/runc/libcontainer/system",
"Comment": "v1.0.0-rc2-49-gd223e2a", "Comment": "v1.0.0-rc2-49-gd223e2ad",
"Rev": "d223e2adae83f62d58448a799a5da05730228089" "Rev": "d223e2adae83f62d58448a799a5da05730228089"
}, },
{ {
"ImportPath": "github.com/opencontainers/runc/libcontainer/user", "ImportPath": "github.com/opencontainers/runc/libcontainer/user",
"Comment": "v1.0.0-rc2-49-gd223e2a", "Comment": "v1.0.0-rc2-49-gd223e2ad",
"Rev": "d223e2adae83f62d58448a799a5da05730228089" "Rev": "d223e2adae83f62d58448a799a5da05730228089"
}, },
{ {
"ImportPath": "github.com/opencontainers/runc/libcontainer/utils", "ImportPath": "github.com/opencontainers/runc/libcontainer/utils",
"Comment": "v1.0.0-rc2-49-gd223e2a", "Comment": "v1.0.0-rc2-49-gd223e2ad",
"Rev": "d223e2adae83f62d58448a799a5da05730228089" "Rev": "d223e2adae83f62d58448a799a5da05730228089"
}, },
{ {
...@@ -2298,107 +2298,107 @@ ...@@ -2298,107 +2298,107 @@
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud", "ImportPath": "github.com/rackspace/gophercloud",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/openstack", "ImportPath": "github.com/rackspace/gophercloud/openstack",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumes", "ImportPath": "github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumes",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/bootfromvolume", "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/bootfromvolume",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/diskconfig", "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/diskconfig",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/volumeattach", "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/volumeattach",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/flavors", "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/flavors",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/images", "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/images",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/servers", "ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/servers",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v2/tenants", "ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v2/tenants",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v2/tokens", "ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v2/tokens",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v3/tokens", "ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v3/tokens",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/openstack/utils", "ImportPath": "github.com/rackspace/gophercloud/openstack/utils",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/pagination", "ImportPath": "github.com/rackspace/gophercloud/pagination",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/rackspace", "ImportPath": "github.com/rackspace/gophercloud/rackspace",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes", "ImportPath": "github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/rackspace/compute/v2/servers", "ImportPath": "github.com/rackspace/gophercloud/rackspace/compute/v2/servers",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/rackspace/compute/v2/volumeattach", "ImportPath": "github.com/rackspace/gophercloud/rackspace/compute/v2/volumeattach",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/rackspace/identity/v2/tokens", "ImportPath": "github.com/rackspace/gophercloud/rackspace/identity/v2/tokens",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/testhelper", "ImportPath": "github.com/rackspace/gophercloud/testhelper",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
"ImportPath": "github.com/rackspace/gophercloud/testhelper/client", "ImportPath": "github.com/rackspace/gophercloud/testhelper/client",
"Comment": "v1.0.0-1012-ge00690e", "Comment": "v1.0.0-1012-ge00690e8",
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063" "Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
}, },
{ {
...@@ -2859,55 +2859,55 @@ ...@@ -2859,55 +2859,55 @@
}, },
{ {
"ImportPath": "google.golang.org/api/cloudkms/v1", "ImportPath": "google.golang.org/api/cloudkms/v1",
"Rev": "e3824ed33c72bf7e81da0286772c34b987520914" "Rev": "98825bb0065da4054e5da6db34f5fc598e50bc24"
}, },
{ {
"ImportPath": "google.golang.org/api/cloudmonitoring/v2beta2", "ImportPath": "google.golang.org/api/cloudmonitoring/v2beta2",
"Rev": "e3824ed33c72bf7e81da0286772c34b987520914" "Rev": "98825bb0065da4054e5da6db34f5fc598e50bc24"
}, },
{ {
"ImportPath": "google.golang.org/api/compute/v0.alpha", "ImportPath": "google.golang.org/api/compute/v0.alpha",
"Rev": "e3824ed33c72bf7e81da0286772c34b987520914" "Rev": "98825bb0065da4054e5da6db34f5fc598e50bc24"
}, },
{ {
"ImportPath": "google.golang.org/api/compute/v0.beta", "ImportPath": "google.golang.org/api/compute/v0.beta",
"Rev": "e3824ed33c72bf7e81da0286772c34b987520914" "Rev": "98825bb0065da4054e5da6db34f5fc598e50bc24"
}, },
{ {
"ImportPath": "google.golang.org/api/compute/v1", "ImportPath": "google.golang.org/api/compute/v1",
"Rev": "e3824ed33c72bf7e81da0286772c34b987520914" "Rev": "98825bb0065da4054e5da6db34f5fc598e50bc24"
}, },
{ {
"ImportPath": "google.golang.org/api/container/v1", "ImportPath": "google.golang.org/api/container/v1",
"Rev": "e3824ed33c72bf7e81da0286772c34b987520914" "Rev": "98825bb0065da4054e5da6db34f5fc598e50bc24"
}, },
{ {
"ImportPath": "google.golang.org/api/dns/v1", "ImportPath": "google.golang.org/api/dns/v1",
"Rev": "e3824ed33c72bf7e81da0286772c34b987520914" "Rev": "98825bb0065da4054e5da6db34f5fc598e50bc24"
}, },
{ {
"ImportPath": "google.golang.org/api/gensupport", "ImportPath": "google.golang.org/api/gensupport",
"Rev": "e3824ed33c72bf7e81da0286772c34b987520914" "Rev": "98825bb0065da4054e5da6db34f5fc598e50bc24"
}, },
{ {
"ImportPath": "google.golang.org/api/googleapi", "ImportPath": "google.golang.org/api/googleapi",
"Rev": "e3824ed33c72bf7e81da0286772c34b987520914" "Rev": "98825bb0065da4054e5da6db34f5fc598e50bc24"
}, },
{ {
"ImportPath": "google.golang.org/api/googleapi/internal/uritemplates", "ImportPath": "google.golang.org/api/googleapi/internal/uritemplates",
"Rev": "e3824ed33c72bf7e81da0286772c34b987520914" "Rev": "98825bb0065da4054e5da6db34f5fc598e50bc24"
}, },
{ {
"ImportPath": "google.golang.org/api/logging/v2beta1", "ImportPath": "google.golang.org/api/logging/v2beta1",
"Rev": "e3824ed33c72bf7e81da0286772c34b987520914" "Rev": "98825bb0065da4054e5da6db34f5fc598e50bc24"
}, },
{ {
"ImportPath": "google.golang.org/api/monitoring/v3", "ImportPath": "google.golang.org/api/monitoring/v3",
"Rev": "e3824ed33c72bf7e81da0286772c34b987520914" "Rev": "98825bb0065da4054e5da6db34f5fc598e50bc24"
}, },
{ {
"ImportPath": "google.golang.org/api/pubsub/v1", "ImportPath": "google.golang.org/api/pubsub/v1",
"Rev": "e3824ed33c72bf7e81da0286772c34b987520914" "Rev": "98825bb0065da4054e5da6db34f5fc598e50bc24"
}, },
{ {
"ImportPath": "google.golang.org/grpc", "ImportPath": "google.golang.org/grpc",
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -291,6 +291,15 @@ func (s *AuditLogConfig) MarshalJSON() ([]byte, error) { ...@@ -291,6 +291,15 @@ func (s *AuditLogConfig) MarshalJSON() ([]byte, error) {
// Binding: Associates `members` with a `role`. // Binding: Associates `members` with a `role`.
type Binding struct { type Binding struct {
// Condition: The condition that is associated with this binding.
// NOTE: an unsatisfied condition will not allow user access via
// current
// binding. Different bindings, including their conditions, are
// examined
// independently.
// This field is GOOGLE_INTERNAL.
Condition *Expr `json:"condition,omitempty"`
// Members: Specifies the identities requesting access for a Cloud // Members: Specifies the identities requesting access for a Cloud
// Platform resource. // Platform resource.
// `members` can have the following values: // `members` can have the following values:
...@@ -317,6 +326,7 @@ type Binding struct { ...@@ -317,6 +326,7 @@ type Binding struct {
// group. // group.
// For example, `admins@example.com`. // For example, `admins@example.com`.
// //
//
// * `domain:{domain}`: A Google Apps domain name that represents all // * `domain:{domain}`: A Google Apps domain name that represents all
// the // the
// users of that domain. For example, `google.com` or // users of that domain. For example, `google.com` or
...@@ -331,7 +341,7 @@ type Binding struct { ...@@ -331,7 +341,7 @@ type Binding struct {
// Required // Required
Role string `json:"role,omitempty"` Role string `json:"role,omitempty"`
// ForceSendFields is a list of field names (e.g. "Members") to // ForceSendFields is a list of field names (e.g. "Condition") to
// unconditionally include in API requests. By default, fields with // unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer, // empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the // non-interface field appearing in ForceSendFields will be sent to the
...@@ -339,7 +349,7 @@ type Binding struct { ...@@ -339,7 +349,7 @@ type Binding struct {
// used to include empty fields in Patch requests. // used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"` ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Members") to include in // NullFields is a list of field names (e.g. "Condition") to include in
// API requests with the JSON null value. By default, fields with empty // API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an // values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as // empty value appearing in NullFields will be sent to the server as
...@@ -356,6 +366,37 @@ func (s *Binding) MarshalJSON() ([]byte, error) { ...@@ -356,6 +366,37 @@ func (s *Binding) MarshalJSON() ([]byte, error) {
// CloudAuditOptions: Write a Cloud Audit log // CloudAuditOptions: Write a Cloud Audit log
type CloudAuditOptions struct { type CloudAuditOptions struct {
// LogName: The log_name to populate in the Cloud Audit Record.
//
// Possible values:
// "UNSPECIFIED_LOG_NAME" - Default. Should not be used.
// "ADMIN_ACTIVITY" - Corresponds to
// "cloudaudit.googleapis.com/activity"
// "DATA_ACCESS" - Corresponds to
// "cloudaudit.googleapis.com/data_access"
LogName string `json:"logName,omitempty"`
// ForceSendFields is a list of field names (e.g. "LogName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "LogName") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CloudAuditOptions) MarshalJSON() ([]byte, error) {
type noMethod CloudAuditOptions
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
} }
// Condition: A condition to be met. // Condition: A condition to be met.
...@@ -379,7 +420,6 @@ type Condition struct { ...@@ -379,7 +420,6 @@ type Condition struct {
// additional // additional
// access, and are thus only used in a strictly positive context // access, and are thus only used in a strictly positive context
// (e.g. ALLOW/IN or DENY/NOT_IN). // (e.g. ALLOW/IN or DENY/NOT_IN).
// See: go/rpc-security-policy-dynamicauth.
// "JUSTIFICATION_TYPE" - What types of justifications have been // "JUSTIFICATION_TYPE" - What types of justifications have been
// supplied with this request. // supplied with this request.
// String values should match enum names from // String values should match enum names from
...@@ -801,6 +841,60 @@ func (s *EncryptResponse) MarshalJSON() ([]byte, error) { ...@@ -801,6 +841,60 @@ func (s *EncryptResponse) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
} }
// Expr: Represents an expression text. Example:
//
// title: "User account presence"
// description: "Determines whether the request has a user account"
// expression: "size(request.user) > 0"
type Expr struct {
// Description: An optional description of the expression. This is a
// longer text which
// describes the expression, e.g. when hovered over it in a UI.
Description string `json:"description,omitempty"`
// Expression: Textual representation of an expression in
// Common Expression Language syntax.
//
// The application context of the containing message determines
// which
// well-known feature set of CEL is supported.
Expression string `json:"expression,omitempty"`
// Location: An optional string indicating the location of the
// expression for error
// reporting, e.g. a file name and a position in the file.
Location string `json:"location,omitempty"`
// Title: An optional title for the expression, i.e. a short string
// describing
// its purpose. This can be used e.g. in UIs which allow to enter
// the
// expression.
Title string `json:"title,omitempty"`
// ForceSendFields is a list of field names (e.g. "Description") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Description") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Expr) MarshalJSON() ([]byte, error) {
type noMethod Expr
raw := noMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// KeyRing: A KeyRing is a toplevel logical grouping of CryptoKeys. // KeyRing: A KeyRing is a toplevel logical grouping of CryptoKeys.
type KeyRing struct { type KeyRing struct {
// CreateTime: Output only. The time at which this KeyRing was created. // CreateTime: Output only. The time at which this KeyRing was created.
...@@ -1053,6 +1147,35 @@ func (s *Location) MarshalJSON() ([]byte, error) { ...@@ -1053,6 +1147,35 @@ func (s *Location) MarshalJSON() ([]byte, error) {
} }
// LogConfig: Specifies what kind of log the caller must write // LogConfig: Specifies what kind of log the caller must write
// Increment a streamz counter with the specified metric and field
// names.
//
// Metric names should start with a '/', generally be
// lowercase-only,
// and end in "_count". Field names should not contain an initial
// slash.
// The actual exported metric names will have "/iam/policy"
// prepended.
//
// Field names correspond to IAM request parameters and field values
// are
// their respective values.
//
// At present the only supported field names are
// - "iam_principal", corresponding to IAMContext.principal;
// - "" (empty string), resulting in one aggretated counter with no
// field.
//
// Examples:
// counter { metric: "/debug_access_count" field: "iam_principal" }
// ==> increment counter /iam/policy/backend_debug_access_count
// {iam_principal=[value of
// IAMContext.principal]}
//
// At this time we do not support:
// * multiple field names (though this may be supported in the future)
// * decrementing the counter
// * incrementing it by anything other than 1
type LogConfig struct { type LogConfig struct {
// CloudAudit: Cloud audit options. // CloudAudit: Cloud audit options.
CloudAudit *CloudAuditOptions `json:"cloudAudit,omitempty"` CloudAudit *CloudAuditOptions `json:"cloudAudit,omitempty"`
...@@ -1128,8 +1251,6 @@ type Policy struct { ...@@ -1128,8 +1251,6 @@ type Policy struct {
AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"` AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
// Bindings: Associates a list of `members` to a `role`. // Bindings: Associates a list of `members` to a `role`.
// Multiple `bindings` must not be specified for the same
// `role`.
// `bindings` with no members will result in an error. // `bindings` with no members will result in an error.
Bindings []*Binding `json:"bindings,omitempty"` Bindings []*Binding `json:"bindings,omitempty"`
...@@ -2819,7 +2940,7 @@ type ProjectsLocationsKeyRingsCryptoKeysDecryptCall struct { ...@@ -2819,7 +2940,7 @@ type ProjectsLocationsKeyRingsCryptoKeysDecryptCall struct {
header_ http.Header header_ http.Header
} }
// Decrypt: Decrypt data that was protected by Encrypt. // Decrypt: Decrypts data that was protected by Encrypt.
func (r *ProjectsLocationsKeyRingsCryptoKeysService) Decrypt(name string, decryptrequest *DecryptRequest) *ProjectsLocationsKeyRingsCryptoKeysDecryptCall { func (r *ProjectsLocationsKeyRingsCryptoKeysService) Decrypt(name string, decryptrequest *DecryptRequest) *ProjectsLocationsKeyRingsCryptoKeysDecryptCall {
c := &ProjectsLocationsKeyRingsCryptoKeysDecryptCall{s: r.s, urlParams_: make(gensupport.URLParams)} c := &ProjectsLocationsKeyRingsCryptoKeysDecryptCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name c.name = name
...@@ -2913,7 +3034,7 @@ func (c *ProjectsLocationsKeyRingsCryptoKeysDecryptCall) Do(opts ...googleapi.Ca ...@@ -2913,7 +3034,7 @@ func (c *ProjectsLocationsKeyRingsCryptoKeysDecryptCall) Do(opts ...googleapi.Ca
} }
return ret, nil return ret, nil
// { // {
// "description": "Decrypt data that was protected by Encrypt.", // "description": "Decrypts data that was protected by Encrypt.",
// "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:decrypt", // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:decrypt",
// "httpMethod": "POST", // "httpMethod": "POST",
// "id": "cloudkms.projects.locations.keyRings.cryptoKeys.decrypt", // "id": "cloudkms.projects.locations.keyRings.cryptoKeys.decrypt",
...@@ -2954,7 +3075,7 @@ type ProjectsLocationsKeyRingsCryptoKeysEncryptCall struct { ...@@ -2954,7 +3075,7 @@ type ProjectsLocationsKeyRingsCryptoKeysEncryptCall struct {
header_ http.Header header_ http.Header
} }
// Encrypt: Encrypt data, so that it can only be recovered by a call to // Encrypt: Encrypts data, so that it can only be recovered by a call to
// Decrypt. // Decrypt.
func (r *ProjectsLocationsKeyRingsCryptoKeysService) Encrypt(name string, encryptrequest *EncryptRequest) *ProjectsLocationsKeyRingsCryptoKeysEncryptCall { func (r *ProjectsLocationsKeyRingsCryptoKeysService) Encrypt(name string, encryptrequest *EncryptRequest) *ProjectsLocationsKeyRingsCryptoKeysEncryptCall {
c := &ProjectsLocationsKeyRingsCryptoKeysEncryptCall{s: r.s, urlParams_: make(gensupport.URLParams)} c := &ProjectsLocationsKeyRingsCryptoKeysEncryptCall{s: r.s, urlParams_: make(gensupport.URLParams)}
...@@ -3049,7 +3170,7 @@ func (c *ProjectsLocationsKeyRingsCryptoKeysEncryptCall) Do(opts ...googleapi.Ca ...@@ -3049,7 +3170,7 @@ func (c *ProjectsLocationsKeyRingsCryptoKeysEncryptCall) Do(opts ...googleapi.Ca
} }
return ret, nil return ret, nil
// { // {
// "description": "Encrypt data, so that it can only be recovered by a call to Decrypt.", // "description": "Encrypts data, so that it can only be recovered by a call to Decrypt.",
// "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:encrypt", // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:encrypt",
// "httpMethod": "POST", // "httpMethod": "POST",
// "id": "cloudkms.projects.locations.keyRings.cryptoKeys.encrypt", // "id": "cloudkms.projects.locations.keyRings.cryptoKeys.encrypt",
......
{ {
"kind": "discovery#restDescription", "kind": "discovery#restDescription",
"etag": "\"tbys6C40o18GZwyMen5GMkdK-3s/mLggzdz9EvP0lVEQoxoRvdSJShg\"", "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/NOsFjtPY9zRzc3K9F8mQGuDeSj0\"",
"discoveryVersion": "v1", "discoveryVersion": "v1",
"id": "cloudmonitoring:v2beta2", "id": "cloudmonitoring:v2beta2",
"name": "cloudmonitoring", "name": "cloudmonitoring",
"canonicalName": "Cloud Monitoring", "canonicalName": "Cloud Monitoring",
"version": "v2beta2", "version": "v2beta2",
"revision": "20161031", "revision": "20170501",
"title": "Cloud Monitoring API", "title": "Cloud Monitoring API",
"description": "Accesses Google Cloud Monitoring data.", "description": "Accesses Google Cloud Monitoring data.",
"ownerDomain": "google.com", "ownerDomain": "google.com",
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
{ {
"kind": "discovery#restDescription", "kind": "discovery#restDescription",
"etag": "\"tbys6C40o18GZwyMen5GMkdK-3s/RqBsQyB2YZT-ZAkK7pcLByI9SZs\"", "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/gwrprolZcJUNBq_AKpcBKtz0xIE\"",
"discoveryVersion": "v1", "discoveryVersion": "v1",
"id": "dns:v1", "id": "dns:v1",
"name": "dns", "name": "dns",
"version": "v1", "version": "v1",
"revision": "20161110", "revision": "20170602",
"title": "Google Cloud DNS API", "title": "Google Cloud DNS API",
"description": "Configures and serves authoritative DNS records.", "description": "Configures and serves authoritative DNS records.",
"ownerDomain": "google.com", "ownerDomain": "google.com",
......
...@@ -22,23 +22,33 @@ func MarshalJSON(schema interface{}, forceSendFields, nullFields []string) ([]by ...@@ -22,23 +22,33 @@ func MarshalJSON(schema interface{}, forceSendFields, nullFields []string) ([]by
return json.Marshal(schema) return json.Marshal(schema)
} }
mustInclude := make(map[string]struct{}) mustInclude := make(map[string]bool)
for _, f := range forceSendFields { for _, f := range forceSendFields {
mustInclude[f] = struct{}{} mustInclude[f] = true
} }
useNull := make(map[string]struct{}) useNull := make(map[string]bool)
for _, f := range nullFields { useNullMaps := make(map[string]map[string]bool)
useNull[f] = struct{}{} for _, nf := range nullFields {
parts := strings.SplitN(nf, ".", 2)
field := parts[0]
if len(parts) == 1 {
useNull[field] = true
} else {
if useNullMaps[field] == nil {
useNullMaps[field] = map[string]bool{}
}
useNullMaps[field][parts[1]] = true
}
} }
dataMap, err := schemaToMap(schema, mustInclude, useNull) dataMap, err := schemaToMap(schema, mustInclude, useNull, useNullMaps)
if err != nil { if err != nil {
return nil, err return nil, err
} }
return json.Marshal(dataMap) return json.Marshal(dataMap)
} }
func schemaToMap(schema interface{}, mustInclude, useNull map[string]struct{}) (map[string]interface{}, error) { func schemaToMap(schema interface{}, mustInclude, useNull map[string]bool, useNullMaps map[string]map[string]bool) (map[string]interface{}, error) {
m := make(map[string]interface{}) m := make(map[string]interface{})
s := reflect.ValueOf(schema) s := reflect.ValueOf(schema)
st := s.Type() st := s.Type()
...@@ -59,17 +69,35 @@ func schemaToMap(schema interface{}, mustInclude, useNull map[string]struct{}) ( ...@@ -59,17 +69,35 @@ func schemaToMap(schema interface{}, mustInclude, useNull map[string]struct{}) (
v := s.Field(i) v := s.Field(i)
f := st.Field(i) f := st.Field(i)
if _, ok := useNull[f.Name]; ok { if useNull[f.Name] {
if !isEmptyValue(v) { if !isEmptyValue(v) {
return nil, fmt.Errorf("field %q in NullFields has non-empty value", f.Name) return nil, fmt.Errorf("field %q in NullFields has non-empty value", f.Name)
} }
m[tag.apiName] = nil m[tag.apiName] = nil
continue continue
} }
if !includeField(v, f, mustInclude) { if !includeField(v, f, mustInclude) {
continue continue
} }
// If map fields are explicitly set to null, use a map[string]interface{}.
if f.Type.Kind() == reflect.Map && useNullMaps[f.Name] != nil {
ms, ok := v.Interface().(map[string]string)
if !ok {
return nil, fmt.Errorf("field %q has keys in NullFields but is not a map[string]string", f.Name)
}
mi := map[string]interface{}{}
for k, v := range ms {
mi[k] = v
}
for k := range useNullMaps[f.Name] {
mi[k] = nil
}
m[tag.apiName] = mi
continue
}
// nil maps are treated as empty maps. // nil maps are treated as empty maps.
if f.Type.Kind() == reflect.Map && v.IsNil() { if f.Type.Kind() == reflect.Map && v.IsNil() {
m[tag.apiName] = map[string]string{} m[tag.apiName] = map[string]string{}
...@@ -139,7 +167,7 @@ func parseJSONTag(val string) (jsonTag, error) { ...@@ -139,7 +167,7 @@ func parseJSONTag(val string) (jsonTag, error) {
} }
// Reports whether the struct field "f" with value "v" should be included in JSON output. // Reports whether the struct field "f" with value "v" should be included in JSON output.
func includeField(v reflect.Value, f reflect.StructField, mustInclude map[string]struct{}) bool { func includeField(v reflect.Value, f reflect.StructField, mustInclude map[string]bool) bool {
// The regular JSON encoding of a nil pointer is "null", which means "delete this field". // The regular JSON encoding of a nil pointer is "null", which means "delete this field".
// Therefore, we could enable field deletion by honoring pointer fields' presence in the mustInclude set. // Therefore, we could enable field deletion by honoring pointer fields' presence in the mustInclude set.
// However, many fields are not pointers, so there would be no way to delete these fields. // However, many fields are not pointers, so there would be no way to delete these fields.
...@@ -156,8 +184,7 @@ func includeField(v reflect.Value, f reflect.StructField, mustInclude map[string ...@@ -156,8 +184,7 @@ func includeField(v reflect.Value, f reflect.StructField, mustInclude map[string
return false return false
} }
_, ok := mustInclude[f.Name] return mustInclude[f.Name] || !isEmptyValue(v)
return ok || !isEmptyValue(v)
} }
// isEmptyValue reports whether v is the empty value for its type. This // isEmptyValue reports whether v is the empty value for its type. This
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
package gensupport package gensupport
import ( import (
"errors"
"net/http" "net/http"
"golang.org/x/net/context" "golang.org/x/net/context"
...@@ -32,6 +33,11 @@ func RegisterHook(h Hook) { ...@@ -32,6 +33,11 @@ func RegisterHook(h Hook) {
// If ctx is non-nil, it calls all hooks, then sends the request with // If ctx is non-nil, it calls all hooks, then sends the request with
// ctxhttp.Do, then calls any functions returned by the hooks in reverse order. // ctxhttp.Do, then calls any functions returned by the hooks in reverse order.
func SendRequest(ctx context.Context, client *http.Client, req *http.Request) (*http.Response, error) { func SendRequest(ctx context.Context, client *http.Client, req *http.Request) (*http.Response, error) {
// Disallow Accept-Encoding because it interferes with the automatic gzip handling
// done by the default http.Transport. See https://github.com/google/google-api-go-client/issues/219.
if _, ok := req.Header["Accept-Encoding"]; ok {
return nil, errors.New("google api: custom Accept-Encoding headers not allowed")
}
if ctx == nil { if ctx == nil {
return client.Do(req) return client.Do(req)
} }
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -670,6 +670,10 @@ type LogEntry struct { ...@@ -670,6 +670,10 @@ type LogEntry struct {
// log entry payloads. // log entry payloads.
ProtoPayload googleapi.RawMessage `json:"protoPayload,omitempty"` ProtoPayload googleapi.RawMessage `json:"protoPayload,omitempty"`
// ReceiveTimestamp: Output only. The time the log entry was received by
// Stackdriver Logging.
ReceiveTimestamp string `json:"receiveTimestamp,omitempty"`
// Resource: Required. The monitored resource associated with this log // Resource: Required. The monitored resource associated with this log
// entry. Example: a log entry that reports a database error would be // entry. Example: a log entry that reports a database error would be
// associated with the monitored resource designating the particular // associated with the monitored resource designating the particular
...@@ -973,13 +977,22 @@ type LogSink struct { ...@@ -973,13 +977,22 @@ type LogSink struct {
// //
Filter string `json:"filter,omitempty"` Filter string `json:"filter,omitempty"`
// IncludeChildren: Optional. This field presently applies only to sinks // IncludeChildren: Optional. This field applies only to sinks owned by
// in organizations and folders. If true, then logs from children of // organizations and folders. If the field is false, the default, only
// this entity will also be available to this sink for export. Whether // the logs owned by the sink's parent resource are available for
// particular log entries from the children are exported depends on the // export. If the field is true, then logs from all the projects,
// sink's filter expression. For example, if this sink is associated // folders, and billing accounts contained in the sink's parent resource
// with an organization, then logs from all projects in the organization // are also available for export. Whether a particular log entry from
// as well as from the organization itself will be available for export. // the children is exported depends on the sink's filter expression. For
// example, if this field is true, then the filter
// resource.type=gce_instance would export all Compute Engine VM
// instance log entries from all projects in the sink's parent. To only
// export entries from certain child projects, filter on the project
// part of the log name:
// logName:("projects/test-project1/" OR "projects/test-project2/")
// AND
// resource.type=gce_instance
//
IncludeChildren bool `json:"includeChildren,omitempty"` IncludeChildren bool `json:"includeChildren,omitempty"`
// Name: Required. The client-assigned sink identifier, unique within // Name: Required. The client-assigned sink identifier, unique within
...@@ -989,10 +1002,9 @@ type LogSink struct { ...@@ -989,10 +1002,9 @@ type LogSink struct {
// underscores, hyphens, and periods. // underscores, hyphens, and periods.
Name string `json:"name,omitempty"` Name string `json:"name,omitempty"`
// OutputVersionFormat: Optional. The log entry format to use for this // OutputVersionFormat: Deprecated. The log entry format to use for this
// sink's exported log entries. The v2 format is used by default. The v1 // sink's exported log entries. The v2 format is used by default and
// format is deprecated and should be used only as part of a migration // cannot be changed.
// effort to v2. See Migration to the v2 API.
// //
// Possible values: // Possible values:
// "VERSION_FORMAT_UNSPECIFIED" - An unspecified format version that // "VERSION_FORMAT_UNSPECIFIED" - An unspecified format version that
...@@ -1061,13 +1073,13 @@ func (s *LogSink) MarshalJSON() ([]byte, error) { ...@@ -1061,13 +1073,13 @@ func (s *LogSink) MarshalJSON() ([]byte, error) {
// //
type MonitoredResource struct { type MonitoredResource struct {
// Labels: Required. Values for all of the labels listed in the // Labels: Required. Values for all of the labels listed in the
// associated monitored resource descriptor. For example, Cloud SQL // associated monitored resource descriptor. For example, Compute Engine
// databases use the labels "database_id" and "zone". // VM instances use the labels "project_id", "instance_id", and "zone".
Labels map[string]string `json:"labels,omitempty"` Labels map[string]string `json:"labels,omitempty"`
// Type: Required. The monitored resource type. This field must match // Type: Required. The monitored resource type. This field must match
// the type field of a MonitoredResourceDescriptor object. For example, // the type field of a MonitoredResourceDescriptor object. For example,
// the type of a Cloud SQL database is "cloudsql_database". // the type of a Compute Engine VM instance is gce_instance.
Type string `json:"type,omitempty"` Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Labels") to // ForceSendFields is a list of field names (e.g. "Labels") to
...@@ -4285,7 +4297,8 @@ func (r *ProjectsSinksService) Update(sinkNameid string, logsink *LogSink) *Proj ...@@ -4285,7 +4297,8 @@ func (r *ProjectsSinksService) Update(sinkNameid string, logsink *LogSink) *Proj
// then there is no change to the sink's writer_identity. // then there is no change to the sink's writer_identity.
// If the old value is false and the new value is true, then // If the old value is false and the new value is true, then
// writer_identity is changed to a unique service account. // writer_identity is changed to a unique service account.
// It is an error if the old value is true and the new value is false. // It is an error if the old value is true and the new value is set to
// false or defaulted to false.
func (c *ProjectsSinksUpdateCall) UniqueWriterIdentity(uniqueWriterIdentity bool) *ProjectsSinksUpdateCall { func (c *ProjectsSinksUpdateCall) UniqueWriterIdentity(uniqueWriterIdentity bool) *ProjectsSinksUpdateCall {
c.urlParams_.Set("uniqueWriterIdentity", fmt.Sprint(uniqueWriterIdentity)) c.urlParams_.Set("uniqueWriterIdentity", fmt.Sprint(uniqueWriterIdentity))
return c return c
...@@ -4393,7 +4406,7 @@ func (c *ProjectsSinksUpdateCall) Do(opts ...googleapi.CallOption) (*LogSink, er ...@@ -4393,7 +4406,7 @@ func (c *ProjectsSinksUpdateCall) Do(opts ...googleapi.CallOption) (*LogSink, er
// "type": "string" // "type": "string"
// }, // },
// "uniqueWriterIdentity": { // "uniqueWriterIdentity": {
// "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is false.", // "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.",
// "location": "query", // "location": "query",
// "type": "boolean" // "type": "boolean"
// } // }
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -4166,103 +4166,6 @@ func (c *ProjectsTimeSeriesListCall) PageToken(pageToken string) *ProjectsTimeSe ...@@ -4166,103 +4166,6 @@ func (c *ProjectsTimeSeriesListCall) PageToken(pageToken string) *ProjectsTimeSe
return c return c
} }
// SecondaryAggregationAlignmentPeriod sets the optional parameter
// "secondaryAggregation.alignmentPeriod": The alignment period for
// per-time series alignment. If present, alignmentPeriod must be at
// least 60 seconds. After per-time series alignment, each time series
// will contain data points only on the period boundaries. If
// perSeriesAligner is not specified or equals ALIGN_NONE, then this
// field is ignored. If perSeriesAligner is specified and does not equal
// ALIGN_NONE, then this field must be defined; otherwise an error is
// returned.
func (c *ProjectsTimeSeriesListCall) SecondaryAggregationAlignmentPeriod(secondaryAggregationAlignmentPeriod string) *ProjectsTimeSeriesListCall {
c.urlParams_.Set("secondaryAggregation.alignmentPeriod", secondaryAggregationAlignmentPeriod)
return c
}
// SecondaryAggregationCrossSeriesReducer sets the optional parameter
// "secondaryAggregation.crossSeriesReducer": The approach to be used to
// combine time series. Not all reducer functions may be applied to all
// time series, depending on the metric type and the value type of the
// original time series. Reduction may change the metric type of value
// type of the time series.Time series data must be aligned in order to
// perform cross-time series reduction. If crossSeriesReducer is
// specified, then perSeriesAligner must be specified and not equal
// ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error
// is returned.
//
// Possible values:
// "REDUCE_NONE"
// "REDUCE_MEAN"
// "REDUCE_MIN"
// "REDUCE_MAX"
// "REDUCE_SUM"
// "REDUCE_STDDEV"
// "REDUCE_COUNT"
// "REDUCE_COUNT_TRUE"
// "REDUCE_FRACTION_TRUE"
// "REDUCE_PERCENTILE_99"
// "REDUCE_PERCENTILE_95"
// "REDUCE_PERCENTILE_50"
// "REDUCE_PERCENTILE_05"
func (c *ProjectsTimeSeriesListCall) SecondaryAggregationCrossSeriesReducer(secondaryAggregationCrossSeriesReducer string) *ProjectsTimeSeriesListCall {
c.urlParams_.Set("secondaryAggregation.crossSeriesReducer", secondaryAggregationCrossSeriesReducer)
return c
}
// SecondaryAggregationGroupByFields sets the optional parameter
// "secondaryAggregation.groupByFields": The set of fields to preserve
// when crossSeriesReducer is specified. The groupByFields determine how
// the time series are partitioned into subsets prior to applying the
// aggregation function. Each subset contains time series that have the
// same value for each of the grouping fields. Each individual time
// series is a member of exactly one subset. The crossSeriesReducer is
// applied to each subset of time series. It is not possible to reduce
// across different resource types, so this field implicitly contains
// resource.type. Fields not specified in groupByFields are aggregated
// away. If groupByFields is not specified and all the time series have
// the same resource type, then the time series are aggregated into a
// single output time series. If crossSeriesReducer is not defined, this
// field is ignored.
func (c *ProjectsTimeSeriesListCall) SecondaryAggregationGroupByFields(secondaryAggregationGroupByFields ...string) *ProjectsTimeSeriesListCall {
c.urlParams_.SetMulti("secondaryAggregation.groupByFields", append([]string{}, secondaryAggregationGroupByFields...))
return c
}
// SecondaryAggregationPerSeriesAligner sets the optional parameter
// "secondaryAggregation.perSeriesAligner": The approach to be used to
// align individual time series. Not all alignment functions may be
// applied to all time series, depending on the metric type and value
// type of the original time series. Alignment may change the metric
// type or the value type of the time series.Time series data must be
// aligned in order to perform cross-time series reduction. If
// crossSeriesReducer is specified, then perSeriesAligner must be
// specified and not equal ALIGN_NONE and alignmentPeriod must be
// specified; otherwise, an error is returned.
//
// Possible values:
// "ALIGN_NONE"
// "ALIGN_DELTA"
// "ALIGN_RATE"
// "ALIGN_INTERPOLATE"
// "ALIGN_NEXT_OLDER"
// "ALIGN_MIN"
// "ALIGN_MAX"
// "ALIGN_MEAN"
// "ALIGN_COUNT"
// "ALIGN_SUM"
// "ALIGN_STDDEV"
// "ALIGN_COUNT_TRUE"
// "ALIGN_FRACTION_TRUE"
// "ALIGN_PERCENTILE_99"
// "ALIGN_PERCENTILE_95"
// "ALIGN_PERCENTILE_50"
// "ALIGN_PERCENTILE_05"
func (c *ProjectsTimeSeriesListCall) SecondaryAggregationPerSeriesAligner(secondaryAggregationPerSeriesAligner string) *ProjectsTimeSeriesListCall {
c.urlParams_.Set("secondaryAggregation.perSeriesAligner", secondaryAggregationPerSeriesAligner)
return c
}
// View sets the optional parameter "view": Specifies which information // View sets the optional parameter "view": Specifies which information
// is returned about the time series. // is returned about the time series.
// //
...@@ -4472,62 +4375,6 @@ func (c *ProjectsTimeSeriesListCall) Do(opts ...googleapi.CallOption) (*ListTime ...@@ -4472,62 +4375,6 @@ func (c *ProjectsTimeSeriesListCall) Do(opts ...googleapi.CallOption) (*ListTime
// "location": "query", // "location": "query",
// "type": "string" // "type": "string"
// }, // },
// "secondaryAggregation.alignmentPeriod": {
// "description": "The alignment period for per-time series alignment. If present, alignmentPeriod must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If perSeriesAligner is not specified or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then this field must be defined; otherwise an error is returned.",
// "format": "google-duration",
// "location": "query",
// "type": "string"
// },
// "secondaryAggregation.crossSeriesReducer": {
// "description": "The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross-time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned.",
// "enum": [
// "REDUCE_NONE",
// "REDUCE_MEAN",
// "REDUCE_MIN",
// "REDUCE_MAX",
// "REDUCE_SUM",
// "REDUCE_STDDEV",
// "REDUCE_COUNT",
// "REDUCE_COUNT_TRUE",
// "REDUCE_FRACTION_TRUE",
// "REDUCE_PERCENTILE_99",
// "REDUCE_PERCENTILE_95",
// "REDUCE_PERCENTILE_50",
// "REDUCE_PERCENTILE_05"
// ],
// "location": "query",
// "type": "string"
// },
// "secondaryAggregation.groupByFields": {
// "description": "The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.",
// "location": "query",
// "repeated": true,
// "type": "string"
// },
// "secondaryAggregation.perSeriesAligner": {
// "description": "The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series.Time series data must be aligned in order to perform cross-time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned.",
// "enum": [
// "ALIGN_NONE",
// "ALIGN_DELTA",
// "ALIGN_RATE",
// "ALIGN_INTERPOLATE",
// "ALIGN_NEXT_OLDER",
// "ALIGN_MIN",
// "ALIGN_MAX",
// "ALIGN_MEAN",
// "ALIGN_COUNT",
// "ALIGN_SUM",
// "ALIGN_STDDEV",
// "ALIGN_COUNT_TRUE",
// "ALIGN_FRACTION_TRUE",
// "ALIGN_PERCENTILE_99",
// "ALIGN_PERCENTILE_95",
// "ALIGN_PERCENTILE_50",
// "ALIGN_PERCENTILE_05"
// ],
// "location": "query",
// "type": "string"
// },
// "view": { // "view": {
// "description": "Specifies which information is returned about the time series.", // "description": "Specifies which information is returned about the time series.",
// "enum": [ // "enum": [
......
{ {
"kind": "discovery#restDescription",
"description": "Provides reliable, many-to-many, asynchronous messaging between applications.\n",
"servicePath": "",
"rootUrl": "https://pubsub.googleapis.com/",
"basePath": "",
"ownerDomain": "google.com",
"name": "pubsub",
"batchPath": "batch",
"revision": "20170329",
"documentationLink": "https://cloud.google.com/pubsub/docs",
"id": "pubsub:v1",
"title": "Google Cloud Pub/Sub API", "title": "Google Cloud Pub/Sub API",
"ownerName": "Google", "ownerName": "Google",
"discoveryVersion": "v1", "discoveryVersion": "v1",
...@@ -18,8 +7,91 @@ ...@@ -18,8 +7,91 @@
"resources": { "resources": {
"topics": { "topics": {
"methods": { "methods": {
"create": {
"httpMethod": "PUT",
"parameterOrder": [
"name"
],
"response": {
"$ref": "Topic"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
],
"parameters": {
"name": {
"pattern": "^projects/[^/]+/topics/[^/]+$",
"location": "path",
"description": "The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.",
"type": "string",
"required": true
}
},
"flatPath": "v1/projects/{projectsId}/topics/{topicsId}",
"path": "v1/{+name}",
"id": "pubsub.projects.topics.create",
"request": {
"$ref": "Topic"
},
"description": "Creates the given topic with the given name."
},
"setIamPolicy": {
"description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.",
"request": {
"$ref": "SetIamPolicyRequest"
},
"httpMethod": "POST",
"parameterOrder": [
"resource"
],
"response": {
"$ref": "Policy"
},
"parameters": {
"resource": {
"description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
"type": "string",
"required": true,
"pattern": "^projects/[^/]+/topics/[^/]+$",
"location": "path"
}
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
],
"flatPath": "v1/projects/{projectsId}/topics/{topicsId}:setIamPolicy",
"path": "v1/{+resource}:setIamPolicy",
"id": "pubsub.projects.topics.setIamPolicy"
},
"getIamPolicy": {
"flatPath": "v1/projects/{projectsId}/topics/{topicsId}:getIamPolicy",
"path": "v1/{+resource}:getIamPolicy",
"id": "pubsub.projects.topics.getIamPolicy",
"description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
"httpMethod": "GET",
"response": {
"$ref": "Policy"
},
"parameterOrder": [
"resource"
],
"parameters": {
"resource": {
"location": "path",
"description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
"type": "string",
"required": true,
"pattern": "^projects/[^/]+/topics/[^/]+$"
}
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
]
},
"get": { "get": {
"description": "Gets the configuration of a topic.",
"response": { "response": {
"$ref": "Topic" "$ref": "Topic"
}, },
...@@ -33,67 +105,68 @@ ...@@ -33,67 +105,68 @@
], ],
"parameters": { "parameters": {
"topic": { "topic": {
"location": "path",
"description": "The name of the topic to get.\nFormat is `projects/{project}/topics/{topic}`.",
"required": true,
"type": "string", "type": "string",
"pattern": "^projects/[^/]+/topics/[^/]+$" "required": true,
"pattern": "^projects/[^/]+/topics/[^/]+$",
"location": "path",
"description": "The name of the topic to get.\nFormat is `projects/{project}/topics/{topic}`."
} }
}, },
"flatPath": "v1/projects/{projectsId}/topics/{topicsId}", "flatPath": "v1/projects/{projectsId}/topics/{topicsId}",
"id": "pubsub.projects.topics.get",
"path": "v1/{+topic}", "path": "v1/{+topic}",
"id": "pubsub.projects.topics.get" "description": "Gets the configuration of a topic."
}, },
"publish": { "publish": {
"flatPath": "v1/projects/{projectsId}/topics/{topicsId}:publish", "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:publish",
"path": "v1/{+topic}:publish", "path": "v1/{+topic}:publish",
"id": "pubsub.projects.topics.publish", "id": "pubsub.projects.topics.publish",
"description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic\ndoes not exist. The message payload must not be empty; it must contain\n either a non-empty data field, or at least one attribute.",
"request": { "request": {
"$ref": "PublishRequest" "$ref": "PublishRequest"
}, },
"response": { "description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic\ndoes not exist. The message payload must not be empty; it must contain\n either a non-empty data field, or at least one attribute.",
"$ref": "PublishResponse" "httpMethod": "POST",
},
"parameterOrder": [ "parameterOrder": [
"topic" "topic"
], ],
"httpMethod": "POST", "response": {
"$ref": "PublishResponse"
},
"scopes": [ "scopes": [
"https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub" "https://www.googleapis.com/auth/pubsub"
], ],
"parameters": { "parameters": {
"topic": { "topic": {
"pattern": "^projects/[^/]+/topics/[^/]+$",
"location": "path",
"description": "The messages in the request will be published on this topic.\nFormat is `projects/{project}/topics/{topic}`.", "description": "The messages in the request will be published on this topic.\nFormat is `projects/{project}/topics/{topic}`.",
"required": true,
"type": "string", "type": "string",
"pattern": "^projects/[^/]+/topics/[^/]+$", "required": true
"location": "path"
} }
} }
}, },
"testIamPermissions": { "testIamPermissions": {
"httpMethod": "POST",
"parameterOrder": [
"resource"
],
"response": { "response": {
"$ref": "TestIamPermissionsResponse" "$ref": "TestIamPermissionsResponse"
}, },
"parameterOrder": [ "scopes": [
"resource" "https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
], ],
"httpMethod": "POST",
"parameters": { "parameters": {
"resource": { "resource": {
"location": "path", "location": "path",
"description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
"required": true,
"type": "string", "type": "string",
"required": true,
"pattern": "^projects/[^/]+/topics/[^/]+$" "pattern": "^projects/[^/]+/topics/[^/]+$"
} }
}, },
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
],
"flatPath": "v1/projects/{projectsId}/topics/{topicsId}:testIamPermissions", "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:testIamPermissions",
"path": "v1/{+resource}:testIamPermissions", "path": "v1/{+resource}:testIamPermissions",
"id": "pubsub.projects.topics.testIamPermissions", "id": "pubsub.projects.topics.testIamPermissions",
...@@ -103,9 +176,6 @@ ...@@ -103,9 +176,6 @@
"description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning." "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning."
}, },
"delete": { "delete": {
"flatPath": "v1/projects/{projectsId}/topics/{topicsId}",
"id": "pubsub.projects.topics.delete",
"path": "v1/{+topic}",
"description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic\ndoes not exist. After a topic is deleted, a new topic may be created with\nthe same name; this is an entirely new topic with none of the old\nconfiguration or subscriptions. Existing subscriptions to this topic are\nnot deleted, but their `topic` field is set to `_deleted-topic_`.", "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic\ndoes not exist. After a topic is deleted, a new topic may be created with\nthe same name; this is an entirely new topic with none of the old\nconfiguration or subscriptions. Existing subscriptions to this topic are\nnot deleted, but their `topic` field is set to `_deleted-topic_`.",
"httpMethod": "DELETE", "httpMethod": "DELETE",
"parameterOrder": [ "parameterOrder": [
...@@ -120,22 +190,25 @@ ...@@ -120,22 +190,25 @@
], ],
"parameters": { "parameters": {
"topic": { "topic": {
"pattern": "^projects/[^/]+/topics/[^/]+$",
"location": "path", "location": "path",
"description": "Name of the topic to delete.\nFormat is `projects/{project}/topics/{topic}`.", "description": "Name of the topic to delete.\nFormat is `projects/{project}/topics/{topic}`.",
"required": true,
"type": "string", "type": "string",
"pattern": "^projects/[^/]+/topics/[^/]+$" "required": true
} }
} },
"flatPath": "v1/projects/{projectsId}/topics/{topicsId}",
"path": "v1/{+topic}",
"id": "pubsub.projects.topics.delete"
}, },
"list": { "list": {
"httpMethod": "GET",
"response": { "response": {
"$ref": "ListTopicsResponse" "$ref": "ListTopicsResponse"
}, },
"parameterOrder": [ "parameterOrder": [
"project" "project"
], ],
"httpMethod": "GET",
"parameters": { "parameters": {
"pageToken": { "pageToken": {
"description": "The value returned by the last `ListTopicsResponse`; indicates that this is\na continuation of a prior `ListTopics` call, and that the system should\nreturn the next page of data.", "description": "The value returned by the last `ListTopicsResponse`; indicates that this is\na continuation of a prior `ListTopics` call, and that the system should\nreturn the next page of data.",
...@@ -143,17 +216,17 @@ ...@@ -143,17 +216,17 @@
"location": "query" "location": "query"
}, },
"pageSize": { "pageSize": {
"description": "Maximum number of topics to return.",
"format": "int32",
"type": "integer", "type": "integer",
"location": "query" "location": "query",
"format": "int32",
"description": "Maximum number of topics to return."
}, },
"project": { "project": {
"pattern": "^projects/[^/]+$",
"location": "path", "location": "path",
"description": "The name of the cloud project that topics belong to.\nFormat is `projects/{project}`.", "description": "The name of the cloud project that topics belong to.\nFormat is `projects/{project}`.",
"required": true,
"type": "string", "type": "string",
"pattern": "^projects/[^/]+$" "required": true
} }
}, },
"scopes": [ "scopes": [
...@@ -164,246 +237,96 @@ ...@@ -164,246 +237,96 @@
"path": "v1/{+project}/topics", "path": "v1/{+project}/topics",
"id": "pubsub.projects.topics.list", "id": "pubsub.projects.topics.list",
"description": "Lists matching topics." "description": "Lists matching topics."
},
"setIamPolicy": {
"response": {
"$ref": "Policy"
},
"parameterOrder": [
"resource"
],
"httpMethod": "POST",
"parameters": {
"resource": {
"location": "path",
"description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
"required": true,
"type": "string",
"pattern": "^projects/[^/]+/topics/[^/]+$"
}
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
],
"flatPath": "v1/projects/{projectsId}/topics/{topicsId}:setIamPolicy",
"path": "v1/{+resource}:setIamPolicy",
"id": "pubsub.projects.topics.setIamPolicy",
"request": {
"$ref": "SetIamPolicyRequest"
},
"description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy."
},
"create": {
"flatPath": "v1/projects/{projectsId}/topics/{topicsId}",
"id": "pubsub.projects.topics.create",
"path": "v1/{+name}",
"request": {
"$ref": "Topic"
},
"description": "Creates the given topic with the given name.",
"httpMethod": "PUT",
"parameterOrder": [
"name"
],
"response": {
"$ref": "Topic"
},
"parameters": {
"name": {
"location": "path",
"description": "The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.",
"required": true,
"type": "string",
"pattern": "^projects/[^/]+/topics/[^/]+$"
}
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
]
},
"getIamPolicy": {
"flatPath": "v1/projects/{projectsId}/topics/{topicsId}:getIamPolicy",
"id": "pubsub.projects.topics.getIamPolicy",
"path": "v1/{+resource}:getIamPolicy",
"description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
"httpMethod": "GET",
"parameterOrder": [
"resource"
],
"response": {
"$ref": "Policy"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
],
"parameters": {
"resource": {
"description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
"required": true,
"type": "string",
"pattern": "^projects/[^/]+/topics/[^/]+$",
"location": "path"
}
}
} }
}, },
"resources": { "resources": {
"subscriptions": { "subscriptions": {
"methods": { "methods": {
"list": { "list": {
"flatPath": "v1/projects/{projectsId}/topics/{topicsId}/subscriptions",
"id": "pubsub.projects.topics.subscriptions.list", "id": "pubsub.projects.topics.subscriptions.list",
"path": "v1/{+topic}/subscriptions", "path": "v1/{+topic}/subscriptions",
"description": "Lists the name of the subscriptions for this topic.", "description": "Lists the name of the subscriptions for this topic.",
"httpMethod": "GET",
"parameterOrder": [
"topic"
],
"response": { "response": {
"$ref": "ListTopicSubscriptionsResponse" "$ref": "ListTopicSubscriptionsResponse"
}, },
"parameterOrder": [
"topic"
],
"httpMethod": "GET",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
],
"parameters": { "parameters": {
"pageSize": { "pageToken": {
"type": "string",
"location": "query", "location": "query",
"description": "Maximum number of subscription names to return.", "description": "The value returned by the last `ListTopicSubscriptionsResponse`; indicates\nthat this is a continuation of a prior `ListTopicSubscriptions` call, and\nthat the system should return the next page of data."
},
"pageSize": {
"format": "int32", "format": "int32",
"type": "integer" "description": "Maximum number of subscription names to return.",
"type": "integer",
"location": "query"
}, },
"topic": { "topic": {
"location": "path", "location": "path",
"description": "The name of the topic that subscriptions are attached to.\nFormat is `projects/{project}/topics/{topic}`.", "description": "The name of the topic that subscriptions are attached to.\nFormat is `projects/{project}/topics/{topic}`.",
"required": true,
"type": "string", "type": "string",
"required": true,
"pattern": "^projects/[^/]+/topics/[^/]+$" "pattern": "^projects/[^/]+/topics/[^/]+$"
},
"pageToken": {
"location": "query",
"description": "The value returned by the last `ListTopicSubscriptionsResponse`; indicates\nthat this is a continuation of a prior `ListTopicSubscriptions` call, and\nthat the system should return the next page of data.",
"type": "string"
} }
}, },
"scopes": [ "flatPath": "v1/projects/{projectsId}/topics/{topicsId}/subscriptions"
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
]
} }
} }
} }
} }
}, },
"subscriptions": { "snapshots": {
"methods": { "methods": {
"list": { "setIamPolicy": {
"httpMethod": "GET",
"response": {
"$ref": "ListSubscriptionsResponse"
},
"parameterOrder": [
"project"
],
"parameters": {
"pageToken": {
"location": "query",
"description": "The value returned by the last `ListSubscriptionsResponse`; indicates that\nthis is a continuation of a prior `ListSubscriptions` call, and that the\nsystem should return the next page of data.",
"type": "string"
},
"pageSize": {
"location": "query",
"description": "Maximum number of subscriptions to return.",
"format": "int32",
"type": "integer"
},
"project": {
"description": "The name of the cloud project that subscriptions belong to.\nFormat is `projects/{project}`.",
"required": true,
"type": "string",
"pattern": "^projects/[^/]+$",
"location": "path"
}
},
"scopes": [ "scopes": [
"https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub" "https://www.googleapis.com/auth/pubsub"
], ],
"flatPath": "v1/projects/{projectsId}/subscriptions",
"id": "pubsub.projects.subscriptions.list",
"path": "v1/{+project}/subscriptions",
"description": "Lists matching subscriptions."
},
"setIamPolicy": {
"request": {
"$ref": "SetIamPolicyRequest"
},
"description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.",
"response": {
"$ref": "Policy"
},
"parameterOrder": [
"resource"
],
"httpMethod": "POST",
"parameters": { "parameters": {
"resource": { "resource": {
"location": "path",
"description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
"required": true,
"type": "string", "type": "string",
"pattern": "^projects/[^/]+/subscriptions/[^/]+$", "required": true,
"location": "path" "pattern": "^projects/[^/]+/snapshots/[^/]+$"
} }
}, },
"scopes": [ "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:setIamPolicy",
"https://www.googleapis.com/auth/cloud-platform", "id": "pubsub.projects.snapshots.setIamPolicy",
"https://www.googleapis.com/auth/pubsub"
],
"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy",
"path": "v1/{+resource}:setIamPolicy", "path": "v1/{+resource}:setIamPolicy",
"id": "pubsub.projects.subscriptions.setIamPolicy" "request": {
}, "$ref": "SetIamPolicyRequest"
"create": { },
"description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.",
"response": { "response": {
"$ref": "Subscription" "$ref": "Policy"
}, },
"parameterOrder": [ "parameterOrder": [
"name" "resource"
],
"httpMethod": "PUT",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
], ],
"parameters": { "httpMethod": "POST"
"name": {
"location": "path",
"description": "The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`.",
"required": true,
"type": "string",
"pattern": "^projects/[^/]+/subscriptions/[^/]+$"
}
},
"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}",
"path": "v1/{+name}",
"id": "pubsub.projects.subscriptions.create",
"description": "Creates a subscription to a given topic.\nIf the subscription already exists, returns `ALREADY_EXISTS`.\nIf the corresponding topic doesn't exist, returns `NOT_FOUND`.\n\nIf the name is not provided in the request, the server will assign a random\nname for this subscription on the same project as the topic, conforming\nto the\n[resource name format](https://cloud.google.com/pubsub/docs/overview#names).\nThe generated name is populated in the returned Subscription object.\nNote that for REST API requests, you must specify a name in the request.",
"request": {
"$ref": "Subscription"
}
}, },
"acknowledge": { "testIamPermissions": {
"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:acknowledge", "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:testIamPermissions",
"path": "v1/{+subscription}:acknowledge", "id": "pubsub.projects.snapshots.testIamPermissions",
"id": "pubsub.projects.subscriptions.acknowledge", "path": "v1/{+resource}:testIamPermissions",
"description": "Acknowledges the messages associated with the `ack_ids` in the\n`AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages\nfrom the subscription.\n\nAcknowledging a message whose ack deadline has expired may succeed,\nbut such a message may be redelivered later. Acknowledging a message more\nthan once will not result in an error.",
"request": { "request": {
"$ref": "AcknowledgeRequest" "$ref": "TestIamPermissionsRequest"
}, },
"description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
"response": { "response": {
"$ref": "Empty" "$ref": "TestIamPermissionsResponse"
}, },
"parameterOrder": [ "parameterOrder": [
"subscription" "resource"
], ],
"httpMethod": "POST", "httpMethod": "POST",
"scopes": [ "scopes": [
...@@ -411,125 +334,45 @@ ...@@ -411,125 +334,45 @@
"https://www.googleapis.com/auth/pubsub" "https://www.googleapis.com/auth/pubsub"
], ],
"parameters": { "parameters": {
"subscription": {
"description": "The subscription whose message is being acknowledged.\nFormat is `projects/{project}/subscriptions/{sub}`.",
"required": true,
"type": "string",
"pattern": "^projects/[^/]+/subscriptions/[^/]+$",
"location": "path"
}
}
},
"getIamPolicy": {
"httpMethod": "GET",
"parameterOrder": [
"resource"
],
"response": {
"$ref": "Policy"
},
"parameters": {
"resource": { "resource": {
"location": "path",
"description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
"required": true,
"type": "string", "type": "string",
"pattern": "^projects/[^/]+/subscriptions/[^/]+$"
}
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
],
"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:getIamPolicy",
"id": "pubsub.projects.subscriptions.getIamPolicy",
"path": "v1/{+resource}:getIamPolicy",
"description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset."
},
"modifyAckDeadline": {
"response": {
"$ref": "Empty"
},
"parameterOrder": [
"subscription"
],
"httpMethod": "POST",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
],
"parameters": {
"subscription": {
"location": "path",
"description": "The name of the subscription.\nFormat is `projects/{project}/subscriptions/{sub}`.",
"required": true, "required": true,
"type": "string", "pattern": "^projects/[^/]+/snapshots/[^/]+$",
"pattern": "^projects/[^/]+/subscriptions/[^/]+$"
}
},
"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyAckDeadline",
"path": "v1/{+subscription}:modifyAckDeadline",
"id": "pubsub.projects.subscriptions.modifyAckDeadline",
"description": "Modifies the ack deadline for a specific message. This method is useful\nto indicate that more time is needed to process a message by the\nsubscriber, or to make the message available for redelivery if the\nprocessing was interrupted. Note that this does not modify the\nsubscription-level `ackDeadlineSeconds` used for subsequent messages.",
"request": {
"$ref": "ModifyAckDeadlineRequest"
}
},
"get": {
"description": "Gets the configuration details of a subscription.",
"response": {
"$ref": "Subscription"
},
"parameterOrder": [
"subscription"
],
"httpMethod": "GET",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
],
"parameters": {
"subscription": {
"location": "path", "location": "path",
"description": "The name of the subscription to get.\nFormat is `projects/{project}/subscriptions/{sub}`.", "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field."
"required": true,
"type": "string",
"pattern": "^projects/[^/]+/subscriptions/[^/]+$"
} }
}, }
"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}",
"path": "v1/{+subscription}",
"id": "pubsub.projects.subscriptions.get"
}, },
"testIamPermissions": { "getIamPolicy": {
"description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "id": "pubsub.projects.snapshots.getIamPolicy",
"request": { "path": "v1/{+resource}:getIamPolicy",
"$ref": "TestIamPermissionsRequest" "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
},
"response": { "response": {
"$ref": "TestIamPermissionsResponse" "$ref": "Policy"
}, },
"parameterOrder": [ "parameterOrder": [
"resource" "resource"
], ],
"httpMethod": "POST", "httpMethod": "GET",
"scopes": [ "scopes": [
"https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub" "https://www.googleapis.com/auth/pubsub"
], ],
"parameters": { "parameters": {
"resource": { "resource": {
"location": "path", "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
"description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
"required": true,
"type": "string", "type": "string",
"pattern": "^projects/[^/]+/subscriptions/[^/]+$" "required": true,
"pattern": "^projects/[^/]+/snapshots/[^/]+$",
"location": "path"
} }
}, },
"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:testIamPermissions", "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:getIamPolicy"
"path": "v1/{+resource}:testIamPermissions", }
"id": "pubsub.projects.subscriptions.testIamPermissions" }
}, },
"subscriptions": {
"methods": {
"modifyPushConfig": { "modifyPushConfig": {
"response": { "response": {
"$ref": "Empty" "$ref": "Empty"
...@@ -538,32 +381,28 @@ ...@@ -538,32 +381,28 @@
"subscription" "subscription"
], ],
"httpMethod": "POST", "httpMethod": "POST",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
],
"parameters": { "parameters": {
"subscription": { "subscription": {
"location": "path",
"description": "The name of the subscription.\nFormat is `projects/{project}/subscriptions/{sub}`.", "description": "The name of the subscription.\nFormat is `projects/{project}/subscriptions/{sub}`.",
"required": true,
"type": "string", "type": "string",
"pattern": "^projects/[^/]+/subscriptions/[^/]+$" "required": true,
"pattern": "^projects/[^/]+/subscriptions/[^/]+$",
"location": "path"
} }
}, },
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
],
"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyPushConfig", "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyPushConfig",
"path": "v1/{+subscription}:modifyPushConfig",
"id": "pubsub.projects.subscriptions.modifyPushConfig", "id": "pubsub.projects.subscriptions.modifyPushConfig",
"path": "v1/{+subscription}:modifyPushConfig",
"description": "Modifies the `PushConfig` for a specified subscription.\n\nThis may be used to change a push subscription to a pull one (signified by\nan empty `PushConfig`) or vice versa, or change the endpoint URL and other\nattributes of a push subscription. Messages will accumulate for delivery\ncontinuously through the call regardless of changes to the `PushConfig`.", "description": "Modifies the `PushConfig` for a specified subscription.\n\nThis may be used to change a push subscription to a pull one (signified by\nan empty `PushConfig`) or vice versa, or change the endpoint URL and other\nattributes of a push subscription. Messages will accumulate for delivery\ncontinuously through the call regardless of changes to the `PushConfig`.",
"request": { "request": {
"$ref": "ModifyPushConfigRequest" "$ref": "ModifyPushConfigRequest"
} }
}, },
"pull": { "pull": {
"request": {
"$ref": "PullRequest"
},
"description": "Pulls messages from the server. Returns an empty list if there are no\nmessages available in the backlog. The server may return `UNAVAILABLE` if\nthere are too many concurrent pull requests pending for the given\nsubscription.",
"response": { "response": {
"$ref": "PullResponse" "$ref": "PullResponse"
}, },
...@@ -574,8 +413,8 @@ ...@@ -574,8 +413,8 @@
"parameters": { "parameters": {
"subscription": { "subscription": {
"description": "The subscription from which messages should be pulled.\nFormat is `projects/{project}/subscriptions/{sub}`.", "description": "The subscription from which messages should be pulled.\nFormat is `projects/{project}/subscriptions/{sub}`.",
"required": true,
"type": "string", "type": "string",
"required": true,
"pattern": "^projects/[^/]+/subscriptions/[^/]+$", "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
"location": "path" "location": "path"
} }
...@@ -585,122 +424,272 @@ ...@@ -585,122 +424,272 @@
"https://www.googleapis.com/auth/pubsub" "https://www.googleapis.com/auth/pubsub"
], ],
"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:pull", "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:pull",
"id": "pubsub.projects.subscriptions.pull",
"path": "v1/{+subscription}:pull", "path": "v1/{+subscription}:pull",
"id": "pubsub.projects.subscriptions.pull" "description": "Pulls messages from the server. Returns an empty list if there are no\nmessages available in the backlog. The server may return `UNAVAILABLE` if\nthere are too many concurrent pull requests pending for the given\nsubscription.",
"request": {
"$ref": "PullRequest"
}
}, },
"delete": { "delete": {
"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}",
"path": "v1/{+subscription}",
"id": "pubsub.projects.subscriptions.delete",
"description": "Deletes an existing subscription. All messages retained in the subscription\nare immediately dropped. Calls to `Pull` after deletion will return\n`NOT_FOUND`. After a subscription is deleted, a new one may be created with\nthe same name, but the new one has no association with the old\nsubscription or its topic unless the same topic is specified.", "description": "Deletes an existing subscription. All messages retained in the subscription\nare immediately dropped. Calls to `Pull` after deletion will return\n`NOT_FOUND`. After a subscription is deleted, a new one may be created with\nthe same name, but the new one has no association with the old\nsubscription or its topic unless the same topic is specified.",
"httpMethod": "DELETE",
"response": { "response": {
"$ref": "Empty" "$ref": "Empty"
}, },
"parameterOrder": [ "parameterOrder": [
"subscription" "subscription"
], ],
"httpMethod": "DELETE", "scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
],
"parameters": { "parameters": {
"subscription": { "subscription": {
"location": "path",
"description": "The subscription to delete.\nFormat is `projects/{project}/subscriptions/{sub}`.", "description": "The subscription to delete.\nFormat is `projects/{project}/subscriptions/{sub}`.",
"required": true,
"type": "string", "type": "string",
"pattern": "^projects/[^/]+/subscriptions/[^/]+$", "required": true,
"location": "path" "pattern": "^projects/[^/]+/subscriptions/[^/]+$"
}
},
"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}",
"path": "v1/{+subscription}",
"id": "pubsub.projects.subscriptions.delete"
},
"list": {
"response": {
"$ref": "ListSubscriptionsResponse"
},
"parameterOrder": [
"project"
],
"httpMethod": "GET",
"parameters": {
"pageToken": {
"location": "query",
"description": "The value returned by the last `ListSubscriptionsResponse`; indicates that\nthis is a continuation of a prior `ListSubscriptions` call, and that the\nsystem should return the next page of data.",
"type": "string"
},
"pageSize": {
"location": "query",
"format": "int32",
"description": "Maximum number of subscriptions to return.",
"type": "integer"
},
"project": {
"pattern": "^projects/[^/]+$",
"location": "path",
"description": "The name of the cloud project that subscriptions belong to.\nFormat is `projects/{project}`.",
"type": "string",
"required": true
} }
}, },
"scopes": [ "scopes": [
"https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub" "https://www.googleapis.com/auth/pubsub"
] ],
} "flatPath": "v1/projects/{projectsId}/subscriptions",
} "id": "pubsub.projects.subscriptions.list",
}, "path": "v1/{+project}/subscriptions",
"snapshots": { "description": "Lists matching subscriptions."
"methods": { },
"setIamPolicy": { "setIamPolicy": {
"flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:setIamPolicy", "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.",
"path": "v1/{+resource}:setIamPolicy",
"id": "pubsub.projects.snapshots.setIamPolicy",
"request": { "request": {
"$ref": "SetIamPolicyRequest" "$ref": "SetIamPolicyRequest"
}, },
"description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", "httpMethod": "POST",
"response": {
"$ref": "Policy"
},
"parameterOrder": [ "parameterOrder": [
"resource" "resource"
], ],
"httpMethod": "POST", "response": {
"$ref": "Policy"
},
"parameters": { "parameters": {
"resource": { "resource": {
"description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
"required": true,
"type": "string", "type": "string",
"pattern": "^projects/[^/]+/snapshots/[^/]+$", "required": true,
"pattern": "^projects/[^/]+/subscriptions/[^/]+$",
"location": "path" "location": "path"
} }
}, },
"scopes": [ "scopes": [
"https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub" "https://www.googleapis.com/auth/pubsub"
] ],
"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy",
"path": "v1/{+resource}:setIamPolicy",
"id": "pubsub.projects.subscriptions.setIamPolicy"
}, },
"testIamPermissions": { "create": {
"path": "v1/{+name}",
"id": "pubsub.projects.subscriptions.create",
"request": { "request": {
"$ref": "TestIamPermissionsRequest" "$ref": "Subscription"
}, },
"description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "description": "Creates a subscription to a given topic.\nIf the subscription already exists, returns `ALREADY_EXISTS`.\nIf the corresponding topic doesn't exist, returns `NOT_FOUND`.\n\nIf the name is not provided in the request, the server will assign a random\nname for this subscription on the same project as the topic, conforming\nto the\n[resource name format](https://cloud.google.com/pubsub/docs/overview#names).\nThe generated name is populated in the returned Subscription object.\nNote that for REST API requests, you must specify a name in the request.",
"httpMethod": "PUT",
"parameterOrder": [
"name"
],
"response": { "response": {
"$ref": "TestIamPermissionsResponse" "$ref": "Subscription"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
],
"parameters": {
"name": {
"type": "string",
"required": true,
"pattern": "^projects/[^/]+/subscriptions/[^/]+$",
"location": "path",
"description": "The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`."
}
},
"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}"
},
"acknowledge": {
"request": {
"$ref": "AcknowledgeRequest"
}, },
"description": "Acknowledges the messages associated with the `ack_ids` in the\n`AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages\nfrom the subscription.\n\nAcknowledging a message whose ack deadline has expired may succeed,\nbut such a message may be redelivered later. Acknowledging a message more\nthan once will not result in an error.",
"httpMethod": "POST",
"parameterOrder": [ "parameterOrder": [
"resource" "subscription"
],
"response": {
"$ref": "Empty"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
],
"parameters": {
"subscription": {
"pattern": "^projects/[^/]+/subscriptions/[^/]+$",
"location": "path",
"description": "The subscription whose message is being acknowledged.\nFormat is `projects/{project}/subscriptions/{sub}`.",
"type": "string",
"required": true
}
},
"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:acknowledge",
"path": "v1/{+subscription}:acknowledge",
"id": "pubsub.projects.subscriptions.acknowledge"
},
"modifyAckDeadline": {
"response": {
"$ref": "Empty"
},
"parameterOrder": [
"subscription"
], ],
"httpMethod": "POST", "httpMethod": "POST",
"parameters": { "parameters": {
"resource": { "subscription": {
"description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", "location": "path",
"required": true, "description": "The name of the subscription.\nFormat is `projects/{project}/subscriptions/{sub}`.",
"type": "string", "type": "string",
"pattern": "^projects/[^/]+/snapshots/[^/]+$", "required": true,
"location": "path" "pattern": "^projects/[^/]+/subscriptions/[^/]+$"
} }
}, },
"scopes": [ "scopes": [
"https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub" "https://www.googleapis.com/auth/pubsub"
], ],
"flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:testIamPermissions", "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyAckDeadline",
"path": "v1/{+resource}:testIamPermissions", "id": "pubsub.projects.subscriptions.modifyAckDeadline",
"id": "pubsub.projects.snapshots.testIamPermissions" "path": "v1/{+subscription}:modifyAckDeadline",
"description": "Modifies the ack deadline for a specific message. This method is useful\nto indicate that more time is needed to process a message by the\nsubscriber, or to make the message available for redelivery if the\nprocessing was interrupted. Note that this does not modify the\nsubscription-level `ackDeadlineSeconds` used for subsequent messages.",
"request": {
"$ref": "ModifyAckDeadlineRequest"
}
}, },
"getIamPolicy": { "getIamPolicy": {
"description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
"response": {
"$ref": "Policy"
},
"parameterOrder": [ "parameterOrder": [
"resource" "resource"
], ],
"httpMethod": "GET", "httpMethod": "GET",
"response": {
"$ref": "Policy"
},
"scopes": [ "scopes": [
"https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub" "https://www.googleapis.com/auth/pubsub"
], ],
"parameters": { "parameters": {
"resource": { "resource": {
"location": "path",
"description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
"required": true,
"type": "string", "type": "string",
"pattern": "^projects/[^/]+/snapshots/[^/]+$" "required": true,
"pattern": "^projects/[^/]+/subscriptions/[^/]+$",
"location": "path"
} }
}, },
"flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:getIamPolicy", "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:getIamPolicy",
"id": "pubsub.projects.subscriptions.getIamPolicy",
"path": "v1/{+resource}:getIamPolicy", "path": "v1/{+resource}:getIamPolicy",
"id": "pubsub.projects.snapshots.getIamPolicy" "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset."
},
"get": {
"parameters": {
"subscription": {
"pattern": "^projects/[^/]+/subscriptions/[^/]+$",
"location": "path",
"description": "The name of the subscription to get.\nFormat is `projects/{project}/subscriptions/{sub}`.",
"type": "string",
"required": true
}
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
],
"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}",
"path": "v1/{+subscription}",
"id": "pubsub.projects.subscriptions.get",
"description": "Gets the configuration details of a subscription.",
"httpMethod": "GET",
"response": {
"$ref": "Subscription"
},
"parameterOrder": [
"subscription"
]
},
"testIamPermissions": {
"flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:testIamPermissions",
"path": "v1/{+resource}:testIamPermissions",
"id": "pubsub.projects.subscriptions.testIamPermissions",
"request": {
"$ref": "TestIamPermissionsRequest"
},
"description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
"httpMethod": "POST",
"parameterOrder": [
"resource"
],
"response": {
"$ref": "TestIamPermissionsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/pubsub"
],
"parameters": {
"resource": {
"location": "path",
"description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
"type": "string",
"required": true,
"pattern": "^projects/[^/]+/subscriptions/[^/]+$"
}
}
} }
} }
} }
...@@ -708,11 +697,26 @@ ...@@ -708,11 +697,26 @@
} }
}, },
"parameters": { "parameters": {
"key": {
"location": "query",
"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
"type": "string"
},
"access_token": {
"location": "query",
"description": "OAuth access token.",
"type": "string"
},
"quotaUser": {
"location": "query",
"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
"type": "string"
},
"pp": { "pp": {
"location": "query", "location": "query",
"description": "Pretty-print response.", "description": "Pretty-print response.",
"type": "boolean", "default": "true",
"default": "true" "type": "boolean"
}, },
"bearer_token": { "bearer_token": {
"description": "OAuth bearer token.", "description": "OAuth bearer token.",
...@@ -725,209 +729,72 @@ ...@@ -725,209 +729,72 @@
"type": "string" "type": "string"
}, },
"upload_protocol": { "upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"type": "string",
"location": "query"
},
"prettyPrint": {
"description": "Returns response with indentations and line breaks.",
"type": "boolean",
"default": "true",
"location": "query"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"type": "string",
"location": "query"
},
"uploadType": {
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"type": "string",
"location": "query"
},
"callback": {
"location": "query", "location": "query",
"description": "JSONP", "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"type": "string" "type": "string"
},
"$.xgafv": {
"description": "V1 error format.",
"type": "string",
"enumDescriptions": [
"v1 error format",
"v2 error format"
],
"location": "query",
"enum": [
"1",
"2"
]
},
"alt": {
"type": "string",
"enumDescriptions": [
"Responses with Content-Type of application/json",
"Media download with context-dependent Content-Type",
"Responses with Content-Type of application/x-protobuf"
],
"location": "query",
"description": "Data format for response.",
"default": "json",
"enum": [
"json",
"media",
"proto"
]
},
"key": {
"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
"type": "string",
"location": "query"
},
"access_token": {
"description": "OAuth access token.",
"type": "string",
"location": "query"
},
"quotaUser": {
"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
"type": "string",
"location": "query"
}
},
"schemas": {
"Policy": {
"description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).",
"type": "object",
"properties": {
"etag": {
"description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.",
"format": "byte",
"type": "string"
},
"version": {
"description": "Version of the `Policy`. The default version is 0.",
"format": "int32",
"type": "integer"
},
"bindings": {
"description": "Associates a list of `members` to a `role`.\nMultiple `bindings` must not be specified for the same `role`.\n`bindings` with no members will result in an error.",
"type": "array",
"items": {
"$ref": "Binding"
}
}
},
"id": "Policy"
},
"Topic": {
"description": "A topic resource.",
"type": "object",
"properties": {
"name": {
"description": "The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.",
"type": "string"
}
},
"id": "Topic"
},
"ModifyAckDeadlineRequest": {
"description": "Request for the ModifyAckDeadline method.",
"type": "object",
"properties": {
"ackDeadlineSeconds": {
"description": "The new ack deadline with respect to the time this request was sent to\nthe Pub/Sub system. For example, if the value is 10, the new\nack deadline will expire 10 seconds after the `ModifyAckDeadline` call\nwas made. Specifying zero may immediately make the message available for\nanother pull request.\nThe minimum deadline you can specify is 0 seconds.\nThe maximum deadline you can specify is 600 seconds (10 minutes).",
"format": "int32",
"type": "integer"
},
"ackIds": {
"description": "List of acknowledgment IDs.",
"type": "array",
"items": {
"type": "string"
}
}
},
"id": "ModifyAckDeadlineRequest"
},
"SetIamPolicyRequest": {
"description": "Request message for `SetIamPolicy` method.",
"type": "object",
"properties": {
"policy": {
"description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them.",
"$ref": "Policy"
}
},
"id": "SetIamPolicyRequest"
},
"ModifyPushConfigRequest": {
"description": "Request for the ModifyPushConfig method.",
"type": "object",
"properties": {
"pushConfig": {
"$ref": "PushConfig",
"description": "The push configuration for future deliveries.\n\nAn empty `pushConfig` indicates that the Pub/Sub system should\nstop pushing messages from the given subscription and allow\nmessages to be pulled and acknowledged - effectively pausing\nthe subscription if `Pull` is not called."
}
},
"id": "ModifyPushConfigRequest"
},
"PubsubMessage": {
"description": "A message data and its attributes. The message payload must not be empty;\nit must contain either a non-empty data field, or at least one attribute.",
"type": "object",
"properties": {
"data": {
"description": "The message payload.",
"format": "byte",
"type": "string"
},
"attributes": {
"description": "Optional attributes for this message.",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"messageId": {
"description": "ID of this message, assigned by the server when the message is published.\nGuaranteed to be unique within the topic. This value may be read by a\nsubscriber that receives a `PubsubMessage` via a `Pull` call or a push\ndelivery. It must not be populated by the publisher in a `Publish` call.",
"type": "string"
},
"publishTime": {
"description": "The time at which the message was published, populated by the server when\nit receives the `Publish` call. It must not be populated by the\npublisher in a `Publish` call.",
"format": "google-datetime",
"type": "string"
}
},
"id": "PubsubMessage"
}, },
"Binding": { "prettyPrint": {
"description": "Associates `members` with a `role`.", "description": "Returns response with indentations and line breaks.",
"type": "object", "default": "true",
"properties": { "type": "boolean",
"members": { "location": "query"
"description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", },
"type": "array", "fields": {
"items": { "description": "Selector specifying which fields to include in a partial response.",
"type": "string" "type": "string",
} "location": "query"
}, },
"role": { "uploadType": {
"description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", "location": "query",
"type": "string" "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
} "type": "string"
}, },
"id": "Binding" "$.xgafv": {
"enumDescriptions": [
"v1 error format",
"v2 error format"
],
"location": "query",
"enum": [
"1",
"2"
],
"description": "V1 error format.",
"type": "string"
},
"callback": {
"location": "query",
"description": "JSONP",
"type": "string"
}, },
"alt": {
"enum": [
"json",
"media",
"proto"
],
"type": "string",
"enumDescriptions": [
"Responses with Content-Type of application/json",
"Media download with context-dependent Content-Type",
"Responses with Content-Type of application/x-protobuf"
],
"location": "query",
"description": "Data format for response.",
"default": "json"
}
},
"schemas": {
"AcknowledgeRequest": { "AcknowledgeRequest": {
"description": "Request for the Acknowledge method.", "description": "Request for the Acknowledge method.",
"type": "object", "type": "object",
"properties": { "properties": {
"ackIds": { "ackIds": {
"description": "The acknowledgment ID for the messages being acknowledged that was returned\nby the Pub/Sub system in the `Pull` response. Must not be empty.", "description": "The acknowledgment ID for the messages being acknowledged that was returned\nby the Pub/Sub system in the `Pull` response. Must not be empty.",
"type": "array",
"items": { "items": {
"type": "string" "type": "string"
} },
"type": "array"
} }
}, },
"id": "AcknowledgeRequest" "id": "AcknowledgeRequest"
...@@ -942,16 +809,16 @@ ...@@ -942,16 +809,16 @@
"description": "Response for the `ListTopics` method.", "description": "Response for the `ListTopics` method.",
"type": "object", "type": "object",
"properties": { "properties": {
"nextPageToken": {
"description": "If not empty, indicates that there may be more topics that match the\nrequest; this value should be passed in a new `ListTopicsRequest`.",
"type": "string"
},
"topics": { "topics": {
"description": "The resulting topics.", "description": "The resulting topics.",
"type": "array",
"items": { "items": {
"$ref": "Topic" "$ref": "Topic"
} },
}, "type": "array"
"nextPageToken": {
"description": "If not empty, indicates that there may be more topics that match the\nrequest; this value should be passed in a new `ListTopicsRequest`.",
"type": "string"
} }
}, },
"id": "ListTopicsResponse" "id": "ListTopicsResponse"
...@@ -965,28 +832,28 @@ ...@@ -965,28 +832,28 @@
"type": "string" "type": "string"
}, },
"subscriptions": { "subscriptions": {
"description": "The names of the subscriptions that match the request.",
"type": "array",
"items": { "items": {
"type": "string" "type": "string"
} },
"type": "array",
"description": "The names of the subscriptions that match the request."
} }
}, },
"id": "ListTopicSubscriptionsResponse" "id": "ListTopicSubscriptionsResponse"
}, },
"PullResponse": { "PullResponse": {
"description": "Response for the `Pull` method.",
"type": "object", "type": "object",
"properties": { "properties": {
"receivedMessages": { "receivedMessages": {
"description": "Received Pub/Sub messages. The Pub/Sub system will return zero messages if\nthere are no more available in the backlog. The Pub/Sub system may return\nfewer than the `maxMessages` requested even if there are more messages\navailable in the backlog.", "description": "Received Pub/Sub messages. The Pub/Sub system will return zero messages if\nthere are no more available in the backlog. The Pub/Sub system may return\nfewer than the `maxMessages` requested even if there are more messages\navailable in the backlog.",
"type": "array",
"items": { "items": {
"$ref": "ReceivedMessage" "$ref": "ReceivedMessage"
} },
"type": "array"
} }
}, },
"id": "PullResponse" "id": "PullResponse",
"description": "Response for the `Pull` method."
}, },
"ReceivedMessage": { "ReceivedMessage": {
"description": "A message and its corresponding acknowledgment ID.", "description": "A message and its corresponding acknowledgment ID.",
...@@ -997,8 +864,8 @@ ...@@ -997,8 +864,8 @@
"type": "string" "type": "string"
}, },
"message": { "message": {
"$ref": "PubsubMessage", "description": "The message.",
"description": "The message." "$ref": "PubsubMessage"
} }
}, },
"id": "ReceivedMessage" "id": "ReceivedMessage"
...@@ -1007,16 +874,16 @@ ...@@ -1007,16 +874,16 @@
"description": "Configuration for a push delivery endpoint.", "description": "Configuration for a push delivery endpoint.",
"type": "object", "type": "object",
"properties": { "properties": {
"pushEndpoint": {
"description": "A URL locating the endpoint to which messages should be pushed.\nFor example, a Webhook endpoint might use \"https://example.com/push\".",
"type": "string"
},
"attributes": { "attributes": {
"description": "Endpoint configuration attributes.\n\nEvery endpoint has a set of API supported attributes that can be used to\ncontrol different aspects of the message delivery.\n\nThe currently supported attribute is `x-goog-version`, which you can\nuse to change the format of the pushed message. This attribute\nindicates the version of the data expected by the endpoint. This\ncontrols the shape of the pushed message (i.e., its fields and metadata).\nThe endpoint version is based on the version of the Pub/Sub API.\n\nIf not present during the `CreateSubscription` call, it will default to\nthe version of the API used to make such call. If not present during a\n`ModifyPushConfig` call, its value will not be changed. `GetSubscription`\ncalls will always return a valid version, even if the subscription was\ncreated without this attribute.\n\nThe possible values for this attribute are:\n\n* `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.\n* `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.",
"type": "object",
"additionalProperties": { "additionalProperties": {
"type": "string" "type": "string"
}, }
"description": "Endpoint configuration attributes.\n\nEvery endpoint has a set of API supported attributes that can be used to\ncontrol different aspects of the message delivery.\n\nThe currently supported attribute is `x-goog-version`, which you can\nuse to change the format of the pushed message. This attribute\nindicates the version of the data expected by the endpoint. This\ncontrols the shape of the pushed message (i.e., its fields and metadata).\nThe endpoint version is based on the version of the Pub/Sub API.\n\nIf not present during the `CreateSubscription` call, it will default to\nthe version of the API used to make such call. If not present during a\n`ModifyPushConfig` call, its value will not be changed. `GetSubscription`\ncalls will always return a valid version, even if the subscription was\ncreated without this attribute.\n\nThe possible values for this attribute are:\n\n* `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.\n* `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.", },
"type": "object" "pushEndpoint": {
"description": "A URL locating the endpoint to which messages should be pushed.\nFor example, a Webhook endpoint might use \"https://example.com/push\".",
"type": "string"
} }
}, },
"id": "PushConfig" "id": "PushConfig"
...@@ -1027,10 +894,10 @@ ...@@ -1027,10 +894,10 @@
"properties": { "properties": {
"permissions": { "permissions": {
"description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
"type": "array",
"items": { "items": {
"type": "string" "type": "string"
} },
"type": "array"
} }
}, },
"id": "TestIamPermissionsResponse" "id": "TestIamPermissionsResponse"
...@@ -1039,19 +906,20 @@ ...@@ -1039,19 +906,20 @@
"description": "Request for the `Pull` method.", "description": "Request for the `Pull` method.",
"type": "object", "type": "object",
"properties": { "properties": {
"returnImmediately": {
"description": "If this field set to true, the system will respond immediately even if\nit there are no messages available to return in the `Pull` response.\nOtherwise, the system may wait (for a bounded amount of time) until at\nleast one message is available, rather than returning no messages. The\nclient may cancel the request if it does not wish to wait any longer for\nthe response.",
"type": "boolean"
},
"maxMessages": { "maxMessages": {
"description": "The maximum number of messages returned for this request. The Pub/Sub\nsystem may return fewer than the number specified.",
"format": "int32", "format": "int32",
"description": "The maximum number of messages returned for this request. The Pub/Sub\nsystem may return fewer than the number specified.",
"type": "integer" "type": "integer"
},
"returnImmediately": {
"description": "If this field set to true, the system will respond immediately even if\nit there are no messages available to return in the `Pull` response.\nOtherwise, the system may wait (for a bounded amount of time) until at\nleast one message is available, rather than returning no messages. The\nclient may cancel the request if it does not wish to wait any longer for\nthe response.",
"type": "boolean"
} }
}, },
"id": "PullRequest" "id": "PullRequest"
}, },
"ListSubscriptionsResponse": { "ListSubscriptionsResponse": {
"id": "ListSubscriptionsResponse",
"description": "Response for the `ListSubscriptions` method.", "description": "Response for the `ListSubscriptions` method.",
"type": "object", "type": "object",
"properties": { "properties": {
...@@ -1061,13 +929,12 @@ ...@@ -1061,13 +929,12 @@
}, },
"subscriptions": { "subscriptions": {
"description": "The subscriptions that match the request.", "description": "The subscriptions that match the request.",
"type": "array",
"items": { "items": {
"$ref": "Subscription" "$ref": "Subscription"
} },
"type": "array"
} }
}, }
"id": "ListSubscriptionsResponse"
}, },
"PublishRequest": { "PublishRequest": {
"description": "Request for the Publish method.", "description": "Request for the Publish method.",
...@@ -1075,10 +942,10 @@ ...@@ -1075,10 +942,10 @@
"properties": { "properties": {
"messages": { "messages": {
"description": "The messages to publish.", "description": "The messages to publish.",
"type": "array",
"items": { "items": {
"$ref": "PubsubMessage" "$ref": "PubsubMessage"
} },
"type": "array"
} }
}, },
"id": "PublishRequest" "id": "PublishRequest"
...@@ -1089,21 +956,24 @@ ...@@ -1089,21 +956,24 @@
"properties": { "properties": {
"messageIds": { "messageIds": {
"description": "The server-assigned ID of each published message, in the same order as\nthe messages in the request. IDs are guaranteed to be unique within\nthe topic.", "description": "The server-assigned ID of each published message, in the same order as\nthe messages in the request. IDs are guaranteed to be unique within\nthe topic.",
"type": "array",
"items": { "items": {
"type": "string" "type": "string"
} },
"type": "array"
} }
}, },
"id": "PublishResponse" "id": "PublishResponse"
}, },
"Subscription": { "Subscription": {
"description": "A subscription resource.",
"type": "object", "type": "object",
"properties": { "properties": {
"pushConfig": {
"description": "If push delivery is used with this subscription, this field is\nused to configure it. An empty `pushConfig` signifies that the subscriber\nwill pull and ack messages using API methods.",
"$ref": "PushConfig"
},
"ackDeadlineSeconds": { "ackDeadlineSeconds": {
"description": "This value is the maximum time after a subscriber receives a message\nbefore the subscriber should acknowledge the message. After message\ndelivery but before the ack deadline expires and before the message is\nacknowledged, it is an outstanding message and will not be delivered\nagain during that time (on a best-effort basis).\n\nFor pull subscriptions, this value is used as the initial value for the ack\ndeadline. To override this value for a given message, call\n`ModifyAckDeadline` with the corresponding `ack_id` if using\npull.\nThe minimum custom deadline you can specify is 10 seconds.\nThe maximum custom deadline you can specify is 600 seconds (10 minutes).\nIf this parameter is 0, a default value of 10 seconds is used.\n\nFor push delivery, this value is also used to set the request timeout for\nthe call to the push endpoint.\n\nIf the subscriber never acknowledges the message, the Pub/Sub\nsystem will eventually redeliver the message.",
"format": "int32", "format": "int32",
"description": "This value is the maximum time after a subscriber receives a message\nbefore the subscriber should acknowledge the message. After message\ndelivery but before the ack deadline expires and before the message is\nacknowledged, it is an outstanding message and will not be delivered\nagain during that time (on a best-effort basis).\n\nFor pull subscriptions, this value is used as the initial value for the ack\ndeadline. To override this value for a given message, call\n`ModifyAckDeadline` with the corresponding `ack_id` if using\npull.\nThe minimum custom deadline you can specify is 10 seconds.\nThe maximum custom deadline you can specify is 600 seconds (10 minutes).\nIf this parameter is 0, a default value of 10 seconds is used.\n\nFor push delivery, this value is also used to set the request timeout for\nthe call to the push endpoint.\n\nIf the subscriber never acknowledges the message, the Pub/Sub\nsystem will eventually redeliver the message.",
"type": "integer" "type": "integer"
}, },
"name": { "name": {
...@@ -1113,34 +983,153 @@ ...@@ -1113,34 +983,153 @@
"topic": { "topic": {
"description": "The name of the topic from which this subscription is receiving messages.\nFormat is `projects/{project}/topics/{topic}`.\nThe value of this field will be `_deleted-topic_` if the topic has been\ndeleted.", "description": "The name of the topic from which this subscription is receiving messages.\nFormat is `projects/{project}/topics/{topic}`.\nThe value of this field will be `_deleted-topic_` if the topic has been\ndeleted.",
"type": "string" "type": "string"
},
"pushConfig": {
"$ref": "PushConfig",
"description": "If push delivery is used with this subscription, this field is\nused to configure it. An empty `pushConfig` signifies that the subscriber\nwill pull and ack messages using API methods."
} }
}, },
"id": "Subscription" "id": "Subscription",
"description": "A subscription resource."
}, },
"TestIamPermissionsRequest": { "TestIamPermissionsRequest": {
"description": "Request message for `TestIamPermissions` method.",
"type": "object", "type": "object",
"properties": { "properties": {
"permissions": { "permissions": {
"description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
"type": "array",
"items": { "items": {
"type": "string" "type": "string"
} },
"type": "array"
}
},
"id": "TestIamPermissionsRequest",
"description": "Request message for `TestIamPermissions` method."
},
"Policy": {
"description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).",
"type": "object",
"properties": {
"bindings": {
"description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.",
"items": {
"$ref": "Binding"
},
"type": "array"
},
"etag": {
"format": "byte",
"description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.",
"type": "string"
},
"version": {
"format": "int32",
"description": "Version of the `Policy`. The default version is 0.",
"type": "integer"
}
},
"id": "Policy"
},
"Topic": {
"description": "A topic resource.",
"type": "object",
"properties": {
"name": {
"description": "The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.",
"type": "string"
}
},
"id": "Topic"
},
"ModifyAckDeadlineRequest": {
"description": "Request for the ModifyAckDeadline method.",
"type": "object",
"properties": {
"ackDeadlineSeconds": {
"format": "int32",
"description": "The new ack deadline with respect to the time this request was sent to\nthe Pub/Sub system. For example, if the value is 10, the new\nack deadline will expire 10 seconds after the `ModifyAckDeadline` call\nwas made. Specifying zero may immediately make the message available for\nanother pull request.\nThe minimum deadline you can specify is 0 seconds.\nThe maximum deadline you can specify is 600 seconds (10 minutes).",
"type": "integer"
},
"ackIds": {
"description": "List of acknowledgment IDs.",
"items": {
"type": "string"
},
"type": "array"
}
},
"id": "ModifyAckDeadlineRequest"
},
"SetIamPolicyRequest": {
"description": "Request message for `SetIamPolicy` method.",
"type": "object",
"properties": {
"policy": {
"$ref": "Policy",
"description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
}
},
"id": "SetIamPolicyRequest"
},
"ModifyPushConfigRequest": {
"description": "Request for the ModifyPushConfig method.",
"type": "object",
"properties": {
"pushConfig": {
"description": "The push configuration for future deliveries.\n\nAn empty `pushConfig` indicates that the Pub/Sub system should\nstop pushing messages from the given subscription and allow\nmessages to be pulled and acknowledged - effectively pausing\nthe subscription if `Pull` is not called.",
"$ref": "PushConfig"
}
},
"id": "ModifyPushConfigRequest"
},
"PubsubMessage": {
"description": "A message data and its attributes. The message payload must not be empty;\nit must contain either a non-empty data field, or at least one attribute.",
"type": "object",
"properties": {
"messageId": {
"description": "ID of this message, assigned by the server when the message is published.\nGuaranteed to be unique within the topic. This value may be read by a\nsubscriber that receives a `PubsubMessage` via a `Pull` call or a push\ndelivery. It must not be populated by the publisher in a `Publish` call.",
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"description": "Optional attributes for this message.",
"type": "object"
},
"publishTime": {
"format": "google-datetime",
"description": "The time at which the message was published, populated by the server when\nit receives the `Publish` call. It must not be populated by the\npublisher in a `Publish` call.",
"type": "string"
},
"data": {
"format": "byte",
"description": "The message payload.",
"type": "string"
}
},
"id": "PubsubMessage"
},
"Binding": {
"properties": {
"role": {
"type": "string",
"description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired"
},
"members": {
"description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n",
"items": {
"type": "string"
},
"type": "array"
} }
}, },
"id": "TestIamPermissionsRequest" "id": "Binding",
"description": "Associates `members` with a `role`.",
"type": "object"
} }
}, },
"protocol": "rest",
"icons": { "icons": {
"x32": "http://www.google.com/images/icons/product/search-32.gif", "x16": "http://www.google.com/images/icons/product/search-16.gif",
"x16": "http://www.google.com/images/icons/product/search-16.gif" "x32": "http://www.google.com/images/icons/product/search-32.gif"
}, },
"protocol": "rest",
"version": "v1", "version": "v1",
"baseUrl": "https://pubsub.googleapis.com/", "baseUrl": "https://pubsub.googleapis.com/",
"canonicalName": "Pubsub", "canonicalName": "Pubsub",
...@@ -1155,5 +1144,16 @@ ...@@ -1155,5 +1144,16 @@
} }
} }
} }
} },
"kind": "discovery#restDescription",
"description": "Provides reliable, many-to-many, asynchronous messaging between applications.\n",
"servicePath": "",
"rootUrl": "https://pubsub.googleapis.com/",
"basePath": "",
"ownerDomain": "google.com",
"name": "pubsub",
"batchPath": "batch",
"id": "pubsub:v1",
"documentationLink": "https://cloud.google.com/pubsub/docs",
"revision": "20170630"
} }
...@@ -193,6 +193,7 @@ type Binding struct { ...@@ -193,6 +193,7 @@ type Binding struct {
// group. // group.
// For example, `admins@example.com`. // For example, `admins@example.com`.
// //
//
// * `domain:{domain}`: A Google Apps domain name that represents all // * `domain:{domain}`: A Google Apps domain name that represents all
// the // the
// users of that domain. For example, `google.com` or // users of that domain. For example, `google.com` or
...@@ -477,8 +478,6 @@ func (s *ModifyPushConfigRequest) MarshalJSON() ([]byte, error) { ...@@ -477,8 +478,6 @@ func (s *ModifyPushConfigRequest) MarshalJSON() ([]byte, error) {
// [IAM developer's guide](https://cloud.google.com/iam). // [IAM developer's guide](https://cloud.google.com/iam).
type Policy struct { type Policy struct {
// Bindings: Associates a list of `members` to a `role`. // Bindings: Associates a list of `members` to a `role`.
// Multiple `bindings` must not be specified for the same
// `role`.
// `bindings` with no members will result in an error. // `bindings` with no members will result in an error.
Bindings []*Binding `json:"bindings,omitempty"` Bindings []*Binding `json:"bindings,omitempty"`
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment