mirror of
https://github.com/rocky-linux/peridot.git
synced 2024-12-19 09:28:29 +00:00
Major upgrades
Upgrade to Go 1.20.5, Hydra v2 SDK, rules-go v0.44.2 (with proper resolves), protobuf v25.3 and mass upgrade of Go dependencies.
This commit is contained in:
parent
cedf1d1db1
commit
ad0f7a5305
4
.bazelrc
4
.bazelrc
@ -2,6 +2,10 @@
|
|||||||
build --workspace_status_command=tools/status.sh
|
build --workspace_status_command=tools/status.sh
|
||||||
run --workspace_status_command=tools/status.sh
|
run --workspace_status_command=tools/status.sh
|
||||||
|
|
||||||
|
# C++
|
||||||
|
build --cxxopt='-std=c++17'
|
||||||
|
build --host_cxxopt='-std=c++17'
|
||||||
|
|
||||||
# Just build tests when testing
|
# Just build tests when testing
|
||||||
test --build_tests_only
|
test --build_tests_only
|
||||||
|
|
||||||
|
6
.envrc.prod.ghcr
Normal file
6
.envrc.prod.ghcr
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
unset STABLE_LOCAL_ENVIRONMENT STABLE_OCI_REGISTRY STABLE_OCI_REGISTRY_REPO STABLE_OCI_REGISTRY_NO_NESTED_SUPPORT_IN_2022_SHAME_ON_YOU_AWS STABLE_SITE
|
||||||
|
|
||||||
|
export STABLE_STAGE="-prod"
|
||||||
|
export STABLE_REGISTRY_SECRET="none"
|
||||||
|
export STABLE_OCI_REGISTRY="ghcr.io"
|
||||||
|
export STABLE_OCI_REGISTRY_REPO="rocky-linux/peridot"
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -117,5 +117,8 @@ fabric.properties
|
|||||||
.ijwb/.idea/runConfigurations.xml
|
.ijwb/.idea/runConfigurations.xml
|
||||||
.ijwb/.idea/google-java-format.xml
|
.ijwb/.idea/google-java-format.xml
|
||||||
.ijwb/.idea/dataSources.xml
|
.ijwb/.idea/dataSources.xml
|
||||||
|
.ijwb/.idea/copilot
|
||||||
|
.ijwb/.idea/api_linter_proj.xml
|
||||||
|
|
||||||
.envrc.local
|
.envrc.local
|
||||||
|
.DS_Store
|
||||||
|
6
.ijwb/.idea/jsLibraryMappings.xml
generated
6
.ijwb/.idea/jsLibraryMappings.xml
generated
@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="JavaScriptLibraryMappings">
|
|
||||||
<file url="file://$PROJECT_DIR$/.." libraries="{Node.js Core}" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
2
.ijwb/.idea/misc.xml
generated
2
.ijwb/.idea/misc.xml
generated
@ -3,5 +3,5 @@
|
|||||||
<component name="FrameworkDetectionExcludesConfiguration">
|
<component name="FrameworkDetectionExcludesConfiguration">
|
||||||
<type id="android" />
|
<type id="android" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="11" project-jdk-type="JavaSDK" />
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="azul-11" project-jdk-type="JavaSDK" />
|
||||||
</project>
|
</project>
|
46
BUILD.bazel
46
BUILD.bazel
@ -13,8 +13,10 @@ exports_files([
|
|||||||
# gazelle:exclude vendor/google.golang.org
|
# gazelle:exclude vendor/google.golang.org
|
||||||
# gazelle:exclude vendor/github.com/golang/protobuf
|
# gazelle:exclude vendor/github.com/golang/protobuf
|
||||||
# gazelle:exclude vendor/golang.org/x/net
|
# gazelle:exclude vendor/golang.org/x/net
|
||||||
|
# gazelle:exclude vendor/golang.org/x/oauth2
|
||||||
|
# gazelle:exclude vendor/github.com/googleapis/gax-go/v2
|
||||||
# gazelle:exclude vendor/github.com/ProtonMail/go-crypto
|
# gazelle:exclude vendor/github.com/ProtonMail/go-crypto
|
||||||
# gazelle:go_grpc_compilers //:go_apiv2,//:go_grpc,//:go_validate,@com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-grpc-gateway:go_gen_grpc_gateway
|
# gazelle:go_grpc_compilers //:go_apiv2,//:go_grpc,//:go_validate,//:go_gen_grpc_gateway
|
||||||
# gazelle:resolve go github.com/grpc-ecosystem/grpc-gateway/v2/runtime @com_github_grpc_ecosystem_grpc_gateway_v2//runtime:go_default_library
|
# gazelle:resolve go github.com/grpc-ecosystem/grpc-gateway/v2/runtime @com_github_grpc_ecosystem_grpc_gateway_v2//runtime:go_default_library
|
||||||
# gazelle:resolve go github.com/grpc-ecosystem/grpc-gateway/v2/utilities @com_github_grpc_ecosystem_grpc_gateway_v2//utilities:go_default_library
|
# gazelle:resolve go github.com/grpc-ecosystem/grpc-gateway/v2/utilities @com_github_grpc_ecosystem_grpc_gateway_v2//utilities:go_default_library
|
||||||
# gazelle:resolve go github.com/envoyproxy/protoc-gen-validate/validate @com_envoyproxy_protoc_gen_validate//validate:validate_go_proto
|
# gazelle:resolve go github.com/envoyproxy/protoc-gen-validate/validate @com_envoyproxy_protoc_gen_validate//validate:validate_go_proto
|
||||||
@ -25,10 +27,38 @@ exports_files([
|
|||||||
# gazelle:resolve proto go protoc-gen-openapiv2/options/annotations.proto @com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-openapiv2/options:options_go_proto
|
# gazelle:resolve proto go protoc-gen-openapiv2/options/annotations.proto @com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-openapiv2/options:options_go_proto
|
||||||
# gazelle:resolve proto protoc-gen-openapiv2/options/openapiv2.proto @com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-openapiv2/options:options_proto
|
# gazelle:resolve proto protoc-gen-openapiv2/options/openapiv2.proto @com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-openapiv2/options:options_proto
|
||||||
# gazelle:resolve proto go protoc-gen-openapiv2/options/openapiv2.proto @com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-openapiv2/options:options_go_proto
|
# gazelle:resolve proto go protoc-gen-openapiv2/options/openapiv2.proto @com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-openapiv2/options:options_go_proto
|
||||||
|
# gazelle:resolve proto google/longrunning/operations.proto @googleapis//google/longrunning:operations_proto
|
||||||
|
# gazelle:resolve proto go google/longrunning/operations.proto @org_golang_google_genproto//googleapis/longrunning
|
||||||
|
# gazelle:resolve proto proto google/api/annotations.proto @googleapis//google/api:annotations_proto
|
||||||
|
# gazelle:resolve proto go google/api/annotations.proto @org_golang_google_genproto_googleapis_api//annotations
|
||||||
|
# gazelle:resolve proto proto google/api/httpbody.proto @googleapis//google/api:httpbody_proto
|
||||||
|
# gazelle:resolve proto go google/api/httpbody.proto @org_golang_google_genproto_googleapis_api//httpbody
|
||||||
|
# gazelle:resolve proto proto google/api/field_behavior.proto @googleapis//google/api:field_behavior_proto
|
||||||
|
# gazelle:resolve proto go google/api/field_behavior.proto @org_golang_google_genproto_googleapis_api//:api
|
||||||
|
# gazelle:resolve proto proto google/api/client.proto @googleapis//google/api:client_proto
|
||||||
|
# gazelle:resolve proto go google/api/client.proto @org_golang_google_genproto_googleapis_api//:api
|
||||||
|
# gazelle:resolve proto proto google/api/resource.proto @googleapis//google/api:resource_proto
|
||||||
|
# gazelle:resolve proto go google/api/resource.proto @org_golang_google_genproto_googleapis_api//:api
|
||||||
|
# gazelle:resolve proto proto google/rpc/status.proto @googleapis//google/rpc:status_proto
|
||||||
|
# gazelle:resolve proto go google/rpc/status.proto @org_golang_google_genproto_googleapis_rpc//status
|
||||||
|
# gazelle:resolve proto proto google/rpc/error_details.proto @googleapis//google/rpc:error_details_proto
|
||||||
|
# gazelle:resolve proto go google/rpc/error_details.proto @org_golang_google_genproto_googleapis_rpc//errdetails
|
||||||
|
# gazelle:resolve proto proto google/rpc/code.proto @googleapis//google/rpc:code_proto
|
||||||
|
# gazelle:resolve proto go google/rpc/code.proto @org_golang_google_genproto_googleapis_rpc//code
|
||||||
gazelle(
|
gazelle(
|
||||||
name = "gazelle",
|
name = "gazelle",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
gazelle(
|
||||||
|
name = "repositories",
|
||||||
|
args = [
|
||||||
|
"-from_file=go.mod",
|
||||||
|
"-to_macro=repositories.bzl%go_repositories",
|
||||||
|
"-prune",
|
||||||
|
],
|
||||||
|
command = "update-repos",
|
||||||
|
)
|
||||||
|
|
||||||
java_binary(
|
java_binary(
|
||||||
name = "bazel-diff",
|
name = "bazel-diff",
|
||||||
main_class = "com.bazel_diff.Main",
|
main_class = "com.bazel_diff.Main",
|
||||||
@ -115,6 +145,20 @@ go_proto_compiler(
|
|||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
go_proto_compiler(
|
||||||
|
name = "go_gen_grpc_gateway",
|
||||||
|
plugin = "@com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-grpc-gateway",
|
||||||
|
suffix = ".pb.gw.go",
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
deps = [
|
||||||
|
"@com_github_grpc_ecosystem_grpc_gateway_v2//runtime:go_default_library",
|
||||||
|
"@com_github_grpc_ecosystem_grpc_gateway_v2//utilities:go_default_library",
|
||||||
|
"@org_golang_google_grpc//grpclog:go_default_library",
|
||||||
|
"@org_golang_google_grpc//metadata:go_default_library",
|
||||||
|
"@org_golang_google_protobuf//proto",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
go_proto_compiler(
|
go_proto_compiler(
|
||||||
name = "go_validate",
|
name = "go_validate",
|
||||||
options = [
|
options = [
|
||||||
|
105
WORKSPACE
105
WORKSPACE
@ -5,6 +5,15 @@ workspace(
|
|||||||
|
|
||||||
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_jar")
|
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_jar")
|
||||||
|
|
||||||
|
http_archive(
|
||||||
|
name = "bazel_skylib",
|
||||||
|
sha256 = "74d544d96f4a5bb630d465ca8bbcfe231e3594e5aae57e1edbf17a6eb3ca2506",
|
||||||
|
urls = [
|
||||||
|
"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz",
|
||||||
|
"https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
# --start python--
|
# --start python--
|
||||||
load("//wrksp:python_download.bzl", "python_download")
|
load("//wrksp:python_download.bzl", "python_download")
|
||||||
|
|
||||||
@ -17,12 +26,9 @@ python_deps()
|
|||||||
|
|
||||||
http_archive(
|
http_archive(
|
||||||
name = "com_google_protobuf",
|
name = "com_google_protobuf",
|
||||||
sha256 = "3bd7828aa5af4b13b99c191e8b1e884ebfa9ad371b0ce264605d347f135d2568",
|
sha256 = "d19643d265b978383352b3143f04c0641eea75a75235c111cc01a1350173180e",
|
||||||
strip_prefix = "protobuf-3.19.4",
|
strip_prefix = "protobuf-25.3",
|
||||||
urls = [
|
urls = ["https://github.com/protocolbuffers/protobuf/archive/v25.3.tar.gz"],
|
||||||
"https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v3.19.4.tar.gz",
|
|
||||||
"https://github.com/protocolbuffers/protobuf/archive/v3.19.4.tar.gz",
|
|
||||||
],
|
|
||||||
)
|
)
|
||||||
|
|
||||||
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
|
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
|
||||||
@ -31,80 +37,84 @@ protobuf_deps()
|
|||||||
|
|
||||||
http_archive(
|
http_archive(
|
||||||
name = "io_bazel_rules_go",
|
name = "io_bazel_rules_go",
|
||||||
sha256 = "d6b2513456fe2229811da7eb67a444be7785f5323c6708b38d851d2b51e54d83",
|
integrity = "sha256-fHbWI2so/2laoozzX5XeMXqUcv0fsUrHl8m/aE8Js3w=",
|
||||||
urls = [
|
urls = [
|
||||||
"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.30.0/rules_go-v0.30.0.zip",
|
"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.44.2/rules_go-v0.44.2.zip",
|
||||||
"https://github.com/bazelbuild/rules_go/releases/download/v0.30.0/rules_go-v0.30.0.zip",
|
"https://github.com/bazelbuild/rules_go/releases/download/v0.44.2/rules_go-v0.44.2.zip",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
http_archive(
|
http_archive(
|
||||||
name = "bazel_gazelle",
|
name = "bazel_gazelle",
|
||||||
sha256 = "de69a09dc70417580aabf20a28619bb3ef60d038470c7cf8442fafcf627c21cb",
|
integrity = "sha256-MpOL2hbmcABjA1R5Bj2dJMYO2o15/Uc5Vj9Q0zHLMgk=",
|
||||||
urls = [
|
urls = [
|
||||||
"https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
|
"https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.35.0/bazel-gazelle-v0.35.0.tar.gz",
|
||||||
"https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
|
"https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.35.0/bazel-gazelle-v0.35.0.tar.gz",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
|
load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
|
||||||
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies", "go_repository")
|
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies", "go_repository")
|
||||||
|
load("//:repositories.bzl", "go_repositories")
|
||||||
|
|
||||||
go_rules_dependencies()
|
go_rules_dependencies()
|
||||||
|
|
||||||
go_register_toolchains(
|
go_register_toolchains(
|
||||||
nogo = "@peridot//:nogo",
|
nogo = "@peridot//:nogo",
|
||||||
version = "1.18.10",
|
version = "1.20.5",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# gazelle:repository_macro repositories.bzl%go_repositories
|
||||||
|
go_repositories()
|
||||||
|
|
||||||
go_repository(
|
go_repository(
|
||||||
name = "org_golang_google_grpc",
|
name = "org_golang_google_grpc",
|
||||||
|
build_file_generation = "on",
|
||||||
build_file_proto_mode = "disable",
|
build_file_proto_mode = "disable",
|
||||||
importpath = "google.golang.org/grpc",
|
importpath = "google.golang.org/grpc",
|
||||||
sum = "h1:weqSxi/TMs1SqFRMHCtBgXRs8k3X39QIDEZ0pRcttUg=",
|
sum = "h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk=",
|
||||||
version = "v1.44.0",
|
version = "v1.62.0",
|
||||||
)
|
)
|
||||||
|
|
||||||
go_repository(
|
go_repository(
|
||||||
name = "org_golang_x_net",
|
name = "org_golang_x_net",
|
||||||
importpath = "golang.org/x/net",
|
importpath = "golang.org/x/net",
|
||||||
sum = "h1:O7DYs+zxREGLKzKoMQrtrEacpb0ZVXA5rIwylE2Xchk=",
|
sum = "h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=",
|
||||||
version = "v0.0.0-20220127200216-cd36cc0744dd",
|
version = "v0.21.0",
|
||||||
)
|
)
|
||||||
|
|
||||||
go_repository(
|
go_repository(
|
||||||
name = "org_golang_x_text",
|
name = "org_golang_x_text",
|
||||||
importpath = "golang.org/x/text",
|
importpath = "golang.org/x/text",
|
||||||
sum = "h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=",
|
sum = "h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=",
|
||||||
version = "v0.3.0",
|
version = "v0.14.0",
|
||||||
)
|
|
||||||
|
|
||||||
go_repository(
|
|
||||||
name = "com_github_ProtonMail_go_crypto",
|
|
||||||
importpath = "github.com/ProtonMail/go-crypto",
|
|
||||||
patch_args = ["-p1"],
|
|
||||||
patches = [
|
|
||||||
"//patches:0001-Key-ID-subpacket-should-not-be-hashed-or-critical-fo.patch",
|
|
||||||
],
|
|
||||||
sum = "h1:J2FzIrXN82q5uyUraeJpLIm7U6PffRwje2ORho5yIik=",
|
|
||||||
version = "v0.0.0-20220113124808-70ae35bab23f",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
go_repository(
|
go_repository(
|
||||||
name = "org_golang_x_oauth2",
|
name = "org_golang_x_oauth2",
|
||||||
build_directives = [
|
|
||||||
"gazelle:resolve go cloud.google.com/go/compute/metadata @com_google_cloud_go//compute/metadata",
|
|
||||||
],
|
|
||||||
importpath = "golang.org/x/oauth2",
|
importpath = "golang.org/x/oauth2",
|
||||||
sum = "h1:pkQiBZBvdos9qq4wBAHqlzuZHEXo07pqV06ef90u1WI=",
|
sum = "h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ=",
|
||||||
version = "v0.0.0-20210514164344-f6687ab2804c",
|
version = "v0.17.0",
|
||||||
)
|
)
|
||||||
|
|
||||||
gazelle_dependencies()
|
gazelle_dependencies()
|
||||||
|
|
||||||
load("@io_bazel_rules_go//extras:embed_data_deps.bzl", "go_embed_data_dependencies")
|
http_archive(
|
||||||
|
name = "googleapis",
|
||||||
|
sha256 = "9d1a930e767c93c825398b8f8692eca3fe353b9aaadedfbcf1fca2282c85df88",
|
||||||
|
strip_prefix = "googleapis-64926d52febbf298cb82a8f472ade4a3969ba922",
|
||||||
|
urls = [
|
||||||
|
"https://github.com/googleapis/googleapis/archive/64926d52febbf298cb82a8f472ade4a3969ba922.zip",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
go_embed_data_dependencies()
|
load("@googleapis//:repository_rules.bzl", "switched_rules_by_language")
|
||||||
|
|
||||||
|
switched_rules_by_language(
|
||||||
|
name = "com_google_googleapis_imports",
|
||||||
|
go = True,
|
||||||
|
grpc = True,
|
||||||
|
)
|
||||||
|
|
||||||
http_archive(
|
http_archive(
|
||||||
name = "build_bazel_rules_nodejs",
|
name = "build_bazel_rules_nodejs",
|
||||||
@ -146,28 +156,13 @@ load("//wrksp:openapitools_deps.bzl", "openapitools_deps")
|
|||||||
openapitools_deps()
|
openapitools_deps()
|
||||||
# --end openapitools--
|
# --end openapitools--
|
||||||
|
|
||||||
# --start grpc_gateway--
|
|
||||||
http_archive(
|
|
||||||
name = "com_github_grpc_ecosystem_grpc_gateway_v2",
|
|
||||||
sha256 = "c405cd8f1fb54761933c20be2ad02cce4f9a498d7bdb92a5d3789704884b8360",
|
|
||||||
strip_prefix = "grpc-gateway-2.7.3",
|
|
||||||
urls = [
|
|
||||||
"https://github.com/grpc-ecosystem/grpc-gateway/archive/refs/tags/v2.7.3.tar.gz",
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
load("@com_github_grpc_ecosystem_grpc_gateway_v2//:repositories.bzl", "go_repositories")
|
|
||||||
|
|
||||||
go_repositories()
|
|
||||||
# --end grpc_gateway--
|
|
||||||
|
|
||||||
# --start protoc_gen_validate--
|
# --start protoc_gen_validate--
|
||||||
http_archive(
|
http_archive(
|
||||||
name = "com_envoyproxy_protoc_gen_validate",
|
name = "com_envoyproxy_protoc_gen_validate",
|
||||||
sha256 = "4c692c62e16c168049bca2b2972b0a25222870cf53e61be30b50d761e58728bd",
|
sha256 = "92e29c2150675ce954c965bcaa559ca944704b75711533cfe03ce541dcf5a1dd",
|
||||||
strip_prefix = "protoc-gen-validate-0.6.7",
|
strip_prefix = "protoc-gen-validate-1.0.4",
|
||||||
urls = [
|
urls = [
|
||||||
"https://github.com/envoyproxy/protoc-gen-validate/archive/v0.6.7.tar.gz",
|
"https://github.com/bufbuild/protoc-gen-validate/archive/v1.0.4.tar.gz",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -20,8 +20,8 @@ proto_library(
|
|||||||
"@com_envoyproxy_protoc_gen_validate//validate:validate_proto",
|
"@com_envoyproxy_protoc_gen_validate//validate:validate_proto",
|
||||||
"@com_google_protobuf//:timestamp_proto",
|
"@com_google_protobuf//:timestamp_proto",
|
||||||
"@com_google_protobuf//:wrappers_proto",
|
"@com_google_protobuf//:wrappers_proto",
|
||||||
"@go_googleapis//google/api:annotations_proto",
|
"@googleapis//google/api:annotations_proto",
|
||||||
"@go_googleapis//google/api:httpbody_proto",
|
"@googleapis//google/api:httpbody_proto",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -31,15 +31,15 @@ go_proto_library(
|
|||||||
"//:go_apiv2",
|
"//:go_apiv2",
|
||||||
"//:go_grpc",
|
"//:go_grpc",
|
||||||
"//:go_validate",
|
"//:go_validate",
|
||||||
"@com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-grpc-gateway:go_gen_grpc_gateway",
|
"//:go_gen_grpc_gateway",
|
||||||
],
|
],
|
||||||
importpath = "peridot.resf.org/apollo/pb",
|
importpath = "peridot.resf.org/apollo/pb",
|
||||||
proto = ":apollopb_proto",
|
proto = ":apollopb_proto",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"@com_envoyproxy_protoc_gen_validate//validate:validate_go_proto",
|
"@com_envoyproxy_protoc_gen_validate//validate:validate_go_proto",
|
||||||
"@go_googleapis//google/api:annotations_go_proto",
|
"@org_golang_google_genproto_googleapis_api//annotations",
|
||||||
"@go_googleapis//google/api:httpbody_go_proto",
|
"@org_golang_google_genproto_googleapis_api//httpbody",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -26,18 +26,18 @@ resf_frontend(
|
|||||||
"//common/mui",
|
"//common/mui",
|
||||||
"//common/ui",
|
"//common/ui",
|
||||||
"//tailwind:css",
|
"//tailwind:css",
|
||||||
"@npm//@chakra-ui/react",
|
|
||||||
"@npm//@chakra-ui/icons",
|
"@npm//@chakra-ui/icons",
|
||||||
|
"@npm//@chakra-ui/react",
|
||||||
"@npm//@emotion/unitless",
|
"@npm//@emotion/unitless",
|
||||||
|
"@npm//await-to-js",
|
||||||
"@npm//framer-motion",
|
"@npm//framer-motion",
|
||||||
"@npm//framesync",
|
"@npm//framesync",
|
||||||
"@npm//popmotion",
|
"@npm//popmotion",
|
||||||
"@npm//style-value-types",
|
|
||||||
"@npm//await-to-js",
|
|
||||||
"@npm//react",
|
"@npm//react",
|
||||||
"@npm//react-dom",
|
"@npm//react-dom",
|
||||||
"@npm//react-router",
|
"@npm//react-router",
|
||||||
"@npm//react-router-dom",
|
"@npm//react-router-dom",
|
||||||
|
"@npm//style-value-types",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -14,9 +14,9 @@ proto_library(
|
|||||||
"//build/bazel/semver:semver_proto",
|
"//build/bazel/semver:semver_proto",
|
||||||
"@com_google_protobuf//:duration_proto",
|
"@com_google_protobuf//:duration_proto",
|
||||||
"@com_google_protobuf//:timestamp_proto",
|
"@com_google_protobuf//:timestamp_proto",
|
||||||
"@go_googleapis//google/api:annotations_proto",
|
"@googleapis//google/api:annotations_proto",
|
||||||
"@go_googleapis//google/longrunning:longrunning_proto",
|
"@googleapis//google/longrunning:operations_proto",
|
||||||
"@go_googleapis//google/rpc:status_proto",
|
"@googleapis//google/rpc:status_proto",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -31,9 +31,9 @@ go_proto_library(
|
|||||||
proto = ":remoteexecution_proto",
|
proto = ":remoteexecution_proto",
|
||||||
deps = [
|
deps = [
|
||||||
"//build/bazel/semver:semver_go_proto",
|
"//build/bazel/semver:semver_go_proto",
|
||||||
"@go_googleapis//google/api:annotations_go_proto",
|
"@org_golang_google_genproto//googleapis/longrunning",
|
||||||
"@go_googleapis//google/longrunning:longrunning_go_proto",
|
"@org_golang_google_genproto_googleapis_api//annotations",
|
||||||
"@go_googleapis//google/rpc:status_go_proto",
|
"@org_golang_google_genproto_googleapis_rpc//status",
|
||||||
"@org_golang_google_protobuf//types/known/durationpb",
|
"@org_golang_google_protobuf//types/known/durationpb",
|
||||||
"@org_golang_google_protobuf//types/known/timestamppb",
|
"@org_golang_google_protobuf//types/known/timestamppb",
|
||||||
],
|
],
|
||||||
|
157
go.mod
157
go.mod
@ -1,7 +1,7 @@
|
|||||||
//gen:comment:this file is generated with nofussvendor. DO NOT EDIT
|
//gen:comment:this file is generated with nofussvendor. DO NOT EDIT
|
||||||
module peridot.resf.org
|
module peridot.resf.org
|
||||||
|
|
||||||
go 1.15
|
go 1.21
|
||||||
|
|
||||||
require (
|
require (
|
||||||
alexejk.io/go-xmlrpc v0.2.0
|
alexejk.io/go-xmlrpc v0.2.0
|
||||||
@ -9,32 +9,24 @@ require (
|
|||||||
cirello.io/dynamolock v1.4.0
|
cirello.io/dynamolock v1.4.0
|
||||||
github.com/ProtonMail/go-crypto v0.0.0-20220113124808-70ae35bab23f
|
github.com/ProtonMail/go-crypto v0.0.0-20220113124808-70ae35bab23f
|
||||||
github.com/ProtonMail/gopenpgp/v2 v2.4.7
|
github.com/ProtonMail/gopenpgp/v2 v2.4.7
|
||||||
github.com/PuerkitoBio/goquery v1.7.0
|
|
||||||
github.com/antchfx/xmlquery v1.3.6 // indirect
|
|
||||||
github.com/authzed/authzed-go v0.3.0
|
github.com/authzed/authzed-go v0.3.0
|
||||||
github.com/authzed/grpcutil v0.0.0-20211115181027-063820eb2511
|
github.com/authzed/grpcutil v0.0.0-20240123194739-2ea1e3d2d98b
|
||||||
github.com/aws/aws-sdk-go v1.44.129
|
github.com/aws/aws-sdk-go v1.44.129
|
||||||
github.com/cavaliergopher/rpm v1.2.0
|
github.com/cavaliergopher/rpm v1.2.0
|
||||||
github.com/coreos/go-oidc/v3 v3.0.0
|
github.com/coreos/go-oidc/v3 v3.0.0
|
||||||
github.com/fatih/color v1.12.0
|
github.com/fatih/color v1.15.0
|
||||||
github.com/go-chi/chi v4.1.2+incompatible
|
github.com/go-chi/chi v4.1.2+incompatible
|
||||||
github.com/go-git/go-billy/v5 v5.3.1
|
github.com/go-git/go-billy/v5 v5.3.1
|
||||||
github.com/go-git/go-git/v5 v5.2.0
|
github.com/go-git/go-git/v5 v5.2.0
|
||||||
github.com/go-openapi/runtime v0.19.31
|
|
||||||
github.com/go-openapi/strfmt v0.20.2
|
|
||||||
github.com/gobwas/glob v0.2.3
|
github.com/gobwas/glob v0.2.3
|
||||||
github.com/gocolly/colly/v2 v2.1.0
|
|
||||||
github.com/gogo/status v1.1.0
|
github.com/gogo/status v1.1.0
|
||||||
github.com/google/uuid v1.3.0
|
github.com/google/uuid v1.6.0
|
||||||
github.com/gorilla/feeds v1.1.1
|
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0
|
||||||
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0
|
|
||||||
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
|
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
|
||||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.6.0
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1
|
||||||
github.com/imdario/mergo v0.3.11 // indirect
|
|
||||||
github.com/jmoiron/sqlx v1.3.4
|
github.com/jmoiron/sqlx v1.3.4
|
||||||
github.com/lib/pq v1.10.2
|
github.com/lib/pq v1.10.2
|
||||||
github.com/ory/hydra-client-go v1.10.6
|
github.com/ory/hydra-client-go/v2 v2.2.0
|
||||||
github.com/pelletier/go-toml v1.8.1 // indirect
|
|
||||||
github.com/pkg/errors v0.9.1
|
github.com/pkg/errors v0.9.1
|
||||||
github.com/prometheus/client_golang v1.13.0
|
github.com/prometheus/client_golang v1.13.0
|
||||||
github.com/rocky-linux/srpmproc v0.4.3
|
github.com/rocky-linux/srpmproc v0.4.3
|
||||||
@ -42,32 +34,136 @@ require (
|
|||||||
github.com/spf13/cobra v1.1.3
|
github.com/spf13/cobra v1.1.3
|
||||||
github.com/spf13/pflag v1.0.5
|
github.com/spf13/pflag v1.0.5
|
||||||
github.com/spf13/viper v1.7.1
|
github.com/spf13/viper v1.7.1
|
||||||
github.com/stretchr/testify v1.7.0
|
|
||||||
github.com/temoto/robotstxt v1.1.2 // indirect
|
|
||||||
github.com/vbauerster/mpb/v7 v7.0.2
|
github.com/vbauerster/mpb/v7 v7.0.2
|
||||||
github.com/xanzy/go-gitlab v0.50.4
|
github.com/xanzy/go-gitlab v0.50.4
|
||||||
go.temporal.io/api v1.6.1-0.20211110205628-60c98e9cbfe2
|
go.temporal.io/api v1.6.1-0.20211110205628-60c98e9cbfe2
|
||||||
go.temporal.io/sdk v1.13.1
|
go.temporal.io/sdk v1.13.1
|
||||||
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d // indirect
|
golang.org/x/oauth2 v0.17.0
|
||||||
golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b
|
google.golang.org/genproto/googleapis/api v0.0.0-20240221002015-b0ce06bbee7c
|
||||||
golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2 // indirect
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240221002015-b0ce06bbee7c
|
||||||
google.golang.org/genproto v0.0.0-20211104193956-4c6863e31247
|
google.golang.org/grpc v1.62.0
|
||||||
google.golang.org/grpc v1.44.0
|
google.golang.org/protobuf v1.32.0
|
||||||
google.golang.org/protobuf v1.28.1
|
gopkg.in/yaml.v3 v3.0.1
|
||||||
gopkg.in/ini.v1 v1.57.0 // indirect
|
k8s.io/api v0.29.2
|
||||||
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
|
k8s.io/apimachinery v0.29.2
|
||||||
k8s.io/api v0.22.1
|
k8s.io/client-go v0.29.2
|
||||||
k8s.io/apimachinery v0.22.1
|
|
||||||
k8s.io/client-go v0.22.1
|
|
||||||
openapi.peridot.resf.org/peridotopenapi v0.0.0-00010101000000-000000000000
|
openapi.peridot.resf.org/peridotopenapi v0.0.0-00010101000000-000000000000
|
||||||
peridot.resf.org/common v0.0.0-00010101000000-000000000000
|
peridot.resf.org/common v0.0.0-00010101000000-000000000000
|
||||||
peridot.resf.org/obsidian/pb v0.0.0-00010101000000-000000000000
|
peridot.resf.org/obsidian/pb v0.0.0-00010101000000-000000000000
|
||||||
peridot.resf.org/peridot/admin/pb v0.0.0-00010101000000-000000000000 // indirect
|
peridot.resf.org/peridot/admin/pb v0.0.0-00010101000000-000000000000
|
||||||
peridot.resf.org/peridot/keykeeper/pb v0.0.0-00010101000000-000000000000
|
peridot.resf.org/peridot/keykeeper/pb v0.0.0-00010101000000-000000000000
|
||||||
peridot.resf.org/peridot/pb v0.0.0-00010101000000-000000000000
|
peridot.resf.org/peridot/pb v0.0.0-00010101000000-000000000000
|
||||||
peridot.resf.org/peridot/yumrepofs/pb v0.0.0-00010101000000-000000000000
|
peridot.resf.org/peridot/yumrepofs/pb v0.0.0-00010101000000-000000000000
|
||||||
)
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
cloud.google.com/go v0.112.0 // indirect
|
||||||
|
cloud.google.com/go/compute v1.24.0 // indirect
|
||||||
|
cloud.google.com/go/compute/metadata v0.2.3 // indirect
|
||||||
|
cloud.google.com/go/iam v1.1.6 // indirect
|
||||||
|
cloud.google.com/go/storage v1.36.0 // indirect
|
||||||
|
github.com/ProtonMail/go-mime v0.0.0-20220302105931-303f85f7fe0f // indirect
|
||||||
|
github.com/VividCortex/ewma v1.2.0 // indirect
|
||||||
|
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // indirect
|
||||||
|
github.com/beorn7/perks v1.0.1 // indirect
|
||||||
|
github.com/bluekeyes/go-gitdiff v0.5.0 // indirect
|
||||||
|
github.com/certifi/gocertifi v0.0.0-20210507211836-431795d63e8d // indirect
|
||||||
|
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
||||||
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||||
|
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
|
||||||
|
github.com/emirpasic/gods v1.12.0 // indirect
|
||||||
|
github.com/envoyproxy/protoc-gen-validate v1.0.4 // indirect
|
||||||
|
github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a // indirect
|
||||||
|
github.com/felixge/httpsnoop v1.0.4 // indirect
|
||||||
|
github.com/fsnotify/fsnotify v1.4.9 // indirect
|
||||||
|
github.com/go-git/gcfg v1.5.0 // indirect
|
||||||
|
github.com/go-logr/logr v1.4.1 // indirect
|
||||||
|
github.com/go-logr/stdr v1.2.2 // indirect
|
||||||
|
github.com/go-openapi/jsonpointer v0.19.6 // indirect
|
||||||
|
github.com/go-openapi/jsonreference v0.20.2 // indirect
|
||||||
|
github.com/go-openapi/swag v0.22.3 // indirect
|
||||||
|
github.com/gogo/googleapis v1.4.1 // indirect
|
||||||
|
github.com/gogo/protobuf v1.3.2 // indirect
|
||||||
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||||
|
github.com/golang/mock v1.6.0 // indirect
|
||||||
|
github.com/golang/protobuf v1.5.3 // indirect
|
||||||
|
github.com/google/gnostic-models v0.6.8 // indirect
|
||||||
|
github.com/google/go-querystring v1.0.0 // indirect
|
||||||
|
github.com/google/gofuzz v1.2.0 // indirect
|
||||||
|
github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 // indirect
|
||||||
|
github.com/google/s2a-go v0.1.7 // indirect
|
||||||
|
github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
|
||||||
|
github.com/googleapis/gax-go/v2 v2.12.1 // indirect
|
||||||
|
github.com/hashicorp/go-cleanhttp v0.5.1 // indirect
|
||||||
|
github.com/hashicorp/go-retryablehttp v0.6.8 // indirect
|
||||||
|
github.com/hashicorp/hcl v1.0.0 // indirect
|
||||||
|
github.com/imdario/mergo v0.3.11 // indirect
|
||||||
|
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
||||||
|
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
||||||
|
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
||||||
|
github.com/josharian/intern v1.0.0 // indirect
|
||||||
|
github.com/json-iterator/go v1.1.12 // indirect
|
||||||
|
github.com/jzelinskie/stringz v0.0.0-20210414224931-d6a8ce844a70 // indirect
|
||||||
|
github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd // indirect
|
||||||
|
github.com/magiconair/properties v1.8.1 // indirect
|
||||||
|
github.com/mailru/easyjson v0.7.7 // indirect
|
||||||
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||||
|
github.com/mattn/go-isatty v0.0.19 // indirect
|
||||||
|
github.com/mattn/go-runewidth v0.0.13 // indirect
|
||||||
|
github.com/mattn/go-sqlite3 v1.14.16 // indirect
|
||||||
|
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
|
||||||
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||||
|
github.com/mitchellh/mapstructure v1.4.1 // indirect
|
||||||
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||||
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||||
|
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
||||||
|
github.com/pborman/uuid v1.2.1 // indirect
|
||||||
|
github.com/pelletier/go-toml v1.8.1 // indirect
|
||||||
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||||
|
github.com/prometheus/client_model v0.5.0 // indirect
|
||||||
|
github.com/prometheus/common v0.37.0 // indirect
|
||||||
|
github.com/prometheus/procfs v0.8.0 // indirect
|
||||||
|
github.com/rivo/uniseg v0.2.0 // indirect
|
||||||
|
github.com/robfig/cron v1.2.0 // indirect
|
||||||
|
github.com/sergi/go-diff v1.1.0 // indirect
|
||||||
|
github.com/spf13/afero v1.10.0 // indirect
|
||||||
|
github.com/spf13/cast v1.3.0 // indirect
|
||||||
|
github.com/spf13/jwalterweatherman v1.0.0 // indirect
|
||||||
|
github.com/stretchr/objx v0.5.0 // indirect
|
||||||
|
github.com/stretchr/testify v1.8.4 // indirect
|
||||||
|
github.com/subosito/gotenv v1.2.0 // indirect
|
||||||
|
github.com/xanzy/ssh-agent v0.2.1 // indirect
|
||||||
|
go.opencensus.io v0.24.0 // indirect
|
||||||
|
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect
|
||||||
|
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
|
||||||
|
go.opentelemetry.io/otel v1.24.0 // indirect
|
||||||
|
go.opentelemetry.io/otel/metric v1.24.0 // indirect
|
||||||
|
go.opentelemetry.io/otel/trace v1.24.0 // indirect
|
||||||
|
go.uber.org/atomic v1.9.0 // indirect
|
||||||
|
golang.org/x/crypto v0.19.0 // indirect
|
||||||
|
golang.org/x/net v0.21.0 // indirect
|
||||||
|
golang.org/x/sync v0.6.0 // indirect
|
||||||
|
golang.org/x/sys v0.17.0 // indirect
|
||||||
|
golang.org/x/term v0.17.0 // indirect
|
||||||
|
golang.org/x/text v0.14.0 // indirect
|
||||||
|
golang.org/x/time v0.5.0 // indirect
|
||||||
|
golang.org/x/tools v0.17.0 // indirect
|
||||||
|
google.golang.org/api v0.166.0 // indirect
|
||||||
|
google.golang.org/appengine v1.6.8 // indirect
|
||||||
|
google.golang.org/genproto v0.0.0-20240221002015-b0ce06bbee7c // indirect
|
||||||
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||||
|
gopkg.in/ini.v1 v1.57.0 // indirect
|
||||||
|
gopkg.in/square/go-jose.v2 v2.5.1 // indirect
|
||||||
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||||
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||||
|
k8s.io/klog/v2 v2.110.1 // indirect
|
||||||
|
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
||||||
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
||||||
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
|
)
|
||||||
|
|
||||||
// Manual replace
|
// Manual replace
|
||||||
replace (
|
replace (
|
||||||
github.com/dgrijalva/jwt-go v3.2.0+incompatible => github.com/golang-jwt/jwt/v4 v4.4.2
|
github.com/dgrijalva/jwt-go v3.2.0+incompatible => github.com/golang-jwt/jwt/v4 v4.4.2
|
||||||
@ -76,6 +172,7 @@ replace (
|
|||||||
|
|
||||||
// sync-replace-start
|
// sync-replace-start
|
||||||
replace (
|
replace (
|
||||||
|
peridot.resf.org/apollo/pb => ./bazel-bin/apollo/proto/v1/apollopb_go_proto_/peridot.resf.org/apollo/pb
|
||||||
bazel.build/protobuf => ./bazel-bin/build/bazel/protobuf/bazelbuild_go_proto_/bazel.build/protobuf
|
bazel.build/protobuf => ./bazel-bin/build/bazel/protobuf/bazelbuild_go_proto_/bazel.build/protobuf
|
||||||
bazel.build/remote/execution/v2 => ./bazel-bin/build/bazel/remote/execution/v2/remoteexecution_go_proto_/bazel.build/remote/execution/v2
|
bazel.build/remote/execution/v2 => ./bazel-bin/build/bazel/remote/execution/v2/remoteexecution_go_proto_/bazel.build/remote/execution/v2
|
||||||
bazel.build/semver => ./bazel-bin/build/bazel/semver/semver_go_proto_/bazel.build/semver
|
bazel.build/semver => ./bazel-bin/build/bazel/semver/semver_go_proto_/bazel.build/semver
|
||||||
@ -85,6 +182,6 @@ replace (
|
|||||||
peridot.resf.org/peridot/keykeeper/pb => ./bazel-bin/peridot/proto/v1/keykeeper/keykeeperpb_go_proto_/peridot.resf.org/peridot/keykeeper/pb
|
peridot.resf.org/peridot/keykeeper/pb => ./bazel-bin/peridot/proto/v1/keykeeper/keykeeperpb_go_proto_/peridot.resf.org/peridot/keykeeper/pb
|
||||||
peridot.resf.org/peridot/yumrepofs/pb => ./bazel-bin/peridot/proto/v1/yumrepofs/yumrepofspb_go_proto_/peridot.resf.org/peridot/yumrepofs/pb
|
peridot.resf.org/peridot/yumrepofs/pb => ./bazel-bin/peridot/proto/v1/yumrepofs/yumrepofspb_go_proto_/peridot.resf.org/peridot/yumrepofs/pb
|
||||||
peridot.resf.org/common => ./bazel-bin/proto/commonpb_go_proto_/peridot.resf.org/common
|
peridot.resf.org/common => ./bazel-bin/proto/commonpb_go_proto_/peridot.resf.org/common
|
||||||
github.com/envoyproxy/protoc-gen-validate/validate => ./bazel-bin/vendor/github.com/envoyproxy/protoc-gen-validate/validate/go_default_library_/github.com/envoyproxy/protoc-gen-validate/validate
|
github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options => ./bazel-bin/protoc-gen-openapiv2/options/options_go_proto_/github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options
|
||||||
)
|
)
|
||||||
// sync-replace-end
|
// sync-replace-end
|
||||||
|
@ -45,6 +45,10 @@ bazel-bin/nofussvendor/nofussvendor_/nofussvendor
|
|||||||
# Vendor packages
|
# Vendor packages
|
||||||
go mod vendor
|
go mod vendor
|
||||||
|
|
||||||
|
# Delete existing BUILD.bazel files
|
||||||
|
find vendor -name BUILD.bazel -delete
|
||||||
|
find vendor -name BUILD -delete
|
||||||
|
|
||||||
# Disable proto for vendor
|
# Disable proto for vendor
|
||||||
cat <<EOF > vendor/BUILD.bazel
|
cat <<EOF > vendor/BUILD.bazel
|
||||||
# gazelle:proto disable
|
# gazelle:proto disable
|
||||||
|
@ -8,9 +8,8 @@ go_library(
|
|||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"//servicecatalog",
|
"//servicecatalog",
|
||||||
"//vendor/github.com/ory/hydra-client-go/client",
|
"//utils",
|
||||||
"//vendor/github.com/ory/hydra-client-go/client/admin",
|
"//vendor/github.com/ory/hydra-client-go/v2:hydra-client-go",
|
||||||
"//vendor/github.com/ory/hydra-client-go/models",
|
|
||||||
"//vendor/github.com/sirupsen/logrus",
|
"//vendor/github.com/sirupsen/logrus",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@ -35,14 +35,12 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
|
"peridot.resf.org/utils"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"peridot.resf.org/servicecatalog"
|
"github.com/ory/hydra-client-go/v2"
|
||||||
|
|
||||||
"github.com/ory/hydra-client-go/client"
|
|
||||||
"github.com/ory/hydra-client-go/client/admin"
|
|
||||||
"github.com/ory/hydra-client-go/models"
|
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
"peridot.resf.org/servicecatalog"
|
||||||
)
|
)
|
||||||
|
|
||||||
type AutoSignupRequest struct {
|
type AutoSignupRequest struct {
|
||||||
@ -85,11 +83,11 @@ func AutoSignup(req *AutoSignupRequest) *AutoSignupResponse {
|
|||||||
logrus.Fatalf("invalid hydra url: %v", err)
|
logrus.Fatalf("invalid hydra url: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
hydraSDK := client.NewHTTPClientWithConfig(nil, &client.TransportConfig{
|
hydraSDKConfiguration := client.NewConfiguration()
|
||||||
Schemes: []string{adminURL.Scheme},
|
hydraSDKConfiguration.Servers[0].URL = adminURL.String()
|
||||||
Host: adminURL.Host,
|
hydraSDKConfiguration.Host = adminURL.Host
|
||||||
BasePath: adminURL.Path,
|
hydraSDKConfiguration.Scheme = adminURL.Scheme
|
||||||
})
|
hydraSDK := client.NewAPIClient(hydraSDKConfiguration)
|
||||||
|
|
||||||
ctx := context.TODO()
|
ctx := context.TODO()
|
||||||
|
|
||||||
@ -103,11 +101,11 @@ func AutoSignup(req *AutoSignupRequest) *AutoSignupResponse {
|
|||||||
visibleName = req.Name
|
visibleName = req.Name
|
||||||
}
|
}
|
||||||
serviceName := fmt.Sprintf("autos-%s", name)
|
serviceName := fmt.Sprintf("autos-%s", name)
|
||||||
clientModel := &models.OAuth2Client{
|
clientModel := client.OAuth2Client{
|
||||||
ClientName: visibleName,
|
ClientName: &visibleName,
|
||||||
ClientID: serviceName,
|
ClientId: &serviceName,
|
||||||
Scope: strings.Join(req.Scopes, " "),
|
Scope: utils.Pointer[string](strings.Join(req.Scopes, " ")),
|
||||||
ClientSecret: secret(),
|
ClientSecret: utils.Pointer[string](secret()),
|
||||||
}
|
}
|
||||||
if req.Frontend {
|
if req.Frontend {
|
||||||
clientModel.RedirectUris = redirectUri(req)
|
clientModel.RedirectUris = redirectUri(req)
|
||||||
@ -118,26 +116,16 @@ func AutoSignup(req *AutoSignupRequest) *AutoSignupResponse {
|
|||||||
Secret: secret(),
|
Secret: secret(),
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = hydraSDK.Admin.GetOAuth2Client(&admin.GetOAuth2ClientParams{
|
_, _, err = hydraSDK.OAuth2API.GetOAuth2Client(ctx, serviceName).Execute()
|
||||||
Context: ctx,
|
|
||||||
ID: serviceName,
|
|
||||||
})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Error(err)
|
logrus.Error(err)
|
||||||
_, err := hydraSDK.Admin.CreateOAuth2Client(&admin.CreateOAuth2ClientParams{
|
_, _, err := hydraSDK.OAuth2API.CreateOAuth2Client(ctx).OAuth2Client(clientModel).Execute()
|
||||||
Context: ctx,
|
|
||||||
Body: clientModel,
|
|
||||||
})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatalf("could not create hydra client: %v", err)
|
logrus.Fatalf("could not create hydra client: %v", err)
|
||||||
}
|
}
|
||||||
logrus.Infof("created hydra client %s", serviceName)
|
logrus.Infof("created hydra client %s", serviceName)
|
||||||
} else {
|
} else {
|
||||||
_, err := hydraSDK.Admin.UpdateOAuth2Client(&admin.UpdateOAuth2ClientParams{
|
_, _, err := hydraSDK.OAuth2API.SetOAuth2Client(ctx, serviceName).OAuth2Client(clientModel).Execute()
|
||||||
Context: ctx,
|
|
||||||
Body: clientModel,
|
|
||||||
ID: serviceName,
|
|
||||||
})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatalf("could not update hydra client: %v", err)
|
logrus.Fatalf("could not update hydra client: %v", err)
|
||||||
}
|
}
|
||||||
|
BIN
nofussvendor/.DS_Store
vendored
BIN
nofussvendor/.DS_Store
vendored
Binary file not shown.
@ -8,7 +8,7 @@ go_library(
|
|||||||
deps = [
|
deps = [
|
||||||
"//vendor/bazel.build/protobuf",
|
"//vendor/bazel.build/protobuf",
|
||||||
"//vendor/github.com/sirupsen/logrus",
|
"//vendor/github.com/sirupsen/logrus",
|
||||||
"@org_golang_google_protobuf//proto:go_default_library",
|
"@org_golang_google_protobuf//proto",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -19,16 +19,13 @@ go_library(
|
|||||||
"//utils",
|
"//utils",
|
||||||
"//vendor/github.com/coreos/go-oidc/v3/oidc",
|
"//vendor/github.com/coreos/go-oidc/v3/oidc",
|
||||||
"//vendor/github.com/gogo/status",
|
"//vendor/github.com/gogo/status",
|
||||||
"//vendor/github.com/ory/hydra-client-go/client",
|
"//vendor/github.com/ory/hydra-client-go/v2:hydra-client-go",
|
||||||
"//vendor/github.com/ory/hydra-client-go/client/admin",
|
|
||||||
"//vendor/github.com/ory/hydra-client-go/models",
|
|
||||||
"//vendor/github.com/sirupsen/logrus",
|
"//vendor/github.com/sirupsen/logrus",
|
||||||
"//vendor/golang.org/x/oauth2",
|
|
||||||
"//vendor/golang.org/x/oauth2/google",
|
|
||||||
"@org_golang_google_grpc//:go_default_library",
|
"@org_golang_google_grpc//:go_default_library",
|
||||||
"@org_golang_google_grpc//codes",
|
"@org_golang_google_grpc//codes",
|
||||||
"@org_golang_google_grpc//metadata",
|
"@org_golang_google_grpc//metadata",
|
||||||
"@org_golang_google_grpc//status",
|
"@org_golang_google_grpc//status",
|
||||||
"@org_golang_google_protobuf//proto:go_default_library",
|
"@org_golang_x_oauth2//:oauth2",
|
||||||
|
"@org_golang_x_oauth2//google",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@ -33,12 +33,13 @@ package obsidianimplv1
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"database/sql"
|
"database/sql"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/coreos/go-oidc/v3/oidc"
|
"github.com/coreos/go-oidc/v3/oidc"
|
||||||
"github.com/ory/hydra-client-go/client/admin"
|
|
||||||
hydramodels "github.com/ory/hydra-client-go/models"
|
"github.com/ory/hydra-client-go/v2"
|
||||||
"golang.org/x/oauth2"
|
"golang.org/x/oauth2"
|
||||||
"golang.org/x/oauth2/google"
|
"golang.org/x/oauth2/google"
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
@ -98,7 +99,7 @@ func (s *Server) InitiateOAuth2Session(ctx context.Context, req *obsidianpb.Init
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
redirectURL := conf.AuthCodeURL(*loginReq.Payload.Challenge)
|
redirectURL := conf.AuthCodeURL(loginReq.Challenge)
|
||||||
err = grpc.SetHeader(ctx, metadata.Pairs("location", redirectURL))
|
err = grpc.SetHeader(ctx, metadata.Pairs("location", redirectURL))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, status.Error(codes.Internal, "failed to set redirect url")
|
return nil, status.Error(codes.Internal, "failed to set redirect url")
|
||||||
@ -163,7 +164,7 @@ func (s *Server) ConfirmOAuth2Session(ctx context.Context, req *obsidianpb.Confi
|
|||||||
// Check if the user is already associated with provider
|
// Check if the user is already associated with provider
|
||||||
existingUser, err := s.db.GetUserByOAuth2ProviderExternalID(provider.ID.String(), idToken.Subject)
|
existingUser, err := s.db.GetUserByOAuth2ProviderExternalID(provider.ID.String(), idToken.Subject)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err != sql.ErrNoRows {
|
if !errors.Is(err, sql.ErrNoRows) {
|
||||||
s.log.Errorf("failed to get user by oauth2 provider external id: %s", err)
|
s.log.Errorf("failed to get user by oauth2 provider external id: %s", err)
|
||||||
return nil, utils.InternalError
|
return nil, utils.InternalError
|
||||||
} else {
|
} else {
|
||||||
@ -187,23 +188,18 @@ func (s *Server) ConfirmOAuth2Session(ctx context.Context, req *obsidianpb.Confi
|
|||||||
if err == nil {
|
if err == nil {
|
||||||
// The user has to link with this provider first
|
// The user has to link with this provider first
|
||||||
alreadyExistsErr := status.Errorf(codes.AlreadyExists, "user with email %s already exists, you need to sign in with an already established provider to link a new one", email)
|
alreadyExistsErr := status.Errorf(codes.AlreadyExists, "user with email %s already exists, you need to sign in with an already established provider to link a new one", email)
|
||||||
rejectRes, err := s.hydra.Admin.RejectLoginRequest(&admin.RejectLoginRequestParams{
|
rejectRes, _, err := s.hydra.OAuth2API.RejectOAuth2LoginRequest(ctx).LoginChallenge(req.State).RejectOAuth2Request(client.RejectOAuth2Request{
|
||||||
Body: &hydramodels.RejectRequest{
|
StatusCode: utils.Pointer[int64](int64(codes.AlreadyExists)),
|
||||||
StatusCode: int64(codes.AlreadyExists),
|
ErrorDescription: utils.Pointer[string]("User already exists"),
|
||||||
ErrorDescription: "User already exists",
|
ErrorHint: utils.Pointer[string]("Sign in to your account, link this provider and try again"),
|
||||||
ErrorHint: "Sign in to your account, link this provider and try again",
|
Error: utils.Pointer[string]("user_already_exists"),
|
||||||
Error: "user_already_exists",
|
}).Execute()
|
||||||
},
|
|
||||||
LoginChallenge: req.State,
|
|
||||||
Context: nil,
|
|
||||||
HTTPClient: nil,
|
|
||||||
})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, alreadyExistsErr
|
return nil, alreadyExistsErr
|
||||||
}
|
}
|
||||||
|
|
||||||
// Redirect to Hydra location
|
// Redirect to Hydra location
|
||||||
err = grpc.SetHeader(ctx, metadata.Pairs("location", *rejectRes.Payload.RedirectTo))
|
err = grpc.SetHeader(ctx, metadata.Pairs("location", rejectRes.RedirectTo))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, alreadyExistsErr
|
return nil, alreadyExistsErr
|
||||||
}
|
}
|
||||||
@ -238,7 +234,7 @@ func (s *Server) ConfirmOAuth2Session(ctx context.Context, req *obsidianpb.Confi
|
|||||||
committed = true
|
committed = true
|
||||||
|
|
||||||
// Set user ID and accept the login request
|
// Set user ID and accept the login request
|
||||||
loginReq.Payload.Subject = &existingUser.ID
|
loginReq.Subject = existingUser.ID
|
||||||
res, err := s.AcceptLoginRequest(ctx, req.State, loginReq)
|
res, err := s.AcceptLoginRequest(ctx, req.State, loginReq)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -253,18 +249,15 @@ func (s *Server) ConfirmOAuth2Session(ctx context.Context, req *obsidianpb.Confi
|
|||||||
return &obsidianpb.ConfirmOAuth2SessionResponse{}, nil
|
return &obsidianpb.ConfirmOAuth2SessionResponse{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) getProviderAndLoginRequest(ctx context.Context, challenge string, providerId string) (*admin.GetLoginRequestOK, *models.OAuth2Provider, *oauth2.Config, error) {
|
func (s *Server) getProviderAndLoginRequest(ctx context.Context, challenge string, providerId string) (*client.OAuth2LoginRequest, *models.OAuth2Provider, *oauth2.Config, error) {
|
||||||
loginReq, err := s.hydra.Admin.GetLoginRequest(&admin.GetLoginRequestParams{
|
loginReq, _, err := s.hydra.OAuth2API.GetOAuth2LoginRequest(ctx).LoginChallenge(challenge).Execute()
|
||||||
LoginChallenge: challenge,
|
|
||||||
Context: ctx,
|
|
||||||
})
|
|
||||||
if err != nil || loginReq == nil {
|
if err != nil || loginReq == nil {
|
||||||
return nil, nil, nil, status.Error(codes.NotFound, "login request not found")
|
return nil, nil, nil, status.Error(codes.NotFound, "login request not found")
|
||||||
}
|
}
|
||||||
|
|
||||||
provider, err := s.db.GetOAuth2ProviderByID(providerId)
|
provider, err := s.db.GetOAuth2ProviderByID(providerId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == sql.ErrNoRows {
|
if errors.Is(err, sql.ErrNoRows) {
|
||||||
return nil, nil, nil, status.Error(codes.NotFound, "provider not found")
|
return nil, nil, nil, status.Error(codes.NotFound, "provider not found")
|
||||||
}
|
}
|
||||||
s.log.Errorf("failed to get OAuth2 provider: %s", err)
|
s.log.Errorf("failed to get OAuth2 provider: %s", err)
|
||||||
|
@ -33,7 +33,7 @@ package obsidianimplv1
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/ory/hydra-client-go/client"
|
"github.com/ory/hydra-client-go/v2"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
"net/url"
|
"net/url"
|
||||||
@ -49,7 +49,7 @@ type Server struct {
|
|||||||
|
|
||||||
log *logrus.Logger
|
log *logrus.Logger
|
||||||
db obsidiandb.Access
|
db obsidiandb.Access
|
||||||
hydra *client.OryHydra
|
hydra *client.APIClient
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewServer(db obsidiandb.Access) (*Server, error) {
|
func NewServer(db obsidiandb.Access) (*Server, error) {
|
||||||
@ -58,11 +58,11 @@ func NewServer(db obsidiandb.Access) (*Server, error) {
|
|||||||
return nil, fmt.Errorf("could not parse hydra admin url, error: %s", err)
|
return nil, fmt.Errorf("could not parse hydra admin url, error: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
hydraSDK := client.NewHTTPClientWithConfig(nil, &client.TransportConfig{
|
hydraSDKConfiguration := client.NewConfiguration()
|
||||||
Schemes: []string{adminURL.Scheme},
|
hydraSDKConfiguration.Servers[0].URL = adminURL.String()
|
||||||
Host: adminURL.Host,
|
hydraSDKConfiguration.Host = adminURL.Host
|
||||||
BasePath: adminURL.Path,
|
hydraSDKConfiguration.Scheme = adminURL.Scheme
|
||||||
})
|
hydraSDK := client.NewAPIClient(hydraSDKConfiguration)
|
||||||
|
|
||||||
return &Server{
|
return &Server{
|
||||||
log: logrus.New(),
|
log: logrus.New(),
|
||||||
|
@ -32,11 +32,11 @@ package obsidianimplv1
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"github.com/ory/hydra-client-go/client/admin"
|
"peridot.resf.org/utils"
|
||||||
hydramodels "github.com/ory/hydra-client-go/models"
|
|
||||||
|
"github.com/ory/hydra-client-go/v2"
|
||||||
"google.golang.org/grpc/codes"
|
"google.golang.org/grpc/codes"
|
||||||
"google.golang.org/grpc/status"
|
"google.golang.org/grpc/status"
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
obsidianpb "peridot.resf.org/obsidian/pb"
|
obsidianpb "peridot.resf.org/obsidian/pb"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -81,10 +81,7 @@ func (s *Server) ConsentDecision(ctx context.Context, req *obsidianpb.ConsentDec
|
|||||||
return nil, status.Error(codes.InvalidArgument, challengeRequired)
|
return nil, status.Error(codes.InvalidArgument, challengeRequired)
|
||||||
}
|
}
|
||||||
|
|
||||||
consentReq, err := s.hydra.Admin.GetConsentRequest(&admin.GetConsentRequestParams{
|
consentReq, _, err := s.hydra.OAuth2API.GetOAuth2ConsentRequest(ctx).ConsentChallenge(req.Challenge).Execute()
|
||||||
Context: ctx,
|
|
||||||
ConsentChallenge: req.Challenge,
|
|
||||||
})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.log.Error(err)
|
s.log.Error(err)
|
||||||
return nil, status.Error(codes.Internal, authError)
|
return nil, status.Error(codes.Internal, authError)
|
||||||
@ -102,20 +99,16 @@ func (s *Server) ConsentDecision(ctx context.Context, req *obsidianpb.ConsentDec
|
|||||||
}
|
}
|
||||||
redirectURL = res.RedirectUrl
|
redirectURL = res.RedirectUrl
|
||||||
} else {
|
} else {
|
||||||
res, err := s.hydra.Admin.RejectConsentRequest(&admin.RejectConsentRequestParams{
|
res, _, err := s.hydra.OAuth2API.RejectOAuth2ConsentRequest(ctx).RejectOAuth2Request(client.RejectOAuth2Request{
|
||||||
Body: &hydramodels.RejectRequest{
|
Error: utils.Pointer[string]("no_consent"),
|
||||||
StatusCode: int64(codes.Aborted),
|
ErrorDescription: utils.Pointer[string]("User does not consent to data sharing"),
|
||||||
ErrorDescription: "User does not consent to data sharing",
|
StatusCode: utils.Pointer[int64](int64(codes.Aborted)),
|
||||||
Error: "no_consent",
|
}).ConsentChallenge(req.Challenge).Execute()
|
||||||
},
|
|
||||||
ConsentChallenge: req.Challenge,
|
|
||||||
Context: ctx,
|
|
||||||
})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.log.Errorf("error rejecting consent request: %s", err.Error())
|
s.log.Errorf("error rejecting consent request: %s", err.Error())
|
||||||
return nil, status.Error(codes.Internal, authError)
|
return nil, status.Error(codes.Internal, authError)
|
||||||
}
|
}
|
||||||
redirectURL = *res.Payload.RedirectTo
|
redirectURL = res.RedirectTo
|
||||||
}
|
}
|
||||||
|
|
||||||
return &obsidianpb.ConsentDecisionResponse{
|
return &obsidianpb.ConsentDecisionResponse{
|
||||||
@ -128,10 +121,7 @@ func (s *Server) LogoutDecision(ctx context.Context, req *obsidianpb.LogoutDecis
|
|||||||
return nil, status.Error(codes.InvalidArgument, logoutChallengeRequired)
|
return nil, status.Error(codes.InvalidArgument, logoutChallengeRequired)
|
||||||
}
|
}
|
||||||
|
|
||||||
logout, err := s.hydra.Admin.GetLogoutRequest(&admin.GetLogoutRequestParams{
|
logout, _, err := s.hydra.OAuth2API.GetOAuth2LogoutRequest(ctx).LogoutChallenge(req.Challenge).Execute()
|
||||||
LogoutChallenge: req.Challenge,
|
|
||||||
Context: ctx,
|
|
||||||
})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.log.Error(err)
|
s.log.Error(err)
|
||||||
return nil, status.Error(codes.Internal, authError)
|
return nil, status.Error(codes.Internal, authError)
|
||||||
@ -139,41 +129,25 @@ func (s *Server) LogoutDecision(ctx context.Context, req *obsidianpb.LogoutDecis
|
|||||||
|
|
||||||
var redirectURL string
|
var redirectURL string
|
||||||
if req.Accept {
|
if req.Accept {
|
||||||
_, err = s.hydra.Admin.RevokeConsentSessions(&admin.RevokeConsentSessionsParams{
|
_, err = s.hydra.OAuth2API.RevokeOAuth2ConsentSessions(ctx).Subject(*logout.Subject).All(true).Execute()
|
||||||
All: proto.Bool(true),
|
|
||||||
Subject: logout.Payload.Subject,
|
|
||||||
Context: ctx,
|
|
||||||
})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.log.Errorf("error revoking consent sessions: %s", err.Error())
|
s.log.Errorf("error revoking consent sessions: %s", err.Error())
|
||||||
return nil, status.Error(codes.Internal, "error revoking consent sessions")
|
return nil, status.Error(codes.Internal, "error revoking consent sessions")
|
||||||
}
|
}
|
||||||
|
|
||||||
acceptReq, err := s.hydra.Admin.AcceptLogoutRequest(&admin.AcceptLogoutRequestParams{
|
acceptReq, _, err := s.hydra.OAuth2API.AcceptOAuth2LogoutRequest(ctx).LogoutChallenge(req.Challenge).Execute()
|
||||||
LogoutChallenge: req.Challenge,
|
|
||||||
Context: ctx,
|
|
||||||
})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.log.Errorf("error accepting logout request: %s", err.Error())
|
s.log.Errorf("error accepting logout request: %s", err.Error())
|
||||||
return nil, status.Error(codes.Internal, "error accepting logout request")
|
return nil, status.Error(codes.Internal, "error accepting logout request")
|
||||||
}
|
}
|
||||||
redirectURL = *acceptReq.Payload.RedirectTo
|
redirectURL = acceptReq.RedirectTo
|
||||||
} else {
|
} else {
|
||||||
_, err := s.hydra.Admin.RejectLogoutRequest(&admin.RejectLogoutRequestParams{
|
_, err = s.hydra.OAuth2API.RejectOAuth2LogoutRequest(ctx).LogoutChallenge(req.Challenge).Execute()
|
||||||
Body: &hydramodels.RejectRequest{
|
|
||||||
StatusCode: int64(codes.Aborted),
|
|
||||||
ErrorDescription: "User denied logout request",
|
|
||||||
Error: "user_denied",
|
|
||||||
},
|
|
||||||
LogoutChallenge: req.Challenge,
|
|
||||||
Context: nil,
|
|
||||||
HTTPClient: nil,
|
|
||||||
})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.log.Errorf("error rejecting logout request: %s", err.Error())
|
s.log.Errorf("error rejecting logout request: %s", err.Error())
|
||||||
return nil, status.Error(codes.Internal, "error rejecting logout request")
|
return nil, status.Error(codes.Internal, "error rejecting logout request")
|
||||||
}
|
}
|
||||||
redirectURL = logout.Payload.RequestURL
|
redirectURL = *logout.RequestUrl
|
||||||
}
|
}
|
||||||
|
|
||||||
return &obsidianpb.LogoutDecisionResponse{
|
return &obsidianpb.LogoutDecisionResponse{
|
||||||
|
@ -33,8 +33,9 @@ package obsidianimplv1
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"github.com/gogo/status"
|
"github.com/gogo/status"
|
||||||
"github.com/ory/hydra-client-go/client/admin"
|
client "github.com/ory/hydra-client-go/v2"
|
||||||
"github.com/ory/hydra-client-go/models"
|
"peridot.resf.org/utils"
|
||||||
|
|
||||||
"google.golang.org/grpc/codes"
|
"google.golang.org/grpc/codes"
|
||||||
obsidianpb "peridot.resf.org/obsidian/pb"
|
obsidianpb "peridot.resf.org/obsidian/pb"
|
||||||
)
|
)
|
||||||
@ -47,120 +48,108 @@ const (
|
|||||||
func (s *Server) ProcessLoginRequest(challenge string) (*obsidianpb.SessionStatusResponse, error) {
|
func (s *Server) ProcessLoginRequest(challenge string) (*obsidianpb.SessionStatusResponse, error) {
|
||||||
ctx := context.TODO()
|
ctx := context.TODO()
|
||||||
|
|
||||||
loginReq, err := s.hydra.Admin.GetLoginRequest(&admin.GetLoginRequestParams{
|
loginReq, _, err := s.hydra.OAuth2API.GetOAuth2LoginRequest(ctx).LoginChallenge(challenge).Execute()
|
||||||
LoginChallenge: challenge,
|
|
||||||
Context: ctx,
|
|
||||||
})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.log.Error(err)
|
s.log.Error(err)
|
||||||
return nil, status.Error(codes.Internal, authError)
|
return nil, status.Error(codes.Internal, authError)
|
||||||
}
|
}
|
||||||
|
|
||||||
if *loginReq.Payload.Challenge != challenge {
|
if loginReq.Challenge != challenge {
|
||||||
s.log.Error(err)
|
s.log.Error(err)
|
||||||
return nil, status.Error(codes.Internal, authError)
|
return nil, status.Error(codes.Internal, authError)
|
||||||
}
|
}
|
||||||
|
|
||||||
if *loginReq.Payload.Skip {
|
if loginReq.Skip {
|
||||||
return s.AcceptLoginRequest(ctx, challenge, loginReq)
|
return s.AcceptLoginRequest(ctx, challenge, loginReq)
|
||||||
}
|
}
|
||||||
|
|
||||||
return &obsidianpb.SessionStatusResponse{
|
return &obsidianpb.SessionStatusResponse{
|
||||||
Valid: true,
|
Valid: true,
|
||||||
ClientName: loginReq.Payload.Client.ClientName,
|
ClientName: *loginReq.Client.ClientName,
|
||||||
Scopes: loginReq.Payload.RequestedScope,
|
Scopes: loginReq.RequestedScope,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) ProcessConsentRequest(challenge string) (*obsidianpb.SessionStatusResponse, error) {
|
func (s *Server) ProcessConsentRequest(challenge string) (*obsidianpb.SessionStatusResponse, error) {
|
||||||
ctx := context.TODO()
|
ctx := context.TODO()
|
||||||
|
|
||||||
consentReq, err := s.hydra.Admin.GetConsentRequest(&admin.GetConsentRequestParams{
|
consentReq, _, err := s.hydra.OAuth2API.GetOAuth2ConsentRequest(ctx).ConsentChallenge(challenge).Execute()
|
||||||
Context: ctx,
|
|
||||||
ConsentChallenge: challenge,
|
|
||||||
})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.log.Error(err)
|
s.log.Error(err)
|
||||||
return nil, status.Error(codes.Internal, authError)
|
return nil, status.Error(codes.Internal, authError)
|
||||||
}
|
}
|
||||||
|
|
||||||
if *consentReq.Payload.Challenge != challenge {
|
if consentReq.Challenge != challenge {
|
||||||
s.log.Error(err)
|
s.log.Error(err)
|
||||||
return nil, status.Error(codes.Internal, authError)
|
return nil, status.Error(codes.Internal, authError)
|
||||||
}
|
}
|
||||||
|
|
||||||
if consentReq.Payload.Skip {
|
if *consentReq.Skip {
|
||||||
return s.AcceptConsentRequest(ctx, challenge, consentReq)
|
return s.AcceptConsentRequest(ctx, challenge, consentReq)
|
||||||
}
|
}
|
||||||
|
|
||||||
return &obsidianpb.SessionStatusResponse{
|
return &obsidianpb.SessionStatusResponse{
|
||||||
Valid: true,
|
Valid: true,
|
||||||
ClientName: consentReq.Payload.Client.ClientName,
|
ClientName: *consentReq.Client.ClientName,
|
||||||
Scopes: consentReq.Payload.RequestedScope,
|
Scopes: consentReq.RequestedScope,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) AcceptConsentRequest(ctx context.Context, challenge string, consentReq *admin.GetConsentRequestOK) (*obsidianpb.SessionStatusResponse, error) {
|
func (s *Server) AcceptConsentRequest(ctx context.Context, challenge string, consentReq *client.OAuth2ConsentRequest) (*obsidianpb.SessionStatusResponse, error) {
|
||||||
user, err := s.db.GetUserByID(consentReq.Payload.Subject)
|
user, err := s.db.GetUserByID(*consentReq.Subject)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, status.Error(codes.InvalidArgument, noUser)
|
return nil, status.Error(codes.InvalidArgument, noUser)
|
||||||
}
|
}
|
||||||
|
|
||||||
consent, err := s.hydra.Admin.AcceptConsentRequest(&admin.AcceptConsentRequestParams{
|
consent, _, err := s.hydra.OAuth2API.AcceptOAuth2ConsentRequest(ctx).
|
||||||
Context: ctx,
|
ConsentChallenge(challenge).
|
||||||
ConsentChallenge: challenge,
|
AcceptOAuth2ConsentRequest(client.AcceptOAuth2ConsentRequest{
|
||||||
Body: &models.AcceptConsentRequest{
|
Context: ctx,
|
||||||
Remember: true,
|
Remember: utils.Pointer[bool](true),
|
||||||
GrantScope: consentReq.Payload.RequestedScope,
|
GrantScope: consentReq.RequestedScope,
|
||||||
GrantAccessTokenAudience: consentReq.Payload.RequestedAccessTokenAudience,
|
GrantAccessTokenAudience: consentReq.RequestedAccessTokenAudience,
|
||||||
Session: &models.ConsentRequestSession{
|
Session: &client.AcceptOAuth2ConsentRequestSession{
|
||||||
AccessToken: map[string]interface{}{
|
AccessToken: map[string]interface{}{
|
||||||
"id": user.ID,
|
"id": user.ID,
|
||||||
},
|
},
|
||||||
IDToken: map[string]interface{}{
|
IdToken: map[string]interface{}{
|
||||||
"id": user.ID,
|
"id": user.ID,
|
||||||
"name": user.Name.String,
|
"name": user.Name.String,
|
||||||
"email": user.Email,
|
"email": user.Email,
|
||||||
"created_at": user.CreatedAt,
|
"created_at": user.CreatedAt,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
}).Execute()
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
s.log.Error(err)
|
|
||||||
return nil, status.Error(codes.Internal, authError)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &obsidianpb.SessionStatusResponse{
|
return &obsidianpb.SessionStatusResponse{
|
||||||
Valid: true,
|
Valid: true,
|
||||||
RedirectUrl: *consent.Payload.RedirectTo,
|
RedirectUrl: consent.RedirectTo,
|
||||||
ClientName: consentReq.Payload.Client.ClientName,
|
ClientName: *consentReq.Client.ClientName,
|
||||||
Scopes: consentReq.Payload.RequestedScope,
|
Scopes: consentReq.RequestedScope,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) AcceptLoginRequest(ctx context.Context, challenge string, loginReq *admin.GetLoginRequestOK) (*obsidianpb.SessionStatusResponse, error) {
|
func (s *Server) AcceptLoginRequest(ctx context.Context, challenge string, loginReq *client.OAuth2LoginRequest) (*obsidianpb.SessionStatusResponse, error) {
|
||||||
acceptLogin, err := s.hydra.Admin.AcceptLoginRequest(&admin.AcceptLoginRequestParams{
|
acceptLogin, _, err := s.hydra.OAuth2API.AcceptOAuth2LoginRequest(ctx).
|
||||||
LoginChallenge: challenge,
|
LoginChallenge(challenge).
|
||||||
Body: &models.AcceptLoginRequest{
|
AcceptOAuth2LoginRequest(client.AcceptOAuth2LoginRequest{
|
||||||
Subject: loginReq.Payload.Subject,
|
Context: ctx,
|
||||||
Remember: true,
|
Remember: utils.Pointer[bool](true),
|
||||||
},
|
Subject: loginReq.Subject,
|
||||||
Context: ctx,
|
}).Execute()
|
||||||
})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, status.Error(codes.Internal, authError)
|
return nil, status.Error(codes.Internal, authError)
|
||||||
}
|
}
|
||||||
|
|
||||||
user, err := s.db.GetUserByID(*loginReq.Payload.Subject)
|
user, err := s.db.GetUserByID(loginReq.Subject)
|
||||||
if err != nil || user == nil || user.ID == "" {
|
if err != nil || user == nil || user.ID == "" {
|
||||||
return nil, status.Error(codes.InvalidArgument, noUser)
|
return nil, status.Error(codes.InvalidArgument, noUser)
|
||||||
}
|
}
|
||||||
|
|
||||||
return &obsidianpb.SessionStatusResponse{
|
return &obsidianpb.SessionStatusResponse{
|
||||||
Valid: true,
|
Valid: true,
|
||||||
RedirectUrl: *acceptLogin.Payload.RedirectTo,
|
RedirectUrl: acceptLogin.RedirectTo,
|
||||||
ClientName: loginReq.Payload.Client.ClientName,
|
ClientName: *loginReq.Client.ClientName,
|
||||||
Scopes: loginReq.Payload.RequestedScope,
|
Scopes: loginReq.RequestedScope,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ proto_library(
|
|||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"@com_envoyproxy_protoc_gen_validate//validate:validate_proto",
|
"@com_envoyproxy_protoc_gen_validate//validate:validate_proto",
|
||||||
"@go_googleapis//google/api:annotations_proto",
|
"@googleapis//google/api:annotations_proto",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -20,14 +20,14 @@ go_proto_library(
|
|||||||
"//:go_apiv2",
|
"//:go_apiv2",
|
||||||
"//:go_grpc",
|
"//:go_grpc",
|
||||||
"//:go_validate",
|
"//:go_validate",
|
||||||
"@com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-grpc-gateway:go_gen_grpc_gateway",
|
"//:go_gen_grpc_gateway",
|
||||||
],
|
],
|
||||||
importpath = "peridot.resf.org/obsidian/pb",
|
importpath = "peridot.resf.org/obsidian/pb",
|
||||||
proto = ":obsidianpb_proto",
|
proto = ":obsidianpb_proto",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"@com_envoyproxy_protoc_gen_validate//validate:validate_go_proto",
|
"@com_envoyproxy_protoc_gen_validate//validate:validate_go_proto",
|
||||||
"@go_googleapis//google/api:annotations_go_proto",
|
"@org_golang_google_genproto_googleapis_api//annotations",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -68,14 +68,13 @@ go_library(
|
|||||||
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:meta",
|
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:meta",
|
||||||
"//vendor/k8s.io/client-go/kubernetes",
|
"//vendor/k8s.io/client-go/kubernetes",
|
||||||
"//vendor/k8s.io/client-go/rest",
|
"//vendor/k8s.io/client-go/rest",
|
||||||
#keep
|
"@org_golang_google_genproto_googleapis_rpc//errdetails",
|
||||||
"@go_googleapis//google/rpc:errdetails_go_proto",
|
|
||||||
"@org_golang_google_grpc//codes",
|
"@org_golang_google_grpc//codes",
|
||||||
"@org_golang_google_grpc//status",
|
"@org_golang_google_grpc//status",
|
||||||
"@org_golang_google_protobuf//encoding/protojson:go_default_library",
|
"@org_golang_google_protobuf//encoding/protojson",
|
||||||
"@org_golang_google_protobuf//encoding/prototext:go_default_library",
|
"@org_golang_google_protobuf//encoding/prototext",
|
||||||
"@org_golang_google_protobuf//proto:go_default_library",
|
"@org_golang_google_protobuf//proto",
|
||||||
"@org_golang_google_protobuf//types/known/anypb:go_default_library",
|
"@org_golang_google_protobuf//types/known/anypb",
|
||||||
"@org_golang_google_protobuf//types/known/wrapperspb:go_default_library",
|
"@org_golang_google_protobuf//types/known/wrapperspb",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@ -401,6 +401,10 @@ func (c *Controller) BuildSRPMActivity(ctx context.Context, upstreamPrefix strin
|
|||||||
return fmt.Errorf("could not import using srpmproc: %v", err)
|
return fmt.Errorf("could not import using srpmproc: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// The SOURCES dir should always be available. Some packages don't have that
|
||||||
|
// and Mock complains. Loudly. About that
|
||||||
|
_ = os.MkdirAll(filepath.Join(cloneDir, "SOURCES"), 0755)
|
||||||
|
|
||||||
err = runCmd("chown", "-R", "peridotbuilder:mock", cloneDir)
|
err = runCmd("chown", "-R", "peridotbuilder:mock", cloneDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("could not chown clone dir: %v", err)
|
return fmt.Errorf("could not chown clone dir: %v", err)
|
||||||
@ -441,9 +445,6 @@ func (c *Controller) BuildSRPMActivity(ctx context.Context, upstreamPrefix strin
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("could not write mock config: %v", err)
|
return fmt.Errorf("could not write mock config: %v", err)
|
||||||
}
|
}
|
||||||
// The SOURCES dir should always be available. Some packages don't have that
|
|
||||||
// and Mock complains. Loudly. About that
|
|
||||||
_ = os.MkdirAll(filepath.Join(cloneDir, "SOURCES"), 0644)
|
|
||||||
|
|
||||||
args := []string{
|
args := []string{
|
||||||
"mock",
|
"mock",
|
||||||
|
@ -24,9 +24,9 @@ go_library(
|
|||||||
"//vendor/github.com/sirupsen/logrus",
|
"//vendor/github.com/sirupsen/logrus",
|
||||||
"//vendor/github.com/spf13/cobra",
|
"//vendor/github.com/spf13/cobra",
|
||||||
"//vendor/github.com/spf13/viper",
|
"//vendor/github.com/spf13/viper",
|
||||||
"//vendor/golang.org/x/oauth2",
|
|
||||||
"//vendor/golang.org/x/oauth2/clientcredentials",
|
|
||||||
"//vendor/openapi.peridot.resf.org/peridotopenapi",
|
"//vendor/openapi.peridot.resf.org/peridotopenapi",
|
||||||
|
"@org_golang_x_oauth2//:oauth2",
|
||||||
|
"@org_golang_x_oauth2//clientcredentials",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ func buildPackageMn(_ *cobra.Command, args []string) {
|
|||||||
projectId := mustGetProjectID()
|
projectId := mustGetProjectID()
|
||||||
|
|
||||||
buildCl := getClient(serviceBuild).(peridotopenapi.BuildServiceApi)
|
buildCl := getClient(serviceBuild).(peridotopenapi.BuildServiceApi)
|
||||||
body := peridotopenapi.InlineObject2{
|
body := peridotopenapi.BuildServiceSubmitBuildBody{
|
||||||
PackageName: &args[0],
|
PackageName: &args[0],
|
||||||
DisableChecks: &disableChecks,
|
DisableChecks: &disableChecks,
|
||||||
Branches: &branches,
|
Branches: &branches,
|
||||||
|
@ -103,7 +103,7 @@ func buildRpmImportMn(_ *cobra.Command, args []string) {
|
|||||||
|
|
||||||
cl := getClient(serviceBuild).(peridotopenapi.BuildServiceApi)
|
cl := getClient(serviceBuild).(peridotopenapi.BuildServiceApi)
|
||||||
importRes, _, err := cl.RpmLookasideBatchImport(getContext(), projectId).
|
importRes, _, err := cl.RpmLookasideBatchImport(getContext(), projectId).
|
||||||
Body(peridotopenapi.InlineObject4{
|
Body(peridotopenapi.BuildServiceRpmLookasideBatchImportBody{
|
||||||
LookasideBlobs: &blobs,
|
LookasideBlobs: &blobs,
|
||||||
ForceOverride: &buildRpmImportForceOverride,
|
ForceOverride: &buildRpmImportForceOverride,
|
||||||
}).Execute()
|
}).Execute()
|
||||||
|
@ -63,7 +63,7 @@ func impCmdMn(_ *cobra.Command, args []string) {
|
|||||||
projectId := mustGetProjectID()
|
projectId := mustGetProjectID()
|
||||||
|
|
||||||
importCl := getClient(serviceImport).(peridotopenapi.ImportServiceApi)
|
importCl := getClient(serviceImport).(peridotopenapi.ImportServiceApi)
|
||||||
body := peridotopenapi.ImportPackageRequestIsTheRequestMessageForImportServiceImportPackage{
|
body := peridotopenapi.ImportServiceImportPackageBody{
|
||||||
PackageName: &args[0],
|
PackageName: &args[0],
|
||||||
SetInactive: &setInactive,
|
SetInactive: &setInactive,
|
||||||
}
|
}
|
||||||
|
@ -71,7 +71,7 @@ func projectCatalogSyncMn(_ *cobra.Command, _ []string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
body := peridotopenapi.InlineObject5{
|
body := peridotopenapi.ProjectServiceSyncCatalogBody{
|
||||||
ScmUrl: &scmURL,
|
ScmUrl: &scmURL,
|
||||||
Branch: &scmBranch,
|
Branch: &scmBranch,
|
||||||
}
|
}
|
||||||
|
@ -49,7 +49,7 @@ func projectCreateHashedReposMn(_ *cobra.Command, args []string) {
|
|||||||
cl := getClient(serviceProject).(peridotopenapi.ProjectServiceApi)
|
cl := getClient(serviceProject).(peridotopenapi.ProjectServiceApi)
|
||||||
|
|
||||||
hashedRes, _, err := cl.CreateHashedRepositories(getContext(), projectID).
|
hashedRes, _, err := cl.CreateHashedRepositories(getContext(), projectID).
|
||||||
Body(peridotopenapi.InlineObject8{
|
Body(peridotopenapi.ProjectServiceCreateHashedRepositoriesBody{
|
||||||
Repositories: &args,
|
Repositories: &args,
|
||||||
}).
|
}).
|
||||||
Execute()
|
Execute()
|
||||||
|
@ -23,8 +23,8 @@ go_library(
|
|||||||
"//vendor/go.temporal.io/sdk/client",
|
"//vendor/go.temporal.io/sdk/client",
|
||||||
"@org_golang_google_grpc//:go_default_library",
|
"@org_golang_google_grpc//:go_default_library",
|
||||||
"@org_golang_google_grpc//credentials/insecure",
|
"@org_golang_google_grpc//credentials/insecure",
|
||||||
"@org_golang_google_protobuf//encoding/protojson:go_default_library",
|
"@org_golang_google_protobuf//encoding/protojson",
|
||||||
"@org_golang_google_protobuf//types/known/anypb:go_default_library",
|
"@org_golang_google_protobuf//types/known/anypb",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -10,6 +10,6 @@ go_library(
|
|||||||
"//peridot/proto/v1:pb",
|
"//peridot/proto/v1:pb",
|
||||||
"//utils",
|
"//utils",
|
||||||
"//vendor/github.com/lib/pq",
|
"//vendor/github.com/lib/pq",
|
||||||
"@org_golang_google_protobuf//types/known/anypb:go_default_library",
|
"@org_golang_google_protobuf//types/known/anypb",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@ -20,9 +20,9 @@ go_library(
|
|||||||
"//vendor/github.com/google/uuid",
|
"//vendor/github.com/google/uuid",
|
||||||
"//vendor/github.com/jmoiron/sqlx/types",
|
"//vendor/github.com/jmoiron/sqlx/types",
|
||||||
"//vendor/github.com/lib/pq",
|
"//vendor/github.com/lib/pq",
|
||||||
"@org_golang_google_protobuf//encoding/protojson:go_default_library",
|
"@org_golang_google_protobuf//encoding/protojson",
|
||||||
"@org_golang_google_protobuf//types/known/anypb:go_default_library",
|
"@org_golang_google_protobuf//types/known/anypb",
|
||||||
"@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
|
"@org_golang_google_protobuf//types/known/timestamppb",
|
||||||
"@org_golang_google_protobuf//types/known/wrapperspb:go_default_library",
|
"@org_golang_google_protobuf//types/known/wrapperspb",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@ -25,8 +25,8 @@ go_library(
|
|||||||
"//vendor/github.com/jmoiron/sqlx",
|
"//vendor/github.com/jmoiron/sqlx",
|
||||||
"//vendor/github.com/jmoiron/sqlx/types",
|
"//vendor/github.com/jmoiron/sqlx/types",
|
||||||
"//vendor/github.com/lib/pq",
|
"//vendor/github.com/lib/pq",
|
||||||
"@org_golang_google_protobuf//encoding/protojson:go_default_library",
|
"@org_golang_google_protobuf//encoding/protojson",
|
||||||
"@org_golang_google_protobuf//proto:go_default_library",
|
"@org_golang_google_protobuf//proto",
|
||||||
"@org_golang_google_protobuf//types/known/anypb:go_default_library",
|
"@org_golang_google_protobuf//types/known/anypb",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@ -25,16 +25,16 @@ go_library(
|
|||||||
"//utils",
|
"//utils",
|
||||||
"//vendor/github.com/authzed/authzed-go/proto/authzed/api/v1:api",
|
"//vendor/github.com/authzed/authzed-go/proto/authzed/api/v1:api",
|
||||||
"//vendor/github.com/authzed/authzed-go/v1:authzed-go",
|
"//vendor/github.com/authzed/authzed-go/v1:authzed-go",
|
||||||
"//vendor/github.com/ory/hydra-client-go/client",
|
"//vendor/github.com/ory/hydra-client-go/v2:hydra-client-go",
|
||||||
"//vendor/github.com/sirupsen/logrus",
|
"//vendor/github.com/sirupsen/logrus",
|
||||||
"//vendor/go.temporal.io/sdk/client",
|
"//vendor/go.temporal.io/sdk/client",
|
||||||
"@go_googleapis//google/api:httpbody_go_proto",
|
"@org_golang_google_genproto_googleapis_api//httpbody",
|
||||||
"@org_golang_google_grpc//:go_default_library",
|
"@org_golang_google_grpc//:go_default_library",
|
||||||
"@org_golang_google_grpc//codes",
|
"@org_golang_google_grpc//codes",
|
||||||
"@org_golang_google_grpc//credentials/insecure",
|
"@org_golang_google_grpc//credentials/insecure",
|
||||||
"@org_golang_google_grpc//status",
|
"@org_golang_google_grpc//status",
|
||||||
"@org_golang_google_protobuf//encoding/protojson:go_default_library",
|
"@org_golang_google_protobuf//encoding/protojson",
|
||||||
"@org_golang_google_protobuf//types/known/anypb:go_default_library",
|
"@org_golang_google_protobuf//types/known/anypb",
|
||||||
"@org_golang_google_protobuf//types/known/wrapperspb:go_default_library",
|
"@org_golang_google_protobuf//types/known/wrapperspb",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@ -35,7 +35,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
v1 "github.com/authzed/authzed-go/proto/authzed/api/v1"
|
v1 "github.com/authzed/authzed-go/proto/authzed/api/v1"
|
||||||
"github.com/authzed/authzed-go/v1"
|
"github.com/authzed/authzed-go/v1"
|
||||||
hydraclient "github.com/ory/hydra-client-go/client"
|
hydraclient "github.com/ory/hydra-client-go/v2"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"go.temporal.io/sdk/client"
|
"go.temporal.io/sdk/client"
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
@ -88,8 +88,8 @@ type Server struct {
|
|||||||
temporal client.Client
|
temporal client.Client
|
||||||
temporalWorker *builderv1.Worker
|
temporalWorker *builderv1.Worker
|
||||||
authz *authzed.Client
|
authz *authzed.Client
|
||||||
hydra *hydraclient.OryHydra
|
hydra *hydraclient.APIClient
|
||||||
hydraAdmin *hydraclient.OryHydra
|
hydraAdmin *hydraclient.APIClient
|
||||||
storage lookaside.Storage
|
storage lookaside.Storage
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -108,21 +108,21 @@ func NewServer(db peridotdb.Access, c client.Client, storage lookaside.Storage)
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("could not parse hydra public url, error: %s", err)
|
return nil, fmt.Errorf("could not parse hydra public url, error: %s", err)
|
||||||
}
|
}
|
||||||
hydraSDK := hydraclient.NewHTTPClientWithConfig(nil, &hydraclient.TransportConfig{
|
hydraSDKConfiguration := hydraclient.NewConfiguration()
|
||||||
Schemes: []string{publicURL.Scheme},
|
hydraSDKConfiguration.Servers[0].URL = publicURL.String()
|
||||||
Host: publicURL.Host,
|
hydraSDKConfiguration.Host = publicURL.Host
|
||||||
BasePath: publicURL.Path,
|
hydraSDKConfiguration.Scheme = publicURL.Scheme
|
||||||
})
|
hydraSDK := hydraclient.NewAPIClient(hydraSDKConfiguration)
|
||||||
|
|
||||||
adminURL, err := url.Parse(servicecatalog.HydraAdmin())
|
adminURL, err := url.Parse(servicecatalog.HydraAdmin())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("could not parse hydra admin url, error: %s", err)
|
return nil, fmt.Errorf("could not parse hydra admin url, error: %s", err)
|
||||||
}
|
}
|
||||||
hydraAdminSDK := hydraclient.NewHTTPClientWithConfig(nil, &hydraclient.TransportConfig{
|
hydraAdminSDKConfiguration := hydraclient.NewConfiguration()
|
||||||
Schemes: []string{adminURL.Scheme},
|
hydraAdminSDKConfiguration.Servers[0].URL = adminURL.String()
|
||||||
Host: adminURL.Host,
|
hydraAdminSDKConfiguration.Host = adminURL.Host
|
||||||
BasePath: adminURL.Path,
|
hydraAdminSDKConfiguration.Scheme = adminURL.Scheme
|
||||||
})
|
hydraAdminSDK := hydraclient.NewAPIClient(hydraAdminSDKConfiguration)
|
||||||
|
|
||||||
return &Server{
|
return &Server{
|
||||||
log: logrus.New(),
|
log: logrus.New(),
|
||||||
|
@ -31,12 +31,12 @@ go_library(
|
|||||||
"//vendor/go.temporal.io/sdk/client",
|
"//vendor/go.temporal.io/sdk/client",
|
||||||
"//vendor/go.temporal.io/sdk/worker",
|
"//vendor/go.temporal.io/sdk/worker",
|
||||||
"//vendor/go.temporal.io/sdk/workflow",
|
"//vendor/go.temporal.io/sdk/workflow",
|
||||||
"@com_github_ProtonMail_go_crypto//openpgp",
|
|
||||||
"@com_github_grpc_ecosystem_grpc_gateway_v2//runtime:go_default_library",
|
"@com_github_grpc_ecosystem_grpc_gateway_v2//runtime:go_default_library",
|
||||||
"@go_googleapis//google/rpc:errdetails_go_proto",
|
"@com_github_protonmail_go_crypto//openpgp",
|
||||||
|
"@org_golang_google_genproto_googleapis_rpc//errdetails",
|
||||||
"@org_golang_google_grpc//:go_default_library",
|
"@org_golang_google_grpc//:go_default_library",
|
||||||
"@org_golang_google_grpc//codes",
|
"@org_golang_google_grpc//codes",
|
||||||
"@org_golang_google_grpc//status",
|
"@org_golang_google_grpc//status",
|
||||||
"@org_golang_google_protobuf//types/known/anypb:go_default_library",
|
"@org_golang_google_protobuf//types/known/anypb",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@ -26,9 +26,9 @@ proto_library(
|
|||||||
"@com_google_protobuf//:descriptor_proto",
|
"@com_google_protobuf//:descriptor_proto",
|
||||||
"@com_google_protobuf//:timestamp_proto",
|
"@com_google_protobuf//:timestamp_proto",
|
||||||
"@com_google_protobuf//:wrappers_proto",
|
"@com_google_protobuf//:wrappers_proto",
|
||||||
"@go_googleapis//google/api:annotations_proto",
|
"@googleapis//google/api:annotations_proto",
|
||||||
"@go_googleapis//google/api:httpbody_proto",
|
"@googleapis//google/api:httpbody_proto",
|
||||||
"@go_googleapis//google/rpc:errdetails_proto",
|
"@googleapis//google/rpc:error_details_proto",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ go_proto_library(
|
|||||||
"//:go_apiv2",
|
"//:go_apiv2",
|
||||||
"//:go_grpc",
|
"//:go_grpc",
|
||||||
"//:go_validate",
|
"//:go_validate",
|
||||||
"@com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-grpc-gateway:go_gen_grpc_gateway",
|
"//:go_gen_grpc_gateway",
|
||||||
],
|
],
|
||||||
importpath = "peridot.resf.org/peridot/pb",
|
importpath = "peridot.resf.org/peridot/pb",
|
||||||
proto = ":peridotpb_proto",
|
proto = ":peridotpb_proto",
|
||||||
@ -46,9 +46,9 @@ go_proto_library(
|
|||||||
deps = [
|
deps = [
|
||||||
"//peridot/proto/v1/yumrepofs:pb",
|
"//peridot/proto/v1/yumrepofs:pb",
|
||||||
"@com_envoyproxy_protoc_gen_validate//validate:validate_go_proto",
|
"@com_envoyproxy_protoc_gen_validate//validate:validate_go_proto",
|
||||||
"@go_googleapis//google/api:annotations_go_proto",
|
"@org_golang_google_genproto_googleapis_api//annotations",
|
||||||
"@go_googleapis//google/api:httpbody_go_proto",
|
"@org_golang_google_genproto_googleapis_api//httpbody",
|
||||||
"@go_googleapis//google/rpc:errdetails_go_proto",
|
"@org_golang_google_genproto_googleapis_rpc//errdetails",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ proto_library(
|
|||||||
deps = [
|
deps = [
|
||||||
"//peridot/proto/v1:peridotpb_proto",
|
"//peridot/proto/v1:peridotpb_proto",
|
||||||
"@com_envoyproxy_protoc_gen_validate//validate:validate_proto",
|
"@com_envoyproxy_protoc_gen_validate//validate:validate_proto",
|
||||||
"@go_googleapis//google/api:annotations_proto",
|
"@googleapis//google/api:annotations_proto",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ go_proto_library(
|
|||||||
"//:go_apiv2",
|
"//:go_apiv2",
|
||||||
"//:go_grpc",
|
"//:go_grpc",
|
||||||
"//:go_validate",
|
"//:go_validate",
|
||||||
"@com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-grpc-gateway:go_gen_grpc_gateway",
|
"//:go_gen_grpc_gateway",
|
||||||
],
|
],
|
||||||
importpath = "peridot.resf.org/peridot/admin/pb",
|
importpath = "peridot.resf.org/peridot/admin/pb",
|
||||||
proto = ":adminpb_proto",
|
proto = ":adminpb_proto",
|
||||||
@ -27,7 +27,7 @@ go_proto_library(
|
|||||||
deps = [
|
deps = [
|
||||||
"//peridot/proto/v1:pb",
|
"//peridot/proto/v1:pb",
|
||||||
"@com_envoyproxy_protoc_gen_validate//validate:validate_go_proto",
|
"@com_envoyproxy_protoc_gen_validate//validate:validate_go_proto",
|
||||||
"@go_googleapis//google/api:annotations_go_proto",
|
"@org_golang_google_genproto_googleapis_api//annotations",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ proto_library(
|
|||||||
deps = [
|
deps = [
|
||||||
"//peridot/proto/v1:peridotpb_proto",
|
"//peridot/proto/v1:peridotpb_proto",
|
||||||
"@com_envoyproxy_protoc_gen_validate//validate:validate_proto",
|
"@com_envoyproxy_protoc_gen_validate//validate:validate_proto",
|
||||||
"@go_googleapis//google/api:annotations_proto",
|
"@googleapis//google/api:annotations_proto",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ go_proto_library(
|
|||||||
"//:go_apiv2",
|
"//:go_apiv2",
|
||||||
"//:go_grpc",
|
"//:go_grpc",
|
||||||
"//:go_validate",
|
"//:go_validate",
|
||||||
"@com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-grpc-gateway:go_gen_grpc_gateway",
|
"//:go_gen_grpc_gateway",
|
||||||
],
|
],
|
||||||
importpath = "peridot.resf.org/peridot/keykeeper/pb",
|
importpath = "peridot.resf.org/peridot/keykeeper/pb",
|
||||||
proto = ":keykeeperpb_proto",
|
proto = ":keykeeperpb_proto",
|
||||||
@ -27,7 +27,7 @@ go_proto_library(
|
|||||||
deps = [
|
deps = [
|
||||||
"//peridot/proto/v1:pb",
|
"//peridot/proto/v1:pb",
|
||||||
"@com_envoyproxy_protoc_gen_validate//validate:validate_go_proto",
|
"@com_envoyproxy_protoc_gen_validate//validate:validate_go_proto",
|
||||||
"@go_googleapis//google/api:annotations_go_proto",
|
"@org_golang_google_genproto_googleapis_api//annotations",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -8,8 +8,8 @@ proto_library(
|
|||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"@com_envoyproxy_protoc_gen_validate//validate:validate_proto",
|
"@com_envoyproxy_protoc_gen_validate//validate:validate_proto",
|
||||||
"@go_googleapis//google/api:annotations_proto",
|
"@googleapis//google/api:annotations_proto",
|
||||||
"@go_googleapis//google/api:httpbody_proto",
|
"@googleapis//google/api:httpbody_proto",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -19,15 +19,15 @@ go_proto_library(
|
|||||||
"//:go_apiv2",
|
"//:go_apiv2",
|
||||||
"//:go_grpc",
|
"//:go_grpc",
|
||||||
"//:go_validate",
|
"//:go_validate",
|
||||||
"@com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-grpc-gateway:go_gen_grpc_gateway",
|
"//:go_gen_grpc_gateway",
|
||||||
],
|
],
|
||||||
importpath = "peridot.resf.org/peridot/yumrepofs/pb",
|
importpath = "peridot.resf.org/peridot/yumrepofs/pb",
|
||||||
proto = ":yumrepofspb_proto",
|
proto = ":yumrepofspb_proto",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"@com_envoyproxy_protoc_gen_validate//validate:validate_go_proto",
|
"@com_envoyproxy_protoc_gen_validate//validate:validate_go_proto",
|
||||||
"@go_googleapis//google/api:annotations_go_proto",
|
"@org_golang_google_genproto_googleapis_api//annotations",
|
||||||
"@go_googleapis//google/api:httpbody_go_proto",
|
"@org_golang_google_genproto_googleapis_api//httpbody",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ go_library(
|
|||||||
"//vendor/github.com/go-git/go-billy/v5/osfs",
|
"//vendor/github.com/go-git/go-billy/v5/osfs",
|
||||||
"//vendor/github.com/sirupsen/logrus",
|
"//vendor/github.com/sirupsen/logrus",
|
||||||
"//vendor/github.com/spf13/viper",
|
"//vendor/github.com/spf13/viper",
|
||||||
"@go_googleapis//google/api:httpbody_go_proto",
|
"@org_golang_google_genproto_googleapis_api//httpbody",
|
||||||
"@org_golang_google_grpc//:go_default_library",
|
"@org_golang_google_grpc//:go_default_library",
|
||||||
"@org_golang_google_grpc//codes",
|
"@org_golang_google_grpc//codes",
|
||||||
"@org_golang_google_grpc//metadata",
|
"@org_golang_google_grpc//metadata",
|
||||||
|
@ -9,7 +9,7 @@ proto_library(
|
|||||||
"healthcheck.proto",
|
"healthcheck.proto",
|
||||||
],
|
],
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = ["@go_googleapis//google/api:annotations_proto"],
|
deps = ["@googleapis//google/api:annotations_proto"],
|
||||||
)
|
)
|
||||||
|
|
||||||
go_proto_library(
|
go_proto_library(
|
||||||
@ -18,12 +18,12 @@ go_proto_library(
|
|||||||
"//:go_apiv2",
|
"//:go_apiv2",
|
||||||
"//:go_grpc",
|
"//:go_grpc",
|
||||||
"//:go_validate",
|
"//:go_validate",
|
||||||
"@com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-grpc-gateway:go_gen_grpc_gateway",
|
"//:go_gen_grpc_gateway",
|
||||||
],
|
],
|
||||||
importpath = "peridot.resf.org/common",
|
importpath = "peridot.resf.org/common",
|
||||||
proto = ":commonpb_proto",
|
proto = ":commonpb_proto",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = ["@go_googleapis//google/api:annotations_go_proto"],
|
deps = ["@org_golang_google_genproto_googleapis_api//annotations"],
|
||||||
)
|
)
|
||||||
|
|
||||||
go_library(
|
go_library(
|
||||||
|
@ -1 +0,0 @@
|
|||||||
# gazelle:proto disable
|
|
@ -1 +1,30 @@
|
|||||||
# gazelle:proto disable
|
load("@rules_proto//proto:defs.bzl", "proto_library")
|
||||||
|
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||||
|
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
|
||||||
|
|
||||||
|
proto_library(
|
||||||
|
name = "options_proto",
|
||||||
|
srcs = [
|
||||||
|
"annotations.proto",
|
||||||
|
"openapiv2.proto",
|
||||||
|
],
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
deps = [
|
||||||
|
"@com_google_protobuf//:descriptor_proto",
|
||||||
|
"@com_google_protobuf//:struct_proto",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
go_proto_library(
|
||||||
|
name = "options_go_proto",
|
||||||
|
importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options",
|
||||||
|
proto = ":options_proto",
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
)
|
||||||
|
|
||||||
|
go_library(
|
||||||
|
name = "options",
|
||||||
|
embed = [":options_go_proto"],
|
||||||
|
importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options",
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
)
|
||||||
|
2456
repositories.bzl
Normal file
2456
repositories.bzl
Normal file
File diff suppressed because it is too large
Load Diff
@ -27,15 +27,11 @@ go_library(
|
|||||||
"//vendor/github.com/fatih/color",
|
"//vendor/github.com/fatih/color",
|
||||||
"//vendor/github.com/go-chi/chi",
|
"//vendor/github.com/go-chi/chi",
|
||||||
"//vendor/github.com/go-chi/chi/middleware",
|
"//vendor/github.com/go-chi/chi/middleware",
|
||||||
"//vendor/github.com/go-openapi/runtime",
|
|
||||||
"//vendor/github.com/go-openapi/strfmt",
|
|
||||||
"//vendor/github.com/grpc-ecosystem/go-grpc-middleware",
|
"//vendor/github.com/grpc-ecosystem/go-grpc-middleware",
|
||||||
"//vendor/github.com/grpc-ecosystem/go-grpc-prometheus",
|
"//vendor/github.com/grpc-ecosystem/go-grpc-prometheus",
|
||||||
"//vendor/github.com/jmoiron/sqlx",
|
"//vendor/github.com/jmoiron/sqlx",
|
||||||
"//vendor/github.com/lib/pq",
|
"//vendor/github.com/lib/pq",
|
||||||
"//vendor/github.com/ory/hydra-client-go/client",
|
"//vendor/github.com/ory/hydra-client-go/v2:hydra-client-go",
|
||||||
"//vendor/github.com/ory/hydra-client-go/client/admin",
|
|
||||||
"//vendor/github.com/ory/hydra-client-go/client/public",
|
|
||||||
"//vendor/github.com/prometheus/client_golang/prometheus/promhttp",
|
"//vendor/github.com/prometheus/client_golang/prometheus/promhttp",
|
||||||
"//vendor/github.com/sirupsen/logrus",
|
"//vendor/github.com/sirupsen/logrus",
|
||||||
"//vendor/github.com/spf13/pflag",
|
"//vendor/github.com/spf13/pflag",
|
||||||
@ -48,8 +44,8 @@ go_library(
|
|||||||
"@org_golang_google_grpc//credentials/insecure",
|
"@org_golang_google_grpc//credentials/insecure",
|
||||||
"@org_golang_google_grpc//metadata",
|
"@org_golang_google_grpc//metadata",
|
||||||
"@org_golang_google_grpc//status",
|
"@org_golang_google_grpc//status",
|
||||||
"@org_golang_google_protobuf//proto:go_default_library",
|
"@org_golang_google_protobuf//proto",
|
||||||
"@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
|
"@org_golang_google_protobuf//types/known/timestamppb",
|
||||||
"@org_golang_google_protobuf//types/known/wrapperspb:go_default_library",
|
"@org_golang_google_protobuf//types/known/wrapperspb",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@ -33,11 +33,8 @@ package utils
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/go-openapi/runtime"
|
"github.com/ory/hydra-client-go/v2"
|
||||||
"github.com/go-openapi/strfmt"
|
|
||||||
"github.com/ory/hydra-client-go/client"
|
|
||||||
"github.com/ory/hydra-client-go/client/admin"
|
|
||||||
"github.com/ory/hydra-client-go/client/public"
|
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
"google.golang.org/grpc/codes"
|
"google.golang.org/grpc/codes"
|
||||||
@ -72,7 +69,7 @@ func ServerEndInterceptor(srv interface{}, ss grpc.ServerStream, _ *grpc.StreamS
|
|||||||
return handler(srv, ss)
|
return handler(srv, ss)
|
||||||
}
|
}
|
||||||
|
|
||||||
func checkAuth(ctx context.Context, hydraSDK *client.OryHydra, hydraAdmin *client.OryHydra) (context.Context, error) {
|
func checkAuth(ctx context.Context, hydraSDK *client.APIClient, hydraAdmin *client.APIClient) (context.Context, error) {
|
||||||
// fetch metadata from grpc
|
// fetch metadata from grpc
|
||||||
meta, ok := metadata.FromIncomingContext(ctx)
|
meta, ok := metadata.FromIncomingContext(ctx)
|
||||||
if !ok {
|
if !ok {
|
||||||
@ -91,46 +88,35 @@ func checkAuth(ctx context.Context, hydraSDK *client.OryHydra, hydraAdmin *clien
|
|||||||
return ctx, status.Error(codes.InvalidArgument, "invalid authorization token")
|
return ctx, status.Error(codes.InvalidArgument, "invalid authorization token")
|
||||||
}
|
}
|
||||||
|
|
||||||
userInfo, err := hydraSDK.Public.Userinfo(
|
userInfo, _, err := hydraSDK.OidcAPI.GetOidcUserInfo(context.WithValue(ctx, client.ContextAccessToken, authToken[1])).Execute()
|
||||||
&public.UserinfoParams{
|
|
||||||
Context: ctx,
|
|
||||||
},
|
|
||||||
runtime.ClientAuthInfoWriterFunc(func(request runtime.ClientRequest, registry strfmt.Registry) error {
|
|
||||||
return request.SetHeaderParam("Authorization", authHeader[0])
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return ctx, err
|
return ctx, err
|
||||||
}
|
}
|
||||||
if userInfo.Payload.Sub == "" && hydraAdmin != nil {
|
if *userInfo.Sub == "" && hydraAdmin != nil {
|
||||||
introspect, err := hydraAdmin.Admin.IntrospectOAuth2Token(
|
introspect, _, err := hydraAdmin.OAuth2API.IntrospectOAuth2Token(ctx).Token(authToken[1]).Execute()
|
||||||
&admin.IntrospectOAuth2TokenParams{
|
|
||||||
Context: ctx,
|
|
||||||
Token: authToken[1],
|
|
||||||
},
|
|
||||||
)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Errorf("error introspecting token: %s", err)
|
logrus.Errorf("error introspecting token: %s", err)
|
||||||
return ctx, status.Errorf(codes.Unauthenticated, "invalid authorization token")
|
return ctx, status.Errorf(codes.Unauthenticated, "invalid authorization token")
|
||||||
}
|
}
|
||||||
|
|
||||||
userInfo.Payload.Sub = introspect.Payload.ClientID
|
userInfo.Sub = introspect.ClientId
|
||||||
userInfo.Payload.Name = introspect.Payload.Sub
|
userInfo.Name = introspect.Sub
|
||||||
userInfo.Payload.Email = fmt.Sprintf("%s@%s", introspect.Payload.Sub, "serviceaccount.resf.org")
|
newEmail := fmt.Sprintf("%s@%s", *introspect.Sub, "serviceaccount.resf.org")
|
||||||
|
userInfo.Email = &newEmail
|
||||||
}
|
}
|
||||||
if userInfo.Payload.Sub == "" {
|
if *userInfo.Sub == "" {
|
||||||
return ctx, status.Errorf(codes.Unauthenticated, "invalid authorization token")
|
return ctx, status.Errorf(codes.Unauthenticated, "invalid authorization token")
|
||||||
}
|
}
|
||||||
|
|
||||||
// supply subject and token to further requests
|
// supply subject and token to further requests
|
||||||
pairs := metadata.Pairs("x-user-id", userInfo.Payload.Sub, "x-user-name", userInfo.Payload.Name, "x-user-email", userInfo.Payload.Email, "x-auth-token", authToken[1])
|
pairs := metadata.Pairs("x-user-id", *userInfo.Sub, "x-user-name", *userInfo.Name, "x-user-email", *userInfo.Email, "x-auth-token", authToken[1])
|
||||||
ctx = metadata.NewIncomingContext(ctx, metadata.Join(meta, pairs))
|
ctx = metadata.NewIncomingContext(ctx, metadata.Join(meta, pairs))
|
||||||
|
|
||||||
return ctx, nil
|
return ctx, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// AuthInterceptor requires OAuth2 authentication for all routes except listed
|
// AuthInterceptor requires OAuth2 authentication for all routes except listed
|
||||||
func AuthInterceptor(hydraSDK *client.OryHydra, hydraAdminSDK *client.OryHydra, excludedMethods []string, enforce bool, next InterceptorFunc) InterceptorFunc {
|
func AuthInterceptor(hydraSDK *client.APIClient, hydraAdminSDK *client.APIClient, excludedMethods []string, enforce bool, next InterceptorFunc) InterceptorFunc {
|
||||||
return func(ctx context.Context, req interface{}, usi *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) {
|
return func(ctx context.Context, req interface{}, usi *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) {
|
||||||
// skip authentication for excluded methods
|
// skip authentication for excluded methods
|
||||||
if !StrContains(usi.FullMethod, excludedMethods) {
|
if !StrContains(usi.FullMethod, excludedMethods) {
|
||||||
@ -154,7 +140,7 @@ type serverStream struct {
|
|||||||
func (ss *serverStream) Context() context.Context {
|
func (ss *serverStream) Context() context.Context {
|
||||||
return ss.ctx
|
return ss.ctx
|
||||||
}
|
}
|
||||||
func ServerAuthInterceptor(hydraSDK *client.OryHydra, hydraAdminSDK *client.OryHydra, excludedMethods []string, enforce bool, next ServerInterceptorFunc) ServerInterceptorFunc {
|
func ServerAuthInterceptor(hydraSDK *client.APIClient, hydraAdminSDK *client.APIClient, excludedMethods []string, enforce bool, next ServerInterceptorFunc) ServerInterceptorFunc {
|
||||||
return func(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error {
|
return func(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error {
|
||||||
newStream := serverStream{
|
newStream := serverStream{
|
||||||
ServerStream: ss,
|
ServerStream: ss,
|
||||||
|
5
vendor/alexejk.io/go-xmlrpc/go.mod
generated
vendored
5
vendor/alexejk.io/go-xmlrpc/go.mod
generated
vendored
@ -1,5 +0,0 @@
|
|||||||
module alexejk.io/go-xmlrpc
|
|
||||||
|
|
||||||
go 1.13
|
|
||||||
|
|
||||||
require github.com/stretchr/testify v1.4.0
|
|
11
vendor/alexejk.io/go-xmlrpc/go.sum
generated
vendored
11
vendor/alexejk.io/go-xmlrpc/go.sum
generated
vendored
@ -1,11 +0,0 @@
|
|||||||
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
|
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
|
||||||
github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4=
|
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
|
||||||
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
|
|
||||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
|
||||||
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
|
||||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
4
vendor/bazel.build/protobuf/BUILD.bazel
vendored
4
vendor/bazel.build/protobuf/BUILD.bazel
vendored
@ -7,7 +7,7 @@ go_library(
|
|||||||
importpath = "bazel.build/protobuf",
|
importpath = "bazel.build/protobuf",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
|
"@org_golang_google_protobuf//reflect/protoreflect",
|
||||||
"@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
|
"@org_golang_google_protobuf//runtime/protoimpl",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
4
vendor/bazel.build/protobuf/build.pb.go
vendored
4
vendor/bazel.build/protobuf/build.pb.go
vendored
@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.27.1
|
// protoc-gen-go v1.32.0
|
||||||
// protoc v3.19.4
|
// protoc v4.25.3
|
||||||
// source: build/bazel/protobuf/build.proto
|
// source: build/bazel/protobuf/build.proto
|
||||||
|
|
||||||
package bazelbuild
|
package bazelbuild
|
||||||
|
1
vendor/bazel.build/protobuf/go.mod
vendored
1
vendor/bazel.build/protobuf/go.mod
vendored
@ -1 +0,0 @@
|
|||||||
module bazel.build/protobuf
|
|
8
vendor/cirello.io/dynamolock/go.mod
generated
vendored
8
vendor/cirello.io/dynamolock/go.mod
generated
vendored
@ -1,8 +0,0 @@
|
|||||||
module cirello.io/dynamolock
|
|
||||||
|
|
||||||
go 1.12
|
|
||||||
|
|
||||||
require (
|
|
||||||
github.com/aws/aws-sdk-go v1.34.13
|
|
||||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898
|
|
||||||
)
|
|
47
vendor/cirello.io/dynamolock/go.sum
generated
vendored
47
vendor/cirello.io/dynamolock/go.sum
generated
vendored
@ -1,47 +0,0 @@
|
|||||||
github.com/aws/aws-sdk-go v1.31.12 h1:SxRRGyhlCagI0DYkhOg+FgdXGXzRTE3vEX/gsgFaiKQ=
|
|
||||||
github.com/aws/aws-sdk-go v1.31.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
|
||||||
github.com/aws/aws-sdk-go v1.32.1 h1:0dy5DkMKNPH9mLWveAWA9ZTiKIEEvJJA6fbe0eCs19k=
|
|
||||||
github.com/aws/aws-sdk-go v1.32.1/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
|
||||||
github.com/aws/aws-sdk-go v1.32.6 h1:HoswAabUWgnrUF7X/9dr4WRgrr8DyscxXvTDm7Qw/5c=
|
|
||||||
github.com/aws/aws-sdk-go v1.32.6/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
|
||||||
github.com/aws/aws-sdk-go v1.33.1 h1:yz9XmNzPshz/lhfAZvLfMnIS9HPo8+boGRcWqDVX+T0=
|
|
||||||
github.com/aws/aws-sdk-go v1.33.1/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
|
||||||
github.com/aws/aws-sdk-go v1.33.5 h1:p2fr1ryvNTU6avUWLI+/H7FGv0TBIjzVM5WDgXBBv4U=
|
|
||||||
github.com/aws/aws-sdk-go v1.33.5/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
|
||||||
github.com/aws/aws-sdk-go v1.33.7 h1:vOozL5hmWHHriRviVTQnUwz8l05RS0rehmEFymI+/x8=
|
|
||||||
github.com/aws/aws-sdk-go v1.33.7/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
|
||||||
github.com/aws/aws-sdk-go v1.33.12 h1:eydMoSwfrSTD9PWKUJOiDL7+/UwDW8AjInUGVE5Llh4=
|
|
||||||
github.com/aws/aws-sdk-go v1.33.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
|
||||||
github.com/aws/aws-sdk-go v1.33.17 h1:vngPRchZs603qLtJH7lh2pBCDqiFxA9+9nDWJ5WYJ5A=
|
|
||||||
github.com/aws/aws-sdk-go v1.33.17/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
|
||||||
github.com/aws/aws-sdk-go v1.34.0 h1:brux2dRrlwCF5JhTL7MUT3WUwo9zfDHZZp3+g3Mvlmo=
|
|
||||||
github.com/aws/aws-sdk-go v1.34.0/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
|
||||||
github.com/aws/aws-sdk-go v1.34.5 h1:FwubVVX9u+kW9qDCjVzyWOdsL+W5wPq683wMk2R2GXk=
|
|
||||||
github.com/aws/aws-sdk-go v1.34.5/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
|
||||||
github.com/aws/aws-sdk-go v1.34.9 h1:cUGBW9CVdi0mS7K1hDzxIqTpfeWhpoQiguq81M1tjK0=
|
|
||||||
github.com/aws/aws-sdk-go v1.34.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
|
||||||
github.com/aws/aws-sdk-go v1.34.13 h1:wwNWSUh4FGJxXVOVVNj2lWI8wTe5hK8sGWlK7ziEcgg=
|
|
||||||
github.com/aws/aws-sdk-go v1.34.13/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
|
||||||
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
|
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
||||||
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
|
|
||||||
github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2yCeUc=
|
|
||||||
github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik=
|
|
||||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
|
||||||
github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
|
|
||||||
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
|
||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
|
||||||
golang.org/x/net v0.0.0-20200202094626-16171245cfb2 h1:CCH4IOTTfewWjGOlSp+zGcjutRKlBEZQ6wTn8ozI/nI=
|
|
||||||
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
|
||||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
|
||||||
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
|
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
|
||||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898 h1:/atklqdjdhuosWIl6AIbOeHJjicWYPqR9bpxqxYG2pA=
|
|
||||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
|
||||||
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
|
||||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
11
vendor/cloud.google.com/go/.gitignore
generated
vendored
11
vendor/cloud.google.com/go/.gitignore
generated
vendored
@ -1,11 +0,0 @@
|
|||||||
# Editors
|
|
||||||
.idea
|
|
||||||
.vscode
|
|
||||||
*.swp
|
|
||||||
|
|
||||||
# Test files
|
|
||||||
*.test
|
|
||||||
coverage.txt
|
|
||||||
|
|
||||||
# Other
|
|
||||||
.DS_Store
|
|
9
vendor/cloud.google.com/go/BUILD.bazel
generated
vendored
9
vendor/cloud.google.com/go/BUILD.bazel
generated
vendored
@ -1,9 +0,0 @@
|
|||||||
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
|
||||||
|
|
||||||
go_library(
|
|
||||||
name = "go",
|
|
||||||
srcs = ["doc.go"],
|
|
||||||
importmap = "peridot.resf.org/vendor/cloud.google.com/go",
|
|
||||||
importpath = "cloud.google.com/go",
|
|
||||||
visibility = ["//visibility:public"],
|
|
||||||
)
|
|
1669
vendor/cloud.google.com/go/CHANGES.md
generated
vendored
1669
vendor/cloud.google.com/go/CHANGES.md
generated
vendored
File diff suppressed because it is too large
Load Diff
44
vendor/cloud.google.com/go/CODE_OF_CONDUCT.md
generated
vendored
44
vendor/cloud.google.com/go/CODE_OF_CONDUCT.md
generated
vendored
@ -1,44 +0,0 @@
|
|||||||
# Contributor Code of Conduct
|
|
||||||
|
|
||||||
As contributors and maintainers of this project,
|
|
||||||
and in the interest of fostering an open and welcoming community,
|
|
||||||
we pledge to respect all people who contribute through reporting issues,
|
|
||||||
posting feature requests, updating documentation,
|
|
||||||
submitting pull requests or patches, and other activities.
|
|
||||||
|
|
||||||
We are committed to making participation in this project
|
|
||||||
a harassment-free experience for everyone,
|
|
||||||
regardless of level of experience, gender, gender identity and expression,
|
|
||||||
sexual orientation, disability, personal appearance,
|
|
||||||
body size, race, ethnicity, age, religion, or nationality.
|
|
||||||
|
|
||||||
Examples of unacceptable behavior by participants include:
|
|
||||||
|
|
||||||
* The use of sexualized language or imagery
|
|
||||||
* Personal attacks
|
|
||||||
* Trolling or insulting/derogatory comments
|
|
||||||
* Public or private harassment
|
|
||||||
* Publishing other's private information,
|
|
||||||
such as physical or electronic
|
|
||||||
addresses, without explicit permission
|
|
||||||
* Other unethical or unprofessional conduct.
|
|
||||||
|
|
||||||
Project maintainers have the right and responsibility to remove, edit, or reject
|
|
||||||
comments, commits, code, wiki edits, issues, and other contributions
|
|
||||||
that are not aligned to this Code of Conduct.
|
|
||||||
By adopting this Code of Conduct,
|
|
||||||
project maintainers commit themselves to fairly and consistently
|
|
||||||
applying these principles to every aspect of managing this project.
|
|
||||||
Project maintainers who do not follow or enforce the Code of Conduct
|
|
||||||
may be permanently removed from the project team.
|
|
||||||
|
|
||||||
This code of conduct applies both within project spaces and in public spaces
|
|
||||||
when an individual is representing the project or its community.
|
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior
|
|
||||||
may be reported by opening an issue
|
|
||||||
or contacting one or more of the project maintainers.
|
|
||||||
|
|
||||||
This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0,
|
|
||||||
available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/)
|
|
||||||
|
|
260
vendor/cloud.google.com/go/CONTRIBUTING.md
generated
vendored
260
vendor/cloud.google.com/go/CONTRIBUTING.md
generated
vendored
@ -1,260 +0,0 @@
|
|||||||
# Contributing
|
|
||||||
|
|
||||||
1. [File an issue](https://github.com/googleapis/google-cloud-go/issues/new/choose).
|
|
||||||
The issue will be used to discuss the bug or feature and should be created
|
|
||||||
before sending a CL.
|
|
||||||
|
|
||||||
1. [Install Go](https://golang.org/dl/).
|
|
||||||
1. Ensure that your `GOBIN` directory (by default `$(go env GOPATH)/bin`)
|
|
||||||
is in your `PATH`.
|
|
||||||
1. Check it's working by running `go version`.
|
|
||||||
* If it doesn't work, check the install location, usually
|
|
||||||
`/usr/local/go`, is on your `PATH`.
|
|
||||||
|
|
||||||
1. Sign one of the
|
|
||||||
[contributor license agreements](#contributor-license-agreements) below.
|
|
||||||
|
|
||||||
1. Clone the repo:
|
|
||||||
`git clone https://github.com/googleapis/google-cloud-go`
|
|
||||||
|
|
||||||
1. Change into the checked out source:
|
|
||||||
`cd google-cloud-go`
|
|
||||||
|
|
||||||
1. Fork the repo.
|
|
||||||
|
|
||||||
1. Set your fork as a remote:
|
|
||||||
`git remote add fork git@github.com:GITHUB_USERNAME/google-cloud-go.git`
|
|
||||||
|
|
||||||
1. Make changes, commit to your fork.
|
|
||||||
|
|
||||||
Commit messages should follow the
|
|
||||||
[Conventional Commits Style](https://www.conventionalcommits.org). The scope
|
|
||||||
portion should always be filled with the name of the package affected by the
|
|
||||||
changes being made. For example:
|
|
||||||
```
|
|
||||||
feat(functions): add gophers codelab
|
|
||||||
```
|
|
||||||
|
|
||||||
1. Send a pull request with your changes.
|
|
||||||
|
|
||||||
To minimize friction, consider setting `Allow edits from maintainers` on the
|
|
||||||
PR, which will enable project committers and automation to update your PR.
|
|
||||||
|
|
||||||
1. A maintainer will review the pull request and make comments.
|
|
||||||
|
|
||||||
Prefer adding additional commits over amending and force-pushing since it can
|
|
||||||
be difficult to follow code reviews when the commit history changes.
|
|
||||||
|
|
||||||
Commits will be squashed when they're merged.
|
|
||||||
|
|
||||||
## Testing
|
|
||||||
|
|
||||||
We test code against two versions of Go, the minimum and maximum versions
|
|
||||||
supported by our clients. To see which versions these are checkout our
|
|
||||||
[README](README.md#supported-versions).
|
|
||||||
|
|
||||||
### Integration Tests
|
|
||||||
|
|
||||||
In addition to the unit tests, you may run the integration test suite. These
|
|
||||||
directions describe setting up your environment to run integration tests for
|
|
||||||
_all_ packages: note that many of these instructions may be redundant if you
|
|
||||||
intend only to run integration tests on a single package.
|
|
||||||
|
|
||||||
#### GCP Setup
|
|
||||||
|
|
||||||
To run the integrations tests, creation and configuration of two projects in
|
|
||||||
the Google Developers Console is required: one specifically for Firestore
|
|
||||||
integration tests, and another for all other integration tests. We'll refer to
|
|
||||||
these projects as "general project" and "Firestore project".
|
|
||||||
|
|
||||||
After creating each project, you must [create a service account](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#creatinganaccount)
|
|
||||||
for each project. Ensure the project-level **Owner**
|
|
||||||
[IAM role](console.cloud.google.com/iam-admin/iam/project) role is added to
|
|
||||||
each service account. During the creation of the service account, you should
|
|
||||||
download the JSON credential file for use later.
|
|
||||||
|
|
||||||
Next, ensure the following APIs are enabled in the general project:
|
|
||||||
|
|
||||||
- BigQuery API
|
|
||||||
- BigQuery Data Transfer API
|
|
||||||
- Cloud Dataproc API
|
|
||||||
- Cloud Dataproc Control API Private
|
|
||||||
- Cloud Datastore API
|
|
||||||
- Cloud Firestore API
|
|
||||||
- Cloud Key Management Service (KMS) API
|
|
||||||
- Cloud Natural Language API
|
|
||||||
- Cloud OS Login API
|
|
||||||
- Cloud Pub/Sub API
|
|
||||||
- Cloud Resource Manager API
|
|
||||||
- Cloud Spanner API
|
|
||||||
- Cloud Speech API
|
|
||||||
- Cloud Translation API
|
|
||||||
- Cloud Video Intelligence API
|
|
||||||
- Cloud Vision API
|
|
||||||
- Compute Engine API
|
|
||||||
- Compute Engine Instance Group Manager API
|
|
||||||
- Container Registry API
|
|
||||||
- Firebase Rules API
|
|
||||||
- Google Cloud APIs
|
|
||||||
- Google Cloud Deployment Manager V2 API
|
|
||||||
- Google Cloud SQL
|
|
||||||
- Google Cloud Storage
|
|
||||||
- Google Cloud Storage JSON API
|
|
||||||
- Google Compute Engine Instance Group Updater API
|
|
||||||
- Google Compute Engine Instance Groups API
|
|
||||||
- Kubernetes Engine API
|
|
||||||
- Stackdriver Error Reporting API
|
|
||||||
|
|
||||||
Next, create a Datastore database in the general project, and a Firestore
|
|
||||||
database in the Firestore project.
|
|
||||||
|
|
||||||
Finally, in the general project, create an API key for the translate API:
|
|
||||||
|
|
||||||
- Go to GCP Developer Console.
|
|
||||||
- Navigate to APIs & Services > Credentials.
|
|
||||||
- Click Create Credentials > API Key.
|
|
||||||
- Save this key for use in `GCLOUD_TESTS_API_KEY` as described below.
|
|
||||||
|
|
||||||
#### Local Setup
|
|
||||||
|
|
||||||
Once the two projects are created and configured, set the following environment
|
|
||||||
variables:
|
|
||||||
|
|
||||||
- `GCLOUD_TESTS_GOLANG_PROJECT_ID`: Developers Console project's ID (e.g.
|
|
||||||
bamboo-shift-455) for the general project.
|
|
||||||
- `GCLOUD_TESTS_GOLANG_KEY`: The path to the JSON key file of the general
|
|
||||||
project's service account.
|
|
||||||
- `GCLOUD_TESTS_GOLANG_FIRESTORE_PROJECT_ID`: Developers Console project's ID
|
|
||||||
(e.g. doorway-cliff-677) for the Firestore project.
|
|
||||||
- `GCLOUD_TESTS_GOLANG_FIRESTORE_KEY`: The path to the JSON key file of the
|
|
||||||
Firestore project's service account.
|
|
||||||
- `GCLOUD_TESTS_GOLANG_KEYRING`: The full name of the keyring for the tests,
|
|
||||||
in the form
|
|
||||||
"projects/P/locations/L/keyRings/R". The creation of this is described below.
|
|
||||||
- `GCLOUD_TESTS_API_KEY`: API key for using the Translate API.
|
|
||||||
- `GCLOUD_TESTS_GOLANG_ZONE`: Compute Engine zone.
|
|
||||||
|
|
||||||
Install the [gcloud command-line tool][gcloudcli] to your machine and use it to
|
|
||||||
create some resources used in integration tests.
|
|
||||||
|
|
||||||
From the project's root directory:
|
|
||||||
|
|
||||||
``` sh
|
|
||||||
# Sets the default project in your env.
|
|
||||||
$ gcloud config set project $GCLOUD_TESTS_GOLANG_PROJECT_ID
|
|
||||||
|
|
||||||
# Authenticates the gcloud tool with your account.
|
|
||||||
$ gcloud auth login
|
|
||||||
|
|
||||||
# Create the indexes used in the datastore integration tests.
|
|
||||||
$ gcloud datastore indexes create datastore/testdata/index.yaml
|
|
||||||
|
|
||||||
# Creates a Google Cloud storage bucket with the same name as your test project,
|
|
||||||
# and with the Stackdriver Logging service account as owner, for the sink
|
|
||||||
# integration tests in logging.
|
|
||||||
$ gsutil mb gs://$GCLOUD_TESTS_GOLANG_PROJECT_ID
|
|
||||||
$ gsutil acl ch -g cloud-logs@google.com:O gs://$GCLOUD_TESTS_GOLANG_PROJECT_ID
|
|
||||||
|
|
||||||
# Creates a PubSub topic for integration tests of storage notifications.
|
|
||||||
$ gcloud beta pubsub topics create go-storage-notification-test
|
|
||||||
# Next, go to the Pub/Sub dashboard in GCP console. Authorize the user
|
|
||||||
# "service-<numberic project id>@gs-project-accounts.iam.gserviceaccount.com"
|
|
||||||
# as a publisher to that topic.
|
|
||||||
|
|
||||||
# Creates a Spanner instance for the spanner integration tests.
|
|
||||||
$ gcloud beta spanner instances create go-integration-test --config regional-us-central1 --nodes 10 --description 'Instance for go client test'
|
|
||||||
# NOTE: Spanner instances are priced by the node-hour, so you may want to
|
|
||||||
# delete the instance after testing with 'gcloud beta spanner instances delete'.
|
|
||||||
|
|
||||||
$ export MY_KEYRING=some-keyring-name
|
|
||||||
$ export MY_LOCATION=global
|
|
||||||
# Creates a KMS keyring, in the same location as the default location for your
|
|
||||||
# project's buckets.
|
|
||||||
$ gcloud kms keyrings create $MY_KEYRING --location $MY_LOCATION
|
|
||||||
# Creates two keys in the keyring, named key1 and key2.
|
|
||||||
$ gcloud kms keys create key1 --keyring $MY_KEYRING --location $MY_LOCATION --purpose encryption
|
|
||||||
$ gcloud kms keys create key2 --keyring $MY_KEYRING --location $MY_LOCATION --purpose encryption
|
|
||||||
# Sets the GCLOUD_TESTS_GOLANG_KEYRING environment variable.
|
|
||||||
$ export GCLOUD_TESTS_GOLANG_KEYRING=projects/$GCLOUD_TESTS_GOLANG_PROJECT_ID/locations/$MY_LOCATION/keyRings/$MY_KEYRING
|
|
||||||
# Authorizes Google Cloud Storage to encrypt and decrypt using key1.
|
|
||||||
gsutil kms authorize -p $GCLOUD_TESTS_GOLANG_PROJECT_ID -k $GCLOUD_TESTS_GOLANG_KEYRING/cryptoKeys/key1
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Running
|
|
||||||
|
|
||||||
Once you've done the necessary setup, you can run the integration tests by
|
|
||||||
running:
|
|
||||||
|
|
||||||
``` sh
|
|
||||||
$ go test -v cloud.google.com/go/...
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Replay
|
|
||||||
|
|
||||||
Some packages can record the RPCs during integration tests to a file for
|
|
||||||
subsequent replay. To record, pass the `-record` flag to `go test`. The
|
|
||||||
recording will be saved to the _package_`.replay` file. To replay integration
|
|
||||||
tests from a saved recording, the replay file must be present, the `-short`
|
|
||||||
flag must be passed to `go test`, and the `GCLOUD_TESTS_GOLANG_ENABLE_REPLAY`
|
|
||||||
environment variable must have a non-empty value.
|
|
||||||
|
|
||||||
## Contributor License Agreements
|
|
||||||
|
|
||||||
Before we can accept your pull requests you'll need to sign a Contributor
|
|
||||||
License Agreement (CLA):
|
|
||||||
|
|
||||||
- **If you are an individual writing original source code** and **you own the
|
|
||||||
intellectual property**, then you'll need to sign an [individual CLA][indvcla].
|
|
||||||
- **If you work for a company that wants to allow you to contribute your
|
|
||||||
work**, then you'll need to sign a [corporate CLA][corpcla].
|
|
||||||
|
|
||||||
You can sign these electronically (just scroll to the bottom). After that,
|
|
||||||
we'll be able to accept your pull requests.
|
|
||||||
|
|
||||||
## Contributor Code of Conduct
|
|
||||||
|
|
||||||
As contributors and maintainers of this project,
|
|
||||||
and in the interest of fostering an open and welcoming community,
|
|
||||||
we pledge to respect all people who contribute through reporting issues,
|
|
||||||
posting feature requests, updating documentation,
|
|
||||||
submitting pull requests or patches, and other activities.
|
|
||||||
|
|
||||||
We are committed to making participation in this project
|
|
||||||
a harassment-free experience for everyone,
|
|
||||||
regardless of level of experience, gender, gender identity and expression,
|
|
||||||
sexual orientation, disability, personal appearance,
|
|
||||||
body size, race, ethnicity, age, religion, or nationality.
|
|
||||||
|
|
||||||
Examples of unacceptable behavior by participants include:
|
|
||||||
|
|
||||||
* The use of sexualized language or imagery
|
|
||||||
* Personal attacks
|
|
||||||
* Trolling or insulting/derogatory comments
|
|
||||||
* Public or private harassment
|
|
||||||
* Publishing other's private information,
|
|
||||||
such as physical or electronic
|
|
||||||
addresses, without explicit permission
|
|
||||||
* Other unethical or unprofessional conduct.
|
|
||||||
|
|
||||||
Project maintainers have the right and responsibility to remove, edit, or reject
|
|
||||||
comments, commits, code, wiki edits, issues, and other contributions
|
|
||||||
that are not aligned to this Code of Conduct.
|
|
||||||
By adopting this Code of Conduct,
|
|
||||||
project maintainers commit themselves to fairly and consistently
|
|
||||||
applying these principles to every aspect of managing this project.
|
|
||||||
Project maintainers who do not follow or enforce the Code of Conduct
|
|
||||||
may be permanently removed from the project team.
|
|
||||||
|
|
||||||
This code of conduct applies both within project spaces and in public spaces
|
|
||||||
when an individual is representing the project or its community.
|
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior
|
|
||||||
may be reported by opening an issue
|
|
||||||
or contacting one or more of the project maintainers.
|
|
||||||
|
|
||||||
This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0,
|
|
||||||
available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/)
|
|
||||||
|
|
||||||
[gcloudcli]: https://developers.google.com/cloud/sdk/gcloud/
|
|
||||||
[indvcla]: https://developers.google.com/open-source/cla/individual
|
|
||||||
[corpcla]: https://developers.google.com/open-source/cla/corporate
|
|
177
vendor/cloud.google.com/go/README.md
generated
vendored
177
vendor/cloud.google.com/go/README.md
generated
vendored
@ -1,177 +0,0 @@
|
|||||||
# Google Cloud Client Libraries for Go
|
|
||||||
|
|
||||||
[![GoDoc](https://godoc.org/cloud.google.com/go?status.svg)](https://pkg.go.dev/cloud.google.com/go)
|
|
||||||
|
|
||||||
Go packages for [Google Cloud Platform](https://cloud.google.com) services.
|
|
||||||
|
|
||||||
``` go
|
|
||||||
import "cloud.google.com/go"
|
|
||||||
```
|
|
||||||
|
|
||||||
To install the packages on your system, *do not clone the repo*. Instead:
|
|
||||||
|
|
||||||
1. Change to your project directory:
|
|
||||||
|
|
||||||
```
|
|
||||||
cd /my/cloud/project
|
|
||||||
```
|
|
||||||
1. Get the package you want to use. Some products have their own module, so it's
|
|
||||||
best to `go get` the package(s) you want to use:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ go get cloud.google.com/go/firestore # Replace with the package you want to use.
|
|
||||||
```
|
|
||||||
|
|
||||||
**NOTE:** Some of these packages are under development, and may occasionally
|
|
||||||
make backwards-incompatible changes.
|
|
||||||
|
|
||||||
**NOTE:** Github repo is a mirror of [https://code.googlesource.com/gocloud](https://code.googlesource.com/gocloud).
|
|
||||||
|
|
||||||
## Supported APIs
|
|
||||||
|
|
||||||
| Google API | Status | Package |
|
|
||||||
| ----------------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------- |
|
|
||||||
| [Asset][cloud-asset] | stable | [`cloud.google.com/go/asset/apiv1`](https://pkg.go.dev/cloud.google.com/go/asset/v1beta) |
|
|
||||||
| [Automl][cloud-automl] | stable | [`cloud.google.com/go/automl/apiv1`](https://pkg.go.dev/cloud.google.com/go/automl/apiv1) |
|
|
||||||
| [BigQuery][cloud-bigquery] | stable | [`cloud.google.com/go/bigquery`](https://pkg.go.dev/cloud.google.com/go/bigquery) |
|
|
||||||
| [Bigtable][cloud-bigtable] | stable | [`cloud.google.com/go/bigtable`](https://pkg.go.dev/cloud.google.com/go/bigtable) |
|
|
||||||
| [Cloudbuild][cloud-build] | stable | [`cloud.google.com/go/cloudbuild/apiv1`](https://pkg.go.dev/cloud.google.com/go/cloudbuild/apiv1) |
|
|
||||||
| [Cloudtasks][cloud-tasks] | stable | [`cloud.google.com/go/cloudtasks/apiv2`](https://pkg.go.dev/cloud.google.com/go/cloudtasks/apiv2) |
|
|
||||||
| [Container][cloud-container] | stable | [`cloud.google.com/go/container/apiv1`](https://pkg.go.dev/cloud.google.com/go/container/apiv1) |
|
|
||||||
| [ContainerAnalysis][cloud-containeranalysis] | beta | [`cloud.google.com/go/containeranalysis/apiv1`](https://pkg.go.dev/cloud.google.com/go/containeranalysis/apiv1) |
|
|
||||||
| [Dataproc][cloud-dataproc] | stable | [`cloud.google.com/go/dataproc/apiv1`](https://pkg.go.dev/cloud.google.com/go/dataproc/apiv1) |
|
|
||||||
| [Datastore][cloud-datastore] | stable | [`cloud.google.com/go/datastore`](https://pkg.go.dev/cloud.google.com/go/datastore) |
|
|
||||||
| [Debugger][cloud-debugger] | stable | [`cloud.google.com/go/debugger/apiv2`](https://pkg.go.dev/cloud.google.com/go/debugger/apiv2) |
|
|
||||||
| [Dialogflow][cloud-dialogflow] | stable | [`cloud.google.com/go/dialogflow/apiv2`](https://pkg.go.dev/cloud.google.com/go/dialogflow/apiv2) |
|
|
||||||
| [Data Loss Prevention][cloud-dlp] | stable | [`cloud.google.com/go/dlp/apiv2`](https://pkg.go.dev/cloud.google.com/go/dlp/apiv2) |
|
|
||||||
| [ErrorReporting][cloud-errors] | alpha | [`cloud.google.com/go/errorreporting`](https://pkg.go.dev/cloud.google.com/go/errorreporting) |
|
|
||||||
| [Firestore][cloud-firestore] | stable | [`cloud.google.com/go/firestore`](https://pkg.go.dev/cloud.google.com/go/firestore) |
|
|
||||||
| [IAM][cloud-iam] | stable | [`cloud.google.com/go/iam`](https://pkg.go.dev/cloud.google.com/go/iam) |
|
|
||||||
| [IoT][cloud-iot] | stable | [`cloud.google.com/go/iot/apiv1`](https://pkg.go.dev/cloud.google.com/go/iot/apiv1) |
|
|
||||||
| [IRM][cloud-irm] | alpha | [`cloud.google.com/go/irm/apiv1alpha2`](https://pkg.go.dev/cloud.google.com/go/irm/apiv1alpha2) |
|
|
||||||
| [KMS][cloud-kms] | stable | [`cloud.google.com/go/kms/apiv1`](https://pkg.go.dev/cloud.google.com/go/kms/apiv1) |
|
|
||||||
| [Natural Language][cloud-natural-language] | stable | [`cloud.google.com/go/language/apiv1`](https://pkg.go.dev/cloud.google.com/go/language/apiv1) |
|
|
||||||
| [Logging][cloud-logging] | stable | [`cloud.google.com/go/logging`](https://pkg.go.dev/cloud.google.com/go/logging) |
|
|
||||||
| [Memorystore][cloud-memorystore] | alpha | [`cloud.google.com/go/redis/apiv1`](https://pkg.go.dev/cloud.google.com/go/redis/apiv1) |
|
|
||||||
| [Monitoring][cloud-monitoring] | stable | [`cloud.google.com/go/monitoring/apiv3`](https://pkg.go.dev/cloud.google.com/go/monitoring/apiv3) |
|
|
||||||
| [OS Login][cloud-oslogin] | stable | [`cloud.google.com/go/oslogin/apiv1`](https://pkg.go.dev/cloud.google.com/go/oslogin/apiv1) |
|
|
||||||
| [Pub/Sub][cloud-pubsub] | stable | [`cloud.google.com/go/pubsub`](https://pkg.go.dev/cloud.google.com/go/pubsub) |
|
|
||||||
| [Phishing Protection][cloud-phishingprotection] | alpha | [`cloud.google.com/go/phishingprotection/apiv1beta1`](https://pkg.go.dev/cloud.google.com/go/phishingprotection/apiv1beta1) |
|
|
||||||
| [reCAPTCHA Enterprise][cloud-recaptcha] | alpha | [`cloud.google.com/go/recaptchaenterprise/apiv1beta1`](https://pkg.go.dev/cloud.google.com/go/recaptchaenterprise/apiv1beta1) |
|
|
||||||
| [Recommender][cloud-recommender] | beta | [`cloud.google.com/go/recommender/apiv1beta1`](https://pkg.go.dev/cloud.google.com/go/recommender/apiv1beta1) |
|
|
||||||
| [Scheduler][cloud-scheduler] | stable | [`cloud.google.com/go/scheduler/apiv1`](https://pkg.go.dev/cloud.google.com/go/scheduler/apiv1) |
|
|
||||||
| [Securitycenter][cloud-securitycenter] | stable | [`cloud.google.com/go/securitycenter/apiv1`](https://pkg.go.dev/cloud.google.com/go/securitycenter/apiv1) |
|
|
||||||
| [Spanner][cloud-spanner] | stable | [`cloud.google.com/go/spanner`](https://pkg.go.dev/cloud.google.com/go/spanner) |
|
|
||||||
| [Speech][cloud-speech] | stable | [`cloud.google.com/go/speech/apiv1`](https://pkg.go.dev/cloud.google.com/go/speech/apiv1) |
|
|
||||||
| [Storage][cloud-storage] | stable | [`cloud.google.com/go/storage`](https://pkg.go.dev/cloud.google.com/go/storage) |
|
|
||||||
| [Talent][cloud-talent] | alpha | [`cloud.google.com/go/talent/apiv4beta1`](https://pkg.go.dev/cloud.google.com/go/talent/apiv4beta1) |
|
|
||||||
| [Text To Speech][cloud-texttospeech] | stable | [`cloud.google.com/go/texttospeech/apiv1`](https://pkg.go.dev/cloud.google.com/go/texttospeech/apiv1) |
|
|
||||||
| [Trace][cloud-trace] | stable | [`cloud.google.com/go/trace/apiv2`](https://pkg.go.dev/cloud.google.com/go/trace/apiv2) |
|
|
||||||
| [Translate][cloud-translate] | stable | [`cloud.google.com/go/translate`](https://pkg.go.dev/cloud.google.com/go/translate) |
|
|
||||||
| [Video Intelligence][cloud-video] | beta | [`cloud.google.com/go/videointelligence/apiv1beta2`](https://pkg.go.dev/cloud.google.com/go/videointelligence/apiv1beta2) |
|
|
||||||
| [Vision][cloud-vision] | stable | [`cloud.google.com/go/vision/apiv1`](https://pkg.go.dev/cloud.google.com/go/vision/apiv1) |
|
|
||||||
| [Webrisk][cloud-webrisk] | alpha | [`cloud.google.com/go/webrisk/apiv1beta1`](https://pkg.go.dev/cloud.google.com/go/webrisk/apiv1beta1) |
|
|
||||||
|
|
||||||
> **Alpha status**: the API is still being actively developed. As a
|
|
||||||
> result, it might change in backward-incompatible ways and is not recommended
|
|
||||||
> for production use.
|
|
||||||
>
|
|
||||||
> **Beta status**: the API is largely complete, but still has outstanding
|
|
||||||
> features and bugs to be addressed. There may be minor backwards-incompatible
|
|
||||||
> changes where necessary.
|
|
||||||
>
|
|
||||||
> **Stable status**: the API is mature and ready for production use. We will
|
|
||||||
> continue addressing bugs and feature requests.
|
|
||||||
|
|
||||||
Documentation and examples are available at [pkg.go.dev/cloud.google.com/go](https://pkg.go.dev/cloud.google.com/go)
|
|
||||||
|
|
||||||
## [Go Versions Supported](#supported-versions)
|
|
||||||
|
|
||||||
We currently support Go versions 1.11 and newer.
|
|
||||||
|
|
||||||
## Authorization
|
|
||||||
|
|
||||||
By default, each API will use [Google Application Default Credentials](https://developers.google.com/identity/protocols/application-default-credentials)
|
|
||||||
for authorization credentials used in calling the API endpoints. This will allow your
|
|
||||||
application to run in many environments without requiring explicit configuration.
|
|
||||||
|
|
||||||
[snip]:# (auth)
|
|
||||||
```go
|
|
||||||
client, err := storage.NewClient(ctx)
|
|
||||||
```
|
|
||||||
|
|
||||||
To authorize using a
|
|
||||||
[JSON key file](https://cloud.google.com/iam/docs/managing-service-account-keys),
|
|
||||||
pass
|
|
||||||
[`option.WithCredentialsFile`](https://pkg.go.dev/google.golang.org/api/option#WithCredentialsFile)
|
|
||||||
to the `NewClient` function of the desired package. For example:
|
|
||||||
|
|
||||||
[snip]:# (auth-JSON)
|
|
||||||
```go
|
|
||||||
client, err := storage.NewClient(ctx, option.WithCredentialsFile("path/to/keyfile.json"))
|
|
||||||
```
|
|
||||||
|
|
||||||
You can exert more control over authorization by using the
|
|
||||||
[`golang.org/x/oauth2`](https://pkg.go.dev/golang.org/x/oauth2) package to
|
|
||||||
create an `oauth2.TokenSource`. Then pass
|
|
||||||
[`option.WithTokenSource`](https://pkg.go.dev/google.golang.org/api/option#WithTokenSource)
|
|
||||||
to the `NewClient` function:
|
|
||||||
[snip]:# (auth-ts)
|
|
||||||
```go
|
|
||||||
tokenSource := ...
|
|
||||||
client, err := storage.NewClient(ctx, option.WithTokenSource(tokenSource))
|
|
||||||
```
|
|
||||||
|
|
||||||
## Contributing
|
|
||||||
|
|
||||||
Contributions are welcome. Please, see the
|
|
||||||
[CONTRIBUTING](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/master/CONTRIBUTING.md)
|
|
||||||
document for details.
|
|
||||||
|
|
||||||
Please note that this project is released with a Contributor Code of Conduct.
|
|
||||||
By participating in this project you agree to abide by its terms.
|
|
||||||
See [Contributor Code of Conduct](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/master/CONTRIBUTING.md#contributor-code-of-conduct)
|
|
||||||
for more information.
|
|
||||||
|
|
||||||
[cloud-asset]: https://cloud.google.com/security-command-center/docs/how-to-asset-inventory
|
|
||||||
[cloud-automl]: https://cloud.google.com/automl
|
|
||||||
[cloud-build]: https://cloud.google.com/cloud-build/
|
|
||||||
[cloud-bigquery]: https://cloud.google.com/bigquery/
|
|
||||||
[cloud-bigtable]: https://cloud.google.com/bigtable/
|
|
||||||
[cloud-container]: https://cloud.google.com/containers/
|
|
||||||
[cloud-containeranalysis]: https://cloud.google.com/container-registry/docs/container-analysis
|
|
||||||
[cloud-dataproc]: https://cloud.google.com/dataproc/
|
|
||||||
[cloud-datastore]: https://cloud.google.com/datastore/
|
|
||||||
[cloud-dialogflow]: https://cloud.google.com/dialogflow-enterprise/
|
|
||||||
[cloud-debugger]: https://cloud.google.com/debugger/
|
|
||||||
[cloud-dlp]: https://cloud.google.com/dlp/
|
|
||||||
[cloud-errors]: https://cloud.google.com/error-reporting/
|
|
||||||
[cloud-firestore]: https://cloud.google.com/firestore/
|
|
||||||
[cloud-iam]: https://cloud.google.com/iam/
|
|
||||||
[cloud-iot]: https://cloud.google.com/iot-core/
|
|
||||||
[cloud-irm]: https://cloud.google.com/incident-response/docs/concepts
|
|
||||||
[cloud-kms]: https://cloud.google.com/kms/
|
|
||||||
[cloud-pubsub]: https://cloud.google.com/pubsub/
|
|
||||||
[cloud-storage]: https://cloud.google.com/storage/
|
|
||||||
[cloud-language]: https://cloud.google.com/natural-language
|
|
||||||
[cloud-logging]: https://cloud.google.com/logging/
|
|
||||||
[cloud-natural-language]: https://cloud.google.com/natural-language/
|
|
||||||
[cloud-memorystore]: https://cloud.google.com/memorystore/
|
|
||||||
[cloud-monitoring]: https://cloud.google.com/monitoring/
|
|
||||||
[cloud-oslogin]: https://cloud.google.com/compute/docs/oslogin/rest
|
|
||||||
[cloud-phishingprotection]: https://cloud.google.com/phishing-protection/
|
|
||||||
[cloud-securitycenter]: https://cloud.google.com/security-command-center/
|
|
||||||
[cloud-scheduler]: https://cloud.google.com/scheduler
|
|
||||||
[cloud-spanner]: https://cloud.google.com/spanner/
|
|
||||||
[cloud-speech]: https://cloud.google.com/speech
|
|
||||||
[cloud-talent]: https://cloud.google.com/solutions/talent-solution/
|
|
||||||
[cloud-tasks]: https://cloud.google.com/tasks/
|
|
||||||
[cloud-texttospeech]: https://cloud.google.com/texttospeech/
|
|
||||||
[cloud-talent]: https://cloud.google.com/solutions/talent-solution/
|
|
||||||
[cloud-trace]: https://cloud.google.com/trace/
|
|
||||||
[cloud-translate]: https://cloud.google.com/translate
|
|
||||||
[cloud-recaptcha]: https://cloud.google.com/recaptcha-enterprise/
|
|
||||||
[cloud-recommender]: https://cloud.google.com/recommendations/
|
|
||||||
[cloud-video]: https://cloud.google.com/video-intelligence/
|
|
||||||
[cloud-vision]: https://cloud.google.com/vision
|
|
||||||
[cloud-webrisk]: https://cloud.google.com/web-risk/
|
|
128
vendor/cloud.google.com/go/RELEASING.md
generated
vendored
128
vendor/cloud.google.com/go/RELEASING.md
generated
vendored
@ -1,128 +0,0 @@
|
|||||||
# Setup from scratch
|
|
||||||
|
|
||||||
1. [Install Go](https://golang.org/dl/).
|
|
||||||
1. Ensure that your `GOBIN` directory (by default `$(go env GOPATH)/bin`)
|
|
||||||
is in your `PATH`.
|
|
||||||
1. Check it's working by running `go version`.
|
|
||||||
* If it doesn't work, check the install location, usually
|
|
||||||
`/usr/local/go`, is on your `PATH`.
|
|
||||||
|
|
||||||
1. Sign one of the
|
|
||||||
[contributor license agreements](#contributor-license-agreements) below.
|
|
||||||
|
|
||||||
1. Clone the repo:
|
|
||||||
`git clone https://github.com/googleapis/google-cloud-go`
|
|
||||||
|
|
||||||
1. Change into the checked out source:
|
|
||||||
`cd google-cloud-go`
|
|
||||||
|
|
||||||
1. Fork the repo and add your fork as a secondary remote (this is necessary in
|
|
||||||
order to create PRs).
|
|
||||||
|
|
||||||
# Which module to release?
|
|
||||||
|
|
||||||
The Go client libraries have several modules. Each module does not strictly
|
|
||||||
correspond to a single library - they correspond to trees of directories. If a
|
|
||||||
file needs to be released, you must release the closest ancestor module.
|
|
||||||
|
|
||||||
To see all modules:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ cat `find . -name go.mod` | grep module
|
|
||||||
module cloud.google.com/go
|
|
||||||
module cloud.google.com/go/bigtable
|
|
||||||
module cloud.google.com/go/firestore
|
|
||||||
module cloud.google.com/go/bigquery
|
|
||||||
module cloud.google.com/go/storage
|
|
||||||
module cloud.google.com/go/datastore
|
|
||||||
module cloud.google.com/go/pubsub
|
|
||||||
module cloud.google.com/go/spanner
|
|
||||||
module cloud.google.com/go/logging
|
|
||||||
```
|
|
||||||
|
|
||||||
The `cloud.google.com/go` is the repository root module. Each other module is
|
|
||||||
a submodule.
|
|
||||||
|
|
||||||
So, if you need to release a change in `bigtable/bttest/inmem.go`, the closest
|
|
||||||
ancestor module is `cloud.google.com/go/bigtable` - so you should release a new
|
|
||||||
version of the `cloud.google.com/go/bigtable` submodule.
|
|
||||||
|
|
||||||
If you need to release a change in `asset/apiv1/asset_client.go`, the closest
|
|
||||||
ancestor module is `cloud.google.com/go` - so you should release a new version
|
|
||||||
of the `cloud.google.com/go` repository root module. Note: releasing
|
|
||||||
`cloud.google.com/go` has no impact on any of the submodules, and vice-versa.
|
|
||||||
They are released entirely independently.
|
|
||||||
|
|
||||||
# Test failures
|
|
||||||
|
|
||||||
If there are any test failures in the Kokoro build, releases are blocked until
|
|
||||||
the failures have been resolved.
|
|
||||||
|
|
||||||
# How to release `cloud.google.com/go`
|
|
||||||
|
|
||||||
1. Check for failures in the
|
|
||||||
[continuous Kokoro build](http://go/google-cloud-go-continuous). If there are any
|
|
||||||
failures in the most recent build, address them before proceeding with the
|
|
||||||
release.
|
|
||||||
1. Navigate to `~/code/gocloud/` and switch to master.
|
|
||||||
1. `git pull`
|
|
||||||
1. Run `git tag -l | grep -v beta | grep -v alpha` to see all existing releases.
|
|
||||||
The current latest tag `$CV` is the largest tag. It should look something
|
|
||||||
like `vX.Y.Z` (note: ignore all `LIB/vX.Y.Z` tags - these are tags for a
|
|
||||||
specific library, not the module root). We'll call the current version `$CV`
|
|
||||||
and the new version `$NV`.
|
|
||||||
1. On master, run `git log $CV...` to list all the changes since the last
|
|
||||||
release. NOTE: You must manually visually parse out changes to submodules [1]
|
|
||||||
(the `git log` is going to show you things in submodules, which are not going
|
|
||||||
to be part of your release).
|
|
||||||
1. Edit `CHANGES.md` to include a summary of the changes.
|
|
||||||
1. `cd internal/version && go generate && cd -`
|
|
||||||
1. Commit the changes, push to your fork, and create a PR.
|
|
||||||
1. Wait for the PR to be reviewed and merged. Once it's merged, and without
|
|
||||||
merging any other PRs in the meantime:
|
|
||||||
a. Switch to master.
|
|
||||||
b. `git pull`
|
|
||||||
c. Tag the repo with the next version: `git tag $NV`.
|
|
||||||
d. Push the tag to origin:
|
|
||||||
`git push origin $NV`
|
|
||||||
2. Update [the releases page](https://github.com/googleapis/google-cloud-go/releases)
|
|
||||||
with the new release, copying the contents of `CHANGES.md`.
|
|
||||||
|
|
||||||
# How to release a submodule
|
|
||||||
|
|
||||||
We have several submodules, including `cloud.google.com/go/logging`,
|
|
||||||
`cloud.google.com/go/datastore`, and so on.
|
|
||||||
|
|
||||||
To release a submodule:
|
|
||||||
|
|
||||||
(these instructions assume we're releasing `cloud.google.com/go/datastore` - adjust accordingly)
|
|
||||||
|
|
||||||
1. Check for failures in the
|
|
||||||
[continuous Kokoro build](http://go/google-cloud-go-continuous). If there are any
|
|
||||||
failures in the most recent build, address them before proceeding with the
|
|
||||||
release. (This applies even if the failures are in a different submodule from the one
|
|
||||||
being released.)
|
|
||||||
1. Navigate to `~/code/gocloud/` and switch to master.
|
|
||||||
1. `git pull`
|
|
||||||
1. Run `git tag -l | grep datastore | grep -v beta | grep -v alpha` to see all
|
|
||||||
existing releases. The current latest tag `$CV` is the largest tag. It
|
|
||||||
should look something like `datastore/vX.Y.Z`. We'll call the current version
|
|
||||||
`$CV` and the new version `$NV`.
|
|
||||||
1. On master, run `git log $CV.. -- datastore/` to list all the changes to the
|
|
||||||
submodule directory since the last release.
|
|
||||||
1. Edit `datastore/CHANGES.md` to include a summary of the changes.
|
|
||||||
1. `cd internal/version && go generate && cd -`
|
|
||||||
1. Commit the changes, push to your fork, and create a PR.
|
|
||||||
1. Wait for the PR to be reviewed and merged. Once it's merged, and without
|
|
||||||
merging any other PRs in the meantime:
|
|
||||||
a. Switch to master.
|
|
||||||
b. `git pull`
|
|
||||||
c. Tag the repo with the next version: `git tag $NV`.
|
|
||||||
d. Push the tag to origin:
|
|
||||||
`git push origin $NV`
|
|
||||||
1. Update [the releases page](https://github.com/googleapis/google-cloud-go/releases)
|
|
||||||
with the new release, copying the contents of `datastore/CHANGES.md`.
|
|
||||||
|
|
||||||
# Appendix
|
|
||||||
|
|
||||||
1: This should get better as submodule tooling matures.
|
|
9
vendor/cloud.google.com/go/compute/internal/BUILD.bazel
generated
vendored
Normal file
9
vendor/cloud.google.com/go/compute/internal/BUILD.bazel
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||||
|
|
||||||
|
go_library(
|
||||||
|
name = "internal",
|
||||||
|
srcs = ["version.go"],
|
||||||
|
importmap = "peridot.resf.org/vendor/cloud.google.com/go/compute/internal",
|
||||||
|
importpath = "cloud.google.com/go/compute/internal",
|
||||||
|
visibility = ["//vendor/cloud.google.com/go/compute:__subpackages__"],
|
||||||
|
)
|
18
vendor/cloud.google.com/go/compute/internal/version.go
generated
vendored
Normal file
18
vendor/cloud.google.com/go/compute/internal/version.go
generated
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// Copyright 2022 Google LLC
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License.
|
||||||
|
// You may obtain a copy of the License at
|
||||||
|
//
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
|
||||||
|
package internal
|
||||||
|
|
||||||
|
// Version is the current tagged release of the library.
|
||||||
|
const Version = "1.24.0"
|
6
vendor/cloud.google.com/go/compute/metadata/BUILD.bazel
generated
vendored
6
vendor/cloud.google.com/go/compute/metadata/BUILD.bazel
generated
vendored
@ -2,7 +2,11 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
|||||||
|
|
||||||
go_library(
|
go_library(
|
||||||
name = "metadata",
|
name = "metadata",
|
||||||
srcs = ["metadata.go"],
|
srcs = [
|
||||||
|
"metadata.go",
|
||||||
|
"retry.go",
|
||||||
|
"retry_linux.go",
|
||||||
|
],
|
||||||
importmap = "peridot.resf.org/vendor/cloud.google.com/go/compute/metadata",
|
importmap = "peridot.resf.org/vendor/cloud.google.com/go/compute/metadata",
|
||||||
importpath = "cloud.google.com/go/compute/metadata",
|
importpath = "cloud.google.com/go/compute/metadata",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
|
19
vendor/cloud.google.com/go/compute/metadata/CHANGES.md
generated
vendored
Normal file
19
vendor/cloud.google.com/go/compute/metadata/CHANGES.md
generated
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# Changes
|
||||||
|
|
||||||
|
## [0.2.3](https://github.com/googleapis/google-cloud-go/compare/compute/metadata/v0.2.2...compute/metadata/v0.2.3) (2022-12-15)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **compute/metadata:** Switch DNS lookup to an absolute lookup ([119b410](https://github.com/googleapis/google-cloud-go/commit/119b41060c7895e45e48aee5621ad35607c4d021)), refs [#7165](https://github.com/googleapis/google-cloud-go/issues/7165)
|
||||||
|
|
||||||
|
## [0.2.2](https://github.com/googleapis/google-cloud-go/compare/compute/metadata/v0.2.1...compute/metadata/v0.2.2) (2022-12-01)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **compute/metadata:** Set IdleConnTimeout for http.Client ([#7084](https://github.com/googleapis/google-cloud-go/issues/7084)) ([766516a](https://github.com/googleapis/google-cloud-go/commit/766516aaf3816bfb3159efeea65aa3d1d205a3e2)), refs [#5430](https://github.com/googleapis/google-cloud-go/issues/5430)
|
||||||
|
|
||||||
|
## [0.1.0] (2022-10-26)
|
||||||
|
|
||||||
|
Initial release of metadata being it's own module.
|
27
vendor/cloud.google.com/go/compute/metadata/README.md
generated
vendored
Normal file
27
vendor/cloud.google.com/go/compute/metadata/README.md
generated
vendored
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# Compute API
|
||||||
|
|
||||||
|
[![Go Reference](https://pkg.go.dev/badge/cloud.google.com/go/compute.svg)](https://pkg.go.dev/cloud.google.com/go/compute/metadata)
|
||||||
|
|
||||||
|
This is a utility library for communicating with Google Cloud metadata service
|
||||||
|
on Google Cloud.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
```bash
|
||||||
|
go get cloud.google.com/go/compute/metadata
|
||||||
|
```
|
||||||
|
|
||||||
|
## Go Version Support
|
||||||
|
|
||||||
|
See the [Go Versions Supported](https://github.com/googleapis/google-cloud-go#go-versions-supported)
|
||||||
|
section in the root directory's README.
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
Contributions are welcome. Please, see the [CONTRIBUTING](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/main/CONTRIBUTING.md)
|
||||||
|
document for details.
|
||||||
|
|
||||||
|
Please note that this project is released with a Contributor Code of Conduct.
|
||||||
|
By participating in this project you agree to abide by its terms. See
|
||||||
|
[Contributor Code of Conduct](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/main/CONTRIBUTING.md#contributor-code-of-conduct)
|
||||||
|
for more information.
|
52
vendor/cloud.google.com/go/compute/metadata/metadata.go
generated
vendored
52
vendor/cloud.google.com/go/compute/metadata/metadata.go
generated
vendored
@ -16,7 +16,7 @@
|
|||||||
// metadata and API service accounts.
|
// metadata and API service accounts.
|
||||||
//
|
//
|
||||||
// This package is a wrapper around the GCE metadata service,
|
// This package is a wrapper around the GCE metadata service,
|
||||||
// as documented at https://developers.google.com/compute/docs/metadata.
|
// as documented at https://cloud.google.com/compute/docs/metadata/overview.
|
||||||
package metadata // import "cloud.google.com/go/compute/metadata"
|
package metadata // import "cloud.google.com/go/compute/metadata"
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -61,14 +61,20 @@ var (
|
|||||||
instID = &cachedValue{k: "instance/id", trim: true}
|
instID = &cachedValue{k: "instance/id", trim: true}
|
||||||
)
|
)
|
||||||
|
|
||||||
var defaultClient = &Client{hc: &http.Client{
|
var defaultClient = &Client{hc: newDefaultHTTPClient()}
|
||||||
Transport: &http.Transport{
|
|
||||||
Dial: (&net.Dialer{
|
func newDefaultHTTPClient() *http.Client {
|
||||||
Timeout: 2 * time.Second,
|
return &http.Client{
|
||||||
KeepAlive: 30 * time.Second,
|
Transport: &http.Transport{
|
||||||
}).Dial,
|
Dial: (&net.Dialer{
|
||||||
},
|
Timeout: 2 * time.Second,
|
||||||
}}
|
KeepAlive: 30 * time.Second,
|
||||||
|
}).Dial,
|
||||||
|
IdleConnTimeout: 60 * time.Second,
|
||||||
|
},
|
||||||
|
Timeout: 5 * time.Second,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// NotDefinedError is returned when requested metadata is not defined.
|
// NotDefinedError is returned when requested metadata is not defined.
|
||||||
//
|
//
|
||||||
@ -130,7 +136,7 @@ func testOnGCE() bool {
|
|||||||
go func() {
|
go func() {
|
||||||
req, _ := http.NewRequest("GET", "http://"+metadataIP, nil)
|
req, _ := http.NewRequest("GET", "http://"+metadataIP, nil)
|
||||||
req.Header.Set("User-Agent", userAgent)
|
req.Header.Set("User-Agent", userAgent)
|
||||||
res, err := defaultClient.hc.Do(req.WithContext(ctx))
|
res, err := newDefaultHTTPClient().Do(req.WithContext(ctx))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
resc <- false
|
resc <- false
|
||||||
return
|
return
|
||||||
@ -140,7 +146,8 @@ func testOnGCE() bool {
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
addrs, err := net.DefaultResolver.LookupHost(ctx, "metadata.google.internal")
|
resolver := &net.Resolver{}
|
||||||
|
addrs, err := resolver.LookupHost(ctx, "metadata.google.internal.")
|
||||||
if err != nil || len(addrs) == 0 {
|
if err != nil || len(addrs) == 0 {
|
||||||
resc <- false
|
resc <- false
|
||||||
return
|
return
|
||||||
@ -282,6 +289,7 @@ func NewClient(c *http.Client) *Client {
|
|||||||
// getETag returns a value from the metadata service as well as the associated ETag.
|
// getETag returns a value from the metadata service as well as the associated ETag.
|
||||||
// This func is otherwise equivalent to Get.
|
// This func is otherwise equivalent to Get.
|
||||||
func (c *Client) getETag(suffix string) (value, etag string, err error) {
|
func (c *Client) getETag(suffix string) (value, etag string, err error) {
|
||||||
|
ctx := context.TODO()
|
||||||
// Using a fixed IP makes it very difficult to spoof the metadata service in
|
// Using a fixed IP makes it very difficult to spoof the metadata service in
|
||||||
// a container, which is an important use-case for local testing of cloud
|
// a container, which is an important use-case for local testing of cloud
|
||||||
// deployments. To enable spoofing of the metadata service, the environment
|
// deployments. To enable spoofing of the metadata service, the environment
|
||||||
@ -304,9 +312,25 @@ func (c *Client) getETag(suffix string) (value, etag string, err error) {
|
|||||||
}
|
}
|
||||||
req.Header.Set("Metadata-Flavor", "Google")
|
req.Header.Set("Metadata-Flavor", "Google")
|
||||||
req.Header.Set("User-Agent", userAgent)
|
req.Header.Set("User-Agent", userAgent)
|
||||||
res, err := c.hc.Do(req)
|
var res *http.Response
|
||||||
if err != nil {
|
var reqErr error
|
||||||
return "", "", err
|
retryer := newRetryer()
|
||||||
|
for {
|
||||||
|
res, reqErr = c.hc.Do(req)
|
||||||
|
var code int
|
||||||
|
if res != nil {
|
||||||
|
code = res.StatusCode
|
||||||
|
}
|
||||||
|
if delay, shouldRetry := retryer.Retry(code, reqErr); shouldRetry {
|
||||||
|
if err := sleep(ctx, delay); err != nil {
|
||||||
|
return "", "", err
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
break
|
||||||
|
}
|
||||||
|
if reqErr != nil {
|
||||||
|
return "", "", reqErr
|
||||||
}
|
}
|
||||||
defer res.Body.Close()
|
defer res.Body.Close()
|
||||||
if res.StatusCode == http.StatusNotFound {
|
if res.StatusCode == http.StatusNotFound {
|
||||||
|
114
vendor/cloud.google.com/go/compute/metadata/retry.go
generated
vendored
Normal file
114
vendor/cloud.google.com/go/compute/metadata/retry.go
generated
vendored
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
// Copyright 2021 Google LLC
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License.
|
||||||
|
// You may obtain a copy of the License at
|
||||||
|
//
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
|
||||||
|
package metadata
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"io"
|
||||||
|
"math/rand"
|
||||||
|
"net/http"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
maxRetryAttempts = 5
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
syscallRetryable = func(err error) bool { return false }
|
||||||
|
)
|
||||||
|
|
||||||
|
// defaultBackoff is basically equivalent to gax.Backoff without the need for
|
||||||
|
// the dependency.
|
||||||
|
type defaultBackoff struct {
|
||||||
|
max time.Duration
|
||||||
|
mul float64
|
||||||
|
cur time.Duration
|
||||||
|
}
|
||||||
|
|
||||||
|
func (b *defaultBackoff) Pause() time.Duration {
|
||||||
|
d := time.Duration(1 + rand.Int63n(int64(b.cur)))
|
||||||
|
b.cur = time.Duration(float64(b.cur) * b.mul)
|
||||||
|
if b.cur > b.max {
|
||||||
|
b.cur = b.max
|
||||||
|
}
|
||||||
|
return d
|
||||||
|
}
|
||||||
|
|
||||||
|
// sleep is the equivalent of gax.Sleep without the need for the dependency.
|
||||||
|
func sleep(ctx context.Context, d time.Duration) error {
|
||||||
|
t := time.NewTimer(d)
|
||||||
|
select {
|
||||||
|
case <-ctx.Done():
|
||||||
|
t.Stop()
|
||||||
|
return ctx.Err()
|
||||||
|
case <-t.C:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func newRetryer() *metadataRetryer {
|
||||||
|
return &metadataRetryer{bo: &defaultBackoff{
|
||||||
|
cur: 100 * time.Millisecond,
|
||||||
|
max: 30 * time.Second,
|
||||||
|
mul: 2,
|
||||||
|
}}
|
||||||
|
}
|
||||||
|
|
||||||
|
type backoff interface {
|
||||||
|
Pause() time.Duration
|
||||||
|
}
|
||||||
|
|
||||||
|
type metadataRetryer struct {
|
||||||
|
bo backoff
|
||||||
|
attempts int
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *metadataRetryer) Retry(status int, err error) (time.Duration, bool) {
|
||||||
|
if status == http.StatusOK {
|
||||||
|
return 0, false
|
||||||
|
}
|
||||||
|
retryOk := shouldRetry(status, err)
|
||||||
|
if !retryOk {
|
||||||
|
return 0, false
|
||||||
|
}
|
||||||
|
if r.attempts == maxRetryAttempts {
|
||||||
|
return 0, false
|
||||||
|
}
|
||||||
|
r.attempts++
|
||||||
|
return r.bo.Pause(), true
|
||||||
|
}
|
||||||
|
|
||||||
|
func shouldRetry(status int, err error) bool {
|
||||||
|
if 500 <= status && status <= 599 {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if err == io.ErrUnexpectedEOF {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
// Transient network errors should be retried.
|
||||||
|
if syscallRetryable(err) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if err, ok := err.(interface{ Temporary() bool }); ok {
|
||||||
|
if err.Temporary() {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if err, ok := err.(interface{ Unwrap() error }); ok {
|
||||||
|
return shouldRetry(status, err.Unwrap())
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
26
vendor/cloud.google.com/go/compute/metadata/retry_linux.go
generated
vendored
Normal file
26
vendor/cloud.google.com/go/compute/metadata/retry_linux.go
generated
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
// Copyright 2021 Google LLC
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License.
|
||||||
|
// You may obtain a copy of the License at
|
||||||
|
//
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
|
||||||
|
//go:build linux
|
||||||
|
// +build linux
|
||||||
|
|
||||||
|
package metadata
|
||||||
|
|
||||||
|
import "syscall"
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
// Initialize syscallRetryable to return true on transient socket-level
|
||||||
|
// errors. These errors are specific to Linux.
|
||||||
|
syscallRetryable = func(err error) bool { return err == syscall.ECONNRESET || err == syscall.ECONNREFUSED }
|
||||||
|
}
|
23
vendor/cloud.google.com/go/compute/metadata/tidyfix.go
generated
vendored
Normal file
23
vendor/cloud.google.com/go/compute/metadata/tidyfix.go
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
// Copyright 2022 Google LLC
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License.
|
||||||
|
// You may obtain a copy of the License at
|
||||||
|
//
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
|
||||||
|
// This file, and the {{.RootMod}} import, won't actually become part of
|
||||||
|
// the resultant binary.
|
||||||
|
//go:build modhack
|
||||||
|
// +build modhack
|
||||||
|
|
||||||
|
package metadata
|
||||||
|
|
||||||
|
// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
|
||||||
|
import _ "cloud.google.com/go/compute/internal"
|
109
vendor/cloud.google.com/go/doc.go
generated
vendored
109
vendor/cloud.google.com/go/doc.go
generated
vendored
@ -1,109 +0,0 @@
|
|||||||
// Copyright 2014 Google LLC
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
/*
|
|
||||||
Package cloud is the root of the packages used to access Google Cloud
|
|
||||||
Services. See https://godoc.org/cloud.google.com/go for a full list
|
|
||||||
of sub-packages.
|
|
||||||
|
|
||||||
|
|
||||||
Client Options
|
|
||||||
|
|
||||||
All clients in sub-packages are configurable via client options. These options are
|
|
||||||
described here: https://godoc.org/google.golang.org/api/option.
|
|
||||||
|
|
||||||
|
|
||||||
Authentication and Authorization
|
|
||||||
|
|
||||||
All the clients in sub-packages support authentication via Google Application Default
|
|
||||||
Credentials (see https://cloud.google.com/docs/authentication/production), or
|
|
||||||
by providing a JSON key file for a Service Account. See the authentication examples
|
|
||||||
in this package for details.
|
|
||||||
|
|
||||||
|
|
||||||
Timeouts and Cancellation
|
|
||||||
|
|
||||||
By default, non-streaming methods, like Create or Get, will have a default deadline applied to the
|
|
||||||
context provided at call time, unless a context deadline is already set. Streaming
|
|
||||||
methods have no default deadline and will run indefinitely. To set timeouts or
|
|
||||||
arrange for cancellation, use contexts. See the examples for details. Transient
|
|
||||||
errors will be retried when correctness allows.
|
|
||||||
|
|
||||||
To opt out of default deadlines, set the temporary environment variable
|
|
||||||
GOOGLE_API_GO_EXPERIMENTAL_DISABLE_DEFAULT_DEADLINE to "true" prior to client
|
|
||||||
creation. This affects all Google Cloud Go client libraries. This opt-out
|
|
||||||
mechanism will be removed in a future release. File an issue at
|
|
||||||
https://github.com/googleapis/google-cloud-go if the default deadlines
|
|
||||||
cannot work for you.
|
|
||||||
|
|
||||||
Do not attempt to control the initial connection (dialing) of a service by setting a
|
|
||||||
timeout on the context passed to NewClient. Dialing is non-blocking, so timeouts
|
|
||||||
would be ineffective and would only interfere with credential refreshing, which uses
|
|
||||||
the same context.
|
|
||||||
|
|
||||||
|
|
||||||
Connection Pooling
|
|
||||||
|
|
||||||
Connection pooling differs in clients based on their transport. Cloud
|
|
||||||
clients either rely on HTTP or gRPC transports to communicate
|
|
||||||
with Google Cloud.
|
|
||||||
|
|
||||||
Cloud clients that use HTTP (bigquery, compute, storage, and translate) rely on the
|
|
||||||
underlying HTTP transport to cache connections for later re-use. These are cached to
|
|
||||||
the default http.MaxIdleConns and http.MaxIdleConnsPerHost settings in
|
|
||||||
http.DefaultTransport.
|
|
||||||
|
|
||||||
For gRPC clients (all others in this repo), connection pooling is configurable. Users
|
|
||||||
of cloud client libraries may specify option.WithGRPCConnectionPool(n) as a client
|
|
||||||
option to NewClient calls. This configures the underlying gRPC connections to be
|
|
||||||
pooled and addressed in a round robin fashion.
|
|
||||||
|
|
||||||
|
|
||||||
Using the Libraries with Docker
|
|
||||||
|
|
||||||
Minimal docker images like Alpine lack CA certificates. This causes RPCs to appear to
|
|
||||||
hang, because gRPC retries indefinitely. See https://github.com/googleapis/google-cloud-go/issues/928
|
|
||||||
for more information.
|
|
||||||
|
|
||||||
|
|
||||||
Debugging
|
|
||||||
|
|
||||||
To see gRPC logs, set the environment variable GRPC_GO_LOG_SEVERITY_LEVEL. See
|
|
||||||
https://godoc.org/google.golang.org/grpc/grpclog for more information.
|
|
||||||
|
|
||||||
For HTTP logging, set the GODEBUG environment variable to "http2debug=1" or "http2debug=2".
|
|
||||||
|
|
||||||
|
|
||||||
Client Stability
|
|
||||||
|
|
||||||
Clients in this repository are considered alpha or beta unless otherwise
|
|
||||||
marked as stable in the README.md. Semver is not used to communicate stability
|
|
||||||
of clients.
|
|
||||||
|
|
||||||
Alpha and beta clients may change or go away without notice.
|
|
||||||
|
|
||||||
Clients marked stable will maintain compatibility with future versions for as
|
|
||||||
long as we can reasonably sustain. Incompatible changes might be made in some
|
|
||||||
situations, including:
|
|
||||||
|
|
||||||
- Security bugs may prompt backwards-incompatible changes.
|
|
||||||
|
|
||||||
- Situations in which components are no longer feasible to maintain without
|
|
||||||
making breaking changes, including removal.
|
|
||||||
|
|
||||||
- Parts of the client surface may be outright unstable and subject to change.
|
|
||||||
These parts of the surface will be labeled with the note, "It is EXPERIMENTAL
|
|
||||||
and subject to change or removal without notice."
|
|
||||||
*/
|
|
||||||
package cloud // import "cloud.google.com/go"
|
|
23
vendor/cloud.google.com/go/go.mod
generated
vendored
23
vendor/cloud.google.com/go/go.mod
generated
vendored
@ -1,23 +0,0 @@
|
|||||||
module cloud.google.com/go
|
|
||||||
|
|
||||||
go 1.11
|
|
||||||
|
|
||||||
require (
|
|
||||||
cloud.google.com/go/storage v1.10.0
|
|
||||||
github.com/golang/mock v1.4.4
|
|
||||||
github.com/golang/protobuf v1.4.2
|
|
||||||
github.com/google/go-cmp v0.5.2
|
|
||||||
github.com/google/martian/v3 v3.0.0
|
|
||||||
github.com/google/pprof v0.0.0-20200905233945-acf8798be1f7
|
|
||||||
github.com/googleapis/gax-go/v2 v2.0.5
|
|
||||||
github.com/jstemmer/go-junit-report v0.9.1
|
|
||||||
go.opencensus.io v0.22.4
|
|
||||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b
|
|
||||||
golang.org/x/net v0.0.0-20200904194848-62affa334b73
|
|
||||||
golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43
|
|
||||||
golang.org/x/text v0.3.3
|
|
||||||
golang.org/x/tools v0.0.0-20200915173823-2db8f0ff891c
|
|
||||||
google.golang.org/api v0.31.0
|
|
||||||
google.golang.org/genproto v0.0.0-20200914193844-75d14daec038
|
|
||||||
google.golang.org/grpc v1.31.1
|
|
||||||
)
|
|
526
vendor/cloud.google.com/go/go.sum
generated
vendored
526
vendor/cloud.google.com/go/go.sum
generated
vendored
@ -1,526 +0,0 @@
|
|||||||
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
|
||||||
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
|
||||||
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
|
|
||||||
cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
|
|
||||||
cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
|
|
||||||
cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
|
|
||||||
cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
|
|
||||||
cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
|
|
||||||
cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4=
|
|
||||||
cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M=
|
|
||||||
cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc=
|
|
||||||
cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk=
|
|
||||||
cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
|
|
||||||
cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
|
|
||||||
cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
|
|
||||||
cloud.google.com/go/bigquery v1.0.1 h1:hL+ycaJpVE9M7nLoiXb/Pn10ENE2u+oddxbD8uu0ZVU=
|
|
||||||
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
|
|
||||||
cloud.google.com/go/bigquery v1.3.0 h1:sAbMqjY1PEQKZBWfbu6Y6bsupJ9c4QdHnzg/VvYTLcE=
|
|
||||||
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
|
|
||||||
cloud.google.com/go/bigquery v1.4.0 h1:xE3CPsOgttP4ACBePh79zTKALtXwn/Edhcr16R5hMWU=
|
|
||||||
cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
|
|
||||||
cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
|
|
||||||
cloud.google.com/go/bigquery v1.7.0 h1:a/O/bK/vWrYGOTFtH8di4rBxMZnmkjy+Y5LxpDwo+dA=
|
|
||||||
cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
|
|
||||||
cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
|
|
||||||
cloud.google.com/go/datastore v1.0.0 h1:Kt+gOPPp2LEPWp8CSfxhsM8ik9CcyE/gYu+0r+RnZvM=
|
|
||||||
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
|
|
||||||
cloud.google.com/go/datastore v1.1.0 h1:/May9ojXjRkPBNVrq+oWLqmWCkr4OU5uRY29bu0mRyQ=
|
|
||||||
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
|
|
||||||
cloud.google.com/go/pubsub v1.0.1 h1:W9tAK3E57P75u0XLLR82LZyw8VpAnhmyTOxW9qzmyj8=
|
|
||||||
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
|
|
||||||
cloud.google.com/go/pubsub v1.1.0 h1:9/vpR43S4aJaROxqQHQ3nH9lfyKKV0dC3vOmnw8ebQQ=
|
|
||||||
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
|
|
||||||
cloud.google.com/go/pubsub v1.2.0 h1:Lpy6hKgdcl7a3WGSfJIFmxmcdjSpP6OmBEfcOv1Y680=
|
|
||||||
cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
|
|
||||||
cloud.google.com/go/pubsub v1.3.1 h1:ukjixP1wl0LpnZ6LWtZJ0mX5tBmjp1f8Sqer8Z2OMUU=
|
|
||||||
cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU=
|
|
||||||
cloud.google.com/go/storage v1.0.0 h1:VV2nUM3wwLLGh9lSABFgZMjInyUbJeaRSE64WuAIQ+4=
|
|
||||||
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
|
|
||||||
cloud.google.com/go/storage v1.5.0 h1:RPUcBvDeYgQFMfQu1eBMq6piD1SXmLH+vK3qjewZPus=
|
|
||||||
cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
|
|
||||||
cloud.google.com/go/storage v1.6.0 h1:UDpwYIwla4jHGzZJaEJYx1tOejbgSoNqsAfHAUYe2r8=
|
|
||||||
cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
|
|
||||||
cloud.google.com/go/storage v1.8.0 h1:86K1Gel7BQ9/WmNWn7dTKMvTLFzwtBe5FNqYbi9X35g=
|
|
||||||
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
|
|
||||||
cloud.google.com/go/storage v1.10.0 h1:STgFzyU5/8miMl0//zKh2aQeTyeaUH3WN9bSUiJ09bA=
|
|
||||||
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
|
|
||||||
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
|
|
||||||
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
|
|
||||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
|
||||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
|
||||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
|
||||||
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
|
|
||||||
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8=
|
|
||||||
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
|
|
||||||
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
|
|
||||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
|
||||||
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
|
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
||||||
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
|
||||||
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
|
||||||
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
|
|
||||||
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
|
||||||
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
|
||||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
|
||||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
|
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
|
||||||
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
|
||||||
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
|
||||||
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY=
|
|
||||||
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
|
||||||
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
|
|
||||||
github.com/golang/mock v1.2.0 h1:28o5sBqPkBsMGnC6b4MvE2TzSr5/AT4c/1fLqVGIwlk=
|
|
||||||
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
|
|
||||||
github.com/golang/mock v1.3.1 h1:qGJ6qTW+x6xX/my+8YUVl4WNpX9B7+/l2tRsHGZ7f2s=
|
|
||||||
github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
|
|
||||||
github.com/golang/mock v1.4.0 h1:Rd1kQnQu0Hq3qvJppYSG0HtP+f5LPPUiDswTLiEegLg=
|
|
||||||
github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
|
|
||||||
github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
|
|
||||||
github.com/golang/mock v1.4.3 h1:GV+pQPG/EUUbkh47niozDcADz6go/dUwhVzdUQHIVRw=
|
|
||||||
github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
|
|
||||||
github.com/golang/mock v1.4.4 h1:l75CXGRSwbaYNpl/Z2X1XIIAMSCquvXgpVZDhwEIJsc=
|
|
||||||
github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
|
|
||||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
|
||||||
github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
|
|
||||||
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
|
||||||
github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs=
|
|
||||||
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
|
||||||
github.com/golang/protobuf v1.3.3 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I=
|
|
||||||
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
|
|
||||||
github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
|
|
||||||
github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
|
|
||||||
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
|
|
||||||
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
|
|
||||||
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
|
|
||||||
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
|
|
||||||
github.com/golang/protobuf v1.4.0 h1:oOuy+ugB+P/kBdUnG5QaMXSIyJ1q38wWSojYCb3z5VQ=
|
|
||||||
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
|
|
||||||
github.com/golang/protobuf v1.4.1 h1:ZFgWrT+bLgsYPirOnRfKLYJLvssAegOj/hgyMFdJZe0=
|
|
||||||
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
|
|
||||||
github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0=
|
|
||||||
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
|
|
||||||
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c h1:964Od4U6p2jUkFxvCydnIczKteheJEzHRToSGK3Bnlw=
|
|
||||||
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
|
|
||||||
github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=
|
|
||||||
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
|
|
||||||
github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ=
|
|
||||||
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
|
|
||||||
github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
|
|
||||||
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
|
||||||
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
|
||||||
github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
|
|
||||||
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
|
||||||
github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
|
||||||
github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w=
|
|
||||||
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
|
||||||
github.com/google/go-cmp v0.5.1 h1:JFrFEBb2xKufg6XkJsJr+WbKb4FQlURi5RUcBveYu9k=
|
|
||||||
github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
|
||||||
github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM=
|
|
||||||
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
|
||||||
github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
|
|
||||||
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
|
|
||||||
github.com/google/martian/v3 v3.0.0 h1:pMen7vLs8nvgEYhywH3KDWJIJTeEr2ULsVWHWYHQyBs=
|
|
||||||
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
|
|
||||||
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57 h1:eqyIo2HjKhKe/mJzTG8n4VqvLXIOEG+SLdDqX7xGtkY=
|
|
||||||
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
|
|
||||||
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f h1:Jnx61latede7zDD3DiiP4gmNz33uK0U5HDUaF0a/HVQ=
|
|
||||||
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
|
|
||||||
github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
|
|
||||||
github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
|
|
||||||
github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
|
|
||||||
github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
|
|
||||||
github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99 h1:Ak8CrdlwwXwAZxzS66vgPt4U8yUZX7JwLvVR58FN5jM=
|
|
||||||
github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
|
|
||||||
github.com/google/pprof v0.0.0-20200905233945-acf8798be1f7 h1:k+KkMRk8mGOu1xG38StS7dQ+Z6oW1i9n3dgrAVU9Q/E=
|
|
||||||
github.com/google/pprof v0.0.0-20200905233945-acf8798be1f7/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
|
|
||||||
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
|
||||||
github.com/googleapis/gax-go/v2 v2.0.4 h1:hU4mGcQI4DaAYW+IbTun+2qEZVFxK0ySjQLTbS0VQKc=
|
|
||||||
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
|
|
||||||
github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM=
|
|
||||||
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
|
|
||||||
github.com/hashicorp/golang-lru v0.5.0 h1:CL2msUPvZTLb5O648aiLNJw3hnBxN2+1Jq8rCOH9wdo=
|
|
||||||
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
|
||||||
github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
|
|
||||||
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
|
||||||
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6 h1:UDMh68UUwekSh5iP2OMhRRZJiiBccgV7axzUG8vi56c=
|
|
||||||
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
|
|
||||||
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024 h1:rBMNdlhTLzJjJSDIjNEXX1Pz3Hmwmz91v+zycvx9PJc=
|
|
||||||
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
|
||||||
github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o=
|
|
||||||
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
|
|
||||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
|
||||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
|
||||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
|
||||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
|
||||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
|
||||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
|
||||||
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
|
||||||
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
|
||||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
|
||||||
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
|
||||||
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
|
||||||
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
|
||||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
|
||||||
go.opencensus.io v0.21.0 h1:mU6zScU4U1YAFPHEHYk+3JC4SY7JxgkqS10ZOSyksNg=
|
|
||||||
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
|
|
||||||
go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4=
|
|
||||||
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
|
|
||||||
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
|
||||||
go.opencensus.io v0.22.3 h1:8sGtKOrtQqkN1bp2AtX+misvLIlOmsEsNd+9NIcPEm8=
|
|
||||||
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
|
||||||
go.opencensus.io v0.22.4 h1:LYy1Hy3MJdrCdMwwzxA/dRok4ejH+RwNGbuoD9fCjto=
|
|
||||||
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
|
||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
|
||||||
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
|
||||||
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
|
||||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
|
||||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
|
||||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4 h1:c2HOrn5iMezYjSlGPncknSEr/8x5LELb/ilJbXi9DEA=
|
|
||||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
|
||||||
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
|
||||||
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522 h1:OeRHuibLsmZkFj773W4LcfAGsSxJgfPONhr8cmO+eLA=
|
|
||||||
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
|
||||||
golang.org/x/exp v0.0.0-20190829153037-c13cbed26979 h1:Agxu5KLo8o7Bb634SVDnhIfpTvxmzUwhbYAzBvXt6h4=
|
|
||||||
golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
|
|
||||||
golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
|
|
||||||
golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
|
|
||||||
golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
|
|
||||||
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
|
|
||||||
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
|
|
||||||
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6 h1:QE6XYQK6naiK1EPAe1g/ILLxN5RBoH5xkJk3CqlMI/Y=
|
|
||||||
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
|
|
||||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
|
||||||
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
|
||||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
|
||||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
|
||||||
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f h1:hX65Cu3JDlGH3uEdK7I99Ii+9kjD6mvnnpfLdEAH0x4=
|
|
||||||
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
|
||||||
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
|
||||||
golang.org/x/lint v0.0.0-20190409202823-959b441ac422 h1:QzoH/1pFpZguR8NrRHLcO6jKqfv2zpuSqZLgdm7ZmjI=
|
|
||||||
golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
|
||||||
golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac h1:8R1esu+8QioDxo4E4mX6bFztO+dMTM49DNAaWfO5OeY=
|
|
||||||
golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
|
||||||
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
|
||||||
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
|
|
||||||
golang.org/x/lint v0.0.0-20200130185559-910be7a94367 h1:0IiAsCRByjO2QjX7ZPkw5oU9x+n1YqRL802rjC0c3Aw=
|
|
||||||
golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
|
||||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k=
|
|
||||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
|
||||||
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
|
|
||||||
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
|
|
||||||
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
|
|
||||||
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
|
|
||||||
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee h1:WG0RUwxtNT4qqaXX3DPA8zHFNm/D9xaBpxzHt1WcA/E=
|
|
||||||
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
|
|
||||||
golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
|
|
||||||
golang.org/x/mod v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ=
|
|
||||||
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
|
||||||
golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4=
|
|
||||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
|
||||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
|
||||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
|
||||||
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
|
||||||
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
|
||||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628=
|
|
||||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
|
||||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
|
||||||
golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
|
||||||
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c h1:uOCk1iQW6Vc18bnC13MfzScl+wdKBmM9Y9kU7Z83/lw=
|
|
||||||
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
|
||||||
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
|
||||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859 h1:R/3boaszxrf1GEUWTVDzSKVwLmSJpwZ1yqXm8j0v2QI=
|
|
||||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
|
||||||
golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
|
||||||
golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
|
||||||
golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
|
||||||
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
|
||||||
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
|
||||||
golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
|
||||||
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
|
||||||
golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
|
||||||
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
|
||||||
golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5 h1:WQ8q63x+f/zpC8Ac1s9wLElVoHhm32p6tudrU72n1QA=
|
|
||||||
golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
|
||||||
golang.org/x/net v0.0.0-20200506145744-7e3656a0809f h1:QBjCr1Fz5kw158VqdE9JfI9cJnl/ymnJWAdMuinqL7Y=
|
|
||||||
golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
|
||||||
golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
|
||||||
golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
|
||||||
golang.org/x/net v0.0.0-20200625001655-4c5254603344 h1:vGXIOMxbNfDTk/aXCmfdLgkrSV+Z2tcbze+pEc3v5W4=
|
|
||||||
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
|
||||||
golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU=
|
|
||||||
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
|
||||||
golang.org/x/net v0.0.0-20200822124328-c89045814202 h1:VvcQYSHwXgi7W+TpUR6A9g6Up98WAHf3f/ulnJ62IyA=
|
|
||||||
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
|
||||||
golang.org/x/net v0.0.0-20200904194848-62affa334b73 h1:MXfv8rhZWmFeqX3GNZRsd6vOLoaCHjYEX3qkRo3YBUA=
|
|
||||||
golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
|
||||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
|
||||||
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421 h1:Wo7BWFiOk0QRFMLYMqJGFMd9CgUAcGx7V+qEg/h5IBI=
|
|
||||||
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
|
||||||
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0=
|
|
||||||
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
|
||||||
golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
|
||||||
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d h1:TzXSXBo42m9gQenoE3b9BGiEpg5IG2JkU5FkPIawgtw=
|
|
||||||
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
|
||||||
golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43 h1:ld7aEMNHoBnnDAX15v1T6z31v8HwR2A9FYOuAhWqkwc=
|
|
||||||
golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
|
||||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
||||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
||||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
||||||
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6 h1:bjcUS9ztw9kFmmIxJInhon/0Is3p+EHBKNgquIzo1OI=
|
|
||||||
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
||||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=
|
|
||||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
||||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY=
|
|
||||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
||||||
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a h1:WXEvlFVvvGxCJLG6REjsT03iWnKLEWinaScsxF2Vm2o=
|
|
||||||
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
||||||
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208 h1:qwRHBd0NqMbJxfbotnDhm2ByMI1Shq4Y6oRJo21SGJA=
|
|
||||||
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
||||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
|
||||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU=
|
|
||||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
|
||||||
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b h1:ag/x1USPSsqHud38I9BAC88qdNLDHHtQ4mlgQIZPPNA=
|
|
||||||
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0 h1:HyfiK1WMnHj5FXFXatD+Qs1A/xC2Run6RzeW1SyHxpc=
|
|
||||||
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae h1:/WDfKMnPU+m5M4xB+6x4kaepxRw6jWvR5iDRdvjHgy8=
|
|
||||||
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884=
|
|
||||||
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20200501052902-10377860bb8e h1:hq86ru83GdWTlfQFZGO4nZJTU4Bs2wfHl8oFHRaXsfc=
|
|
||||||
golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25 h1:OKbAoGs4fGM5cPLlVQLZGYkFC8OnOfgo6tt0Smf9XhM=
|
|
||||||
golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20200523222454-059865788121 h1:rITEj+UZHYC927n8GT97eC3zrpzXdb/voyeOuVKS46o=
|
|
||||||
golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20200803210538-64077c9b5642 h1:B6caxRw+hozq68X2MY7jEpZh/cr4/aHLv9xU8Kkadrw=
|
|
||||||
golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20200828194041-157a740278f4 h1:kCCpuwSAoYJPkNc6x0xT9yTtV4oKtARo4RGBQWOfg9E=
|
|
||||||
golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
|
||||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2 h1:z99zHgr7hKfrUcX/KsoJk5FJfjTceCKIp96+biqP4To=
|
|
||||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
|
||||||
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
|
|
||||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
|
||||||
golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
|
|
||||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
|
||||||
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c h1:fqgJT0MGcGpPgpWU7VRdRjuArfcOvC4AoJmILihzhDg=
|
|
||||||
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
|
||||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ=
|
|
||||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
|
||||||
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
|
||||||
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
|
||||||
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
|
||||||
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
|
||||||
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
|
||||||
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138 h1:H3uGjxCR/6Ds0Mjgyp7LMK81+LvmbvWWEnJhzk1Pi9E=
|
|
||||||
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
|
||||||
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
|
||||||
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c h1:97SnQk1GYRXJgvwZ8fadnxDOWfKvkNQHH3CtZntPSrM=
|
|
||||||
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
|
||||||
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
|
||||||
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
|
||||||
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
|
||||||
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0 h1:Dh6fw+p6FyRl5x/FvNswO1ji0lIGzm3KP8Y9VkS9PTE=
|
|
||||||
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
|
||||||
golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
|
||||||
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff h1:On1qIo75ByTwFJ4/W2bIqHcwJ9XAqtSWUs8GwRrIhtc=
|
|
||||||
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
|
||||||
golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
|
||||||
golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
|
||||||
golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
|
||||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
|
||||||
golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
|
||||||
golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
|
||||||
golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
|
||||||
golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
|
||||||
golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
|
||||||
golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
|
||||||
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
|
||||||
golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
|
||||||
golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
|
||||||
golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
|
||||||
golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
|
||||||
golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
|
||||||
golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
|
|
||||||
golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
|
|
||||||
golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
|
|
||||||
golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d h1:lzLdP95xJmMpwQ6LUHwrc5V7js93hTiY7gkznu0BgmY=
|
|
||||||
golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
|
||||||
golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88 h1:4j84u0sokprDu3IdSYHJMmou+YSLflMz8p7yAx/QI4g=
|
|
||||||
golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
|
||||||
golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
|
||||||
golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
|
||||||
golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
|
||||||
golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d h1:szSOL78iTCl0LF1AMjhSWJj8tIM0KixlUUnBtYXsmd8=
|
|
||||||
golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
|
||||||
golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
|
||||||
golang.org/x/tools v0.0.0-20200828161849-5deb26317202 h1:DrWbY9UUFi/sl/3HkNVoBjDbGfIPZZfgoGsGxOL1EU8=
|
|
||||||
golang.org/x/tools v0.0.0-20200828161849-5deb26317202/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
|
||||||
golang.org/x/tools v0.0.0-20200915173823-2db8f0ff891c h1:AQsh/7arPVFDBraQa8x7GoVnwnGg1kM7J2ySI0kF5WU=
|
|
||||||
golang.org/x/tools v0.0.0-20200915173823-2db8f0ff891c/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU=
|
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
|
||||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
|
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
|
||||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
|
|
||||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
|
||||||
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
|
||||||
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
|
|
||||||
google.golang.org/api v0.8.0 h1:VGGbLNyPF7dvYHhcUGYBBGCRDDK0RRJAI6KCvo0CL+E=
|
|
||||||
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
|
|
||||||
google.golang.org/api v0.9.0 h1:jbyannxz0XFD3zdjgrSUsaJbgpH4eTrkdhRChkHPfO8=
|
|
||||||
google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
|
|
||||||
google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
|
|
||||||
google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
|
|
||||||
google.golang.org/api v0.15.0 h1:yzlyyDW/J0w8yNFJIhiAJy4kq74S+1DOLdawELNxFMA=
|
|
||||||
google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
|
|
||||||
google.golang.org/api v0.17.0 h1:0q95w+VuFtv4PAx4PZVQdBMmYbaCHbnfKaEiDIcVyag=
|
|
||||||
google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
|
|
||||||
google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
|
|
||||||
google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
|
|
||||||
google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
|
|
||||||
google.golang.org/api v0.22.0 h1:J1Pl9P2lnmYFSJvgs70DKELqHNh8CNWXPbud4njEE2s=
|
|
||||||
google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
|
|
||||||
google.golang.org/api v0.24.0 h1:cG03eaksBzhfSIk7JRGctfp3lanklcOM/mTGvow7BbQ=
|
|
||||||
google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
|
|
||||||
google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
|
|
||||||
google.golang.org/api v0.29.0 h1:BaiDisFir8O4IJxvAabCGGkQ6yCJegNQqSVoYUNAnbk=
|
|
||||||
google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
|
|
||||||
google.golang.org/api v0.30.0 h1:yfrXXP61wVuLb0vBcG6qaOoIoqYEzOQS8jum51jkv2w=
|
|
||||||
google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
|
|
||||||
google.golang.org/api v0.31.0 h1:1w5Sz/puhxFo9lTtip2n47k7toB/U2nCqOKNHd3Yrbo=
|
|
||||||
google.golang.org/api v0.31.0/go.mod h1:CL+9IBCa2WWU6gRuBWaKqGWLFFwbEUXkfeMkHLQWYWo=
|
|
||||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
|
||||||
google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508=
|
|
||||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
|
||||||
google.golang.org/appengine v1.5.0 h1:KxkO13IPW4Lslp2bz+KHP2E3gtFlrIGNThxkZQ3g+4c=
|
|
||||||
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
|
||||||
google.golang.org/appengine v1.6.1 h1:QzqyMA1tlu6CgqCDUtU9V+ZKhLFT2dkJuANu5QaxI3I=
|
|
||||||
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
|
|
||||||
google.golang.org/appengine v1.6.5 h1:tycE03LOZYQNhDpS27tcQdAzLCVMaj7QT2SXxebnpCM=
|
|
||||||
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
|
||||||
google.golang.org/appengine v1.6.6 h1:lMO5rYAqUxkmaj76jAkRUvt5JZgFymx/+Q5Mzfivuhc=
|
|
||||||
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
|
||||||
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
|
||||||
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19 h1:Lj2SnHtxkRGJDqnGaSjo+CCdIieEnwVazbOXILwQemk=
|
|
||||||
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
|
||||||
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
|
||||||
google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
|
||||||
google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873 h1:nfPFGzJkUDX6uBmpN/pSw7MbOAWegH5QDQuoXFHedLg=
|
|
||||||
google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
|
||||||
google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64 h1:iKtrH9Y8mcbADOP0YFaEMth7OfuHY9xHOwNj4znpM1A=
|
|
||||||
google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
|
|
||||||
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 h1:gSJIx1SDwno+2ElGhA4+qG2zF97qiUzTM+rQ0klBOcE=
|
|
||||||
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
|
|
||||||
google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51 h1:Ex1mq5jaJof+kRnYi3SlYJ8KKa9Ao3NHyIT5XJ1gF6U=
|
|
||||||
google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
|
|
||||||
google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
|
|
||||||
google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
|
|
||||||
google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
|
|
||||||
google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
|
|
||||||
google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
|
|
||||||
google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
|
|
||||||
google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
|
|
||||||
google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
|
||||||
google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
|
||||||
google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
|
||||||
google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
|
||||||
google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
|
||||||
google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
|
||||||
google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84 h1:pSLkPbrjnPyLDYUO2VM9mDLqo2V6CFBY84lFSZAfoi4=
|
|
||||||
google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
|
||||||
google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380 h1:xriR1EgvKfkKxIoU2uUvrMVl+H26359loFFUleSMXFo=
|
|
||||||
google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
|
||||||
google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
|
|
||||||
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
|
|
||||||
google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
|
|
||||||
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
|
||||||
google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c h1:Lq4llNryJoaVFRmvrIwC/ZHH7tNt4tUYIu8+se2aayY=
|
|
||||||
google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
|
||||||
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
|
||||||
google.golang.org/genproto v0.0.0-20200831141814-d751682dd103 h1:z46CEPU+LlO0kGGwrH8h5epkkJhRZbAHYWOWD9JhLPI=
|
|
||||||
google.golang.org/genproto v0.0.0-20200831141814-d751682dd103/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
|
||||||
google.golang.org/genproto v0.0.0-20200914193844-75d14daec038 h1:SnvTpXhVDJGFxzZiHbMUZTh3VjU2Vx2feJ7Zfl5+OIY=
|
|
||||||
google.golang.org/genproto v0.0.0-20200914193844-75d14daec038/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
|
||||||
google.golang.org/grpc v1.19.0 h1:cfg4PD8YEdSFnm7qLV4++93WcmhH2nIUhMjhdCvl3j8=
|
|
||||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
|
||||||
google.golang.org/grpc v1.20.1 h1:Hz2g2wirWK7H0qIIhGIqRGTuMwTE8HEKFnDZZ7lm9NU=
|
|
||||||
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
|
|
||||||
google.golang.org/grpc v1.21.1 h1:j6XxA85m/6txkUCHvzlV5f+HBNl/1r5cZ2A/3IEFOO8=
|
|
||||||
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
|
|
||||||
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
|
|
||||||
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
|
|
||||||
google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
|
|
||||||
google.golang.org/grpc v1.27.0 h1:rRYRFMVgRv6E0D70Skyfsr28tDXIuuPZyWGMPdMcnXg=
|
|
||||||
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
|
|
||||||
google.golang.org/grpc v1.27.1 h1:zvIju4sqAGvwKspUQOhwnpcqSbzi7/H6QomNNjTL4sk=
|
|
||||||
google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
|
|
||||||
google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
|
|
||||||
google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4=
|
|
||||||
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
|
|
||||||
google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
|
||||||
google.golang.org/grpc v1.31.0 h1:T7P4R73V3SSDPhH7WW7ATbfViLtmamH0DKrP3f9AuDI=
|
|
||||||
google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
|
||||||
google.golang.org/grpc v1.31.1 h1:SfXqXS5hkufcdZ/mHtYCh53P2b+92WQq/DZcKLgsFRs=
|
|
||||||
google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
|
||||||
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
|
||||||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
|
||||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
|
||||||
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
|
|
||||||
google.golang.org/protobuf v1.21.0 h1:qdOKuR/EIArgaWNjetjgTzgVTAZ+S/WXVrq9HW9zimw=
|
|
||||||
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
|
|
||||||
google.golang.org/protobuf v1.22.0 h1:cJv5/xdbk1NnMPR1VP9+HU6gupuG9MLBoH1r6RHZ2MY=
|
|
||||||
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
|
||||||
google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM=
|
|
||||||
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
|
||||||
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc h1:TnonUr8u3himcMY0vSh23jFOXA+cnucl1gB6EQTReBI=
|
|
||||||
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
|
||||||
google.golang.org/protobuf v1.24.0 h1:UhZDfRO8JRQru4/+LlLE0BRKGF8L+PICnvYZmx/fEGA=
|
|
||||||
google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
|
|
||||||
google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c=
|
|
||||||
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
|
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
|
||||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
|
||||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
|
||||||
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
|
|
||||||
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
|
||||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
||||||
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
|
||||||
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a h1:/8zB6iBfHCl1qAnEAWwGPNrUvapuy6CPla1VM0k8hQw=
|
|
||||||
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
|
||||||
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a h1:LJwr7TCTghdatWv40WobzlKXc9c4s8oGa7QKJUtHhWA=
|
|
||||||
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
|
||||||
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
|
||||||
honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM=
|
|
||||||
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
|
|
||||||
honnef.co/go/tools v0.0.1-2020.1.3 h1:sXmLre5bzIR6ypkjXCDI3jHPssRhc8KD/Ome589sc3U=
|
|
||||||
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
|
|
||||||
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
|
|
||||||
rsc.io/binaryregexp v0.2.0 h1:HfqmD5MEmC0zvwBuF187nq9mdnXjXsSivRiXN7SmRkE=
|
|
||||||
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
|
||||||
rsc.io/quote/v3 v3.1.0 h1:9JKUTTIUgS6kzR9mK1YuGKv6Nl+DijDNIc0ghT58FaY=
|
|
||||||
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
|
||||||
rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4=
|
|
||||||
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
|
4
vendor/cloud.google.com/go/iam/BUILD.bazel
generated
vendored
4
vendor/cloud.google.com/go/iam/BUILD.bazel
generated
vendored
@ -7,8 +7,8 @@ go_library(
|
|||||||
importpath = "cloud.google.com/go/iam",
|
importpath = "cloud.google.com/go/iam",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"//vendor/github.com/googleapis/gax-go/v2:gax-go",
|
"//vendor/cloud.google.com/go/iam/apiv1/iampb",
|
||||||
"@go_googleapis//google/iam/v1:iam_go_proto",
|
"@com_github_googleapis_gax_go_v2//:gax-go",
|
||||||
"@org_golang_google_grpc//:go_default_library",
|
"@org_golang_google_grpc//:go_default_library",
|
||||||
"@org_golang_google_grpc//codes",
|
"@org_golang_google_grpc//codes",
|
||||||
"@org_golang_google_grpc//metadata",
|
"@org_golang_google_grpc//metadata",
|
||||||
|
161
vendor/cloud.google.com/go/iam/CHANGES.md
generated
vendored
Normal file
161
vendor/cloud.google.com/go/iam/CHANGES.md
generated
vendored
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
# Changes
|
||||||
|
|
||||||
|
|
||||||
|
## [1.1.6](https://github.com/googleapis/google-cloud-go/compare/iam/v1.1.5...iam/v1.1.6) (2024-01-30)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **iam:** Enable universe domain resolution options ([fd1d569](https://github.com/googleapis/google-cloud-go/commit/fd1d56930fa8a747be35a224611f4797b8aeb698))
|
||||||
|
|
||||||
|
## [1.1.5](https://github.com/googleapis/google-cloud-go/compare/iam/v1.1.4...iam/v1.1.5) (2023-11-01)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **iam:** Bump google.golang.org/api to v0.149.0 ([8d2ab9f](https://github.com/googleapis/google-cloud-go/commit/8d2ab9f320a86c1c0fab90513fc05861561d0880))
|
||||||
|
|
||||||
|
## [1.1.4](https://github.com/googleapis/google-cloud-go/compare/iam/v1.1.3...iam/v1.1.4) (2023-10-26)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **iam:** Update grpc-go to v1.59.0 ([81a97b0](https://github.com/googleapis/google-cloud-go/commit/81a97b06cb28b25432e4ece595c55a9857e960b7))
|
||||||
|
|
||||||
|
## [1.1.3](https://github.com/googleapis/google-cloud-go/compare/iam/v1.1.2...iam/v1.1.3) (2023-10-12)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **iam:** Update golang.org/x/net to v0.17.0 ([174da47](https://github.com/googleapis/google-cloud-go/commit/174da47254fefb12921bbfc65b7829a453af6f5d))
|
||||||
|
|
||||||
|
## [1.1.2](https://github.com/googleapis/google-cloud-go/compare/iam/v1.1.1...iam/v1.1.2) (2023-08-08)
|
||||||
|
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
* **iam:** Minor formatting ([b4349cc](https://github.com/googleapis/google-cloud-go/commit/b4349cc507870ff8629bbc07de578b63bb889626))
|
||||||
|
|
||||||
|
## [1.1.1](https://github.com/googleapis/google-cloud-go/compare/iam/v1.1.0...iam/v1.1.1) (2023-06-20)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **iam:** REST query UpdateMask bug ([df52820](https://github.com/googleapis/google-cloud-go/commit/df52820b0e7721954809a8aa8700b93c5662dc9b))
|
||||||
|
|
||||||
|
## [1.1.0](https://github.com/googleapis/google-cloud-go/compare/iam/v1.0.1...iam/v1.1.0) (2023-05-30)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **iam:** Update all direct dependencies ([b340d03](https://github.com/googleapis/google-cloud-go/commit/b340d030f2b52a4ce48846ce63984b28583abde6))
|
||||||
|
|
||||||
|
## [1.0.1](https://github.com/googleapis/google-cloud-go/compare/iam/v1.0.0...iam/v1.0.1) (2023-05-08)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **iam:** Update grpc to v1.55.0 ([1147ce0](https://github.com/googleapis/google-cloud-go/commit/1147ce02a990276ca4f8ab7a1ab65c14da4450ef))
|
||||||
|
|
||||||
|
## [1.0.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.13.0...iam/v1.0.0) (2023-04-04)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **iam:** Promote to GA ([#7627](https://github.com/googleapis/google-cloud-go/issues/7627)) ([b351906](https://github.com/googleapis/google-cloud-go/commit/b351906a10e17a02d7f7e2551bc1585fd9dc3742))
|
||||||
|
|
||||||
|
## [0.13.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.12.0...iam/v0.13.0) (2023-03-15)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **iam:** Update iam and longrunning deps ([91a1f78](https://github.com/googleapis/google-cloud-go/commit/91a1f784a109da70f63b96414bba8a9b4254cddd))
|
||||||
|
|
||||||
|
## [0.12.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.11.0...iam/v0.12.0) (2023-02-17)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **iam:** Migrate to new stubs ([a61ddcd](https://github.com/googleapis/google-cloud-go/commit/a61ddcd3041c7af4a15109dc4431f9b327c497fb))
|
||||||
|
|
||||||
|
## [0.11.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.10.0...iam/v0.11.0) (2023-02-16)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **iam:** Start generating proto stubs ([970d763](https://github.com/googleapis/google-cloud-go/commit/970d763531b54b2bc75d7ff26a20b6e05150cab8))
|
||||||
|
|
||||||
|
## [0.10.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.9.0...iam/v0.10.0) (2023-01-04)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **iam:** Add REST client ([06a54a1](https://github.com/googleapis/google-cloud-go/commit/06a54a16a5866cce966547c51e203b9e09a25bc0))
|
||||||
|
|
||||||
|
## [0.9.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.8.0...iam/v0.9.0) (2022-12-15)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **iam:** Rewrite iam sigs and update proto import ([#7137](https://github.com/googleapis/google-cloud-go/issues/7137)) ([ad67fa3](https://github.com/googleapis/google-cloud-go/commit/ad67fa36c263c161226f7fecbab5221592374dca))
|
||||||
|
|
||||||
|
## [0.8.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.7.0...iam/v0.8.0) (2022-12-05)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **iam:** Start generating and refresh some libraries ([#7089](https://github.com/googleapis/google-cloud-go/issues/7089)) ([a9045ff](https://github.com/googleapis/google-cloud-go/commit/a9045ff191a711089c37f1d94a63522d9939ce38))
|
||||||
|
|
||||||
|
## [0.7.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.6.0...iam/v0.7.0) (2022-11-03)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **iam:** rewrite signatures in terms of new location ([3c4b2b3](https://github.com/googleapis/google-cloud-go/commit/3c4b2b34565795537aac1661e6af2442437e34ad))
|
||||||
|
|
||||||
|
## [0.6.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.5.0...iam/v0.6.0) (2022-10-25)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **iam:** start generating stubs dir ([de2d180](https://github.com/googleapis/google-cloud-go/commit/de2d18066dc613b72f6f8db93ca60146dabcfdcc))
|
||||||
|
|
||||||
|
## [0.5.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.4.0...iam/v0.5.0) (2022-09-28)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **iam:** remove ListApplicablePolicies ([52dddd1](https://github.com/googleapis/google-cloud-go/commit/52dddd1ed89fbe77e1859311c3b993a77a82bfc7))
|
||||||
|
|
||||||
|
## [0.4.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.3.0...iam/v0.4.0) (2022-09-06)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **iam:** start generating apiv2 ([#6605](https://github.com/googleapis/google-cloud-go/issues/6605)) ([a6004e7](https://github.com/googleapis/google-cloud-go/commit/a6004e762f782869cd85688937475744f7b17e50))
|
||||||
|
|
||||||
|
## [0.3.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.2.0...iam/v0.3.0) (2022-02-23)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **iam:** set versionClient to module version ([55f0d92](https://github.com/googleapis/google-cloud-go/commit/55f0d92bf112f14b024b4ab0076c9875a17423c9))
|
||||||
|
|
||||||
|
## [0.2.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.1.1...iam/v0.2.0) (2022-02-14)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **iam:** add file for tracking version ([17b36ea](https://github.com/googleapis/google-cloud-go/commit/17b36ead42a96b1a01105122074e65164357519e))
|
||||||
|
|
||||||
|
### [0.1.1](https://www.github.com/googleapis/google-cloud-go/compare/iam/v0.1.0...iam/v0.1.1) (2022-01-14)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **iam:** run formatter ([#5277](https://www.github.com/googleapis/google-cloud-go/issues/5277)) ([8682e4e](https://www.github.com/googleapis/google-cloud-go/commit/8682e4ed57a4428a659fbc225f56c91767e2a4a9))
|
||||||
|
|
||||||
|
## v0.1.0
|
||||||
|
|
||||||
|
This is the first tag to carve out iam as its own module. See
|
||||||
|
[Add a module to a multi-module repository](https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository).
|
0
vendor/github.com/go-openapi/loads/LICENSE → vendor/cloud.google.com/go/iam/LICENSE
generated
vendored
0
vendor/github.com/go-openapi/loads/LICENSE → vendor/cloud.google.com/go/iam/LICENSE
generated
vendored
40
vendor/cloud.google.com/go/iam/README.md
generated
vendored
Normal file
40
vendor/cloud.google.com/go/iam/README.md
generated
vendored
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
# IAM API
|
||||||
|
|
||||||
|
[![Go Reference](https://pkg.go.dev/badge/cloud.google.com/go/iam.svg)](https://pkg.go.dev/cloud.google.com/go/iam)
|
||||||
|
|
||||||
|
Go Client Library for IAM API.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
```bash
|
||||||
|
go get cloud.google.com/go/iam
|
||||||
|
```
|
||||||
|
|
||||||
|
## Stability
|
||||||
|
|
||||||
|
The stability of this module is indicated by SemVer.
|
||||||
|
|
||||||
|
However, a `v1+` module may have breaking changes in two scenarios:
|
||||||
|
|
||||||
|
* Packages with `alpha` or `beta` in the import path
|
||||||
|
* The GoDoc has an explicit stability disclaimer (for example, for an experimental feature).
|
||||||
|
|
||||||
|
## Go Version Support
|
||||||
|
|
||||||
|
See the [Go Versions Supported](https://github.com/googleapis/google-cloud-go#go-versions-supported)
|
||||||
|
section in the root directory's README.
|
||||||
|
|
||||||
|
## Authorization
|
||||||
|
|
||||||
|
See the [Authorization](https://github.com/googleapis/google-cloud-go#authorization)
|
||||||
|
section in the root directory's README.
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
Contributions are welcome. Please, see the [CONTRIBUTING](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/main/CONTRIBUTING.md)
|
||||||
|
document for details.
|
||||||
|
|
||||||
|
Please note that this project is released with a Contributor Code of Conduct.
|
||||||
|
By participating in this project you agree to abide by its terms. See
|
||||||
|
[Contributor Code of Conduct](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/main/CONTRIBUTING.md#contributor-code-of-conduct)
|
||||||
|
for more information.
|
23
vendor/cloud.google.com/go/iam/apiv1/iampb/BUILD.bazel
generated
vendored
Normal file
23
vendor/cloud.google.com/go/iam/apiv1/iampb/BUILD.bazel
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||||
|
|
||||||
|
go_library(
|
||||||
|
name = "iampb",
|
||||||
|
srcs = [
|
||||||
|
"iam_policy.pb.go",
|
||||||
|
"options.pb.go",
|
||||||
|
"policy.pb.go",
|
||||||
|
],
|
||||||
|
importmap = "peridot.resf.org/vendor/cloud.google.com/go/iam/apiv1/iampb",
|
||||||
|
importpath = "cloud.google.com/go/iam/apiv1/iampb",
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
deps = [
|
||||||
|
"@org_golang_google_genproto//googleapis/type/expr",
|
||||||
|
"@org_golang_google_genproto_googleapis_api//annotations",
|
||||||
|
"@org_golang_google_grpc//:go_default_library",
|
||||||
|
"@org_golang_google_grpc//codes",
|
||||||
|
"@org_golang_google_grpc//status",
|
||||||
|
"@org_golang_google_protobuf//reflect/protoreflect",
|
||||||
|
"@org_golang_google_protobuf//runtime/protoimpl",
|
||||||
|
"@org_golang_google_protobuf//types/known/fieldmaskpb",
|
||||||
|
],
|
||||||
|
)
|
@ -1,4 +1,4 @@
|
|||||||
// Copyright 2019 Google LLC.
|
// Copyright 2022 Google LLC
|
||||||
//
|
//
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
// you may not use this file except in compliance with the License.
|
// you may not use this file except in compliance with the License.
|
||||||
@ -11,15 +11,14 @@
|
|||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
//
|
|
||||||
|
|
||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.26.0
|
// protoc-gen-go v1.32.0
|
||||||
// protoc v3.12.2
|
// protoc v4.23.2
|
||||||
// source: google/iam/v1/iam_policy.proto
|
// source: google/iam/v1/iam_policy.proto
|
||||||
|
|
||||||
package iam
|
package iampb
|
||||||
|
|
||||||
import (
|
import (
|
||||||
context "context"
|
context "context"
|
||||||
@ -32,6 +31,7 @@ import (
|
|||||||
status "google.golang.org/grpc/status"
|
status "google.golang.org/grpc/status"
|
||||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
|
fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -55,6 +55,12 @@ type SetIamPolicyRequest struct {
|
|||||||
// valid policy but certain Cloud Platform services (such as Projects)
|
// valid policy but certain Cloud Platform services (such as Projects)
|
||||||
// might reject them.
|
// might reject them.
|
||||||
Policy *Policy `protobuf:"bytes,2,opt,name=policy,proto3" json:"policy,omitempty"`
|
Policy *Policy `protobuf:"bytes,2,opt,name=policy,proto3" json:"policy,omitempty"`
|
||||||
|
// OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
|
||||||
|
// the fields in the mask will be modified. If no mask is provided, the
|
||||||
|
// following default mask is used:
|
||||||
|
//
|
||||||
|
// `paths: "bindings, etag"`
|
||||||
|
UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *SetIamPolicyRequest) Reset() {
|
func (x *SetIamPolicyRequest) Reset() {
|
||||||
@ -103,6 +109,13 @@ func (x *SetIamPolicyRequest) GetPolicy() *Policy {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *SetIamPolicyRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
|
||||||
|
if x != nil {
|
||||||
|
return x.UpdateMask
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// Request message for `GetIamPolicy` method.
|
// Request message for `GetIamPolicy` method.
|
||||||
type GetIamPolicyRequest struct {
|
type GetIamPolicyRequest struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
@ -113,7 +126,7 @@ type GetIamPolicyRequest struct {
|
|||||||
// See the operation documentation for the appropriate value for this field.
|
// See the operation documentation for the appropriate value for this field.
|
||||||
Resource string `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
|
Resource string `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
|
||||||
// OPTIONAL: A `GetPolicyOptions` object for specifying options to
|
// OPTIONAL: A `GetPolicyOptions` object for specifying options to
|
||||||
// `GetIamPolicy`. This field is only used by Cloud IAM.
|
// `GetIamPolicy`.
|
||||||
Options *GetPolicyOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
|
Options *GetPolicyOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -281,24 +294,30 @@ var file_google_iam_v1_iam_policy_proto_rawDesc = []byte{
|
|||||||
0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f,
|
0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f,
|
||||||
0x69, 0x61, 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
0x69, 0x61, 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
0x12, 0x0d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x1a,
|
0x12, 0x0d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x1a,
|
||||||
0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x6f,
|
0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
|
||||||
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x67, 0x6f,
|
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67,
|
||||||
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69,
|
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
|
||||||
0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
|
||||||
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f,
|
||||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
|
0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
|
||||||
0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
|
0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
|
||||||
0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c,
|
0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76,
|
||||||
0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
|
||||||
0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73,
|
0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x70,
|
||||||
0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a, 0x13, 0x53,
|
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f,
|
||||||
0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
|
0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65,
|
||||||
0x73, 0x74, 0x12, 0x25, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01,
|
0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xad, 0x01,
|
||||||
0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x03, 0x0a, 0x01, 0x2a, 0x52,
|
0x0a, 0x13, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65,
|
||||||
0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x70, 0x6f, 0x6c,
|
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
|
||||||
0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x03, 0x0a,
|
||||||
0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
0x01, 0x2a, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x06,
|
||||||
0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x77, 0x0a,
|
0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67,
|
||||||
|
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c,
|
||||||
|
0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
||||||
|
0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18,
|
||||||
|
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
||||||
|
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73,
|
||||||
|
0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x77, 0x0a,
|
||||||
0x13, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71,
|
0x13, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71,
|
||||||
0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
|
0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x03, 0x0a, 0x01,
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x03, 0x0a, 0x01,
|
||||||
@ -323,37 +342,37 @@ var file_google_iam_v1_iam_policy_proto_rawDesc = []byte{
|
|||||||
0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75,
|
0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75,
|
||||||
0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d,
|
0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d,
|
||||||
0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93,
|
0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93,
|
||||||
0x02, 0x23, 0x22, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
|
0x02, 0x23, 0x3a, 0x01, 0x2a, 0x22, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f,
|
||||||
0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69,
|
0x75, 0x72, 0x63, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50,
|
||||||
0x63, 0x79, 0x3a, 0x01, 0x2a, 0x12, 0x74, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50,
|
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x74, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50,
|
||||||
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
|
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
|
||||||
0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69,
|
0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69,
|
||||||
0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
||||||
0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
||||||
0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72,
|
0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x22, 0x1e, 0x2f, 0x76, 0x31,
|
||||||
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x74, 0x49,
|
0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x3a, 0x67,
|
||||||
0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x01, 0x2a, 0x12, 0x9a, 0x01, 0x0a, 0x12,
|
0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x9a, 0x01, 0x0a, 0x12,
|
||||||
0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
|
0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
|
||||||
0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e,
|
0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e,
|
||||||
0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
|
0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
|
||||||
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67,
|
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67,
|
||||||
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73,
|
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73,
|
||||||
0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52,
|
0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52,
|
||||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x22,
|
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a,
|
||||||
0x24, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x2a,
|
0x01, 0x2a, 0x22, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
|
||||||
0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
|
0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72,
|
||||||
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x01, 0x2a, 0x1a, 0x1e, 0xca, 0x41, 0x1b, 0x69, 0x61, 0x6d,
|
0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x1e, 0xca, 0x41, 0x1b, 0x69, 0x61, 0x6d,
|
||||||
0x2d, 0x6d, 0x65, 0x74, 0x61, 0x2d, 0x61, 0x70, 0x69, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
0x2d, 0x6d, 0x65, 0x74, 0x61, 0x2d, 0x61, 0x70, 0x69, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
||||||
0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, 0x86, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d,
|
0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, 0x7f, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e,
|
||||||
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0e,
|
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x49,
|
||||||
0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
|
0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
|
||||||
0x5a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e,
|
0x29, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f,
|
||||||
0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f,
|
0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x69,
|
||||||
0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x3b, 0x69,
|
0x61, 0x6d, 0x70, 0x62, 0x3b, 0x69, 0x61, 0x6d, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13,
|
||||||
0x61, 0x6d, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43,
|
0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d,
|
||||||
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f,
|
0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f,
|
||||||
0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56,
|
0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -375,22 +394,24 @@ var file_google_iam_v1_iam_policy_proto_goTypes = []interface{}{
|
|||||||
(*TestIamPermissionsRequest)(nil), // 2: google.iam.v1.TestIamPermissionsRequest
|
(*TestIamPermissionsRequest)(nil), // 2: google.iam.v1.TestIamPermissionsRequest
|
||||||
(*TestIamPermissionsResponse)(nil), // 3: google.iam.v1.TestIamPermissionsResponse
|
(*TestIamPermissionsResponse)(nil), // 3: google.iam.v1.TestIamPermissionsResponse
|
||||||
(*Policy)(nil), // 4: google.iam.v1.Policy
|
(*Policy)(nil), // 4: google.iam.v1.Policy
|
||||||
(*GetPolicyOptions)(nil), // 5: google.iam.v1.GetPolicyOptions
|
(*fieldmaskpb.FieldMask)(nil), // 5: google.protobuf.FieldMask
|
||||||
|
(*GetPolicyOptions)(nil), // 6: google.iam.v1.GetPolicyOptions
|
||||||
}
|
}
|
||||||
var file_google_iam_v1_iam_policy_proto_depIdxs = []int32{
|
var file_google_iam_v1_iam_policy_proto_depIdxs = []int32{
|
||||||
4, // 0: google.iam.v1.SetIamPolicyRequest.policy:type_name -> google.iam.v1.Policy
|
4, // 0: google.iam.v1.SetIamPolicyRequest.policy:type_name -> google.iam.v1.Policy
|
||||||
5, // 1: google.iam.v1.GetIamPolicyRequest.options:type_name -> google.iam.v1.GetPolicyOptions
|
5, // 1: google.iam.v1.SetIamPolicyRequest.update_mask:type_name -> google.protobuf.FieldMask
|
||||||
0, // 2: google.iam.v1.IAMPolicy.SetIamPolicy:input_type -> google.iam.v1.SetIamPolicyRequest
|
6, // 2: google.iam.v1.GetIamPolicyRequest.options:type_name -> google.iam.v1.GetPolicyOptions
|
||||||
1, // 3: google.iam.v1.IAMPolicy.GetIamPolicy:input_type -> google.iam.v1.GetIamPolicyRequest
|
0, // 3: google.iam.v1.IAMPolicy.SetIamPolicy:input_type -> google.iam.v1.SetIamPolicyRequest
|
||||||
2, // 4: google.iam.v1.IAMPolicy.TestIamPermissions:input_type -> google.iam.v1.TestIamPermissionsRequest
|
1, // 4: google.iam.v1.IAMPolicy.GetIamPolicy:input_type -> google.iam.v1.GetIamPolicyRequest
|
||||||
4, // 5: google.iam.v1.IAMPolicy.SetIamPolicy:output_type -> google.iam.v1.Policy
|
2, // 5: google.iam.v1.IAMPolicy.TestIamPermissions:input_type -> google.iam.v1.TestIamPermissionsRequest
|
||||||
4, // 6: google.iam.v1.IAMPolicy.GetIamPolicy:output_type -> google.iam.v1.Policy
|
4, // 6: google.iam.v1.IAMPolicy.SetIamPolicy:output_type -> google.iam.v1.Policy
|
||||||
3, // 7: google.iam.v1.IAMPolicy.TestIamPermissions:output_type -> google.iam.v1.TestIamPermissionsResponse
|
4, // 7: google.iam.v1.IAMPolicy.GetIamPolicy:output_type -> google.iam.v1.Policy
|
||||||
5, // [5:8] is the sub-list for method output_type
|
3, // 8: google.iam.v1.IAMPolicy.TestIamPermissions:output_type -> google.iam.v1.TestIamPermissionsResponse
|
||||||
2, // [2:5] is the sub-list for method input_type
|
6, // [6:9] is the sub-list for method output_type
|
||||||
2, // [2:2] is the sub-list for extension type_name
|
3, // [3:6] is the sub-list for method input_type
|
||||||
2, // [2:2] is the sub-list for extension extendee
|
3, // [3:3] is the sub-list for extension type_name
|
||||||
0, // [0:2] is the sub-list for field type_name
|
3, // [3:3] is the sub-list for extension extendee
|
||||||
|
0, // [0:3] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_google_iam_v1_iam_policy_proto_init() }
|
func init() { file_google_iam_v1_iam_policy_proto_init() }
|
||||||
@ -484,6 +505,8 @@ const _ = grpc.SupportPackageIsVersion6
|
|||||||
type IAMPolicyClient interface {
|
type IAMPolicyClient interface {
|
||||||
// Sets the access control policy on the specified resource. Replaces any
|
// Sets the access control policy on the specified resource. Replaces any
|
||||||
// existing policy.
|
// existing policy.
|
||||||
|
//
|
||||||
|
// Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
|
||||||
SetIamPolicy(ctx context.Context, in *SetIamPolicyRequest, opts ...grpc.CallOption) (*Policy, error)
|
SetIamPolicy(ctx context.Context, in *SetIamPolicyRequest, opts ...grpc.CallOption) (*Policy, error)
|
||||||
// Gets the access control policy for a resource.
|
// Gets the access control policy for a resource.
|
||||||
// Returns an empty policy if the resource exists and does not have a policy
|
// Returns an empty policy if the resource exists and does not have a policy
|
||||||
@ -491,7 +514,7 @@ type IAMPolicyClient interface {
|
|||||||
GetIamPolicy(ctx context.Context, in *GetIamPolicyRequest, opts ...grpc.CallOption) (*Policy, error)
|
GetIamPolicy(ctx context.Context, in *GetIamPolicyRequest, opts ...grpc.CallOption) (*Policy, error)
|
||||||
// Returns permissions that a caller has on the specified resource.
|
// Returns permissions that a caller has on the specified resource.
|
||||||
// If the resource does not exist, this will return an empty set of
|
// If the resource does not exist, this will return an empty set of
|
||||||
// permissions, not a NOT_FOUND error.
|
// permissions, not a `NOT_FOUND` error.
|
||||||
//
|
//
|
||||||
// Note: This operation is designed to be used for building permission-aware
|
// Note: This operation is designed to be used for building permission-aware
|
||||||
// UIs and command-line tools, not for authorization checking. This operation
|
// UIs and command-line tools, not for authorization checking. This operation
|
||||||
@ -538,6 +561,8 @@ func (c *iAMPolicyClient) TestIamPermissions(ctx context.Context, in *TestIamPer
|
|||||||
type IAMPolicyServer interface {
|
type IAMPolicyServer interface {
|
||||||
// Sets the access control policy on the specified resource. Replaces any
|
// Sets the access control policy on the specified resource. Replaces any
|
||||||
// existing policy.
|
// existing policy.
|
||||||
|
//
|
||||||
|
// Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
|
||||||
SetIamPolicy(context.Context, *SetIamPolicyRequest) (*Policy, error)
|
SetIamPolicy(context.Context, *SetIamPolicyRequest) (*Policy, error)
|
||||||
// Gets the access control policy for a resource.
|
// Gets the access control policy for a resource.
|
||||||
// Returns an empty policy if the resource exists and does not have a policy
|
// Returns an empty policy if the resource exists and does not have a policy
|
||||||
@ -545,7 +570,7 @@ type IAMPolicyServer interface {
|
|||||||
GetIamPolicy(context.Context, *GetIamPolicyRequest) (*Policy, error)
|
GetIamPolicy(context.Context, *GetIamPolicyRequest) (*Policy, error)
|
||||||
// Returns permissions that a caller has on the specified resource.
|
// Returns permissions that a caller has on the specified resource.
|
||||||
// If the resource does not exist, this will return an empty set of
|
// If the resource does not exist, this will return an empty set of
|
||||||
// permissions, not a NOT_FOUND error.
|
// permissions, not a `NOT_FOUND` error.
|
||||||
//
|
//
|
||||||
// Note: This operation is designed to be used for building permission-aware
|
// Note: This operation is designed to be used for building permission-aware
|
||||||
// UIs and command-line tools, not for authorization checking. This operation
|
// UIs and command-line tools, not for authorization checking. This operation
|
187
vendor/cloud.google.com/go/iam/apiv1/iampb/options.pb.go
generated
vendored
Normal file
187
vendor/cloud.google.com/go/iam/apiv1/iampb/options.pb.go
generated
vendored
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
// Copyright 2022 Google LLC
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License.
|
||||||
|
// You may obtain a copy of the License at
|
||||||
|
//
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
|
||||||
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
|
// versions:
|
||||||
|
// protoc-gen-go v1.32.0
|
||||||
|
// protoc v4.23.2
|
||||||
|
// source: google/iam/v1/options.proto
|
||||||
|
|
||||||
|
package iampb
|
||||||
|
|
||||||
|
import (
|
||||||
|
reflect "reflect"
|
||||||
|
sync "sync"
|
||||||
|
|
||||||
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Verify that this generated code is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||||
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
|
)
|
||||||
|
|
||||||
|
// Encapsulates settings provided to GetIamPolicy.
|
||||||
|
type GetPolicyOptions struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
// Optional. The maximum policy version that will be used to format the
|
||||||
|
// policy.
|
||||||
|
//
|
||||||
|
// Valid values are 0, 1, and 3. Requests specifying an invalid value will be
|
||||||
|
// rejected.
|
||||||
|
//
|
||||||
|
// Requests for policies with any conditional role bindings must specify
|
||||||
|
// version 3. Policies with no conditional role bindings may specify any valid
|
||||||
|
// value or leave the field unset.
|
||||||
|
//
|
||||||
|
// The policy in the response might use the policy version that you specified,
|
||||||
|
// or it might use a lower policy version. For example, if you specify version
|
||||||
|
// 3, but the policy has no conditional role bindings, the response uses
|
||||||
|
// version 1.
|
||||||
|
//
|
||||||
|
// To learn which resources support conditions in their IAM policies, see the
|
||||||
|
// [IAM
|
||||||
|
// documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
|
||||||
|
RequestedPolicyVersion int32 `protobuf:"varint,1,opt,name=requested_policy_version,json=requestedPolicyVersion,proto3" json:"requested_policy_version,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *GetPolicyOptions) Reset() {
|
||||||
|
*x = GetPolicyOptions{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_google_iam_v1_options_proto_msgTypes[0]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *GetPolicyOptions) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*GetPolicyOptions) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *GetPolicyOptions) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_google_iam_v1_options_proto_msgTypes[0]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use GetPolicyOptions.ProtoReflect.Descriptor instead.
|
||||||
|
func (*GetPolicyOptions) Descriptor() ([]byte, []int) {
|
||||||
|
return file_google_iam_v1_options_proto_rawDescGZIP(), []int{0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *GetPolicyOptions) GetRequestedPolicyVersion() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.RequestedPolicyVersion
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
var File_google_iam_v1_options_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
|
var file_google_iam_v1_options_proto_rawDesc = []byte{
|
||||||
|
0x0a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f,
|
||||||
|
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x67,
|
||||||
|
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x22, 0x4c, 0x0a, 0x10,
|
||||||
|
0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||||
|
0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f,
|
||||||
|
0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
|
||||||
|
0x28, 0x05, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c,
|
||||||
|
0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x7d, 0x0a, 0x11, 0x63, 0x6f,
|
||||||
|
0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42,
|
||||||
|
0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
|
||||||
|
0x29, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f,
|
||||||
|
0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x69,
|
||||||
|
0x61, 0x6d, 0x70, 0x62, 0x3b, 0x69, 0x61, 0x6d, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13,
|
||||||
|
0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d,
|
||||||
|
0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f,
|
||||||
|
0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
|
0x33,
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
file_google_iam_v1_options_proto_rawDescOnce sync.Once
|
||||||
|
file_google_iam_v1_options_proto_rawDescData = file_google_iam_v1_options_proto_rawDesc
|
||||||
|
)
|
||||||
|
|
||||||
|
func file_google_iam_v1_options_proto_rawDescGZIP() []byte {
|
||||||
|
file_google_iam_v1_options_proto_rawDescOnce.Do(func() {
|
||||||
|
file_google_iam_v1_options_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_iam_v1_options_proto_rawDescData)
|
||||||
|
})
|
||||||
|
return file_google_iam_v1_options_proto_rawDescData
|
||||||
|
}
|
||||||
|
|
||||||
|
var file_google_iam_v1_options_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||||
|
var file_google_iam_v1_options_proto_goTypes = []interface{}{
|
||||||
|
(*GetPolicyOptions)(nil), // 0: google.iam.v1.GetPolicyOptions
|
||||||
|
}
|
||||||
|
var file_google_iam_v1_options_proto_depIdxs = []int32{
|
||||||
|
0, // [0:0] is the sub-list for method output_type
|
||||||
|
0, // [0:0] is the sub-list for method input_type
|
||||||
|
0, // [0:0] is the sub-list for extension type_name
|
||||||
|
0, // [0:0] is the sub-list for extension extendee
|
||||||
|
0, // [0:0] is the sub-list for field type_name
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { file_google_iam_v1_options_proto_init() }
|
||||||
|
func file_google_iam_v1_options_proto_init() {
|
||||||
|
if File_google_iam_v1_options_proto != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !protoimpl.UnsafeEnabled {
|
||||||
|
file_google_iam_v1_options_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*GetPolicyOptions); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
type x struct{}
|
||||||
|
out := protoimpl.TypeBuilder{
|
||||||
|
File: protoimpl.DescBuilder{
|
||||||
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
|
RawDescriptor: file_google_iam_v1_options_proto_rawDesc,
|
||||||
|
NumEnums: 0,
|
||||||
|
NumMessages: 1,
|
||||||
|
NumExtensions: 0,
|
||||||
|
NumServices: 0,
|
||||||
|
},
|
||||||
|
GoTypes: file_google_iam_v1_options_proto_goTypes,
|
||||||
|
DependencyIndexes: file_google_iam_v1_options_proto_depIdxs,
|
||||||
|
MessageInfos: file_google_iam_v1_options_proto_msgTypes,
|
||||||
|
}.Build()
|
||||||
|
File_google_iam_v1_options_proto = out.File
|
||||||
|
file_google_iam_v1_options_proto_rawDesc = nil
|
||||||
|
file_google_iam_v1_options_proto_goTypes = nil
|
||||||
|
file_google_iam_v1_options_proto_depIdxs = nil
|
||||||
|
}
|
1180
vendor/cloud.google.com/go/iam/apiv1/iampb/policy.pb.go
generated
vendored
Normal file
1180
vendor/cloud.google.com/go/iam/apiv1/iampb/policy.pb.go
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
2
vendor/cloud.google.com/go/iam/iam.go
generated
vendored
2
vendor/cloud.google.com/go/iam/iam.go
generated
vendored
@ -26,8 +26,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
pb "cloud.google.com/go/iam/apiv1/iampb"
|
||||||
gax "github.com/googleapis/gax-go/v2"
|
gax "github.com/googleapis/gax-go/v2"
|
||||||
pb "google.golang.org/genproto/googleapis/iam/v1"
|
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
"google.golang.org/grpc/codes"
|
"google.golang.org/grpc/codes"
|
||||||
"google.golang.org/grpc/metadata"
|
"google.golang.org/grpc/metadata"
|
||||||
|
2578
vendor/cloud.google.com/go/internal/.repo-metadata-full.json
generated
vendored
2578
vendor/cloud.google.com/go/internal/.repo-metadata-full.json
generated
vendored
File diff suppressed because it is too large
Load Diff
4
vendor/cloud.google.com/go/internal/BUILD.bazel
generated
vendored
4
vendor/cloud.google.com/go/internal/BUILD.bazel
generated
vendored
@ -10,8 +10,8 @@ go_library(
|
|||||||
importpath = "cloud.google.com/go/internal",
|
importpath = "cloud.google.com/go/internal",
|
||||||
visibility = ["//vendor/cloud.google.com/go:__subpackages__"],
|
visibility = ["//vendor/cloud.google.com/go:__subpackages__"],
|
||||||
deps = [
|
deps = [
|
||||||
"//vendor/github.com/googleapis/gax-go/v2:gax-go",
|
"@com_github_googleapis_gax_go_v2//:gax-go",
|
||||||
"@org_golang_google_api//googleapi:go_default_library",
|
"@org_golang_google_api//googleapi",
|
||||||
"@org_golang_google_grpc//status",
|
"@org_golang_google_grpc//status",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
13
vendor/cloud.google.com/go/internal/README.md
generated
vendored
13
vendor/cloud.google.com/go/internal/README.md
generated
vendored
@ -15,4 +15,15 @@ One day, we may want to create individual `.repo-metadata.json` files next to
|
|||||||
each package, which is the pattern followed by some other languages. External
|
each package, which is the pattern followed by some other languages. External
|
||||||
tools would then talk to pkg.go.dev or some other service to get the overall
|
tools would then talk to pkg.go.dev or some other service to get the overall
|
||||||
list of packages and use the `.repo-metadata.json` files to get the additional
|
list of packages and use the `.repo-metadata.json` files to get the additional
|
||||||
metadata required. For now, `.repo-metadata-full.json` includes everything.
|
metadata required. For now, `.repo-metadata-full.json` includes everything.
|
||||||
|
|
||||||
|
### Updating OwlBot SHA
|
||||||
|
|
||||||
|
You may want to manually update the which version of the post-processor will be
|
||||||
|
used -- to do this you need to update the SHA in the OwlBot lock file.
|
||||||
|
|
||||||
|
See the [postprocessor/README](postprocessor/README.md) for detailed
|
||||||
|
instructions.
|
||||||
|
|
||||||
|
*Note*: OwlBot will eventually open a pull request to update this value if it
|
||||||
|
discovers a new version of the container.
|
||||||
|
3
vendor/cloud.google.com/go/internal/annotate.go
generated
vendored
3
vendor/cloud.google.com/go/internal/annotate.go
generated
vendored
@ -31,7 +31,8 @@ import (
|
|||||||
// - "google.golang.org/api/googleapi".Error
|
// - "google.golang.org/api/googleapi".Error
|
||||||
// If the error is not one of these types, Annotate behaves
|
// If the error is not one of these types, Annotate behaves
|
||||||
// like
|
// like
|
||||||
// fmt.Errorf("%s: %v", msg, err)
|
//
|
||||||
|
// fmt.Errorf("%s: %v", msg, err)
|
||||||
func Annotate(err error, msg string) error {
|
func Annotate(err error, msg string) error {
|
||||||
if err == nil {
|
if err == nil {
|
||||||
panic("Annotate called with nil")
|
panic("Annotate called with nil")
|
||||||
|
28
vendor/cloud.google.com/go/internal/retry.go
generated
vendored
28
vendor/cloud.google.com/go/internal/retry.go
generated
vendored
@ -16,6 +16,7 @@ package internal
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
gax "github.com/googleapis/gax-go/v2"
|
gax "github.com/googleapis/gax-go/v2"
|
||||||
@ -44,11 +45,32 @@ func retry(ctx context.Context, bo gax.Backoff, f func() (stop bool, err error),
|
|||||||
lastErr = err
|
lastErr = err
|
||||||
}
|
}
|
||||||
p := bo.Pause()
|
p := bo.Pause()
|
||||||
if cerr := sleep(ctx, p); cerr != nil {
|
if ctxErr := sleep(ctx, p); ctxErr != nil {
|
||||||
if lastErr != nil {
|
if lastErr != nil {
|
||||||
return Annotatef(lastErr, "retry failed with %v; last error", cerr)
|
return wrappedCallErr{ctxErr: ctxErr, wrappedErr: lastErr}
|
||||||
}
|
}
|
||||||
return cerr
|
return ctxErr
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Use this error type to return an error which allows introspection of both
|
||||||
|
// the context error and the error from the service.
|
||||||
|
type wrappedCallErr struct {
|
||||||
|
ctxErr error
|
||||||
|
wrappedErr error
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e wrappedCallErr) Error() string {
|
||||||
|
return fmt.Sprintf("retry failed with %v; last error: %v", e.ctxErr, e.wrappedErr)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e wrappedCallErr) Unwrap() error {
|
||||||
|
return e.wrappedErr
|
||||||
|
}
|
||||||
|
|
||||||
|
// Is allows errors.Is to match the error from the call as well as context
|
||||||
|
// sentinel errors.
|
||||||
|
func (e wrappedCallErr) Is(err error) bool {
|
||||||
|
return e.ctxErr == err || e.wrappedErr == err
|
||||||
|
}
|
||||||
|
8
vendor/cloud.google.com/go/internal/trace/BUILD.bazel
generated
vendored
8
vendor/cloud.google.com/go/internal/trace/BUILD.bazel
generated
vendored
@ -8,8 +8,12 @@ go_library(
|
|||||||
visibility = ["//vendor/cloud.google.com/go:__subpackages__"],
|
visibility = ["//vendor/cloud.google.com/go:__subpackages__"],
|
||||||
deps = [
|
deps = [
|
||||||
"//vendor/go.opencensus.io/trace",
|
"//vendor/go.opencensus.io/trace",
|
||||||
"@go_googleapis//google/rpc:code_go_proto",
|
"//vendor/go.opentelemetry.io/otel",
|
||||||
"@org_golang_google_api//googleapi:go_default_library",
|
"//vendor/go.opentelemetry.io/otel/attribute",
|
||||||
|
"//vendor/go.opentelemetry.io/otel/codes",
|
||||||
|
"//vendor/go.opentelemetry.io/otel/trace",
|
||||||
|
"@org_golang_google_api//googleapi",
|
||||||
|
"@org_golang_google_genproto_googleapis_rpc//code",
|
||||||
"@org_golang_google_grpc//status",
|
"@org_golang_google_grpc//status",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
163
vendor/cloud.google.com/go/internal/trace/trace.go
generated
vendored
163
vendor/cloud.google.com/go/internal/trace/trace.go
generated
vendored
@ -16,33 +16,111 @@ package trace
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"go.opencensus.io/trace"
|
"go.opencensus.io/trace"
|
||||||
|
"go.opentelemetry.io/otel"
|
||||||
|
"go.opentelemetry.io/otel/attribute"
|
||||||
|
"go.opentelemetry.io/otel/codes"
|
||||||
|
ottrace "go.opentelemetry.io/otel/trace"
|
||||||
"google.golang.org/api/googleapi"
|
"google.golang.org/api/googleapi"
|
||||||
"google.golang.org/genproto/googleapis/rpc/code"
|
"google.golang.org/genproto/googleapis/rpc/code"
|
||||||
"google.golang.org/grpc/status"
|
"google.golang.org/grpc/status"
|
||||||
)
|
)
|
||||||
|
|
||||||
// StartSpan adds a span to the trace with the given name.
|
const (
|
||||||
|
// TelemetryPlatformTracingOpenCensus is the value to which the environment
|
||||||
|
// variable GOOGLE_API_GO_EXPERIMENTAL_TELEMETRY_PLATFORM_TRACING should be
|
||||||
|
// set to enable OpenCensus tracing.
|
||||||
|
TelemetryPlatformTracingOpenCensus = "opencensus"
|
||||||
|
// TelemetryPlatformTracingOpenCensus is the value to which the environment
|
||||||
|
// variable GOOGLE_API_GO_EXPERIMENTAL_TELEMETRY_PLATFORM_TRACING should be
|
||||||
|
// set to enable OpenTelemetry tracing.
|
||||||
|
TelemetryPlatformTracingOpenTelemetry = "opentelemetry"
|
||||||
|
// TelemetryPlatformTracingOpenCensus is the name of the environment
|
||||||
|
// variable that can be set to change the default tracing from OpenCensus
|
||||||
|
// to OpenTelemetry.
|
||||||
|
TelemetryPlatformTracingVar = "GOOGLE_API_GO_EXPERIMENTAL_TELEMETRY_PLATFORM_TRACING"
|
||||||
|
// OpenTelemetryTracerName is the name given to the OpenTelemetry Tracer
|
||||||
|
// when it is obtained from the OpenTelemetry TracerProvider.
|
||||||
|
OpenTelemetryTracerName = "cloud.google.com/go"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
// OpenTelemetryTracingEnabled is true if the environment variable
|
||||||
|
// GOOGLE_API_GO_EXPERIMENTAL_TELEMETRY_PLATFORM_TRACING is set to the
|
||||||
|
// case-insensitive value "opentelemetry".
|
||||||
|
//
|
||||||
|
// Do not access directly. Use instead IsOpenTelemetryTracingEnabled or
|
||||||
|
// IsOpenCensusTracingEnabled. Intended for use only in unit tests. Restore
|
||||||
|
// original value after each test.
|
||||||
|
OpenTelemetryTracingEnabled bool = strings.EqualFold(strings.TrimSpace(
|
||||||
|
os.Getenv(TelemetryPlatformTracingVar)), TelemetryPlatformTracingOpenTelemetry)
|
||||||
|
)
|
||||||
|
|
||||||
|
// IsOpenCensusTracingEnabled returns true if the environment variable
|
||||||
|
// GOOGLE_API_GO_EXPERIMENTAL_TELEMETRY_PLATFORM_TRACING is NOT set to the
|
||||||
|
// case-insensitive value "opentelemetry".
|
||||||
|
func IsOpenCensusTracingEnabled() bool {
|
||||||
|
return !IsOpenTelemetryTracingEnabled()
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsOpenTelemetryTracingEnabled returns true if the environment variable
|
||||||
|
// GOOGLE_API_GO_EXPERIMENTAL_TELEMETRY_PLATFORM_TRACING is set to the
|
||||||
|
// case-insensitive value "opentelemetry".
|
||||||
|
func IsOpenTelemetryTracingEnabled() bool {
|
||||||
|
return OpenTelemetryTracingEnabled
|
||||||
|
}
|
||||||
|
|
||||||
|
// StartSpan adds a span to the trace with the given name. If IsOpenCensusTracingEnabled
|
||||||
|
// returns true, the span will be an OpenCensus span. If IsOpenTelemetryTracingEnabled
|
||||||
|
// returns true, the span will be an OpenTelemetry span. Set the environment variable
|
||||||
|
// GOOGLE_API_GO_EXPERIMENTAL_TELEMETRY_PLATFORM_TRACING to the case-insensitive
|
||||||
|
// value "opentelemetry" before loading the package to use OpenTelemetry tracing.
|
||||||
|
// The default will remain OpenCensus until May 29, 2024, at which time the default will
|
||||||
|
// switch to "opentelemetry" and explicitly setting the environment variable to
|
||||||
|
// "opencensus" will be required to continue using OpenCensus tracing.
|
||||||
func StartSpan(ctx context.Context, name string) context.Context {
|
func StartSpan(ctx context.Context, name string) context.Context {
|
||||||
ctx, _ = trace.StartSpan(ctx, name)
|
if IsOpenTelemetryTracingEnabled() {
|
||||||
|
ctx, _ = otel.GetTracerProvider().Tracer(OpenTelemetryTracerName).Start(ctx, name)
|
||||||
|
} else {
|
||||||
|
ctx, _ = trace.StartSpan(ctx, name)
|
||||||
|
}
|
||||||
return ctx
|
return ctx
|
||||||
}
|
}
|
||||||
|
|
||||||
// EndSpan ends a span with the given error.
|
// EndSpan ends a span with the given error. If IsOpenCensusTracingEnabled
|
||||||
|
// returns true, the span will be an OpenCensus span. If IsOpenTelemetryTracingEnabled
|
||||||
|
// returns true, the span will be an OpenTelemetry span. Set the environment variable
|
||||||
|
// GOOGLE_API_GO_EXPERIMENTAL_TELEMETRY_PLATFORM_TRACING to the case-insensitive
|
||||||
|
// value "opentelemetry" before loading the package to use OpenTelemetry tracing.
|
||||||
|
// The default will remain OpenCensus until May 29, 2024, at which time the default will
|
||||||
|
// switch to "opentelemetry" and explicitly setting the environment variable to
|
||||||
|
// "opencensus" will be required to continue using OpenCensus tracing.
|
||||||
func EndSpan(ctx context.Context, err error) {
|
func EndSpan(ctx context.Context, err error) {
|
||||||
span := trace.FromContext(ctx)
|
if IsOpenTelemetryTracingEnabled() {
|
||||||
if err != nil {
|
span := ottrace.SpanFromContext(ctx)
|
||||||
span.SetStatus(toStatus(err))
|
if err != nil {
|
||||||
|
span.SetStatus(codes.Error, toOpenTelemetryStatusDescription(err))
|
||||||
|
span.RecordError(err)
|
||||||
|
}
|
||||||
|
span.End()
|
||||||
|
} else {
|
||||||
|
span := trace.FromContext(ctx)
|
||||||
|
if err != nil {
|
||||||
|
span.SetStatus(toStatus(err))
|
||||||
|
}
|
||||||
|
span.End()
|
||||||
}
|
}
|
||||||
span.End()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// toStatus interrogates an error and converts it to an appropriate
|
// toStatus converts an error to an equivalent OpenCensus status.
|
||||||
// OpenCensus status.
|
|
||||||
func toStatus(err error) trace.Status {
|
func toStatus(err error) trace.Status {
|
||||||
if err2, ok := err.(*googleapi.Error); ok {
|
var err2 *googleapi.Error
|
||||||
|
if ok := errors.As(err, &err2); ok {
|
||||||
return trace.Status{Code: httpStatusCodeToOCCode(err2.Code), Message: err2.Message}
|
return trace.Status{Code: httpStatusCodeToOCCode(err2.Code), Message: err2.Message}
|
||||||
} else if s, ok := status.FromError(err); ok {
|
} else if s, ok := status.FromError(err); ok {
|
||||||
return trace.Status{Code: int32(s.Code()), Message: s.Message()}
|
return trace.Status{Code: int32(s.Code()), Message: s.Message()}
|
||||||
@ -51,6 +129,18 @@ func toStatus(err error) trace.Status {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// toOpenTelemetryStatus converts an error to an equivalent OpenTelemetry status description.
|
||||||
|
func toOpenTelemetryStatusDescription(err error) string {
|
||||||
|
var err2 *googleapi.Error
|
||||||
|
if ok := errors.As(err, &err2); ok {
|
||||||
|
return err2.Message
|
||||||
|
} else if s, ok := status.FromError(err); ok {
|
||||||
|
return s.Message()
|
||||||
|
} else {
|
||||||
|
return err.Error()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// TODO(deklerk): switch to using OpenCensus function when it becomes available.
|
// TODO(deklerk): switch to using OpenCensus function when it becomes available.
|
||||||
// Reference: https://github.com/googleapis/googleapis/blob/26b634d2724ac5dd30ae0b0cbfb01f07f2e4050e/google/rpc/code.proto
|
// Reference: https://github.com/googleapis/googleapis/blob/26b634d2724ac5dd30ae0b0cbfb01f07f2e4050e/google/rpc/code.proto
|
||||||
func httpStatusCodeToOCCode(httpStatusCode int) int32 {
|
func httpStatusCodeToOCCode(httpStatusCode int) int32 {
|
||||||
@ -84,10 +174,33 @@ func httpStatusCodeToOCCode(httpStatusCode int) int32 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: (odeke-em): perhaps just pass around spans due to the cost
|
// TracePrintf retrieves the current OpenCensus or OpenTelemetry span from context, then:
|
||||||
// incurred from using trace.FromContext(ctx) yet we could avoid
|
// * calls Span.Annotatef if OpenCensus is enabled; or
|
||||||
// throwing away the work done by ctx, span := trace.StartSpan.
|
// * calls Span.AddEvent if OpenTelemetry is enabled.
|
||||||
|
//
|
||||||
|
// If IsOpenCensusTracingEnabled returns true, the expected span must be an
|
||||||
|
// OpenCensus span. If IsOpenTelemetryTracingEnabled returns true, the expected
|
||||||
|
// span must be an OpenTelemetry span. Set the environment variable
|
||||||
|
// GOOGLE_API_GO_EXPERIMENTAL_TELEMETRY_PLATFORM_TRACING to the case-insensitive
|
||||||
|
// value "opentelemetry" before loading the package to use OpenTelemetry tracing.
|
||||||
|
// The default will remain OpenCensus until May 29, 2024, at which time the default will
|
||||||
|
// switch to "opentelemetry" and explicitly setting the environment variable to
|
||||||
|
// "opencensus" will be required to continue using OpenCensus tracing.
|
||||||
func TracePrintf(ctx context.Context, attrMap map[string]interface{}, format string, args ...interface{}) {
|
func TracePrintf(ctx context.Context, attrMap map[string]interface{}, format string, args ...interface{}) {
|
||||||
|
if IsOpenTelemetryTracingEnabled() {
|
||||||
|
attrs := otAttrs(attrMap)
|
||||||
|
ottrace.SpanFromContext(ctx).AddEvent(fmt.Sprintf(format, args...), ottrace.WithAttributes(attrs...))
|
||||||
|
} else {
|
||||||
|
attrs := ocAttrs(attrMap)
|
||||||
|
// TODO: (odeke-em): perhaps just pass around spans due to the cost
|
||||||
|
// incurred from using trace.FromContext(ctx) yet we could avoid
|
||||||
|
// throwing away the work done by ctx, span := trace.StartSpan.
|
||||||
|
trace.FromContext(ctx).Annotatef(attrs, format, args...)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ocAttrs converts a generic map to OpenCensus attributes.
|
||||||
|
func ocAttrs(attrMap map[string]interface{}) []trace.Attribute {
|
||||||
var attrs []trace.Attribute
|
var attrs []trace.Attribute
|
||||||
for k, v := range attrMap {
|
for k, v := range attrMap {
|
||||||
var a trace.Attribute
|
var a trace.Attribute
|
||||||
@ -105,5 +218,27 @@ func TracePrintf(ctx context.Context, attrMap map[string]interface{}, format str
|
|||||||
}
|
}
|
||||||
attrs = append(attrs, a)
|
attrs = append(attrs, a)
|
||||||
}
|
}
|
||||||
trace.FromContext(ctx).Annotatef(attrs, format, args...)
|
return attrs
|
||||||
|
}
|
||||||
|
|
||||||
|
// otAttrs converts a generic map to OpenTelemetry attributes.
|
||||||
|
func otAttrs(attrMap map[string]interface{}) []attribute.KeyValue {
|
||||||
|
var attrs []attribute.KeyValue
|
||||||
|
for k, v := range attrMap {
|
||||||
|
var a attribute.KeyValue
|
||||||
|
switch v := v.(type) {
|
||||||
|
case string:
|
||||||
|
a = attribute.Key(k).String(v)
|
||||||
|
case bool:
|
||||||
|
a = attribute.Key(k).Bool(v)
|
||||||
|
case int:
|
||||||
|
a = attribute.Key(k).Int(v)
|
||||||
|
case int64:
|
||||||
|
a = attribute.Key(k).Int64(v)
|
||||||
|
default:
|
||||||
|
a = attribute.Key(k).String(fmt.Sprintf("%#v", v))
|
||||||
|
}
|
||||||
|
attrs = append(attrs, a)
|
||||||
|
}
|
||||||
|
return attrs
|
||||||
}
|
}
|
||||||
|
2
vendor/cloud.google.com/go/internal/version/version.go
generated
vendored
2
vendor/cloud.google.com/go/internal/version/version.go
generated
vendored
@ -26,7 +26,7 @@ import (
|
|||||||
|
|
||||||
// Repo is the current version of the client libraries in this
|
// Repo is the current version of the client libraries in this
|
||||||
// repo. It should be a date in YYYYMMDD format.
|
// repo. It should be a date in YYYYMMDD format.
|
||||||
const Repo = "20200911"
|
const Repo = "20201104"
|
||||||
|
|
||||||
// Go returns the Go runtime version. The returned string
|
// Go returns the Go runtime version. The returned string
|
||||||
// has no whitespace.
|
// has no whitespace.
|
||||||
|
42
vendor/cloud.google.com/go/storage/BUILD.bazel
generated
vendored
42
vendor/cloud.google.com/go/storage/BUILD.bazel
generated
vendored
@ -5,14 +5,16 @@ go_library(
|
|||||||
srcs = [
|
srcs = [
|
||||||
"acl.go",
|
"acl.go",
|
||||||
"bucket.go",
|
"bucket.go",
|
||||||
|
"client.go",
|
||||||
"copy.go",
|
"copy.go",
|
||||||
"doc.go",
|
"doc.go",
|
||||||
"go110.go",
|
"grpc_client.go",
|
||||||
"hmac.go",
|
"hmac.go",
|
||||||
|
"http_client.go",
|
||||||
"iam.go",
|
"iam.go",
|
||||||
"invoke.go",
|
"invoke.go",
|
||||||
"not_go110.go",
|
|
||||||
"notifications.go",
|
"notifications.go",
|
||||||
|
"option.go",
|
||||||
"post_policy_v4.go",
|
"post_policy_v4.go",
|
||||||
"reader.go",
|
"reader.go",
|
||||||
"storage.go",
|
"storage.go",
|
||||||
@ -22,18 +24,38 @@ go_library(
|
|||||||
importpath = "cloud.google.com/go/storage",
|
importpath = "cloud.google.com/go/storage",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
|
"//vendor/cloud.google.com/go/compute/metadata",
|
||||||
"//vendor/cloud.google.com/go/iam",
|
"//vendor/cloud.google.com/go/iam",
|
||||||
|
"//vendor/cloud.google.com/go/iam/apiv1/iampb",
|
||||||
"//vendor/cloud.google.com/go/internal",
|
"//vendor/cloud.google.com/go/internal",
|
||||||
"//vendor/cloud.google.com/go/internal/optional",
|
"//vendor/cloud.google.com/go/internal/optional",
|
||||||
"//vendor/cloud.google.com/go/internal/trace",
|
"//vendor/cloud.google.com/go/internal/trace",
|
||||||
"//vendor/cloud.google.com/go/internal/version",
|
"//vendor/cloud.google.com/go/internal/version",
|
||||||
"//vendor/github.com/googleapis/gax-go/v2:gax-go",
|
"//vendor/cloud.google.com/go/storage/internal",
|
||||||
"@go_googleapis//google/iam/v1:iam_go_proto",
|
"//vendor/cloud.google.com/go/storage/internal/apiv2",
|
||||||
"@go_googleapis//google/type:expr_go_proto",
|
"//vendor/cloud.google.com/go/storage/internal/apiv2/storagepb",
|
||||||
"@org_golang_google_api//googleapi:go_default_library",
|
"//vendor/github.com/google/uuid",
|
||||||
"@org_golang_google_api//iterator:go_default_library",
|
"@com_github_googleapis_gax_go_v2//:gax-go",
|
||||||
"@org_golang_google_api//option:go_default_library",
|
"@com_github_googleapis_gax_go_v2//callctx",
|
||||||
"@org_golang_google_api//storage/v1:go_default_library",
|
"@org_golang_google_api//googleapi",
|
||||||
"@org_golang_google_api//transport/http:go_default_library",
|
"@org_golang_google_api//iamcredentials/v1:iamcredentials",
|
||||||
|
"@org_golang_google_api//iterator",
|
||||||
|
"@org_golang_google_api//option",
|
||||||
|
"@org_golang_google_api//option/internaloption",
|
||||||
|
"@org_golang_google_api//storage/v1:storage",
|
||||||
|
"@org_golang_google_api//transport",
|
||||||
|
"@org_golang_google_api//transport/http",
|
||||||
|
"@org_golang_google_genproto//googleapis/type/date",
|
||||||
|
"@org_golang_google_genproto//googleapis/type/expr",
|
||||||
|
"@org_golang_google_grpc//:go_default_library",
|
||||||
|
"@org_golang_google_grpc//codes",
|
||||||
|
"@org_golang_google_grpc//metadata",
|
||||||
|
"@org_golang_google_grpc//status",
|
||||||
|
"@org_golang_google_protobuf//proto",
|
||||||
|
"@org_golang_google_protobuf//reflect/protoreflect",
|
||||||
|
"@org_golang_google_protobuf//types/known/durationpb",
|
||||||
|
"@org_golang_google_protobuf//types/known/fieldmaskpb",
|
||||||
|
"@org_golang_google_protobuf//types/known/timestamppb",
|
||||||
|
"@org_golang_x_oauth2//google",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
379
vendor/cloud.google.com/go/storage/CHANGES.md
generated
vendored
379
vendor/cloud.google.com/go/storage/CHANGES.md
generated
vendored
@ -1,5 +1,384 @@
|
|||||||
# Changes
|
# Changes
|
||||||
|
|
||||||
|
|
||||||
|
## [1.36.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.35.1...storage/v1.36.0) (2023-12-14)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage:** Add object retention feature ([#9072](https://github.com/googleapis/google-cloud-go/issues/9072)) ([16ecfd1](https://github.com/googleapis/google-cloud-go/commit/16ecfd150ff1982f03d207a80a82e934d1013874))
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** Do not inhibit the dead code elimination. ([#8543](https://github.com/googleapis/google-cloud-go/issues/8543)) ([ca2493f](https://github.com/googleapis/google-cloud-go/commit/ca2493f43c299bbaed5f7e5b70f66cc763ff9802))
|
||||||
|
* **storage:** Set flush and get_state to false on the last write in gRPC ([#9013](https://github.com/googleapis/google-cloud-go/issues/9013)) ([c1e9fe5](https://github.com/googleapis/google-cloud-go/commit/c1e9fe5f4166a71e55814ccf126926ec0e0e7945))
|
||||||
|
|
||||||
|
## [1.35.1](https://github.com/googleapis/google-cloud-go/compare/storage/v1.35.0...storage/v1.35.1) (2023-11-09)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** Rename aux.go to auxiliary.go fixing windows build ([ba23673](https://github.com/googleapis/google-cloud-go/commit/ba23673da7707c31292e4aa29d65b7ac1446d4a6))
|
||||||
|
|
||||||
|
## [1.35.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.34.1...storage/v1.35.0) (2023-11-09)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage:** Change gRPC writes to use bi-directional streams ([#8930](https://github.com/googleapis/google-cloud-go/issues/8930)) ([3e23a36](https://github.com/googleapis/google-cloud-go/commit/3e23a364b1a20c4fda7aef257e4136586ec769a4))
|
||||||
|
|
||||||
|
## [1.34.1](https://github.com/googleapis/google-cloud-go/compare/storage/v1.34.0...storage/v1.34.1) (2023-11-01)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** Bump google.golang.org/api to v0.149.0 ([8d2ab9f](https://github.com/googleapis/google-cloud-go/commit/8d2ab9f320a86c1c0fab90513fc05861561d0880))
|
||||||
|
|
||||||
|
## [1.34.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.33.0...storage/v1.34.0) (2023-10-31)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage/internal:** Add match_glob field to ListObjectsRequest ([#8618](https://github.com/googleapis/google-cloud-go/issues/8618)) ([e9ae601](https://github.com/googleapis/google-cloud-go/commit/e9ae6018983ae09781740e4ff939e6e365863dbb))
|
||||||
|
* **storage/internal:** Add terminal_storage_class fields to Autoclass message ([57fc1a6](https://github.com/googleapis/google-cloud-go/commit/57fc1a6de326456eb68ef25f7a305df6636ed386))
|
||||||
|
* **storage/internal:** Adds the RestoreObject operation ([56ce871](https://github.com/googleapis/google-cloud-go/commit/56ce87195320634b07ae0b012efcc5f2b3813fb0))
|
||||||
|
* **storage:** Support autoclass v2.1 ([#8721](https://github.com/googleapis/google-cloud-go/issues/8721)) ([fe1e195](https://github.com/googleapis/google-cloud-go/commit/fe1e19590a252c6adc6ca6c51a69b6e561e143b8))
|
||||||
|
* **storage:** Support MatchGlob for gRPC ([#8670](https://github.com/googleapis/google-cloud-go/issues/8670)) ([3df0287](https://github.com/googleapis/google-cloud-go/commit/3df0287f88d5e2c4526e9e6b8dc2a4ca54f88918)), refs [#7727](https://github.com/googleapis/google-cloud-go/issues/7727)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** Drop stream reference after closing it for gRPC writes ([#8872](https://github.com/googleapis/google-cloud-go/issues/8872)) ([525abde](https://github.com/googleapis/google-cloud-go/commit/525abdee433864d4d456f1f1fff5599017b557ff))
|
||||||
|
* **storage:** Update golang.org/x/net to v0.17.0 ([174da47](https://github.com/googleapis/google-cloud-go/commit/174da47254fefb12921bbfc65b7829a453af6f5d))
|
||||||
|
* **storage:** Update grpc-go to v1.56.3 ([343cea8](https://github.com/googleapis/google-cloud-go/commit/343cea8c43b1e31ae21ad50ad31d3b0b60143f8c))
|
||||||
|
* **storage:** Update grpc-go to v1.59.0 ([81a97b0](https://github.com/googleapis/google-cloud-go/commit/81a97b06cb28b25432e4ece595c55a9857e960b7))
|
||||||
|
|
||||||
|
## [1.33.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.32.0...storage/v1.33.0) (2023-09-07)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage:** Export gRPC client constructor ([#8509](https://github.com/googleapis/google-cloud-go/issues/8509)) ([1a928ae](https://github.com/googleapis/google-cloud-go/commit/1a928ae205f2325cb5206304af4d609dc3c1447a))
|
||||||
|
|
||||||
|
## [1.32.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.31.0...storage/v1.32.0) (2023-08-15)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage:** Add support for custom headers ([#8294](https://github.com/googleapis/google-cloud-go/issues/8294)) ([313fd4a](https://github.com/googleapis/google-cloud-go/commit/313fd4a60380d36c5ecaead3e968dbc84d044a0b))
|
||||||
|
* **storage:** Add trace span to Writer ([#8375](https://github.com/googleapis/google-cloud-go/issues/8375)) ([f7ac85b](https://github.com/googleapis/google-cloud-go/commit/f7ac85bec2806d351529714bd7744a91a9fdefdd)), refs [#6144](https://github.com/googleapis/google-cloud-go/issues/6144)
|
||||||
|
* **storage:** Support single-shot uploads in gRPC ([#8348](https://github.com/googleapis/google-cloud-go/issues/8348)) ([7de4a7d](https://github.com/googleapis/google-cloud-go/commit/7de4a7da31ab279a343b1592b15a126cda03e5e7)), refs [#7798](https://github.com/googleapis/google-cloud-go/issues/7798)
|
||||||
|
* **storage:** Trace span covers life of a Reader ([#8390](https://github.com/googleapis/google-cloud-go/issues/8390)) ([8de30d7](https://github.com/googleapis/google-cloud-go/commit/8de30d752eec2fed2ea4c127482d3e213f9050e2))
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** Fix AllObjects condition in gRPC ([#8184](https://github.com/googleapis/google-cloud-go/issues/8184)) ([2b99e4f](https://github.com/googleapis/google-cloud-go/commit/2b99e4f39be20fe21e8bc5c1ec1c0e758222c46e)), refs [#6205](https://github.com/googleapis/google-cloud-go/issues/6205)
|
||||||
|
* **storage:** Fix gRPC generation/condition issues ([#8396](https://github.com/googleapis/google-cloud-go/issues/8396)) ([ca68ff5](https://github.com/googleapis/google-cloud-go/commit/ca68ff54b680732b59b223655070d0f6abccefee))
|
||||||
|
* **storage:** Same method name and Trace Span name ([#8150](https://github.com/googleapis/google-cloud-go/issues/8150)) ([e277213](https://github.com/googleapis/google-cloud-go/commit/e2772133896bb94097b5d1f090f1bcafd136f2ed))
|
||||||
|
* **storage:** Update gRPC retry codes ([#8202](https://github.com/googleapis/google-cloud-go/issues/8202)) ([afdf772](https://github.com/googleapis/google-cloud-go/commit/afdf772fc6a90b3010eee9d70ab65e22e276f53f))
|
||||||
|
|
||||||
|
## [1.31.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.30.1...storage/v1.31.0) (2023-06-27)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage/internal:** Add ctype=CORD for ChecksummedData.content ([ca94e27](https://github.com/googleapis/google-cloud-go/commit/ca94e2724f9e2610b46aefd0a3b5ddc06102e91b))
|
||||||
|
* **storage:** Add support for MatchGlob ([#8097](https://github.com/googleapis/google-cloud-go/issues/8097)) ([9426a5a](https://github.com/googleapis/google-cloud-go/commit/9426a5a45d4c2fd07f84261f6d602680e79cdc48)), refs [#7727](https://github.com/googleapis/google-cloud-go/issues/7727) [#7728](https://github.com/googleapis/google-cloud-go/issues/7728)
|
||||||
|
* **storage:** Respect WithEndpoint for SignedURLs and PostPolicy ([#8113](https://github.com/googleapis/google-cloud-go/issues/8113)) ([f918f23](https://github.com/googleapis/google-cloud-go/commit/f918f23a3cda4fbc8d709e32b914ead8b735d664))
|
||||||
|
* **storage:** Update all direct dependencies ([b340d03](https://github.com/googleapis/google-cloud-go/commit/b340d030f2b52a4ce48846ce63984b28583abde6))
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** Fix CreateBucket logic for gRPC ([#8165](https://github.com/googleapis/google-cloud-go/issues/8165)) ([8424e7e](https://github.com/googleapis/google-cloud-go/commit/8424e7e145a117c91006318fa924a8b2643c1c7e)), refs [#8162](https://github.com/googleapis/google-cloud-go/issues/8162)
|
||||||
|
* **storage:** Fix reads with "./" in object names [XML] ([#8017](https://github.com/googleapis/google-cloud-go/issues/8017)) ([6b7b21f](https://github.com/googleapis/google-cloud-go/commit/6b7b21f8a334b6ad3a25e1f66ae1265b4d1f0995))
|
||||||
|
* **storage:** Fix routing header for writes ([#8159](https://github.com/googleapis/google-cloud-go/issues/8159)) ([42a59f5](https://github.com/googleapis/google-cloud-go/commit/42a59f5a23ab9b4743ab032ad92304922c801d93)), refs [#8142](https://github.com/googleapis/google-cloud-go/issues/8142) [#8143](https://github.com/googleapis/google-cloud-go/issues/8143) [#8144](https://github.com/googleapis/google-cloud-go/issues/8144) [#8145](https://github.com/googleapis/google-cloud-go/issues/8145) [#8149](https://github.com/googleapis/google-cloud-go/issues/8149)
|
||||||
|
* **storage:** REST query UpdateMask bug ([df52820](https://github.com/googleapis/google-cloud-go/commit/df52820b0e7721954809a8aa8700b93c5662dc9b))
|
||||||
|
* **storage:** Update grpc to v1.55.0 ([1147ce0](https://github.com/googleapis/google-cloud-go/commit/1147ce02a990276ca4f8ab7a1ab65c14da4450ef))
|
||||||
|
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
* **storage/internal:** Clarifications about behavior of DeleteObject RPC ([3f1ed9c](https://github.com/googleapis/google-cloud-go/commit/3f1ed9c63fb115f47607a3ab478842fe5ba0df11))
|
||||||
|
* **storage/internal:** Clarified the behavior of supplying bucket.name field in CreateBucket to reflect actual implementation ([ebae64d](https://github.com/googleapis/google-cloud-go/commit/ebae64d53397ec5dfe851f098754eaa1f5df7cb1))
|
||||||
|
* **storage/internal:** Revert ChecksummedData message definition not to specify ctype=CORD, because it would be a breaking change. ([ef61e47](https://github.com/googleapis/google-cloud-go/commit/ef61e4799280a355b960da8ae240ceb2efbe71ac))
|
||||||
|
* **storage/internal:** Update routing annotations for CancelResumableWriteRequest and QueryWriteStatusRequest ([4900851](https://github.com/googleapis/google-cloud-go/commit/49008518e168fe6f7891b907d6fc14eecdef758c))
|
||||||
|
* **storage/internal:** Updated ChecksummedData message definition to specify ctype=CORD, and removed incorrect earlier attempt that set that annotation in the ReadObjectResponse message definition ([ef61e47](https://github.com/googleapis/google-cloud-go/commit/ef61e4799280a355b960da8ae240ceb2efbe71ac))
|
||||||
|
* **storage:** WithXMLReads should mention XML instead of JSON API ([#7881](https://github.com/googleapis/google-cloud-go/issues/7881)) ([36f56c8](https://github.com/googleapis/google-cloud-go/commit/36f56c80c456ca74ffc03df76844ce15980ced82))
|
||||||
|
|
||||||
|
## [1.30.1](https://github.com/googleapis/google-cloud-go/compare/storage/v1.30.0...storage/v1.30.1) (2023-03-21)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** Retract versions with Copier bug ([#7583](https://github.com/googleapis/google-cloud-go/issues/7583)) ([9c10b6f](https://github.com/googleapis/google-cloud-go/commit/9c10b6f8a54cb8447260148b5e4a9b5160281020))
|
||||||
|
* Versions v1.25.0-v1.27.0 are retracted due to [#6857](https://github.com/googleapis/google-cloud-go/issues/6857).
|
||||||
|
* **storage:** SignedURL v4 allows headers with colons in value ([#7603](https://github.com/googleapis/google-cloud-go/issues/7603)) ([6b50f9b](https://github.com/googleapis/google-cloud-go/commit/6b50f9b368f5b271ade1706c342865cef46712e6))
|
||||||
|
|
||||||
|
## [1.30.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.29.0...storage/v1.30.0) (2023-03-15)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage/internal:** Update routing annotation for CreateBucketRequest docs: Add support for end-to-end checksumming in the gRPC WriteObject flow feat!: BREAKING CHANGE - renaming Notification to NotificationConfig ([2fef56f](https://github.com/googleapis/google-cloud-go/commit/2fef56f75a63dc4ff6e0eea56c7b26d4831c8e27))
|
||||||
|
* **storage:** Json downloads ([#7158](https://github.com/googleapis/google-cloud-go/issues/7158)) ([574a86c](https://github.com/googleapis/google-cloud-go/commit/574a86c614445f8c3f5a54446820df774c31cd47))
|
||||||
|
* **storage:** Update iam and longrunning deps ([91a1f78](https://github.com/googleapis/google-cloud-go/commit/91a1f784a109da70f63b96414bba8a9b4254cddd))
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** Specify credentials with STORAGE_EMULATOR_HOST ([#7271](https://github.com/googleapis/google-cloud-go/issues/7271)) ([940ae15](https://github.com/googleapis/google-cloud-go/commit/940ae15f725ff384e345e627feb03d22e1fd8db5))
|
||||||
|
|
||||||
|
## [1.29.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.28.1...storage/v1.29.0) (2023-01-19)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage:** Add ComponentCount as part of ObjectAttrs ([#7230](https://github.com/googleapis/google-cloud-go/issues/7230)) ([a19bca6](https://github.com/googleapis/google-cloud-go/commit/a19bca60704b4fbb674cf51d828580aa653c8210))
|
||||||
|
* **storage:** Add REST client ([06a54a1](https://github.com/googleapis/google-cloud-go/commit/06a54a16a5866cce966547c51e203b9e09a25bc0))
|
||||||
|
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
* **storage/internal:** Corrected typos and spellings ([7357077](https://github.com/googleapis/google-cloud-go/commit/735707796d81d7f6f32fc3415800c512fe62297e))
|
||||||
|
|
||||||
|
## [1.28.1](https://github.com/googleapis/google-cloud-go/compare/storage/v1.28.0...storage/v1.28.1) (2022-12-02)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** downgrade some dependencies ([7540152](https://github.com/googleapis/google-cloud-go/commit/754015236d5af7c82a75da218b71a87b9ead6eb5))
|
||||||
|
|
||||||
|
## [1.28.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.27.0...storage/v1.28.0) (2022-11-03)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage/internal:** Add routing annotations ([ce3f945](https://github.com/googleapis/google-cloud-go/commit/ce3f9458e511eca0910992763232abbcd64698f1))
|
||||||
|
* **storage:** Add Autoclass support ([#6828](https://github.com/googleapis/google-cloud-go/issues/6828)) ([f7c7f41](https://github.com/googleapis/google-cloud-go/commit/f7c7f41e4d7fcffe05860e1114cb20f40c869da8))
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** Fix read-write race in Writer.Write ([#6817](https://github.com/googleapis/google-cloud-go/issues/6817)) ([4766d3e](https://github.com/googleapis/google-cloud-go/commit/4766d3e1004119b93c6bd352024b5bf3404252eb))
|
||||||
|
* **storage:** Fix request token passing for Copier.Run ([#6863](https://github.com/googleapis/google-cloud-go/issues/6863)) ([faaab06](https://github.com/googleapis/google-cloud-go/commit/faaab066d8e509dc440bcbc87391557ecee7dbf2)), refs [#6857](https://github.com/googleapis/google-cloud-go/issues/6857)
|
||||||
|
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
* **storage:** Update broken links for SignURL and PostPolicy ([#6779](https://github.com/googleapis/google-cloud-go/issues/6779)) ([776138b](https://github.com/googleapis/google-cloud-go/commit/776138bc06a1e5fd45acbf8f9d36e9dc6ce31dd3))
|
||||||
|
|
||||||
|
## [1.27.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.26.0...storage/v1.27.0) (2022-09-22)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage:** Find GoogleAccessID when using impersonated creds ([#6591](https://github.com/googleapis/google-cloud-go/issues/6591)) ([a2d16a7](https://github.com/googleapis/google-cloud-go/commit/a2d16a7a778c85d13217fc67955ec5dac1da34e8))
|
||||||
|
|
||||||
|
## [1.26.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.25.0...storage/v1.26.0) (2022-08-29)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage:** export ShouldRetry ([#6370](https://github.com/googleapis/google-cloud-go/issues/6370)) ([0da9ab0](https://github.com/googleapis/google-cloud-go/commit/0da9ab0831540569dc04c0a23437b084b1564e15)), refs [#6362](https://github.com/googleapis/google-cloud-go/issues/6362)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** allow to use age=0 in OLM conditions ([#6204](https://github.com/googleapis/google-cloud-go/issues/6204)) ([c85704f](https://github.com/googleapis/google-cloud-go/commit/c85704f4284626ce728cb48f3b130f2ce2a0165e))
|
||||||
|
|
||||||
|
## [1.25.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.24.0...storage/v1.25.0) (2022-08-11)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage/internal:** Add routing annotations ([8a8ba85](https://github.com/googleapis/google-cloud-go/commit/8a8ba85311f85701c97fd7c10f1d88b738ce423f))
|
||||||
|
* **storage:** refactor to use transport-agnostic interface ([#6465](https://github.com/googleapis/google-cloud-go/issues/6465)) ([d03c3e1](https://github.com/googleapis/google-cloud-go/commit/d03c3e15a79fe9afa1232d9c8bd4c484a9bb927e))
|
||||||
|
|
||||||
|
## [1.24.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.23.0...storage/v1.24.0) (2022-07-20)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage:** add Custom Placement Config Dual Region Support ([#6294](https://github.com/googleapis/google-cloud-go/issues/6294)) ([5a8c607](https://github.com/googleapis/google-cloud-go/commit/5a8c607e3a9a3265887e27cb13f8943f3e3fa23d))
|
||||||
|
|
||||||
|
## [1.23.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.22.1...storage/v1.23.0) (2022-06-23)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage:** add support for OLM Prefix/Suffix ([#5929](https://github.com/googleapis/google-cloud-go/issues/5929)) ([ec21d10](https://github.com/googleapis/google-cloud-go/commit/ec21d10d6d1b01aa97a52560319775041707690d))
|
||||||
|
* **storage:** support AbortIncompleteMultipartUpload LifecycleAction ([#5812](https://github.com/googleapis/google-cloud-go/issues/5812)) ([fdec929](https://github.com/googleapis/google-cloud-go/commit/fdec929b9da6e01dda0ab3c72544d44d6bd82bd4)), refs [#5795](https://github.com/googleapis/google-cloud-go/issues/5795)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** allow for Age *int64 type and int64 type ([#6230](https://github.com/googleapis/google-cloud-go/issues/6230)) ([cc7acb8](https://github.com/googleapis/google-cloud-go/commit/cc7acb8bffb31828e9e96d4834a65f9728494473))
|
||||||
|
|
||||||
|
### [1.22.1](https://github.com/googleapis/google-cloud-go/compare/storage/v1.22.0...storage/v1.22.1) (2022-05-19)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** bump genproto, remove deadcode ([#6059](https://github.com/googleapis/google-cloud-go/issues/6059)) ([bb10f9f](https://github.com/googleapis/google-cloud-go/commit/bb10f9faca57dc3b987e0fb601090887b3507f07))
|
||||||
|
* **storage:** remove field that no longer exists ([#6061](https://github.com/googleapis/google-cloud-go/issues/6061)) ([ee150cf](https://github.com/googleapis/google-cloud-go/commit/ee150cfd194463ddfcb59898cfb0237e47777973))
|
||||||
|
|
||||||
|
## [1.22.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.21.0...storage/v1.22.0) (2022-03-31)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage:** allow specifying includeTrailingDelimiter ([#5617](https://github.com/googleapis/google-cloud-go/issues/5617)) ([a34503b](https://github.com/googleapis/google-cloud-go/commit/a34503bc0f0b95399285e8db66976b227e3b0072))
|
||||||
|
* **storage:** set versionClient to module version ([55f0d92](https://github.com/googleapis/google-cloud-go/commit/55f0d92bf112f14b024b4ab0076c9875a17423c9))
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** respect STORAGE_EMULATOR_HOST in signedURL ([#5673](https://github.com/googleapis/google-cloud-go/issues/5673)) ([1c249ae](https://github.com/googleapis/google-cloud-go/commit/1c249ae5b4980cf53fa74635943ca8bf6a96a341))
|
||||||
|
|
||||||
|
## [1.21.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.20.0...storage/v1.21.0) (2022-02-17)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage:** add better version metadata to calls ([#5507](https://github.com/googleapis/google-cloud-go/issues/5507)) ([13fe0bc](https://github.com/googleapis/google-cloud-go/commit/13fe0bc0d8acbffd46b59ab69b25449f1cbd6a88)), refs [#2749](https://github.com/googleapis/google-cloud-go/issues/2749)
|
||||||
|
* **storage:** add Writer.ChunkRetryDeadline ([#5482](https://github.com/googleapis/google-cloud-go/issues/5482)) ([498a746](https://github.com/googleapis/google-cloud-go/commit/498a746769fa43958b92af8875b927879947128e))
|
||||||
|
|
||||||
|
## [1.20.0](https://www.github.com/googleapis/google-cloud-go/compare/storage/v1.19.0...storage/v1.20.0) (2022-02-04)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage/internal:** Update definition of RewriteObjectRequest to bring to parity with JSON API support ([#5447](https://www.github.com/googleapis/google-cloud-go/issues/5447)) ([7d175ef](https://www.github.com/googleapis/google-cloud-go/commit/7d175ef12b7b3e75585427f5dd2aab4a175e92d6))
|
||||||
|
|
||||||
|
## [1.19.0](https://www.github.com/googleapis/google-cloud-go/compare/storage/v1.18.2...storage/v1.19.0) (2022-01-25)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage:** add fully configurable and idempotency-aware retry strategy ([#5384](https://www.github.com/googleapis/google-cloud-go/issues/5384), [#5185](https://www.github.com/googleapis/google-cloud-go/issues/5185), [#5170](https://www.github.com/googleapis/google-cloud-go/issues/5170), [#5223](https://www.github.com/googleapis/google-cloud-go/issues/5223), [#5221](https://www.github.com/googleapis/google-cloud-go/issues/5221), [#5193](https://www.github.com/googleapis/google-cloud-go/issues/5193), [#5159](https://www.github.com/googleapis/google-cloud-go/issues/5159), [#5165](https://www.github.com/googleapis/google-cloud-go/issues/5165), [#5166](https://www.github.com/googleapis/google-cloud-go/issues/5166), [#5210](https://www.github.com/googleapis/google-cloud-go/issues/5210), [#5172](https://www.github.com/googleapis/google-cloud-go/issues/5172), [#5314](https://www.github.com/googleapis/google-cloud-go/issues/5314))
|
||||||
|
* This release contains changes to fully align this library's retry strategy
|
||||||
|
with best practices as described in the
|
||||||
|
Cloud Storage [docs](https://cloud.google.com/storage/docs/retry-strategy).
|
||||||
|
* The library will now retry only idempotent operations by default. This means
|
||||||
|
that for certain operations, including object upload, compose, rewrite,
|
||||||
|
update, and delete, requests will not be retried by default unless
|
||||||
|
[idempotency conditions](https://cloud.google.com/storage/docs/retry-strategy#idempotency)
|
||||||
|
for the request have been met.
|
||||||
|
* The library now has methods to configure aspects of retry policy for
|
||||||
|
API calls, including which errors are retried, the timing of the
|
||||||
|
exponential backoff, and how idempotency is taken into account.
|
||||||
|
* If you wish to re-enable retries for a non-idempotent request, use the
|
||||||
|
[RetryAlways](https://pkg.go.dev/cloud.google.com/go/storage@main#RetryAlways)
|
||||||
|
policy.
|
||||||
|
* For full details on how to configure retries, see the
|
||||||
|
[package docs](https://pkg.go.dev/cloud.google.com/go/storage@main#hdr-Retrying_failed_requests)
|
||||||
|
and the
|
||||||
|
[Cloud Storage docs](https://cloud.google.com/storage/docs/retry-strategy)
|
||||||
|
* **storage:** GenerateSignedPostPolicyV4 can use existing creds to authenticate ([#5105](https://www.github.com/googleapis/google-cloud-go/issues/5105)) ([46489f4](https://www.github.com/googleapis/google-cloud-go/commit/46489f4c8a634068a3e7cf2fd5e5ca11b555c0a8))
|
||||||
|
* **storage:** post policy can be signed with a fn that takes raw bytes ([#5079](https://www.github.com/googleapis/google-cloud-go/issues/5079)) ([25d1278](https://www.github.com/googleapis/google-cloud-go/commit/25d1278cab539fbfdd8563ed6b297e30d3fe555c))
|
||||||
|
* **storage:** add rpo (turbo replication) support ([#5003](https://www.github.com/googleapis/google-cloud-go/issues/5003)) ([3bd5995](https://www.github.com/googleapis/google-cloud-go/commit/3bd59958e0c06d2655b67fcb5410668db3c52af0))
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** fix nil check in gRPC Reader ([#5376](https://www.github.com/googleapis/google-cloud-go/issues/5376)) ([5e7d722](https://www.github.com/googleapis/google-cloud-go/commit/5e7d722d18a62b28ba98169b3bdbb49401377264))
|
||||||
|
|
||||||
|
### [1.18.2](https://www.github.com/googleapis/google-cloud-go/compare/storage/v1.18.1...storage/v1.18.2) (2021-10-18)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** upgrade genproto ([#4993](https://www.github.com/googleapis/google-cloud-go/issues/4993)) ([5ca462d](https://www.github.com/googleapis/google-cloud-go/commit/5ca462d99fe851b7cddfd70108798e2fa959bdfd)), refs [#4991](https://www.github.com/googleapis/google-cloud-go/issues/4991)
|
||||||
|
|
||||||
|
### [1.18.1](https://www.github.com/googleapis/google-cloud-go/compare/storage/v1.18.0...storage/v1.18.1) (2021-10-14)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** don't assume auth from a client option ([#4982](https://www.github.com/googleapis/google-cloud-go/issues/4982)) ([e17334d](https://www.github.com/googleapis/google-cloud-go/commit/e17334d1fe7645d89d14ae7148313498b984dfbb))
|
||||||
|
|
||||||
|
## [1.18.0](https://www.github.com/googleapis/google-cloud-go/compare/storage/v1.17.0...storage/v1.18.0) (2021-10-11)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage:** returned wrapped error for timeouts ([#4802](https://www.github.com/googleapis/google-cloud-go/issues/4802)) ([0e102a3](https://www.github.com/googleapis/google-cloud-go/commit/0e102a385dc67a06f6b444b3a93e6998428529be)), refs [#4197](https://www.github.com/googleapis/google-cloud-go/issues/4197)
|
||||||
|
* **storage:** SignedUrl can use existing creds to authenticate ([#4604](https://www.github.com/googleapis/google-cloud-go/issues/4604)) ([b824c89](https://www.github.com/googleapis/google-cloud-go/commit/b824c897e6941270747b612f6d36a8d6ae081315))
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** update PAP to use inherited instead of unspecified ([#4909](https://www.github.com/googleapis/google-cloud-go/issues/4909)) ([dac26b1](https://www.github.com/googleapis/google-cloud-go/commit/dac26b1af2f2972f12775341173bcc5f982438b8))
|
||||||
|
|
||||||
|
## [1.17.0](https://www.github.com/googleapis/google-cloud-go/compare/storage/v1.16.1...storage/v1.17.0) (2021-09-28)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage:** add projectNumber field to bucketAttrs. ([#4805](https://www.github.com/googleapis/google-cloud-go/issues/4805)) ([07343af](https://www.github.com/googleapis/google-cloud-go/commit/07343afc15085b164cc41d202d13f9d46f5c0d02))
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** align retry idempotency (part 1) ([#4715](https://www.github.com/googleapis/google-cloud-go/issues/4715)) ([ffa903e](https://www.github.com/googleapis/google-cloud-go/commit/ffa903eeec61aa3869e5220e2f09371127b5c393))
|
||||||
|
|
||||||
|
### [1.16.1](https://www.github.com/googleapis/google-cloud-go/compare/storage/v1.16.0...storage/v1.16.1) (2021-08-30)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage/internal:** Update encryption_key fields to "bytes" type. fix: Improve date/times and field name clarity in lifecycle conditions. ([a52baa4](https://www.github.com/googleapis/google-cloud-go/commit/a52baa456ed8513ec492c4b573c191eb61468758))
|
||||||
|
* **storage:** accept emulator env var without scheme ([#4616](https://www.github.com/googleapis/google-cloud-go/issues/4616)) ([5f8cbb9](https://www.github.com/googleapis/google-cloud-go/commit/5f8cbb98070109e2a34409ac775ed63b94d37efd))
|
||||||
|
* **storage:** preserve supplied endpoint's scheme ([#4609](https://www.github.com/googleapis/google-cloud-go/issues/4609)) ([ee2756f](https://www.github.com/googleapis/google-cloud-go/commit/ee2756fb0a335d591464a770c9fa4f8fe0ba2e01))
|
||||||
|
* **storage:** remove unnecessary variable ([#4608](https://www.github.com/googleapis/google-cloud-go/issues/4608)) ([27fc784](https://www.github.com/googleapis/google-cloud-go/commit/27fc78456fb251652bdf5cdb493734a7e1e643e1))
|
||||||
|
* **storage:** retry LockRetentionPolicy ([#4439](https://www.github.com/googleapis/google-cloud-go/issues/4439)) ([09879ea](https://www.github.com/googleapis/google-cloud-go/commit/09879ea80cb67f9bfd8fc9384b0fda335567cba9)), refs [#4437](https://www.github.com/googleapis/google-cloud-go/issues/4437)
|
||||||
|
* **storage:** revise Reader to send XML preconditions ([#4479](https://www.github.com/googleapis/google-cloud-go/issues/4479)) ([e36b29a](https://www.github.com/googleapis/google-cloud-go/commit/e36b29a3d43bce5c1c044f7daf6e1db00b0a49e0)), refs [#4470](https://www.github.com/googleapis/google-cloud-go/issues/4470)
|
||||||
|
|
||||||
|
## [1.16.0](https://www.github.com/googleapis/google-cloud-go/compare/storage/v1.15.0...storage/v1.16.0) (2021-06-28)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage:** support PublicAccessPrevention ([#3608](https://www.github.com/googleapis/google-cloud-go/issues/3608)) ([99bc782](https://www.github.com/googleapis/google-cloud-go/commit/99bc782fb50a47602b45278384ef5d5b5da9263b)), refs [#3203](https://www.github.com/googleapis/google-cloud-go/issues/3203)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** fix Writer.ChunkSize validation ([#4255](https://www.github.com/googleapis/google-cloud-go/issues/4255)) ([69c2e9d](https://www.github.com/googleapis/google-cloud-go/commit/69c2e9dc6303e1a004d3104a8178532fa738e742)), refs [#4167](https://www.github.com/googleapis/google-cloud-go/issues/4167)
|
||||||
|
* **storage:** try to reopen for failed Reads ([#4226](https://www.github.com/googleapis/google-cloud-go/issues/4226)) ([564102b](https://www.github.com/googleapis/google-cloud-go/commit/564102b335dbfb558bec8af883e5f898efb5dd10)), refs [#3040](https://www.github.com/googleapis/google-cloud-go/issues/3040)
|
||||||
|
|
||||||
|
## [1.15.0](https://www.github.com/googleapis/google-cloud-go/compare/storage/v1.13.0...storage/v1.15.0) (2021-04-21)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **transport** Bump dependency on google.golang.org/api to pick up HTTP/2
|
||||||
|
config updates (see [googleapis/google-api-go-client#882](https://github.com/googleapis/google-api-go-client/pull/882)).
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** retry io.ErrUnexpectedEOF ([#3957](https://www.github.com/googleapis/google-cloud-go/issues/3957)) ([f6590cd](https://www.github.com/googleapis/google-cloud-go/commit/f6590cdc26c8479be5df48949fa59f879e0c24fc))
|
||||||
|
|
||||||
|
|
||||||
|
## v1.14.0
|
||||||
|
|
||||||
|
- Updates to various dependencies.
|
||||||
|
|
||||||
|
## [1.13.0](https://www.github.com/googleapis/google-cloud-go/compare/storage/v1.12.0...v1.13.0) (2021-02-03)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage:** add missing StorageClass in BucketAttrsToUpdate ([#3038](https://www.github.com/googleapis/google-cloud-go/issues/3038)) ([2fa1b72](https://www.github.com/googleapis/google-cloud-go/commit/2fa1b727f8a7b20aa62fe0990530744f6c109be0))
|
||||||
|
* **storage:** add projection parameter for BucketHandle.Objects() ([#3549](https://www.github.com/googleapis/google-cloud-go/issues/3549)) ([9b9c3dc](https://www.github.com/googleapis/google-cloud-go/commit/9b9c3dce3ee10af5b6c4d070821bf47a861efd5b))
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** fix endpoint selection logic ([#3172](https://www.github.com/googleapis/google-cloud-go/issues/3172)) ([99edf0d](https://www.github.com/googleapis/google-cloud-go/commit/99edf0d211a9e617f2586fbc83b6f9630da3c537))
|
||||||
|
|
||||||
## v1.12.0
|
## v1.12.0
|
||||||
- V4 signed URL fixes:
|
- V4 signed URL fixes:
|
||||||
- Fix encoding of spaces in query parameters.
|
- Fix encoding of spaces in query parameters.
|
||||||
|
10
vendor/cloud.google.com/go/storage/README.md
generated
vendored
10
vendor/cloud.google.com/go/storage/README.md
generated
vendored
@ -1,9 +1,9 @@
|
|||||||
## Cloud Storage [![GoDoc](https://godoc.org/cloud.google.com/go/storage?status.svg)](https://godoc.org/cloud.google.com/go/storage)
|
## Cloud Storage [![Go Reference](https://pkg.go.dev/badge/cloud.google.com/go/storage.svg)](https://pkg.go.dev/cloud.google.com/go/storage)
|
||||||
|
|
||||||
- [About Cloud Storage](https://cloud.google.com/storage/)
|
- [About Cloud Storage](https://cloud.google.com/storage/)
|
||||||
- [API documentation](https://cloud.google.com/storage/docs)
|
- [API documentation](https://cloud.google.com/storage/docs)
|
||||||
- [Go client documentation](https://godoc.org/cloud.google.com/go/storage)
|
- [Go client documentation](https://cloud.google.com/go/docs/reference/cloud.google.com/go/storage/latest)
|
||||||
- [Complete sample programs](https://github.com/GoogleCloudPlatform/golang-samples/tree/master/storage)
|
- [Complete sample programs](https://github.com/GoogleCloudPlatform/golang-samples/tree/main/storage)
|
||||||
|
|
||||||
### Example Usage
|
### Example Usage
|
||||||
|
|
||||||
@ -25,8 +25,8 @@ if err != nil {
|
|||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
defer rc.Close()
|
defer rc.Close()
|
||||||
body, err := ioutil.ReadAll(rc)
|
body, err := io.ReadAll(rc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
193
vendor/cloud.google.com/go/storage/acl.go
generated
vendored
193
vendor/cloud.google.com/go/storage/acl.go
generated
vendored
@ -20,7 +20,7 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
|
|
||||||
"cloud.google.com/go/internal/trace"
|
"cloud.google.com/go/internal/trace"
|
||||||
"google.golang.org/api/googleapi"
|
"cloud.google.com/go/storage/internal/apiv2/storagepb"
|
||||||
raw "google.golang.org/api/storage/v1"
|
raw "google.golang.org/api/storage/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -66,12 +66,15 @@ type ProjectTeam struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ACLHandle provides operations on an access control list for a Google Cloud Storage bucket or object.
|
// ACLHandle provides operations on an access control list for a Google Cloud Storage bucket or object.
|
||||||
|
// ACLHandle on an object operates on the latest generation of that object by default.
|
||||||
|
// Selecting a specific generation of an object is not currently supported by the client.
|
||||||
type ACLHandle struct {
|
type ACLHandle struct {
|
||||||
c *Client
|
c *Client
|
||||||
bucket string
|
bucket string
|
||||||
object string
|
object string
|
||||||
isDefault bool
|
isDefault bool
|
||||||
userProject string // for requester-pays buckets
|
userProject string // for requester-pays buckets
|
||||||
|
retry *retryConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete permanently deletes the ACL entry for the given entity.
|
// Delete permanently deletes the ACL entry for the given entity.
|
||||||
@ -117,114 +120,46 @@ func (a *ACLHandle) List(ctx context.Context) (rules []ACLRule, err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *ACLHandle) bucketDefaultList(ctx context.Context) ([]ACLRule, error) {
|
func (a *ACLHandle) bucketDefaultList(ctx context.Context) ([]ACLRule, error) {
|
||||||
var acls *raw.ObjectAccessControls
|
opts := makeStorageOpts(true, a.retry, a.userProject)
|
||||||
var err error
|
return a.c.tc.ListDefaultObjectACLs(ctx, a.bucket, opts...)
|
||||||
err = runWithRetry(ctx, func() error {
|
|
||||||
req := a.c.raw.DefaultObjectAccessControls.List(a.bucket)
|
|
||||||
a.configureCall(ctx, req)
|
|
||||||
acls, err = req.Do()
|
|
||||||
return err
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return toObjectACLRules(acls.Items), nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *ACLHandle) bucketDefaultDelete(ctx context.Context, entity ACLEntity) error {
|
func (a *ACLHandle) bucketDefaultDelete(ctx context.Context, entity ACLEntity) error {
|
||||||
return runWithRetry(ctx, func() error {
|
opts := makeStorageOpts(false, a.retry, a.userProject)
|
||||||
req := a.c.raw.DefaultObjectAccessControls.Delete(a.bucket, string(entity))
|
return a.c.tc.DeleteDefaultObjectACL(ctx, a.bucket, entity, opts...)
|
||||||
a.configureCall(ctx, req)
|
|
||||||
return req.Do()
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *ACLHandle) bucketList(ctx context.Context) ([]ACLRule, error) {
|
func (a *ACLHandle) bucketList(ctx context.Context) ([]ACLRule, error) {
|
||||||
var acls *raw.BucketAccessControls
|
opts := makeStorageOpts(true, a.retry, a.userProject)
|
||||||
var err error
|
return a.c.tc.ListBucketACLs(ctx, a.bucket, opts...)
|
||||||
err = runWithRetry(ctx, func() error {
|
|
||||||
req := a.c.raw.BucketAccessControls.List(a.bucket)
|
|
||||||
a.configureCall(ctx, req)
|
|
||||||
acls, err = req.Do()
|
|
||||||
return err
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return toBucketACLRules(acls.Items), nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *ACLHandle) bucketSet(ctx context.Context, entity ACLEntity, role ACLRole) error {
|
func (a *ACLHandle) bucketSet(ctx context.Context, entity ACLEntity, role ACLRole) error {
|
||||||
acl := &raw.BucketAccessControl{
|
opts := makeStorageOpts(false, a.retry, a.userProject)
|
||||||
Bucket: a.bucket,
|
return a.c.tc.UpdateBucketACL(ctx, a.bucket, entity, role, opts...)
|
||||||
Entity: string(entity),
|
|
||||||
Role: string(role),
|
|
||||||
}
|
|
||||||
err := runWithRetry(ctx, func() error {
|
|
||||||
req := a.c.raw.BucketAccessControls.Update(a.bucket, string(entity), acl)
|
|
||||||
a.configureCall(ctx, req)
|
|
||||||
_, err := req.Do()
|
|
||||||
return err
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *ACLHandle) bucketDelete(ctx context.Context, entity ACLEntity) error {
|
func (a *ACLHandle) bucketDelete(ctx context.Context, entity ACLEntity) error {
|
||||||
return runWithRetry(ctx, func() error {
|
opts := makeStorageOpts(false, a.retry, a.userProject)
|
||||||
req := a.c.raw.BucketAccessControls.Delete(a.bucket, string(entity))
|
return a.c.tc.DeleteBucketACL(ctx, a.bucket, entity, opts...)
|
||||||
a.configureCall(ctx, req)
|
|
||||||
return req.Do()
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *ACLHandle) objectList(ctx context.Context) ([]ACLRule, error) {
|
func (a *ACLHandle) objectList(ctx context.Context) ([]ACLRule, error) {
|
||||||
var acls *raw.ObjectAccessControls
|
opts := makeStorageOpts(true, a.retry, a.userProject)
|
||||||
var err error
|
return a.c.tc.ListObjectACLs(ctx, a.bucket, a.object, opts...)
|
||||||
err = runWithRetry(ctx, func() error {
|
|
||||||
req := a.c.raw.ObjectAccessControls.List(a.bucket, a.object)
|
|
||||||
a.configureCall(ctx, req)
|
|
||||||
acls, err = req.Do()
|
|
||||||
return err
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return toObjectACLRules(acls.Items), nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *ACLHandle) objectSet(ctx context.Context, entity ACLEntity, role ACLRole, isBucketDefault bool) error {
|
func (a *ACLHandle) objectSet(ctx context.Context, entity ACLEntity, role ACLRole, isBucketDefault bool) error {
|
||||||
type setRequest interface {
|
opts := makeStorageOpts(false, a.retry, a.userProject)
|
||||||
Do(opts ...googleapi.CallOption) (*raw.ObjectAccessControl, error)
|
|
||||||
Header() http.Header
|
|
||||||
}
|
|
||||||
|
|
||||||
acl := &raw.ObjectAccessControl{
|
|
||||||
Bucket: a.bucket,
|
|
||||||
Entity: string(entity),
|
|
||||||
Role: string(role),
|
|
||||||
}
|
|
||||||
var req setRequest
|
|
||||||
if isBucketDefault {
|
if isBucketDefault {
|
||||||
req = a.c.raw.DefaultObjectAccessControls.Update(a.bucket, string(entity), acl)
|
return a.c.tc.UpdateDefaultObjectACL(ctx, a.bucket, entity, role, opts...)
|
||||||
} else {
|
|
||||||
req = a.c.raw.ObjectAccessControls.Update(a.bucket, a.object, string(entity), acl)
|
|
||||||
}
|
}
|
||||||
a.configureCall(ctx, req)
|
return a.c.tc.UpdateObjectACL(ctx, a.bucket, a.object, entity, role, opts...)
|
||||||
return runWithRetry(ctx, func() error {
|
|
||||||
_, err := req.Do()
|
|
||||||
return err
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *ACLHandle) objectDelete(ctx context.Context, entity ACLEntity) error {
|
func (a *ACLHandle) objectDelete(ctx context.Context, entity ACLEntity) error {
|
||||||
return runWithRetry(ctx, func() error {
|
opts := makeStorageOpts(false, a.retry, a.userProject)
|
||||||
req := a.c.raw.ObjectAccessControls.Delete(a.bucket, a.object, string(entity))
|
return a.c.tc.DeleteObjectACL(ctx, a.bucket, a.object, entity, opts...)
|
||||||
a.configureCall(ctx, req)
|
|
||||||
return req.Do()
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *ACLHandle) configureCall(ctx context.Context, call interface{ Header() http.Header }) {
|
func (a *ACLHandle) configureCall(ctx context.Context, call interface{ Header() http.Header }) {
|
||||||
@ -244,6 +179,14 @@ func toObjectACLRules(items []*raw.ObjectAccessControl) []ACLRule {
|
|||||||
return rs
|
return rs
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func toObjectACLRulesFromProto(items []*storagepb.ObjectAccessControl) []ACLRule {
|
||||||
|
var rs []ACLRule
|
||||||
|
for _, item := range items {
|
||||||
|
rs = append(rs, toObjectACLRuleFromProto(item))
|
||||||
|
}
|
||||||
|
return rs
|
||||||
|
}
|
||||||
|
|
||||||
func toBucketACLRules(items []*raw.BucketAccessControl) []ACLRule {
|
func toBucketACLRules(items []*raw.BucketAccessControl) []ACLRule {
|
||||||
var rs []ACLRule
|
var rs []ACLRule
|
||||||
for _, item := range items {
|
for _, item := range items {
|
||||||
@ -252,6 +195,14 @@ func toBucketACLRules(items []*raw.BucketAccessControl) []ACLRule {
|
|||||||
return rs
|
return rs
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func toBucketACLRulesFromProto(items []*storagepb.BucketAccessControl) []ACLRule {
|
||||||
|
var rs []ACLRule
|
||||||
|
for _, item := range items {
|
||||||
|
rs = append(rs, toBucketACLRuleFromProto(item))
|
||||||
|
}
|
||||||
|
return rs
|
||||||
|
}
|
||||||
|
|
||||||
func toObjectACLRule(a *raw.ObjectAccessControl) ACLRule {
|
func toObjectACLRule(a *raw.ObjectAccessControl) ACLRule {
|
||||||
return ACLRule{
|
return ACLRule{
|
||||||
Entity: ACLEntity(a.Entity),
|
Entity: ACLEntity(a.Entity),
|
||||||
@ -263,6 +214,17 @@ func toObjectACLRule(a *raw.ObjectAccessControl) ACLRule {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func toObjectACLRuleFromProto(a *storagepb.ObjectAccessControl) ACLRule {
|
||||||
|
return ACLRule{
|
||||||
|
Entity: ACLEntity(a.GetEntity()),
|
||||||
|
EntityID: a.GetEntityId(),
|
||||||
|
Role: ACLRole(a.GetRole()),
|
||||||
|
Domain: a.GetDomain(),
|
||||||
|
Email: a.GetEmail(),
|
||||||
|
ProjectTeam: toProjectTeamFromProto(a.GetProjectTeam()),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func toBucketACLRule(a *raw.BucketAccessControl) ACLRule {
|
func toBucketACLRule(a *raw.BucketAccessControl) ACLRule {
|
||||||
return ACLRule{
|
return ACLRule{
|
||||||
Entity: ACLEntity(a.Entity),
|
Entity: ACLEntity(a.Entity),
|
||||||
@ -274,6 +236,17 @@ func toBucketACLRule(a *raw.BucketAccessControl) ACLRule {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func toBucketACLRuleFromProto(a *storagepb.BucketAccessControl) ACLRule {
|
||||||
|
return ACLRule{
|
||||||
|
Entity: ACLEntity(a.GetEntity()),
|
||||||
|
EntityID: a.GetEntityId(),
|
||||||
|
Role: ACLRole(a.GetRole()),
|
||||||
|
Domain: a.GetDomain(),
|
||||||
|
Email: a.GetEmail(),
|
||||||
|
ProjectTeam: toProjectTeamFromProto(a.GetProjectTeam()),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func toRawObjectACL(rules []ACLRule) []*raw.ObjectAccessControl {
|
func toRawObjectACL(rules []ACLRule) []*raw.ObjectAccessControl {
|
||||||
if len(rules) == 0 {
|
if len(rules) == 0 {
|
||||||
return nil
|
return nil
|
||||||
@ -285,6 +258,17 @@ func toRawObjectACL(rules []ACLRule) []*raw.ObjectAccessControl {
|
|||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func toProtoObjectACL(rules []ACLRule) []*storagepb.ObjectAccessControl {
|
||||||
|
if len(rules) == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
r := make([]*storagepb.ObjectAccessControl, 0, len(rules))
|
||||||
|
for _, rule := range rules {
|
||||||
|
r = append(r, rule.toProtoObjectAccessControl("")) // bucket name unnecessary
|
||||||
|
}
|
||||||
|
return r
|
||||||
|
}
|
||||||
|
|
||||||
func toRawBucketACL(rules []ACLRule) []*raw.BucketAccessControl {
|
func toRawBucketACL(rules []ACLRule) []*raw.BucketAccessControl {
|
||||||
if len(rules) == 0 {
|
if len(rules) == 0 {
|
||||||
return nil
|
return nil
|
||||||
@ -296,6 +280,17 @@ func toRawBucketACL(rules []ACLRule) []*raw.BucketAccessControl {
|
|||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func toProtoBucketACL(rules []ACLRule) []*storagepb.BucketAccessControl {
|
||||||
|
if len(rules) == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
r := make([]*storagepb.BucketAccessControl, 0, len(rules))
|
||||||
|
for _, rule := range rules {
|
||||||
|
r = append(r, rule.toProtoBucketAccessControl())
|
||||||
|
}
|
||||||
|
return r
|
||||||
|
}
|
||||||
|
|
||||||
func (r ACLRule) toRawBucketAccessControl(bucket string) *raw.BucketAccessControl {
|
func (r ACLRule) toRawBucketAccessControl(bucket string) *raw.BucketAccessControl {
|
||||||
return &raw.BucketAccessControl{
|
return &raw.BucketAccessControl{
|
||||||
Bucket: bucket,
|
Bucket: bucket,
|
||||||
@ -314,6 +309,22 @@ func (r ACLRule) toRawObjectAccessControl(bucket string) *raw.ObjectAccessContro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r ACLRule) toProtoObjectAccessControl(bucket string) *storagepb.ObjectAccessControl {
|
||||||
|
return &storagepb.ObjectAccessControl{
|
||||||
|
Entity: string(r.Entity),
|
||||||
|
Role: string(r.Role),
|
||||||
|
// The other fields are not settable.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r ACLRule) toProtoBucketAccessControl() *storagepb.BucketAccessControl {
|
||||||
|
return &storagepb.BucketAccessControl{
|
||||||
|
Entity: string(r.Entity),
|
||||||
|
Role: string(r.Role),
|
||||||
|
// The other fields are not settable.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func toBucketProjectTeam(p *raw.BucketAccessControlProjectTeam) *ProjectTeam {
|
func toBucketProjectTeam(p *raw.BucketAccessControlProjectTeam) *ProjectTeam {
|
||||||
if p == nil {
|
if p == nil {
|
||||||
return nil
|
return nil
|
||||||
@ -324,6 +335,16 @@ func toBucketProjectTeam(p *raw.BucketAccessControlProjectTeam) *ProjectTeam {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func toProjectTeamFromProto(p *storagepb.ProjectTeam) *ProjectTeam {
|
||||||
|
if p == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return &ProjectTeam{
|
||||||
|
ProjectNumber: p.GetProjectNumber(),
|
||||||
|
Team: p.GetTeam(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func toObjectProjectTeam(p *raw.ObjectAccessControlProjectTeam) *ProjectTeam {
|
func toObjectProjectTeam(p *raw.ObjectAccessControlProjectTeam) *ProjectTeam {
|
||||||
if p == nil {
|
if p == nil {
|
||||||
return nil
|
return nil
|
||||||
|
1363
vendor/cloud.google.com/go/storage/bucket.go
generated
vendored
1363
vendor/cloud.google.com/go/storage/bucket.go
generated
vendored
File diff suppressed because it is too large
Load Diff
342
vendor/cloud.google.com/go/storage/client.go
generated
vendored
Normal file
342
vendor/cloud.google.com/go/storage/client.go
generated
vendored
Normal file
@ -0,0 +1,342 @@
|
|||||||
|
// Copyright 2022 Google LLC
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License.
|
||||||
|
// You may obtain a copy of the License at
|
||||||
|
//
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
|
||||||
|
package storage
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"io"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"cloud.google.com/go/iam/apiv1/iampb"
|
||||||
|
gax "github.com/googleapis/gax-go/v2"
|
||||||
|
"google.golang.org/api/option"
|
||||||
|
)
|
||||||
|
|
||||||
|
// TODO(noahdietz): Move existing factory methods to this file.
|
||||||
|
|
||||||
|
// storageClient is an internal-only interface designed to separate the
|
||||||
|
// transport-specific logic of making Storage API calls from the logic of the
|
||||||
|
// client library.
|
||||||
|
//
|
||||||
|
// Implementation requirements beyond implementing the interface include:
|
||||||
|
// * factory method(s) must accept a `userProject string` param
|
||||||
|
// * `settings` must be retained per instance
|
||||||
|
// * `storageOption`s must be resolved in the order they are received
|
||||||
|
// * all API errors must be wrapped in the gax-go APIError type
|
||||||
|
// * any unimplemented interface methods must return a StorageUnimplementedErr
|
||||||
|
//
|
||||||
|
// TODO(noahdietz): This interface is currently not used in the production code
|
||||||
|
// paths
|
||||||
|
type storageClient interface {
|
||||||
|
|
||||||
|
// Top-level methods.
|
||||||
|
|
||||||
|
GetServiceAccount(ctx context.Context, project string, opts ...storageOption) (string, error)
|
||||||
|
CreateBucket(ctx context.Context, project, bucket string, attrs *BucketAttrs, enableObjectRetention *bool, opts ...storageOption) (*BucketAttrs, error)
|
||||||
|
ListBuckets(ctx context.Context, project string, opts ...storageOption) *BucketIterator
|
||||||
|
Close() error
|
||||||
|
|
||||||
|
// Bucket methods.
|
||||||
|
|
||||||
|
DeleteBucket(ctx context.Context, bucket string, conds *BucketConditions, opts ...storageOption) error
|
||||||
|
GetBucket(ctx context.Context, bucket string, conds *BucketConditions, opts ...storageOption) (*BucketAttrs, error)
|
||||||
|
UpdateBucket(ctx context.Context, bucket string, uattrs *BucketAttrsToUpdate, conds *BucketConditions, opts ...storageOption) (*BucketAttrs, error)
|
||||||
|
LockBucketRetentionPolicy(ctx context.Context, bucket string, conds *BucketConditions, opts ...storageOption) error
|
||||||
|
ListObjects(ctx context.Context, bucket string, q *Query, opts ...storageOption) *ObjectIterator
|
||||||
|
|
||||||
|
// Object metadata methods.
|
||||||
|
|
||||||
|
DeleteObject(ctx context.Context, bucket, object string, gen int64, conds *Conditions, opts ...storageOption) error
|
||||||
|
GetObject(ctx context.Context, bucket, object string, gen int64, encryptionKey []byte, conds *Conditions, opts ...storageOption) (*ObjectAttrs, error)
|
||||||
|
UpdateObject(ctx context.Context, params *updateObjectParams, opts ...storageOption) (*ObjectAttrs, error)
|
||||||
|
|
||||||
|
// Default Object ACL methods.
|
||||||
|
|
||||||
|
DeleteDefaultObjectACL(ctx context.Context, bucket string, entity ACLEntity, opts ...storageOption) error
|
||||||
|
ListDefaultObjectACLs(ctx context.Context, bucket string, opts ...storageOption) ([]ACLRule, error)
|
||||||
|
UpdateDefaultObjectACL(ctx context.Context, bucket string, entity ACLEntity, role ACLRole, opts ...storageOption) error
|
||||||
|
|
||||||
|
// Bucket ACL methods.
|
||||||
|
|
||||||
|
DeleteBucketACL(ctx context.Context, bucket string, entity ACLEntity, opts ...storageOption) error
|
||||||
|
ListBucketACLs(ctx context.Context, bucket string, opts ...storageOption) ([]ACLRule, error)
|
||||||
|
UpdateBucketACL(ctx context.Context, bucket string, entity ACLEntity, role ACLRole, opts ...storageOption) error
|
||||||
|
|
||||||
|
// Object ACL methods.
|
||||||
|
|
||||||
|
DeleteObjectACL(ctx context.Context, bucket, object string, entity ACLEntity, opts ...storageOption) error
|
||||||
|
ListObjectACLs(ctx context.Context, bucket, object string, opts ...storageOption) ([]ACLRule, error)
|
||||||
|
UpdateObjectACL(ctx context.Context, bucket, object string, entity ACLEntity, role ACLRole, opts ...storageOption) error
|
||||||
|
|
||||||
|
// Media operations.
|
||||||
|
|
||||||
|
ComposeObject(ctx context.Context, req *composeObjectRequest, opts ...storageOption) (*ObjectAttrs, error)
|
||||||
|
RewriteObject(ctx context.Context, req *rewriteObjectRequest, opts ...storageOption) (*rewriteObjectResponse, error)
|
||||||
|
|
||||||
|
NewRangeReader(ctx context.Context, params *newRangeReaderParams, opts ...storageOption) (*Reader, error)
|
||||||
|
OpenWriter(params *openWriterParams, opts ...storageOption) (*io.PipeWriter, error)
|
||||||
|
|
||||||
|
// IAM methods.
|
||||||
|
|
||||||
|
GetIamPolicy(ctx context.Context, resource string, version int32, opts ...storageOption) (*iampb.Policy, error)
|
||||||
|
SetIamPolicy(ctx context.Context, resource string, policy *iampb.Policy, opts ...storageOption) error
|
||||||
|
TestIamPermissions(ctx context.Context, resource string, permissions []string, opts ...storageOption) ([]string, error)
|
||||||
|
|
||||||
|
// HMAC Key methods.
|
||||||
|
|
||||||
|
GetHMACKey(ctx context.Context, project, accessID string, opts ...storageOption) (*HMACKey, error)
|
||||||
|
ListHMACKeys(ctx context.Context, project, serviceAccountEmail string, showDeletedKeys bool, opts ...storageOption) *HMACKeysIterator
|
||||||
|
UpdateHMACKey(ctx context.Context, project, serviceAccountEmail, accessID string, attrs *HMACKeyAttrsToUpdate, opts ...storageOption) (*HMACKey, error)
|
||||||
|
CreateHMACKey(ctx context.Context, project, serviceAccountEmail string, opts ...storageOption) (*HMACKey, error)
|
||||||
|
DeleteHMACKey(ctx context.Context, project, accessID string, opts ...storageOption) error
|
||||||
|
|
||||||
|
// Notification methods.
|
||||||
|
ListNotifications(ctx context.Context, bucket string, opts ...storageOption) (map[string]*Notification, error)
|
||||||
|
CreateNotification(ctx context.Context, bucket string, n *Notification, opts ...storageOption) (*Notification, error)
|
||||||
|
DeleteNotification(ctx context.Context, bucket string, id string, opts ...storageOption) error
|
||||||
|
}
|
||||||
|
|
||||||
|
// settings contains transport-agnostic configuration for API calls made via
|
||||||
|
// the storageClient inteface. All implementations must utilize settings
|
||||||
|
// and respect those that are applicable.
|
||||||
|
type settings struct {
|
||||||
|
// retry is the complete retry configuration to use when evaluating if an
|
||||||
|
// API call should be retried.
|
||||||
|
retry *retryConfig
|
||||||
|
|
||||||
|
// gax is a set of gax.CallOption to be conveyed to gax.Invoke.
|
||||||
|
// Note: Not all storageClient interfaces will must use gax.Invoke.
|
||||||
|
gax []gax.CallOption
|
||||||
|
|
||||||
|
// idempotent indicates if the call is idempotent or not when considering
|
||||||
|
// if the call should be retired or not.
|
||||||
|
idempotent bool
|
||||||
|
|
||||||
|
// clientOption is a set of option.ClientOption to be used during client
|
||||||
|
// transport initialization. See https://pkg.go.dev/google.golang.org/api/option
|
||||||
|
// for a list of supported options.
|
||||||
|
clientOption []option.ClientOption
|
||||||
|
|
||||||
|
// userProject is the user project that should be billed for the request.
|
||||||
|
userProject string
|
||||||
|
}
|
||||||
|
|
||||||
|
func initSettings(opts ...storageOption) *settings {
|
||||||
|
s := &settings{}
|
||||||
|
resolveOptions(s, opts...)
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
|
func resolveOptions(s *settings, opts ...storageOption) {
|
||||||
|
for _, o := range opts {
|
||||||
|
o.Apply(s)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// callSettings is a helper for resolving storage options against the settings
|
||||||
|
// in the context of an individual call. This is to ensure that client-level
|
||||||
|
// default settings are not mutated by two different calls getting options.
|
||||||
|
//
|
||||||
|
// Example: s := callSettings(c.settings, opts...)
|
||||||
|
func callSettings(defaults *settings, opts ...storageOption) *settings {
|
||||||
|
if defaults == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
// This does not make a deep copy of the pointer/slice fields, but all
|
||||||
|
// options replace the settings fields rather than modify their values in
|
||||||
|
// place.
|
||||||
|
cs := *defaults
|
||||||
|
resolveOptions(&cs, opts...)
|
||||||
|
return &cs
|
||||||
|
}
|
||||||
|
|
||||||
|
// makeStorageOpts is a helper for generating a set of storageOption based on
|
||||||
|
// idempotency, retryConfig, and userProject. All top-level client operations
|
||||||
|
// will generally have to pass these options through the interface.
|
||||||
|
func makeStorageOpts(isIdempotent bool, retry *retryConfig, userProject string) []storageOption {
|
||||||
|
opts := []storageOption{idempotent(isIdempotent)}
|
||||||
|
if retry != nil {
|
||||||
|
opts = append(opts, withRetryConfig(retry))
|
||||||
|
}
|
||||||
|
if userProject != "" {
|
||||||
|
opts = append(opts, withUserProject(userProject))
|
||||||
|
}
|
||||||
|
return opts
|
||||||
|
}
|
||||||
|
|
||||||
|
// storageOption is the transport-agnostic call option for the storageClient
|
||||||
|
// interface.
|
||||||
|
type storageOption interface {
|
||||||
|
Apply(s *settings)
|
||||||
|
}
|
||||||
|
|
||||||
|
func withGAXOptions(opts ...gax.CallOption) storageOption {
|
||||||
|
return &gaxOption{opts}
|
||||||
|
}
|
||||||
|
|
||||||
|
type gaxOption struct {
|
||||||
|
opts []gax.CallOption
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *gaxOption) Apply(s *settings) { s.gax = o.opts }
|
||||||
|
|
||||||
|
func withRetryConfig(rc *retryConfig) storageOption {
|
||||||
|
return &retryOption{rc}
|
||||||
|
}
|
||||||
|
|
||||||
|
type retryOption struct {
|
||||||
|
rc *retryConfig
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *retryOption) Apply(s *settings) { s.retry = o.rc }
|
||||||
|
|
||||||
|
func idempotent(i bool) storageOption {
|
||||||
|
return &idempotentOption{i}
|
||||||
|
}
|
||||||
|
|
||||||
|
type idempotentOption struct {
|
||||||
|
idempotency bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *idempotentOption) Apply(s *settings) { s.idempotent = o.idempotency }
|
||||||
|
|
||||||
|
func withClientOptions(opts ...option.ClientOption) storageOption {
|
||||||
|
return &clientOption{opts: opts}
|
||||||
|
}
|
||||||
|
|
||||||
|
type clientOption struct {
|
||||||
|
opts []option.ClientOption
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *clientOption) Apply(s *settings) { s.clientOption = o.opts }
|
||||||
|
|
||||||
|
func withUserProject(project string) storageOption {
|
||||||
|
return &userProjectOption{project}
|
||||||
|
}
|
||||||
|
|
||||||
|
type userProjectOption struct {
|
||||||
|
project string
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *userProjectOption) Apply(s *settings) { s.userProject = o.project }
|
||||||
|
|
||||||
|
type openWriterParams struct {
|
||||||
|
// Writer configuration
|
||||||
|
|
||||||
|
// ctx is the context used by the writer routine to make all network calls
|
||||||
|
// and to manage the writer routine - see `Writer.ctx`.
|
||||||
|
// Required.
|
||||||
|
ctx context.Context
|
||||||
|
// chunkSize - see `Writer.ChunkSize`.
|
||||||
|
// Optional.
|
||||||
|
chunkSize int
|
||||||
|
// chunkRetryDeadline - see `Writer.ChunkRetryDeadline`.
|
||||||
|
// Optional.
|
||||||
|
chunkRetryDeadline time.Duration
|
||||||
|
|
||||||
|
// Object/request properties
|
||||||
|
|
||||||
|
// bucket - see `Writer.o.bucket`.
|
||||||
|
// Required.
|
||||||
|
bucket string
|
||||||
|
// attrs - see `Writer.ObjectAttrs`.
|
||||||
|
// Required.
|
||||||
|
attrs *ObjectAttrs
|
||||||
|
// conds - see `Writer.o.conds`.
|
||||||
|
// Optional.
|
||||||
|
conds *Conditions
|
||||||
|
// encryptionKey - see `Writer.o.encryptionKey`
|
||||||
|
// Optional.
|
||||||
|
encryptionKey []byte
|
||||||
|
// sendCRC32C - see `Writer.SendCRC32C`.
|
||||||
|
// Optional.
|
||||||
|
sendCRC32C bool
|
||||||
|
|
||||||
|
// Writer callbacks
|
||||||
|
|
||||||
|
// donec - see `Writer.donec`.
|
||||||
|
// Required.
|
||||||
|
donec chan struct{}
|
||||||
|
// setError callback for reporting errors - see `Writer.error`.
|
||||||
|
// Required.
|
||||||
|
setError func(error)
|
||||||
|
// progress callback for reporting upload progress - see `Writer.progress`.
|
||||||
|
// Required.
|
||||||
|
progress func(int64)
|
||||||
|
// setObj callback for reporting the resulting object - see `Writer.obj`.
|
||||||
|
// Required.
|
||||||
|
setObj func(*ObjectAttrs)
|
||||||
|
}
|
||||||
|
|
||||||
|
type newRangeReaderParams struct {
|
||||||
|
bucket string
|
||||||
|
conds *Conditions
|
||||||
|
encryptionKey []byte
|
||||||
|
gen int64
|
||||||
|
length int64
|
||||||
|
object string
|
||||||
|
offset int64
|
||||||
|
readCompressed bool // Use accept-encoding: gzip. Only works for HTTP currently.
|
||||||
|
}
|
||||||
|
|
||||||
|
type updateObjectParams struct {
|
||||||
|
bucket, object string
|
||||||
|
uattrs *ObjectAttrsToUpdate
|
||||||
|
gen int64
|
||||||
|
encryptionKey []byte
|
||||||
|
conds *Conditions
|
||||||
|
overrideRetention *bool
|
||||||
|
}
|
||||||
|
|
||||||
|
type composeObjectRequest struct {
|
||||||
|
dstBucket string
|
||||||
|
dstObject destinationObject
|
||||||
|
srcs []sourceObject
|
||||||
|
predefinedACL string
|
||||||
|
sendCRC32C bool
|
||||||
|
}
|
||||||
|
|
||||||
|
type sourceObject struct {
|
||||||
|
name string
|
||||||
|
bucket string
|
||||||
|
gen int64
|
||||||
|
conds *Conditions
|
||||||
|
encryptionKey []byte
|
||||||
|
}
|
||||||
|
|
||||||
|
type destinationObject struct {
|
||||||
|
name string
|
||||||
|
bucket string
|
||||||
|
conds *Conditions
|
||||||
|
attrs *ObjectAttrs // attrs to set on the destination object.
|
||||||
|
encryptionKey []byte
|
||||||
|
keyName string
|
||||||
|
}
|
||||||
|
|
||||||
|
type rewriteObjectRequest struct {
|
||||||
|
srcObject sourceObject
|
||||||
|
dstObject destinationObject
|
||||||
|
predefinedACL string
|
||||||
|
token string
|
||||||
|
maxBytesRewrittenPerCall int64
|
||||||
|
}
|
||||||
|
|
||||||
|
type rewriteObjectResponse struct {
|
||||||
|
resource *ObjectAttrs
|
||||||
|
done bool
|
||||||
|
written int64
|
||||||
|
size int64
|
||||||
|
token string
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user