Skip to content
This repository has been archived by the owner on Dec 31, 2023. It is now read-only.

fix: update retry config #23

Merged
merged 4 commits into from
Jul 15, 2020
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,36 +1,42 @@
config = {
"interfaces": {
"google.devtools.containeranalysis.v1.ContainerAnalysis": {
"retry_codes": {
"idempotent": ["DEADLINE_EXCEEDED", "UNAVAILABLE"],
"non_idempotent": [],
},
"retry_codes": {"no_retry_codes": [], "no_retry_1_codes": []},
"retry_params": {
"default": {
"initial_retry_delay_millis": 100,
"retry_delay_multiplier": 1.3,
"max_retry_delay_millis": 60000,
"initial_rpc_timeout_millis": 20000,
"no_retry_params": {
"initial_retry_delay_millis": 0,
"retry_delay_multiplier": 0.0,
"max_retry_delay_millis": 0,
"initial_rpc_timeout_millis": 0,
"rpc_timeout_multiplier": 1.0,
"max_rpc_timeout_millis": 0,
"total_timeout_millis": 0,
},
"no_retry_1_params": {
"initial_retry_delay_millis": 0,
"retry_delay_multiplier": 0.0,
"max_retry_delay_millis": 0,
"initial_rpc_timeout_millis": 30000,
"rpc_timeout_multiplier": 1.0,
"max_rpc_timeout_millis": 20000,
"total_timeout_millis": 600000,
}
"max_rpc_timeout_millis": 30000,
"total_timeout_millis": 30000,
},
},
"methods": {
"SetIamPolicy": {
"timeout_millis": 60000,
"retry_codes_name": "non_idempotent",
"retry_params_name": "default",
"timeout_millis": 30000,
"retry_codes_name": "no_retry_1_codes",
"retry_params_name": "no_retry_1_params",
},
"GetIamPolicy": {
"timeout_millis": 60000,
"retry_codes_name": "non_idempotent",
"retry_params_name": "default",
"timeout_millis": 30000,
"retry_codes_name": "no_retry_1_codes",
"retry_params_name": "no_retry_1_params",
},
"TestIamPermissions": {
"timeout_millis": 60000,
"retry_codes_name": "non_idempotent",
"retry_params_name": "default",
"timeout_millis": 30000,
"retry_codes_name": "no_retry_1_codes",
"retry_params_name": "no_retry_1_params",
},
},
}
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc

from google.iam.v1 import iam_policy_pb2 as google_dot_iam_dot_v1_dot_iam__policy__pb2
Expand All @@ -7,26 +8,26 @@

class ContainerAnalysisStub(object):
"""Retrieves analysis results of Cloud components such as Docker container
images. The Container Analysis API is an implementation of the
[Grafeas](https://grafeas.io) API.

Analysis results are stored as a series of occurrences. An `Occurrence`
contains information about a specific analysis instance on a resource. An
occurrence refers to a `Note`. A note contains details describing the
analysis and is generally stored in a separate project, called a `Provider`.
Multiple occurrences can refer to the same note.

For example, an SSL vulnerability could affect multiple images. In this case,
there would be one note for the vulnerability and an occurrence for each
image with the vulnerability referring to that note.
"""
images. The Container Analysis API is an implementation of the
[Grafeas](https://grafeas.io) API.

Analysis results are stored as a series of occurrences. An `Occurrence`
contains information about a specific analysis instance on a resource. An
occurrence refers to a `Note`. A note contains details describing the
analysis and is generally stored in a separate project, called a `Provider`.
Multiple occurrences can refer to the same note.

For example, an SSL vulnerability could affect multiple images. In this case,
there would be one note for the vulnerability and an occurrence for each
image with the vulnerability referring to that note.
"""

def __init__(self, channel):
"""Constructor.

Args:
channel: A grpc.Channel.
"""
Args:
channel: A grpc.Channel.
"""
self.SetIamPolicy = channel.unary_unary(
"/google.devtools.containeranalysis.v1.ContainerAnalysis/SetIamPolicy",
request_serializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.SetIamPolicyRequest.SerializeToString,
Expand All @@ -46,57 +47,57 @@ def __init__(self, channel):

class ContainerAnalysisServicer(object):
"""Retrieves analysis results of Cloud components such as Docker container
images. The Container Analysis API is an implementation of the
[Grafeas](https://grafeas.io) API.

Analysis results are stored as a series of occurrences. An `Occurrence`
contains information about a specific analysis instance on a resource. An
occurrence refers to a `Note`. A note contains details describing the
analysis and is generally stored in a separate project, called a `Provider`.
Multiple occurrences can refer to the same note.

For example, an SSL vulnerability could affect multiple images. In this case,
there would be one note for the vulnerability and an occurrence for each
image with the vulnerability referring to that note.
"""
images. The Container Analysis API is an implementation of the
[Grafeas](https://grafeas.io) API.

Analysis results are stored as a series of occurrences. An `Occurrence`
contains information about a specific analysis instance on a resource. An
occurrence refers to a `Note`. A note contains details describing the
analysis and is generally stored in a separate project, called a `Provider`.
Multiple occurrences can refer to the same note.

For example, an SSL vulnerability could affect multiple images. In this case,
there would be one note for the vulnerability and an occurrence for each
image with the vulnerability referring to that note.
"""

def SetIamPolicy(self, request, context):
"""Sets the access control policy on the specified note or occurrence.
Requires `containeranalysis.notes.setIamPolicy` or
`containeranalysis.occurrences.setIamPolicy` permission if the resource is
a note or an occurrence, respectively.

The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
occurrences.
"""
Requires `containeranalysis.notes.setIamPolicy` or
`containeranalysis.occurrences.setIamPolicy` permission if the resource is
a note or an occurrence, respectively.

The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
occurrences.
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details("Method not implemented!")
raise NotImplementedError("Method not implemented!")

def GetIamPolicy(self, request, context):
"""Gets the access control policy for a note or an occurrence resource.
Requires `containeranalysis.notes.setIamPolicy` or
`containeranalysis.occurrences.setIamPolicy` permission if the resource is
a note or occurrence, respectively.

The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
occurrences.
"""
Requires `containeranalysis.notes.setIamPolicy` or
`containeranalysis.occurrences.setIamPolicy` permission if the resource is
a note or occurrence, respectively.

The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
occurrences.
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details("Method not implemented!")
raise NotImplementedError("Method not implemented!")

def TestIamPermissions(self, request, context):
"""Returns the permissions that a caller has on the specified note or
occurrence. Requires list permission on the project (for example,
`containeranalysis.notes.list`).
occurrence. Requires list permission on the project (for example,
`containeranalysis.notes.list`).

The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
occurrences.
"""
The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
occurrences.
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details("Method not implemented!")
raise NotImplementedError("Method not implemented!")
Expand Down Expand Up @@ -124,3 +125,102 @@ def add_ContainerAnalysisServicer_to_server(servicer, server):
"google.devtools.containeranalysis.v1.ContainerAnalysis", rpc_method_handlers
)
server.add_generic_rpc_handlers((generic_handler,))


# This class is part of an EXPERIMENTAL API.
class ContainerAnalysis(object):
"""Retrieves analysis results of Cloud components such as Docker container
images. The Container Analysis API is an implementation of the
[Grafeas](https://grafeas.io) API.

Analysis results are stored as a series of occurrences. An `Occurrence`
contains information about a specific analysis instance on a resource. An
occurrence refers to a `Note`. A note contains details describing the
analysis and is generally stored in a separate project, called a `Provider`.
Multiple occurrences can refer to the same note.

For example, an SSL vulnerability could affect multiple images. In this case,
there would be one note for the vulnerability and an occurrence for each
image with the vulnerability referring to that note.
"""

@staticmethod
def SetIamPolicy(
request,
target,
options=(),
channel_credentials=None,
call_credentials=None,
compression=None,
wait_for_ready=None,
timeout=None,
metadata=None,
):
return grpc.experimental.unary_unary(
request,
target,
"/google.devtools.containeranalysis.v1.ContainerAnalysis/SetIamPolicy",
google_dot_iam_dot_v1_dot_iam__policy__pb2.SetIamPolicyRequest.SerializeToString,
google_dot_iam_dot_v1_dot_policy__pb2.Policy.FromString,
options,
channel_credentials,
call_credentials,
compression,
wait_for_ready,
timeout,
metadata,
)

@staticmethod
def GetIamPolicy(
request,
target,
options=(),
channel_credentials=None,
call_credentials=None,
compression=None,
wait_for_ready=None,
timeout=None,
metadata=None,
):
return grpc.experimental.unary_unary(
request,
target,
"/google.devtools.containeranalysis.v1.ContainerAnalysis/GetIamPolicy",
google_dot_iam_dot_v1_dot_iam__policy__pb2.GetIamPolicyRequest.SerializeToString,
google_dot_iam_dot_v1_dot_policy__pb2.Policy.FromString,
options,
channel_credentials,
call_credentials,
compression,
wait_for_ready,
timeout,
metadata,
)

@staticmethod
def TestIamPermissions(
request,
target,
options=(),
channel_credentials=None,
call_credentials=None,
compression=None,
wait_for_ready=None,
timeout=None,
metadata=None,
):
return grpc.experimental.unary_unary(
request,
target,
"/google.devtools.containeranalysis.v1.ContainerAnalysis/TestIamPermissions",
google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsRequest.SerializeToString,
google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsResponse.FromString,
options,
channel_credentials,
call_credentials,
compression,
wait_for_ready,
timeout,
metadata,
)
6 changes: 3 additions & 3 deletions synth.metadata
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
"git": {
"name": ".",
"remote": "https://github.com/googleapis/python-containeranalysis.git",
"sha": "73fb8844c0aa822dbdc8de91ffdd034e0ceaeca6"
"sha": "be290885cef76ffdd27afb44cd858c6a89d4f280"
}
},
{
"git": {
"name": "googleapis",
"remote": "https://github.com/googleapis/googleapis.git",
"sha": "cf41866c6f14f10a07aa1e2a1260fc0a2727d889",
"internalRef": "317812187"
"sha": "b882b8e6bfcd708042ff00f7adc67ce750817dd0",
"internalRef": "318028816"
}
},
{
Expand Down