diff --git a/.kokoro/build.sh b/.kokoro/build.sh index 3e721e6..40c11f3 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -1,5 +1,4 @@ #!/bin/bash - # Copyright 2018 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/.kokoro/publish-docs.sh b/.kokoro/publish-docs.sh index a763455..145d632 100755 --- a/.kokoro/publish-docs.sh +++ b/.kokoro/publish-docs.sh @@ -1,3 +1,18 @@ +#!/bin/bash +# Copyright 2020 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 +# +# https://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. + #!/bin/bash set -eo pipefail diff --git a/.kokoro/release.sh b/.kokoro/release.sh index cf52428..52d7db4 100755 --- a/.kokoro/release.sh +++ b/.kokoro/release.sh @@ -1,3 +1,18 @@ +#!/bin/bash +# Copyright 2020 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 +# +# https://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. + #!/bin/bash set -eo pipefail diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 74851e0..588ede3 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -143,7 +143,7 @@ Running System Tests - To run system tests, you can execute:: $ nox -s system-3.7 - $ nox -s system-2.7 + $ nox -s system-2.7 .. note:: diff --git a/docs/conf.py b/docs/conf.py index 419551e..26233eb 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -20,7 +20,7 @@ # documentation root, use os.path.abspath to make it absolute, like shown here. sys.path.insert(0, os.path.abspath("..")) -__version__ = "0.1.0" +__version__ = "" # -- General configuration ------------------------------------------------ diff --git a/docs/gapic/v1/api.rst b/docs/gapic/v1/api.rst new file mode 100644 index 0000000..126fdad --- /dev/null +++ b/docs/gapic/v1/api.rst @@ -0,0 +1,6 @@ +Client for Secret Manager API +============================= + +.. automodule:: google.cloud.secretmanager_v1 + :members: + :inherited-members: \ No newline at end of file diff --git a/docs/gapic/v1/types.rst b/docs/gapic/v1/types.rst new file mode 100644 index 0000000..28b0dc4 --- /dev/null +++ b/docs/gapic/v1/types.rst @@ -0,0 +1,5 @@ +Types for Secret Manager API Client +=================================== + +.. automodule:: google.cloud.secretmanager_v1.types + :members: \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index 0d084da..fd9ab86 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,7 +1,15 @@ .. include:: README.rst -Api Reference -------------- +v1 Api Reference +---------------- +.. toctree:: + :maxdepth: 2 + + gapic/v1/api + gapic/v1/types + +v1beta1 Api Reference +--------------------- .. toctree:: :maxdepth: 2 @@ -13,4 +21,4 @@ Changelog .. toctree:: :maxdepth: 2 - changelog \ No newline at end of file + changelog diff --git a/google/__init__.py b/google/__init__.py index 8fcc60e..9a1b64a 100644 --- a/google/__init__.py +++ b/google/__init__.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright 2019 Google LLC +# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/__init__.py b/google/cloud/__init__.py index 8fcc60e..9a1b64a 100644 --- a/google/cloud/__init__.py +++ b/google/cloud/__init__.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright 2019 Google LLC +# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/google/cloud/secretmanager.py b/google/cloud/secretmanager.py index 0f5aacb..b691efa 100644 --- a/google/cloud/secretmanager.py +++ b/google/cloud/secretmanager.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright 2019 Google LLC +# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,9 +17,9 @@ from __future__ import absolute_import -from google.cloud.secretmanager_v1beta1 import SecretManagerServiceClient -from google.cloud.secretmanager_v1beta1 import enums -from google.cloud.secretmanager_v1beta1 import types +from google.cloud.secretmanager_v1 import SecretManagerServiceClient +from google.cloud.secretmanager_v1 import enums +from google.cloud.secretmanager_v1 import types __all__ = ("enums", "types", "SecretManagerServiceClient") diff --git a/google/cloud/secretmanager_v1/__init__.py b/google/cloud/secretmanager_v1/__init__.py new file mode 100644 index 0000000..8095975 --- /dev/null +++ b/google/cloud/secretmanager_v1/__init__.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# +# Copyright 2020 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 +# +# https://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. + + +from __future__ import absolute_import +import sys +import warnings + +from google.cloud.secretmanager_v1 import types +from google.cloud.secretmanager_v1.gapic import enums +from google.cloud.secretmanager_v1.gapic import secret_manager_service_client + + +if sys.version_info[:2] == (2, 7): + message = ( + "A future version of this library will drop support for Python 2.7." + "More details about Python 2 support for Google Cloud Client Libraries" + "can be found at https://cloud.google.com/python/docs/python2-sunset/" + ) + warnings.warn(message, DeprecationWarning) + + +class SecretManagerServiceClient( + secret_manager_service_client.SecretManagerServiceClient +): + __doc__ = secret_manager_service_client.SecretManagerServiceClient.__doc__ + enums = enums + + +__all__ = ("enums", "types", "SecretManagerServiceClient") diff --git a/google/cloud/secretmanager_v1/gapic/__init__.py b/google/cloud/secretmanager_v1/gapic/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/google/cloud/secretmanager_v1/gapic/enums.py b/google/cloud/secretmanager_v1/gapic/enums.py new file mode 100644 index 0000000..e77df68 --- /dev/null +++ b/google/cloud/secretmanager_v1/gapic/enums.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# +# Copyright 2020 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 +# +# https://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. + +"""Wrappers for protocol buffer enum types.""" + +import enum + + +class SecretVersion(object): + class State(enum.IntEnum): + """ + The state of a ``SecretVersion``, indicating if it can be accessed. + + Attributes: + STATE_UNSPECIFIED (int): Not specified. This value is unused and invalid. + ENABLED (int): The ``SecretVersion`` may be accessed. + DISABLED (int): The ``SecretVersion`` may not be accessed, but the secret data is + still available and can be placed back into the ``ENABLED`` state. + DESTROYED (int): The ``SecretVersion`` is destroyed and the secret data is no longer + stored. A version may not leave this state once entered. + """ + + STATE_UNSPECIFIED = 0 + ENABLED = 1 + DISABLED = 2 + DESTROYED = 3 diff --git a/google/cloud/secretmanager_v1/gapic/secret_manager_service_client.py b/google/cloud/secretmanager_v1/gapic/secret_manager_service_client.py new file mode 100644 index 0000000..9a748d9 --- /dev/null +++ b/google/cloud/secretmanager_v1/gapic/secret_manager_service_client.py @@ -0,0 +1,1435 @@ +# -*- coding: utf-8 -*- +# +# Copyright 2020 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 +# +# https://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. + +"""Accesses the google.cloud.secretmanager.v1 SecretManagerService API.""" + +import functools +import pkg_resources +import warnings + +from google.oauth2 import service_account +import google.api_core.client_options +import google.api_core.gapic_v1.client_info +import google.api_core.gapic_v1.config +import google.api_core.gapic_v1.method +import google.api_core.gapic_v1.routing_header +import google.api_core.grpc_helpers +import google.api_core.page_iterator +import google.api_core.path_template +import grpc + +from google.cloud.secretmanager_v1.gapic import enums +from google.cloud.secretmanager_v1.gapic import secret_manager_service_client_config +from google.cloud.secretmanager_v1.gapic.transports import ( + secret_manager_service_grpc_transport, +) +from google.cloud.secretmanager_v1.proto import resources_pb2 +from google.cloud.secretmanager_v1.proto import service_pb2 +from google.cloud.secretmanager_v1.proto import service_pb2_grpc +from google.iam.v1 import iam_policy_pb2 +from google.iam.v1 import options_pb2 +from google.iam.v1 import policy_pb2 +from google.protobuf import empty_pb2 +from google.protobuf import field_mask_pb2 + + +_GAPIC_LIBRARY_VERSION = pkg_resources.get_distribution( + "google-cloud-secret-manager" +).version + + +class SecretManagerServiceClient(object): + """ + Secret Manager Service + + Manages secrets and operations using those secrets. Implements a REST + model with the following objects: + + - ``Secret`` + - ``SecretVersion`` + """ + + SERVICE_ADDRESS = "secretmanager.googleapis.com:443" + """The default address of the service.""" + + # The name of the interface for this client. This is the key used to + # find the method configuration in the client_config dictionary. + _INTERFACE_NAME = "google.cloud.secretmanager.v1.SecretManagerService" + + @classmethod + def from_service_account_file(cls, filename, *args, **kwargs): + """Creates an instance of this client using the provided credentials + file. + + Args: + filename (str): The path to the service account private key json + file. + args: Additional arguments to pass to the constructor. + kwargs: Additional arguments to pass to the constructor. + + Returns: + SecretManagerServiceClient: The constructed client. + """ + credentials = service_account.Credentials.from_service_account_file(filename) + kwargs["credentials"] = credentials + return cls(*args, **kwargs) + + from_service_account_json = from_service_account_file + + @classmethod + def project_path(cls, project): + """Return a fully-qualified project string.""" + return google.api_core.path_template.expand( + "projects/{project}", project=project + ) + + @classmethod + def secret_path(cls, project, secret): + """Return a fully-qualified secret string.""" + return google.api_core.path_template.expand( + "projects/{project}/secrets/{secret}", project=project, secret=secret + ) + + @classmethod + def secret_version_path(cls, project, secret, secret_version): + """Return a fully-qualified secret_version string.""" + return google.api_core.path_template.expand( + "projects/{project}/secrets/{secret}/versions/{secret_version}", + project=project, + secret=secret, + secret_version=secret_version, + ) + + def __init__( + self, + transport=None, + channel=None, + credentials=None, + client_config=None, + client_info=None, + client_options=None, + ): + """Constructor. + + Args: + transport (Union[~.SecretManagerServiceGrpcTransport, + Callable[[~.Credentials, type], ~.SecretManagerServiceGrpcTransport]): A transport + instance, responsible for actually making the API calls. + The default transport uses the gRPC protocol. + This argument may also be a callable which returns a + transport instance. Callables will be sent the credentials + as the first argument and the default transport class as + the second argument. + channel (grpc.Channel): DEPRECATED. A ``Channel`` instance + through which to make calls. This argument is mutually exclusive + with ``credentials``; providing both will raise an exception. + credentials (google.auth.credentials.Credentials): The + authorization credentials to attach to requests. These + credentials identify this application to the service. If none + are specified, the client will attempt to ascertain the + credentials from the environment. + This argument is mutually exclusive with providing a + transport instance to ``transport``; doing so will raise + an exception. + client_config (dict): DEPRECATED. A dictionary of call options for + each method. If not specified, the default configuration is used. + client_info (google.api_core.gapic_v1.client_info.ClientInfo): + The client info used to send a user-agent string along with + API requests. If ``None``, then default info will be used. + Generally, you only need to set this if you're developing + your own client library. + client_options (Union[dict, google.api_core.client_options.ClientOptions]): + Client options used to set user options on the client. API Endpoint + should be set through client_options. + """ + # Raise deprecation warnings for things we want to go away. + if client_config is not None: + warnings.warn( + "The `client_config` argument is deprecated.", + PendingDeprecationWarning, + stacklevel=2, + ) + else: + client_config = secret_manager_service_client_config.config + + if channel: + warnings.warn( + "The `channel` argument is deprecated; use " "`transport` instead.", + PendingDeprecationWarning, + stacklevel=2, + ) + + api_endpoint = self.SERVICE_ADDRESS + if client_options: + if type(client_options) == dict: + client_options = google.api_core.client_options.from_dict( + client_options + ) + if client_options.api_endpoint: + api_endpoint = client_options.api_endpoint + + # Instantiate the transport. + # The transport is responsible for handling serialization and + # deserialization and actually sending data to the service. + if transport: + if callable(transport): + self.transport = transport( + credentials=credentials, + default_class=secret_manager_service_grpc_transport.SecretManagerServiceGrpcTransport, + address=api_endpoint, + ) + else: + if credentials: + raise ValueError( + "Received both a transport instance and " + "credentials; these are mutually exclusive." + ) + self.transport = transport + else: + self.transport = secret_manager_service_grpc_transport.SecretManagerServiceGrpcTransport( + address=api_endpoint, channel=channel, credentials=credentials + ) + + if client_info is None: + client_info = google.api_core.gapic_v1.client_info.ClientInfo( + gapic_version=_GAPIC_LIBRARY_VERSION + ) + else: + client_info.gapic_version = _GAPIC_LIBRARY_VERSION + self._client_info = client_info + + # Parse out the default settings for retry and timeout for each RPC + # from the client configuration. + # (Ordinarily, these are the defaults specified in the `*_config.py` + # file next to this one.) + self._method_configs = google.api_core.gapic_v1.config.parse_method_configs( + client_config["interfaces"][self._INTERFACE_NAME] + ) + + # Save a dictionary of cached API call functions. + # These are the actual callables which invoke the proper + # transport methods, wrapped with `wrap_method` to add retry, + # timeout, and the like. + self._inner_api_calls = {} + + # Service calls + def list_secrets( + self, + parent, + page_size=None, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Lists ``Secrets``. + + Example: + >>> from google.cloud import secretmanager_v1 + >>> + >>> client = secretmanager_v1.SecretManagerServiceClient() + >>> + >>> parent = client.project_path('[PROJECT]') + >>> + >>> # Iterate over all results + >>> for element in client.list_secrets(parent): + ... # process element + ... pass + >>> + >>> + >>> # Alternatively: + >>> + >>> # Iterate over results one page at a time + >>> for page in client.list_secrets(parent).pages: + ... for element in page: + ... # process element + ... pass + + Args: + parent (str): Required. The resource name of the project associated with the + ``Secrets``, in the format ``projects/*``. + page_size (int): The maximum number of resources contained in the + underlying API response. If page streaming is performed per- + resource, this parameter does not affect the return value. If page + streaming is performed per-page, this determines the maximum number + of resources in a page. + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Returns: + A :class:`~google.api_core.page_iterator.PageIterator` instance. + An iterable of :class:`~google.cloud.secretmanager_v1.types.Secret` instances. + You can also iterate over the pages of the response + using its `pages` property. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "list_secrets" not in self._inner_api_calls: + self._inner_api_calls[ + "list_secrets" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.list_secrets, + default_retry=self._method_configs["ListSecrets"].retry, + default_timeout=self._method_configs["ListSecrets"].timeout, + client_info=self._client_info, + ) + + request = service_pb2.ListSecretsRequest(parent=parent, page_size=page_size) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("parent", parent)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + iterator = google.api_core.page_iterator.GRPCIterator( + client=None, + method=functools.partial( + self._inner_api_calls["list_secrets"], + retry=retry, + timeout=timeout, + metadata=metadata, + ), + request=request, + items_field="secrets", + request_token_field="page_token", + response_token_field="next_page_token", + ) + return iterator + + def create_secret( + self, + parent, + secret_id, + secret, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Creates a new ``Secret`` containing no ``SecretVersions``. + + Example: + >>> from google.cloud import secretmanager_v1 + >>> + >>> client = secretmanager_v1.SecretManagerServiceClient() + >>> + >>> parent = client.project_path('[PROJECT]') + >>> + >>> # TODO: Initialize `secret_id`: + >>> secret_id = '' + >>> + >>> # TODO: Initialize `secret`: + >>> secret = {} + >>> + >>> response = client.create_secret(parent, secret_id, secret) + + Args: + parent (str): Required. The resource name of the project to associate with the + ``Secret``, in the format ``projects/*``. + secret_id (str): Required. This must be unique within the project. + secret (Union[dict, ~google.cloud.secretmanager_v1.types.Secret]): Required. A ``Secret`` with initial field values. + + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.secretmanager_v1.types.Secret` + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Returns: + A :class:`~google.cloud.secretmanager_v1.types.Secret` instance. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "create_secret" not in self._inner_api_calls: + self._inner_api_calls[ + "create_secret" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.create_secret, + default_retry=self._method_configs["CreateSecret"].retry, + default_timeout=self._method_configs["CreateSecret"].timeout, + client_info=self._client_info, + ) + + request = service_pb2.CreateSecretRequest( + parent=parent, secret_id=secret_id, secret=secret + ) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("parent", parent)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + return self._inner_api_calls["create_secret"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + + def add_secret_version( + self, + parent, + payload, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Creates a new ``SecretVersion`` containing secret data and attaches + it to an existing ``Secret``. + + Example: + >>> from google.cloud import secretmanager_v1 + >>> + >>> client = secretmanager_v1.SecretManagerServiceClient() + >>> + >>> parent = client.secret_path('[PROJECT]', '[SECRET]') + >>> + >>> # TODO: Initialize `payload`: + >>> payload = {} + >>> + >>> response = client.add_secret_version(parent, payload) + + Args: + parent (str): Required. The resource name of the ``Secret`` to associate with the + ``SecretVersion`` in the format ``projects/*/secrets/*``. + payload (Union[dict, ~google.cloud.secretmanager_v1.types.SecretPayload]): Required. The secret payload of the ``SecretVersion``. + + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.secretmanager_v1.types.SecretPayload` + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Returns: + A :class:`~google.cloud.secretmanager_v1.types.SecretVersion` instance. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "add_secret_version" not in self._inner_api_calls: + self._inner_api_calls[ + "add_secret_version" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.add_secret_version, + default_retry=self._method_configs["AddSecretVersion"].retry, + default_timeout=self._method_configs["AddSecretVersion"].timeout, + client_info=self._client_info, + ) + + request = service_pb2.AddSecretVersionRequest(parent=parent, payload=payload) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("parent", parent)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + return self._inner_api_calls["add_secret_version"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + + def get_secret( + self, + name, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Gets metadata for a given ``Secret``. + + Example: + >>> from google.cloud import secretmanager_v1 + >>> + >>> client = secretmanager_v1.SecretManagerServiceClient() + >>> + >>> name = client.secret_path('[PROJECT]', '[SECRET]') + >>> + >>> response = client.get_secret(name) + + Args: + name (str): Required. The resource name of the ``Secret``, in the format + ``projects/*/secrets/*``. + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Returns: + A :class:`~google.cloud.secretmanager_v1.types.Secret` instance. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "get_secret" not in self._inner_api_calls: + self._inner_api_calls[ + "get_secret" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.get_secret, + default_retry=self._method_configs["GetSecret"].retry, + default_timeout=self._method_configs["GetSecret"].timeout, + client_info=self._client_info, + ) + + request = service_pb2.GetSecretRequest(name=name) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("name", name)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + return self._inner_api_calls["get_secret"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + + def update_secret( + self, + secret, + update_mask, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Updates metadata of an existing ``Secret``. + + Example: + >>> from google.cloud import secretmanager_v1 + >>> + >>> client = secretmanager_v1.SecretManagerServiceClient() + >>> + >>> # TODO: Initialize `secret`: + >>> secret = {} + >>> + >>> # TODO: Initialize `update_mask`: + >>> update_mask = {} + >>> + >>> response = client.update_secret(secret, update_mask) + + Args: + secret (Union[dict, ~google.cloud.secretmanager_v1.types.Secret]): Required. ``Secret`` with updated field values. + + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.secretmanager_v1.types.Secret` + update_mask (Union[dict, ~google.cloud.secretmanager_v1.types.FieldMask]): Required. Specifies the fields to be updated. + + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.secretmanager_v1.types.FieldMask` + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Returns: + A :class:`~google.cloud.secretmanager_v1.types.Secret` instance. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "update_secret" not in self._inner_api_calls: + self._inner_api_calls[ + "update_secret" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.update_secret, + default_retry=self._method_configs["UpdateSecret"].retry, + default_timeout=self._method_configs["UpdateSecret"].timeout, + client_info=self._client_info, + ) + + request = service_pb2.UpdateSecretRequest( + secret=secret, update_mask=update_mask + ) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("secret.name", secret.name)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + return self._inner_api_calls["update_secret"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + + def delete_secret( + self, + name, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Deletes a ``Secret``. + + Example: + >>> from google.cloud import secretmanager_v1 + >>> + >>> client = secretmanager_v1.SecretManagerServiceClient() + >>> + >>> name = client.secret_path('[PROJECT]', '[SECRET]') + >>> + >>> client.delete_secret(name) + + Args: + name (str): Required. The resource name of the ``Secret`` to delete in the + format ``projects/*/secrets/*``. + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "delete_secret" not in self._inner_api_calls: + self._inner_api_calls[ + "delete_secret" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.delete_secret, + default_retry=self._method_configs["DeleteSecret"].retry, + default_timeout=self._method_configs["DeleteSecret"].timeout, + client_info=self._client_info, + ) + + request = service_pb2.DeleteSecretRequest(name=name) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("name", name)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + self._inner_api_calls["delete_secret"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + + def list_secret_versions( + self, + parent, + page_size=None, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Lists ``SecretVersions``. This call does not return secret data. + + Example: + >>> from google.cloud import secretmanager_v1 + >>> + >>> client = secretmanager_v1.SecretManagerServiceClient() + >>> + >>> parent = client.secret_path('[PROJECT]', '[SECRET]') + >>> + >>> # Iterate over all results + >>> for element in client.list_secret_versions(parent): + ... # process element + ... pass + >>> + >>> + >>> # Alternatively: + >>> + >>> # Iterate over results one page at a time + >>> for page in client.list_secret_versions(parent).pages: + ... for element in page: + ... # process element + ... pass + + Args: + parent (str): Required. The resource name of the ``Secret`` associated with the + ``SecretVersions`` to list, in the format ``projects/*/secrets/*``. + page_size (int): The maximum number of resources contained in the + underlying API response. If page streaming is performed per- + resource, this parameter does not affect the return value. If page + streaming is performed per-page, this determines the maximum number + of resources in a page. + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Returns: + A :class:`~google.api_core.page_iterator.PageIterator` instance. + An iterable of :class:`~google.cloud.secretmanager_v1.types.SecretVersion` instances. + You can also iterate over the pages of the response + using its `pages` property. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "list_secret_versions" not in self._inner_api_calls: + self._inner_api_calls[ + "list_secret_versions" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.list_secret_versions, + default_retry=self._method_configs["ListSecretVersions"].retry, + default_timeout=self._method_configs["ListSecretVersions"].timeout, + client_info=self._client_info, + ) + + request = service_pb2.ListSecretVersionsRequest( + parent=parent, page_size=page_size + ) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("parent", parent)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + iterator = google.api_core.page_iterator.GRPCIterator( + client=None, + method=functools.partial( + self._inner_api_calls["list_secret_versions"], + retry=retry, + timeout=timeout, + metadata=metadata, + ), + request=request, + items_field="versions", + request_token_field="page_token", + response_token_field="next_page_token", + ) + return iterator + + def get_secret_version( + self, + name, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Gets metadata for a ``SecretVersion``. + + ``projects/*/secrets/*/versions/latest`` is an alias to the ``latest`` + ``SecretVersion``. + + Example: + >>> from google.cloud import secretmanager_v1 + >>> + >>> client = secretmanager_v1.SecretManagerServiceClient() + >>> + >>> name = client.secret_version_path('[PROJECT]', '[SECRET]', '[SECRET_VERSION]') + >>> + >>> response = client.get_secret_version(name) + + Args: + name (str): Required. The resource name of the ``SecretVersion`` in the format + ``projects/*/secrets/*/versions/*``. + ``projects/*/secrets/*/versions/latest`` is an alias to the ``latest`` + ``SecretVersion``. + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Returns: + A :class:`~google.cloud.secretmanager_v1.types.SecretVersion` instance. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "get_secret_version" not in self._inner_api_calls: + self._inner_api_calls[ + "get_secret_version" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.get_secret_version, + default_retry=self._method_configs["GetSecretVersion"].retry, + default_timeout=self._method_configs["GetSecretVersion"].timeout, + client_info=self._client_info, + ) + + request = service_pb2.GetSecretVersionRequest(name=name) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("name", name)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + return self._inner_api_calls["get_secret_version"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + + def access_secret_version( + self, + name, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Accesses a ``SecretVersion``. This call returns the secret data. + + ``projects/*/secrets/*/versions/latest`` is an alias to the ``latest`` + ``SecretVersion``. + + Example: + >>> from google.cloud import secretmanager_v1 + >>> + >>> client = secretmanager_v1.SecretManagerServiceClient() + >>> + >>> name = client.secret_version_path('[PROJECT]', '[SECRET]', '[SECRET_VERSION]') + >>> + >>> response = client.access_secret_version(name) + + Args: + name (str): Required. The resource name of the ``SecretVersion`` in the format + ``projects/*/secrets/*/versions/*``. + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Returns: + A :class:`~google.cloud.secretmanager_v1.types.AccessSecretVersionResponse` instance. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "access_secret_version" not in self._inner_api_calls: + self._inner_api_calls[ + "access_secret_version" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.access_secret_version, + default_retry=self._method_configs["AccessSecretVersion"].retry, + default_timeout=self._method_configs["AccessSecretVersion"].timeout, + client_info=self._client_info, + ) + + request = service_pb2.AccessSecretVersionRequest(name=name) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("name", name)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + return self._inner_api_calls["access_secret_version"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + + def disable_secret_version( + self, + name, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Disables a ``SecretVersion``. + + Sets the ``state`` of the ``SecretVersion`` to ``DISABLED``. + + Example: + >>> from google.cloud import secretmanager_v1 + >>> + >>> client = secretmanager_v1.SecretManagerServiceClient() + >>> + >>> name = client.secret_version_path('[PROJECT]', '[SECRET]', '[SECRET_VERSION]') + >>> + >>> response = client.disable_secret_version(name) + + Args: + name (str): Required. The resource name of the ``SecretVersion`` to disable in + the format ``projects/*/secrets/*/versions/*``. + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Returns: + A :class:`~google.cloud.secretmanager_v1.types.SecretVersion` instance. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "disable_secret_version" not in self._inner_api_calls: + self._inner_api_calls[ + "disable_secret_version" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.disable_secret_version, + default_retry=self._method_configs["DisableSecretVersion"].retry, + default_timeout=self._method_configs["DisableSecretVersion"].timeout, + client_info=self._client_info, + ) + + request = service_pb2.DisableSecretVersionRequest(name=name) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("name", name)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + return self._inner_api_calls["disable_secret_version"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + + def enable_secret_version( + self, + name, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Enables a ``SecretVersion``. + + Sets the ``state`` of the ``SecretVersion`` to ``ENABLED``. + + Example: + >>> from google.cloud import secretmanager_v1 + >>> + >>> client = secretmanager_v1.SecretManagerServiceClient() + >>> + >>> name = client.secret_version_path('[PROJECT]', '[SECRET]', '[SECRET_VERSION]') + >>> + >>> response = client.enable_secret_version(name) + + Args: + name (str): Required. The resource name of the ``SecretVersion`` to enable in + the format ``projects/*/secrets/*/versions/*``. + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Returns: + A :class:`~google.cloud.secretmanager_v1.types.SecretVersion` instance. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "enable_secret_version" not in self._inner_api_calls: + self._inner_api_calls[ + "enable_secret_version" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.enable_secret_version, + default_retry=self._method_configs["EnableSecretVersion"].retry, + default_timeout=self._method_configs["EnableSecretVersion"].timeout, + client_info=self._client_info, + ) + + request = service_pb2.EnableSecretVersionRequest(name=name) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("name", name)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + return self._inner_api_calls["enable_secret_version"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + + def destroy_secret_version( + self, + name, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Destroys a ``SecretVersion``. + + Sets the ``state`` of the ``SecretVersion`` to ``DESTROYED`` and + irrevocably destroys the secret data. + + Example: + >>> from google.cloud import secretmanager_v1 + >>> + >>> client = secretmanager_v1.SecretManagerServiceClient() + >>> + >>> name = client.secret_version_path('[PROJECT]', '[SECRET]', '[SECRET_VERSION]') + >>> + >>> response = client.destroy_secret_version(name) + + Args: + name (str): Required. The resource name of the ``SecretVersion`` to destroy in + the format ``projects/*/secrets/*/versions/*``. + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Returns: + A :class:`~google.cloud.secretmanager_v1.types.SecretVersion` instance. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "destroy_secret_version" not in self._inner_api_calls: + self._inner_api_calls[ + "destroy_secret_version" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.destroy_secret_version, + default_retry=self._method_configs["DestroySecretVersion"].retry, + default_timeout=self._method_configs["DestroySecretVersion"].timeout, + client_info=self._client_info, + ) + + request = service_pb2.DestroySecretVersionRequest(name=name) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("name", name)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + return self._inner_api_calls["destroy_secret_version"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + + def set_iam_policy( + self, + resource, + policy, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Sets the access control policy on the specified secret. Replaces any + existing policy. + + Permissions on ``SecretVersions`` are enforced according to the policy + set on the associated ``Secret``. + + Example: + >>> from google.cloud import secretmanager_v1 + >>> + >>> client = secretmanager_v1.SecretManagerServiceClient() + >>> + >>> # TODO: Initialize `resource`: + >>> resource = '' + >>> + >>> # TODO: Initialize `policy`: + >>> policy = {} + >>> + >>> response = client.set_iam_policy(resource, policy) + + Args: + resource (str): REQUIRED: The resource for which the policy is being specified. + See the operation documentation for the appropriate value for this field. + policy (Union[dict, ~google.cloud.secretmanager_v1.types.Policy]): REQUIRED: The complete policy to be applied to the ``resource``. The + size of the policy is limited to a few 10s of KB. An empty policy is a + valid policy but certain Cloud Platform services (such as Projects) + might reject them. + + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.secretmanager_v1.types.Policy` + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Returns: + A :class:`~google.cloud.secretmanager_v1.types.Policy` instance. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "set_iam_policy" not in self._inner_api_calls: + self._inner_api_calls[ + "set_iam_policy" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.set_iam_policy, + default_retry=self._method_configs["SetIamPolicy"].retry, + default_timeout=self._method_configs["SetIamPolicy"].timeout, + client_info=self._client_info, + ) + + request = iam_policy_pb2.SetIamPolicyRequest(resource=resource, policy=policy) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("resource", resource)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + return self._inner_api_calls["set_iam_policy"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + + def get_iam_policy( + self, + resource, + options_=None, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Gets the access control policy for a secret. + Returns empty policy if the secret exists and does not have a policy set. + + Example: + >>> from google.cloud import secretmanager_v1 + >>> + >>> client = secretmanager_v1.SecretManagerServiceClient() + >>> + >>> # TODO: Initialize `resource`: + >>> resource = '' + >>> + >>> response = client.get_iam_policy(resource) + + Args: + resource (str): REQUIRED: The resource for which the policy is being requested. + See the operation documentation for the appropriate value for this field. + options_ (Union[dict, ~google.cloud.secretmanager_v1.types.GetPolicyOptions]): OPTIONAL: A ``GetPolicyOptions`` object for specifying options to + ``GetIamPolicy``. This field is only used by Cloud IAM. + + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.secretmanager_v1.types.GetPolicyOptions` + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Returns: + A :class:`~google.cloud.secretmanager_v1.types.Policy` instance. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "get_iam_policy" not in self._inner_api_calls: + self._inner_api_calls[ + "get_iam_policy" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.get_iam_policy, + default_retry=self._method_configs["GetIamPolicy"].retry, + default_timeout=self._method_configs["GetIamPolicy"].timeout, + client_info=self._client_info, + ) + + request = iam_policy_pb2.GetIamPolicyRequest( + resource=resource, options=options_ + ) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("resource", resource)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + return self._inner_api_calls["get_iam_policy"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + + def test_iam_permissions( + self, + resource, + permissions, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Returns permissions that a caller has for the specified secret. If + the secret does not exist, this call returns an empty set of + permissions, not a NOT_FOUND error. + + Note: This operation is designed to be used for building + permission-aware UIs and command-line tools, not for authorization + checking. This operation may "fail open" without warning. + + Example: + >>> from google.cloud import secretmanager_v1 + >>> + >>> client = secretmanager_v1.SecretManagerServiceClient() + >>> + >>> # TODO: Initialize `resource`: + >>> resource = '' + >>> + >>> # TODO: Initialize `permissions`: + >>> permissions = [] + >>> + >>> response = client.test_iam_permissions(resource, permissions) + + Args: + resource (str): REQUIRED: The resource for which the policy detail is being requested. + See the operation documentation for the appropriate value for this field. + permissions (list[str]): The set of permissions to check for the ``resource``. Permissions + with wildcards (such as '*' or 'storage.*') are not allowed. For more + information see `IAM + Overview `__. + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Returns: + A :class:`~google.cloud.secretmanager_v1.types.TestIamPermissionsResponse` instance. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "test_iam_permissions" not in self._inner_api_calls: + self._inner_api_calls[ + "test_iam_permissions" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.test_iam_permissions, + default_retry=self._method_configs["TestIamPermissions"].retry, + default_timeout=self._method_configs["TestIamPermissions"].timeout, + client_info=self._client_info, + ) + + request = iam_policy_pb2.TestIamPermissionsRequest( + resource=resource, permissions=permissions + ) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("resource", resource)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + return self._inner_api_calls["test_iam_permissions"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) diff --git a/google/cloud/secretmanager_v1/gapic/secret_manager_service_client_config.py b/google/cloud/secretmanager_v1/gapic/secret_manager_service_client_config.py new file mode 100644 index 0000000..e8be643 --- /dev/null +++ b/google/cloud/secretmanager_v1/gapic/secret_manager_service_client_config.py @@ -0,0 +1,98 @@ +config = { + "interfaces": { + "google.cloud.secretmanager.v1.SecretManagerService": { + "retry_codes": { + "idempotent": ["DEADLINE_EXCEEDED", "UNAVAILABLE"], + "non_idempotent": [], + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 20000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 20000, + "total_timeout_millis": 600000, + } + }, + "methods": { + "ListSecrets": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default", + }, + "CreateSecret": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default", + }, + "AddSecretVersion": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default", + }, + "GetSecret": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default", + }, + "UpdateSecret": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default", + }, + "DeleteSecret": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default", + }, + "ListSecretVersions": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default", + }, + "GetSecretVersion": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default", + }, + "AccessSecretVersion": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default", + }, + "DisableSecretVersion": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default", + }, + "EnableSecretVersion": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default", + }, + "DestroySecretVersion": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default", + }, + "SetIamPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default", + }, + "GetIamPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default", + }, + "TestIamPermissions": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default", + }, + }, + } + } +} diff --git a/google/cloud/secretmanager_v1/gapic/transports/__init__.py b/google/cloud/secretmanager_v1/gapic/transports/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/google/cloud/secretmanager_v1/gapic/transports/secret_manager_service_grpc_transport.py b/google/cloud/secretmanager_v1/gapic/transports/secret_manager_service_grpc_transport.py new file mode 100644 index 0000000..7d45544 --- /dev/null +++ b/google/cloud/secretmanager_v1/gapic/transports/secret_manager_service_grpc_transport.py @@ -0,0 +1,330 @@ +# -*- coding: utf-8 -*- +# +# Copyright 2020 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 +# +# https://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. + + +import google.api_core.grpc_helpers + +from google.cloud.secretmanager_v1.proto import service_pb2_grpc + + +class SecretManagerServiceGrpcTransport(object): + """gRPC transport class providing stubs for + google.cloud.secretmanager.v1 SecretManagerService API. + + The transport provides access to the raw gRPC stubs, + which can be used to take advantage of advanced + features of gRPC. + """ + + # The scopes needed to make gRPC calls to all of the methods defined + # in this service. + _OAUTH_SCOPES = ("https://www.googleapis.com/auth/cloud-platform",) + + def __init__( + self, channel=None, credentials=None, address="secretmanager.googleapis.com:443" + ): + """Instantiate the transport class. + + Args: + channel (grpc.Channel): A ``Channel`` instance through + which to make calls. This argument is mutually exclusive + with ``credentials``; providing both will raise an exception. + credentials (google.auth.credentials.Credentials): The + authorization credentials to attach to requests. These + credentials identify this application to the service. If none + are specified, the client will attempt to ascertain the + credentials from the environment. + address (str): The address where the service is hosted. + """ + # If both `channel` and `credentials` are specified, raise an + # exception (channels come with credentials baked in already). + if channel is not None and credentials is not None: + raise ValueError( + "The `channel` and `credentials` arguments are mutually " "exclusive." + ) + + # Create the channel. + if channel is None: + channel = self.create_channel( + address=address, + credentials=credentials, + options={ + "grpc.max_send_message_length": -1, + "grpc.max_receive_message_length": -1, + }.items(), + ) + + self._channel = channel + + # gRPC uses objects called "stubs" that are bound to the + # channel and provide a basic method for each RPC. + self._stubs = { + "secret_manager_service_stub": service_pb2_grpc.SecretManagerServiceStub( + channel + ) + } + + @classmethod + def create_channel( + cls, address="secretmanager.googleapis.com:443", credentials=None, **kwargs + ): + """Create and return a gRPC channel object. + + Args: + address (str): The host for the channel to use. + credentials (~.Credentials): The + authorization credentials to attach to requests. These + credentials identify this application to the service. If + none are specified, the client will attempt to ascertain + the credentials from the environment. + kwargs (dict): Keyword arguments, which are passed to the + channel creation. + + Returns: + grpc.Channel: A gRPC channel object. + """ + return google.api_core.grpc_helpers.create_channel( + address, credentials=credentials, scopes=cls._OAUTH_SCOPES, **kwargs + ) + + @property + def channel(self): + """The gRPC channel used by the transport. + + Returns: + grpc.Channel: A gRPC channel object. + """ + return self._channel + + @property + def list_secrets(self): + """Return the gRPC stub for :meth:`SecretManagerServiceClient.list_secrets`. + + Lists ``Secrets``. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["secret_manager_service_stub"].ListSecrets + + @property + def create_secret(self): + """Return the gRPC stub for :meth:`SecretManagerServiceClient.create_secret`. + + Creates a new ``Secret`` containing no ``SecretVersions``. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["secret_manager_service_stub"].CreateSecret + + @property + def add_secret_version(self): + """Return the gRPC stub for :meth:`SecretManagerServiceClient.add_secret_version`. + + Creates a new ``SecretVersion`` containing secret data and attaches + it to an existing ``Secret``. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["secret_manager_service_stub"].AddSecretVersion + + @property + def get_secret(self): + """Return the gRPC stub for :meth:`SecretManagerServiceClient.get_secret`. + + Gets metadata for a given ``Secret``. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["secret_manager_service_stub"].GetSecret + + @property + def update_secret(self): + """Return the gRPC stub for :meth:`SecretManagerServiceClient.update_secret`. + + Updates metadata of an existing ``Secret``. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["secret_manager_service_stub"].UpdateSecret + + @property + def delete_secret(self): + """Return the gRPC stub for :meth:`SecretManagerServiceClient.delete_secret`. + + Deletes a ``Secret``. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["secret_manager_service_stub"].DeleteSecret + + @property + def list_secret_versions(self): + """Return the gRPC stub for :meth:`SecretManagerServiceClient.list_secret_versions`. + + Lists ``SecretVersions``. This call does not return secret data. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["secret_manager_service_stub"].ListSecretVersions + + @property + def get_secret_version(self): + """Return the gRPC stub for :meth:`SecretManagerServiceClient.get_secret_version`. + + Gets metadata for a ``SecretVersion``. + + ``projects/*/secrets/*/versions/latest`` is an alias to the ``latest`` + ``SecretVersion``. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["secret_manager_service_stub"].GetSecretVersion + + @property + def access_secret_version(self): + """Return the gRPC stub for :meth:`SecretManagerServiceClient.access_secret_version`. + + Accesses a ``SecretVersion``. This call returns the secret data. + + ``projects/*/secrets/*/versions/latest`` is an alias to the ``latest`` + ``SecretVersion``. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["secret_manager_service_stub"].AccessSecretVersion + + @property + def disable_secret_version(self): + """Return the gRPC stub for :meth:`SecretManagerServiceClient.disable_secret_version`. + + Disables a ``SecretVersion``. + + Sets the ``state`` of the ``SecretVersion`` to ``DISABLED``. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["secret_manager_service_stub"].DisableSecretVersion + + @property + def enable_secret_version(self): + """Return the gRPC stub for :meth:`SecretManagerServiceClient.enable_secret_version`. + + Enables a ``SecretVersion``. + + Sets the ``state`` of the ``SecretVersion`` to ``ENABLED``. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["secret_manager_service_stub"].EnableSecretVersion + + @property + def destroy_secret_version(self): + """Return the gRPC stub for :meth:`SecretManagerServiceClient.destroy_secret_version`. + + Destroys a ``SecretVersion``. + + Sets the ``state`` of the ``SecretVersion`` to ``DESTROYED`` and + irrevocably destroys the secret data. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["secret_manager_service_stub"].DestroySecretVersion + + @property + def set_iam_policy(self): + """Return the gRPC stub for :meth:`SecretManagerServiceClient.set_iam_policy`. + + Sets the access control policy on the specified secret. Replaces any + existing policy. + + Permissions on ``SecretVersions`` are enforced according to the policy + set on the associated ``Secret``. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["secret_manager_service_stub"].SetIamPolicy + + @property + def get_iam_policy(self): + """Return the gRPC stub for :meth:`SecretManagerServiceClient.get_iam_policy`. + + Gets the access control policy for a secret. + Returns empty policy if the secret exists and does not have a policy set. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["secret_manager_service_stub"].GetIamPolicy + + @property + def test_iam_permissions(self): + """Return the gRPC stub for :meth:`SecretManagerServiceClient.test_iam_permissions`. + + Returns permissions that a caller has for the specified secret. If + the secret does not exist, this call returns an empty set of + permissions, not a NOT_FOUND error. + + Note: This operation is designed to be used for building + permission-aware UIs and command-line tools, not for authorization + checking. This operation may "fail open" without warning. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["secret_manager_service_stub"].TestIamPermissions diff --git a/google/cloud/secretmanager_v1/proto/__init__.py b/google/cloud/secretmanager_v1/proto/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/google/cloud/secretmanager_v1/proto/resources_pb2.py b/google/cloud/secretmanager_v1/proto/resources_pb2.py new file mode 100644 index 0000000..91d52dd --- /dev/null +++ b/google/cloud/secretmanager_v1/proto/resources_pb2.py @@ -0,0 +1,779 @@ +# -*- coding: utf-8 -*- + +# Copyright 2019 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. + +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/cloud/secretmanager_v1/proto/resources.proto + +import sys + +_b = sys.version_info[0] < 3 and (lambda x: x) or (lambda x: x.encode("latin1")) +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database + +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 +from google.api import resource_pb2 as google_dot_api_dot_resource__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name="google/cloud/secretmanager_v1/proto/resources.proto", + package="google.cloud.secretmanager.v1", + syntax="proto3", + serialized_options=_b( + "\n!com.google.cloud.secretmanager.v1B\016ResourcesProtoP\001ZJgoogle.golang.org/genproto/googleapis/cloud/secretmanager/v1;secretmanager\370\001\001\242\002\003GSM\252\002\035Google.Cloud.SecretManager.V1\312\002\035Google\\Cloud\\SecretManager\\V1\352\002 Google::Cloud::SecretManager::V1" + ), + serialized_pb=_b( + '\n3google/cloud/secretmanager_v1/proto/resources.proto\x12\x1dgoogle.cloud.secretmanager.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/api/annotations.proto"\xdb\x02\n\x06Secret\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12G\n\x0breplication\x18\x02 \x01(\x0b\x32*.google.cloud.secretmanager.v1.ReplicationB\x06\xe0\x41\x05\xe0\x41\x02\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x41\n\x06labels\x18\x04 \x03(\x0b\x32\x31.google.cloud.secretmanager.v1.Secret.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:M\xea\x41J\n#secretmanager.googleapis.com/Secret\x12#projects/{project}/secrets/{secret}"\x91\x03\n\rSecretVersion\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x35\n\x0c\x64\x65stroy_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x46\n\x05state\x18\x04 \x01(\x0e\x32\x32.google.cloud.secretmanager.v1.SecretVersion.StateB\x03\xe0\x41\x03"H\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\r\n\tDESTROYED\x10\x03:n\xea\x41k\n*secretmanager.googleapis.com/SecretVersion\x12=projects/{project}/secrets/{secret}/versions/{secret_version}"\xc8\x02\n\x0bReplication\x12I\n\tautomatic\x18\x01 \x01(\x0b\x32\x34.google.cloud.secretmanager.v1.Replication.AutomaticH\x00\x12N\n\x0cuser_managed\x18\x02 \x01(\x0b\x32\x36.google.cloud.secretmanager.v1.Replication.UserManagedH\x00\x1a\x0b\n\tAutomatic\x1a\x81\x01\n\x0bUserManaged\x12U\n\x08replicas\x18\x01 \x03(\x0b\x32>.google.cloud.secretmanager.v1.Replication.UserManaged.ReplicaB\x03\xe0\x41\x02\x1a\x1b\n\x07Replica\x12\x10\n\x08location\x18\x01 \x01(\tB\r\n\x0breplication"\x1d\n\rSecretPayload\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x42\xed\x01\n!com.google.cloud.secretmanager.v1B\x0eResourcesProtoP\x01ZJgoogle.golang.org/genproto/googleapis/cloud/secretmanager/v1;secretmanager\xf8\x01\x01\xa2\x02\x03GSM\xaa\x02\x1dGoogle.Cloud.SecretManager.V1\xca\x02\x1dGoogle\\Cloud\\SecretManager\\V1\xea\x02 Google::Cloud::SecretManager::V1b\x06proto3' + ), + dependencies=[ + google_dot_api_dot_field__behavior__pb2.DESCRIPTOR, + google_dot_api_dot_resource__pb2.DESCRIPTOR, + google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR, + google_dot_api_dot_annotations__pb2.DESCRIPTOR, + ], +) + + +_SECRETVERSION_STATE = _descriptor.EnumDescriptor( + name="State", + full_name="google.cloud.secretmanager.v1.SecretVersion.State", + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name="STATE_UNSPECIFIED", + index=0, + number=0, + serialized_options=None, + type=None, + ), + _descriptor.EnumValueDescriptor( + name="ENABLED", index=1, number=1, serialized_options=None, type=None + ), + _descriptor.EnumValueDescriptor( + name="DISABLED", index=2, number=2, serialized_options=None, type=None + ), + _descriptor.EnumValueDescriptor( + name="DESTROYED", index=3, number=3, serialized_options=None, type=None + ), + ], + containing_type=None, + serialized_options=None, + serialized_start=777, + serialized_end=849, +) +_sym_db.RegisterEnumDescriptor(_SECRETVERSION_STATE) + + +_SECRET_LABELSENTRY = _descriptor.Descriptor( + name="LabelsEntry", + full_name="google.cloud.secretmanager.v1.Secret.LabelsEntry", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="key", + full_name="google.cloud.secretmanager.v1.Secret.LabelsEntry.key", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="value", + full_name="google.cloud.secretmanager.v1.Secret.LabelsEntry.value", + index=1, + number=2, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=_b("8\001"), + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=433, + serialized_end=478, +) + +_SECRET = _descriptor.Descriptor( + name="Secret", + full_name="google.cloud.secretmanager.v1.Secret", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="name", + full_name="google.cloud.secretmanager.v1.Secret.name", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\003"), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="replication", + full_name="google.cloud.secretmanager.v1.Secret.replication", + index=1, + number=2, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\005\340A\002"), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="create_time", + full_name="google.cloud.secretmanager.v1.Secret.create_time", + index=2, + number=3, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\003"), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="labels", + full_name="google.cloud.secretmanager.v1.Secret.labels", + index=3, + number=4, + type=11, + cpp_type=10, + label=3, + has_default_value=False, + default_value=[], + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), + ], + extensions=[], + nested_types=[_SECRET_LABELSENTRY], + enum_types=[], + serialized_options=_b( + "\352AJ\n#secretmanager.googleapis.com/Secret\022#projects/{project}/secrets/{secret}" + ), + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=210, + serialized_end=557, +) + + +_SECRETVERSION = _descriptor.Descriptor( + name="SecretVersion", + full_name="google.cloud.secretmanager.v1.SecretVersion", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="name", + full_name="google.cloud.secretmanager.v1.SecretVersion.name", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\003"), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="create_time", + full_name="google.cloud.secretmanager.v1.SecretVersion.create_time", + index=1, + number=2, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\003"), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="destroy_time", + full_name="google.cloud.secretmanager.v1.SecretVersion.destroy_time", + index=2, + number=3, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\003"), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="state", + full_name="google.cloud.secretmanager.v1.SecretVersion.state", + index=3, + number=4, + type=14, + cpp_type=8, + label=1, + has_default_value=False, + default_value=0, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\003"), + file=DESCRIPTOR, + ), + ], + extensions=[], + nested_types=[], + enum_types=[_SECRETVERSION_STATE], + serialized_options=_b( + "\352Ak\n*secretmanager.googleapis.com/SecretVersion\022=projects/{project}/secrets/{secret}/versions/{secret_version}" + ), + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=560, + serialized_end=961, +) + + +_REPLICATION_AUTOMATIC = _descriptor.Descriptor( + name="Automatic", + full_name="google.cloud.secretmanager.v1.Replication.Automatic", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=1134, + serialized_end=1145, +) + +_REPLICATION_USERMANAGED_REPLICA = _descriptor.Descriptor( + name="Replica", + full_name="google.cloud.secretmanager.v1.Replication.UserManaged.Replica", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="location", + full_name="google.cloud.secretmanager.v1.Replication.UserManaged.Replica.location", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ) + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=1250, + serialized_end=1277, +) + +_REPLICATION_USERMANAGED = _descriptor.Descriptor( + name="UserManaged", + full_name="google.cloud.secretmanager.v1.Replication.UserManaged", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="replicas", + full_name="google.cloud.secretmanager.v1.Replication.UserManaged.replicas", + index=0, + number=1, + type=11, + cpp_type=10, + label=3, + has_default_value=False, + default_value=[], + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\002"), + file=DESCRIPTOR, + ) + ], + extensions=[], + nested_types=[_REPLICATION_USERMANAGED_REPLICA], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=1148, + serialized_end=1277, +) + +_REPLICATION = _descriptor.Descriptor( + name="Replication", + full_name="google.cloud.secretmanager.v1.Replication", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="automatic", + full_name="google.cloud.secretmanager.v1.Replication.automatic", + index=0, + number=1, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="user_managed", + full_name="google.cloud.secretmanager.v1.Replication.user_managed", + index=1, + number=2, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), + ], + extensions=[], + nested_types=[_REPLICATION_AUTOMATIC, _REPLICATION_USERMANAGED], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name="replication", + full_name="google.cloud.secretmanager.v1.Replication.replication", + index=0, + containing_type=None, + fields=[], + ) + ], + serialized_start=964, + serialized_end=1292, +) + + +_SECRETPAYLOAD = _descriptor.Descriptor( + name="SecretPayload", + full_name="google.cloud.secretmanager.v1.SecretPayload", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="data", + full_name="google.cloud.secretmanager.v1.SecretPayload.data", + index=0, + number=1, + type=12, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b(""), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ) + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=1294, + serialized_end=1323, +) + +_SECRET_LABELSENTRY.containing_type = _SECRET +_SECRET.fields_by_name["replication"].message_type = _REPLICATION +_SECRET.fields_by_name[ + "create_time" +].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP +_SECRET.fields_by_name["labels"].message_type = _SECRET_LABELSENTRY +_SECRETVERSION.fields_by_name[ + "create_time" +].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP +_SECRETVERSION.fields_by_name[ + "destroy_time" +].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP +_SECRETVERSION.fields_by_name["state"].enum_type = _SECRETVERSION_STATE +_SECRETVERSION_STATE.containing_type = _SECRETVERSION +_REPLICATION_AUTOMATIC.containing_type = _REPLICATION +_REPLICATION_USERMANAGED_REPLICA.containing_type = _REPLICATION_USERMANAGED +_REPLICATION_USERMANAGED.fields_by_name[ + "replicas" +].message_type = _REPLICATION_USERMANAGED_REPLICA +_REPLICATION_USERMANAGED.containing_type = _REPLICATION +_REPLICATION.fields_by_name["automatic"].message_type = _REPLICATION_AUTOMATIC +_REPLICATION.fields_by_name["user_managed"].message_type = _REPLICATION_USERMANAGED +_REPLICATION.oneofs_by_name["replication"].fields.append( + _REPLICATION.fields_by_name["automatic"] +) +_REPLICATION.fields_by_name["automatic"].containing_oneof = _REPLICATION.oneofs_by_name[ + "replication" +] +_REPLICATION.oneofs_by_name["replication"].fields.append( + _REPLICATION.fields_by_name["user_managed"] +) +_REPLICATION.fields_by_name[ + "user_managed" +].containing_oneof = _REPLICATION.oneofs_by_name["replication"] +DESCRIPTOR.message_types_by_name["Secret"] = _SECRET +DESCRIPTOR.message_types_by_name["SecretVersion"] = _SECRETVERSION +DESCRIPTOR.message_types_by_name["Replication"] = _REPLICATION +DESCRIPTOR.message_types_by_name["SecretPayload"] = _SECRETPAYLOAD +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +Secret = _reflection.GeneratedProtocolMessageType( + "Secret", + (_message.Message,), + { + "LabelsEntry": _reflection.GeneratedProtocolMessageType( + "LabelsEntry", + (_message.Message,), + { + "DESCRIPTOR": _SECRET_LABELSENTRY, + "__module__": "google.cloud.secretmanager_v1.proto.resources_pb2" + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.Secret.LabelsEntry) + }, + ), + "DESCRIPTOR": _SECRET, + "__module__": "google.cloud.secretmanager_v1.proto.resources_pb2", + "__doc__": """A [Secret][google.cloud.secretmanager.v1.Secret] is a logical secret + whose value and versions can be accessed. + + A [Secret][google.cloud.secretmanager.v1.Secret] is made up of zero or + more [SecretVersions][google.cloud.secretmanager.v1.SecretVersion] that + represent the secret data. + + + Attributes: + name: + Output only. The resource name of the + [Secret][google.cloud.secretmanager.v1.Secret] in the format + ``projects/*/secrets/*``. + replication: + Required. Immutable. The replication policy of the secret data + attached to the + [Secret][google.cloud.secretmanager.v1.Secret]. The + replication policy cannot be changed after the Secret has been + created. + create_time: + Output only. The time at which the + [Secret][google.cloud.secretmanager.v1.Secret] was created. + labels: + The labels assigned to this Secret. Label keys must be + between 1 and 63 characters long, have a UTF-8 encoding of + maximum 128 bytes, and must conform to the following PCRE + regular expression: + ``[\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}`` Label values + must be between 0 and 63 characters long, have a UTF-8 + encoding of maximum 128 bytes, and must conform to the + following PCRE regular expression: + ``[\p{Ll}\p{Lo}\p{N}_-]{0,63}`` No more than 64 labels can be + assigned to a given resource. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.Secret) + }, +) +_sym_db.RegisterMessage(Secret) +_sym_db.RegisterMessage(Secret.LabelsEntry) + +SecretVersion = _reflection.GeneratedProtocolMessageType( + "SecretVersion", + (_message.Message,), + { + "DESCRIPTOR": _SECRETVERSION, + "__module__": "google.cloud.secretmanager_v1.proto.resources_pb2", + "__doc__": """A secret version resource in the Secret Manager API. + + + Attributes: + name: + Output only. The resource name of the + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion] + in the format ``projects/*/secrets/*/versions/*``. + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion] + IDs in a [Secret][google.cloud.secretmanager.v1.Secret] start + at 1 and are incremented for each subsequent version of the + secret. + create_time: + Output only. The time at which the + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion] + was created. + destroy_time: + Output only. The time this + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion] + was destroyed. Only present if + [state][google.cloud.secretmanager.v1.SecretVersion.state] is + [DESTROYED][google.cloud.secretmanager.v1.SecretVersion.State. + DESTROYED]. + state: + Output only. The current state of the + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion]. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.SecretVersion) + }, +) +_sym_db.RegisterMessage(SecretVersion) + +Replication = _reflection.GeneratedProtocolMessageType( + "Replication", + (_message.Message,), + { + "Automatic": _reflection.GeneratedProtocolMessageType( + "Automatic", + (_message.Message,), + { + "DESCRIPTOR": _REPLICATION_AUTOMATIC, + "__module__": "google.cloud.secretmanager_v1.proto.resources_pb2", + "__doc__": """A replication policy that replicates the + [Secret][google.cloud.secretmanager.v1.Secret] payload without any + restrictions. + + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.Replication.Automatic) + }, + ), + "UserManaged": _reflection.GeneratedProtocolMessageType( + "UserManaged", + (_message.Message,), + { + "Replica": _reflection.GeneratedProtocolMessageType( + "Replica", + (_message.Message,), + { + "DESCRIPTOR": _REPLICATION_USERMANAGED_REPLICA, + "__module__": "google.cloud.secretmanager_v1.proto.resources_pb2", + "__doc__": """Represents a Replica for this + [Secret][google.cloud.secretmanager.v1.Secret]. + + + Attributes: + location: + The canonical IDs of the location to replicate data. For + example: ``"us-east1"``. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.Replication.UserManaged.Replica) + }, + ), + "DESCRIPTOR": _REPLICATION_USERMANAGED, + "__module__": "google.cloud.secretmanager_v1.proto.resources_pb2", + "__doc__": """A replication policy that replicates the + [Secret][google.cloud.secretmanager.v1.Secret] payload into the + locations specified in [Secret.replication.user_managed.replicas][] + + + Attributes: + replicas: + Required. The list of Replicas for this + [Secret][google.cloud.secretmanager.v1.Secret]. Cannot be + empty. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.Replication.UserManaged) + }, + ), + "DESCRIPTOR": _REPLICATION, + "__module__": "google.cloud.secretmanager_v1.proto.resources_pb2", + "__doc__": """A policy that defines the replication configuration of + data. + + + Attributes: + replication: + The replication policy for this secret. + automatic: + The [Secret][google.cloud.secretmanager.v1.Secret] will + automatically be replicated without any restrictions. + user_managed: + The [Secret][google.cloud.secretmanager.v1.Secret] will only + be replicated into the locations specified. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.Replication) + }, +) +_sym_db.RegisterMessage(Replication) +_sym_db.RegisterMessage(Replication.Automatic) +_sym_db.RegisterMessage(Replication.UserManaged) +_sym_db.RegisterMessage(Replication.UserManaged.Replica) + +SecretPayload = _reflection.GeneratedProtocolMessageType( + "SecretPayload", + (_message.Message,), + { + "DESCRIPTOR": _SECRETPAYLOAD, + "__module__": "google.cloud.secretmanager_v1.proto.resources_pb2", + "__doc__": """A secret payload resource in the Secret Manager API. This + contains the sensitive secret data that is associated with a + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion]. + + + Attributes: + data: + The secret data. Must be no larger than 64KiB. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.SecretPayload) + }, +) +_sym_db.RegisterMessage(SecretPayload) + + +DESCRIPTOR._options = None +_SECRET_LABELSENTRY._options = None +_SECRET.fields_by_name["name"]._options = None +_SECRET.fields_by_name["replication"]._options = None +_SECRET.fields_by_name["create_time"]._options = None +_SECRET._options = None +_SECRETVERSION.fields_by_name["name"]._options = None +_SECRETVERSION.fields_by_name["create_time"]._options = None +_SECRETVERSION.fields_by_name["destroy_time"]._options = None +_SECRETVERSION.fields_by_name["state"]._options = None +_SECRETVERSION._options = None +_REPLICATION_USERMANAGED.fields_by_name["replicas"]._options = None +# @@protoc_insertion_point(module_scope) diff --git a/google/cloud/secretmanager_v1/proto/resources_pb2_grpc.py b/google/cloud/secretmanager_v1/proto/resources_pb2_grpc.py new file mode 100644 index 0000000..7343170 --- /dev/null +++ b/google/cloud/secretmanager_v1/proto/resources_pb2_grpc.py @@ -0,0 +1,17 @@ +# Copyright 2019 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. + +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! + +import grpc diff --git a/google/cloud/secretmanager_v1/proto/service_pb2.py b/google/cloud/secretmanager_v1/proto/service_pb2.py new file mode 100644 index 0000000..641940d --- /dev/null +++ b/google/cloud/secretmanager_v1/proto/service_pb2.py @@ -0,0 +1,1546 @@ +# -*- coding: utf-8 -*- + +# Copyright 2019 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. + +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/cloud/secretmanager_v1/proto/service.proto + +import sys + +_b = sys.version_info[0] < 3 and (lambda x: x) or (lambda x: x.encode("latin1")) +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database + +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from google.api import client_pb2 as google_dot_api_dot_client__pb2 +from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 +from google.api import resource_pb2 as google_dot_api_dot_resource__pb2 +from google.cloud.secretmanager_v1.proto import ( + resources_pb2 as google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2, +) +from google.iam.v1 import iam_policy_pb2 as google_dot_iam_dot_v1_dot_iam__policy__pb2 +from google.iam.v1 import policy_pb2 as google_dot_iam_dot_v1_dot_policy__pb2 +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name="google/cloud/secretmanager_v1/proto/service.proto", + package="google.cloud.secretmanager.v1", + syntax="proto3", + serialized_options=_b( + "\n!com.google.cloud.secretmanager.v1B\014ServiceProtoP\001ZJgoogle.golang.org/genproto/googleapis/cloud/secretmanager/v1;secretmanager\370\001\001\242\002\003GSM\252\002\035Google.Cloud.SecretManager.V1\312\002\035Google\\Cloud\\SecretManager\\V1\352\002 Google::Cloud::SecretManager::V1" + ), + serialized_pb=_b( + '\n1google/cloud/secretmanager_v1/proto/service.proto\x12\x1dgoogle.cloud.secretmanager.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x33google/cloud/secretmanager_v1/proto/resources.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto"\x8a\x01\n\x12ListSecretsRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01"z\n\x13ListSecretsResponse\x12\x36\n\x07secrets\x18\x01 \x03(\x0b\x32%.google.cloud.secretmanager.v1.Secret\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05"\xae\x01\n\x13\x43reateSecretRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x16\n\tsecret_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12:\n\x06secret\x18\x03 \x01(\x0b\x32%.google.cloud.secretmanager.v1.SecretB\x03\xe0\x41\x02"\x9a\x01\n\x17\x41\x64\x64SecretVersionRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret\x12\x42\n\x07payload\x18\x02 \x01(\x0b\x32,.google.cloud.secretmanager.v1.SecretPayloadB\x03\xe0\x41\x02"M\n\x10GetSecretRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret"\x89\x01\n\x19ListSecretVersionsRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01"\x89\x01\n\x1aListSecretVersionsResponse\x12>\n\x08versions\x18\x01 \x03(\x0b\x32,.google.cloud.secretmanager.v1.SecretVersion\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05"[\n\x17GetSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion"\x87\x01\n\x13UpdateSecretRequest\x12:\n\x06secret\x18\x01 \x01(\x0b\x32%.google.cloud.secretmanager.v1.SecretB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02"^\n\x1a\x41\x63\x63\x65ssSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion"\x9b\x01\n\x1b\x41\x63\x63\x65ssSecretVersionResponse\x12=\n\x04name\x18\x01 \x01(\tB/\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion\x12=\n\x07payload\x18\x02 \x01(\x0b\x32,.google.cloud.secretmanager.v1.SecretPayload"P\n\x13\x44\x65leteSecretRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret"_\n\x1b\x44isableSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion"^\n\x1a\x45nableSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion"_\n\x1b\x44\x65stroySecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion2\xcf\x15\n\x14SecretManagerService\x12\xa6\x01\n\x0bListSecrets\x12\x31.google.cloud.secretmanager.v1.ListSecretsRequest\x1a\x32.google.cloud.secretmanager.v1.ListSecretsResponse"0\x82\xd3\xe4\x93\x02!\x12\x1f/v1/{parent=projects/*}/secrets\xda\x41\x06parent\x12\xb4\x01\n\x0c\x43reateSecret\x12\x32.google.cloud.secretmanager.v1.CreateSecretRequest\x1a%.google.cloud.secretmanager.v1.Secret"I\x82\xd3\xe4\x93\x02)"\x1f/v1/{parent=projects/*}/secrets:\x06secret\xda\x41\x17parent,secret_id,secret\x12\xc2\x01\n\x10\x41\x64\x64SecretVersion\x12\x36.google.cloud.secretmanager.v1.AddSecretVersionRequest\x1a,.google.cloud.secretmanager.v1.SecretVersion"H\x82\xd3\xe4\x93\x02\x31",/v1/{parent=projects/*/secrets/*}:addVersion:\x01*\xda\x41\x0eparent,payload\x12\x93\x01\n\tGetSecret\x12/.google.cloud.secretmanager.v1.GetSecretRequest\x1a%.google.cloud.secretmanager.v1.Secret".\x82\xd3\xe4\x93\x02!\x12\x1f/v1/{name=projects/*/secrets/*}\xda\x41\x04name\x12\xb6\x01\n\x0cUpdateSecret\x12\x32.google.cloud.secretmanager.v1.UpdateSecretRequest\x1a%.google.cloud.secretmanager.v1.Secret"K\x82\xd3\xe4\x93\x02\x30\x32&/v1/{secret.name=projects/*/secrets/*}:\x06secret\xda\x41\x12secret,update_mask\x12\x8a\x01\n\x0c\x44\x65leteSecret\x12\x32.google.cloud.secretmanager.v1.DeleteSecretRequest\x1a\x16.google.protobuf.Empty".\x82\xd3\xe4\x93\x02!*\x1f/v1/{name=projects/*/secrets/*}\xda\x41\x04name\x12\xc6\x01\n\x12ListSecretVersions\x12\x38.google.cloud.secretmanager.v1.ListSecretVersionsRequest\x1a\x39.google.cloud.secretmanager.v1.ListSecretVersionsResponse";\x82\xd3\xe4\x93\x02,\x12*/v1/{parent=projects/*/secrets/*}/versions\xda\x41\x06parent\x12\xb3\x01\n\x10GetSecretVersion\x12\x36.google.cloud.secretmanager.v1.GetSecretVersionRequest\x1a,.google.cloud.secretmanager.v1.SecretVersion"9\x82\xd3\xe4\x93\x02,\x12*/v1/{name=projects/*/secrets/*/versions/*}\xda\x41\x04name\x12\xce\x01\n\x13\x41\x63\x63\x65ssSecretVersion\x12\x39.google.cloud.secretmanager.v1.AccessSecretVersionRequest\x1a:.google.cloud.secretmanager.v1.AccessSecretVersionResponse"@\x82\xd3\xe4\x93\x02\x33\x12\x31/v1/{name=projects/*/secrets/*/versions/*}:access\xda\x41\x04name\x12\xc6\x01\n\x14\x44isableSecretVersion\x12:.google.cloud.secretmanager.v1.DisableSecretVersionRequest\x1a,.google.cloud.secretmanager.v1.SecretVersion"D\x82\xd3\xe4\x93\x02\x37"2/v1/{name=projects/*/secrets/*/versions/*}:disable:\x01*\xda\x41\x04name\x12\xc3\x01\n\x13\x45nableSecretVersion\x12\x39.google.cloud.secretmanager.v1.EnableSecretVersionRequest\x1a,.google.cloud.secretmanager.v1.SecretVersion"C\x82\xd3\xe4\x93\x02\x36"1/v1/{name=projects/*/secrets/*/versions/*}:enable:\x01*\xda\x41\x04name\x12\xc6\x01\n\x14\x44\x65stroySecretVersion\x12:.google.cloud.secretmanager.v1.DestroySecretVersionRequest\x1a,.google.cloud.secretmanager.v1.SecretVersion"D\x82\xd3\xe4\x93\x02\x37"2/v1/{name=projects/*/secrets/*/versions/*}:destroy:\x01*\xda\x41\x04name\x12\x86\x01\n\x0cSetIamPolicy\x12".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy";\x82\xd3\xe4\x93\x02\x35"0/v1/{resource=projects/*/secrets/*}:setIamPolicy:\x01*\x12\x83\x01\n\x0cGetIamPolicy\x12".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy"8\x82\xd3\xe4\x93\x02\x32\x12\x30/v1/{resource=projects/*/secrets/*}:getIamPolicy\x12\xac\x01\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse"A\x82\xd3\xe4\x93\x02;"6/v1/{resource=projects/*/secrets/*}:testIamPermissions:\x01*\x1aP\xca\x41\x1csecretmanager.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xeb\x01\n!com.google.cloud.secretmanager.v1B\x0cServiceProtoP\x01ZJgoogle.golang.org/genproto/googleapis/cloud/secretmanager/v1;secretmanager\xf8\x01\x01\xa2\x02\x03GSM\xaa\x02\x1dGoogle.Cloud.SecretManager.V1\xca\x02\x1dGoogle\\Cloud\\SecretManager\\V1\xea\x02 Google::Cloud::SecretManager::V1b\x06proto3' + ), + dependencies=[ + google_dot_api_dot_annotations__pb2.DESCRIPTOR, + google_dot_api_dot_client__pb2.DESCRIPTOR, + google_dot_api_dot_field__behavior__pb2.DESCRIPTOR, + google_dot_api_dot_resource__pb2.DESCRIPTOR, + google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2.DESCRIPTOR, + google_dot_iam_dot_v1_dot_iam__policy__pb2.DESCRIPTOR, + google_dot_iam_dot_v1_dot_policy__pb2.DESCRIPTOR, + google_dot_protobuf_dot_empty__pb2.DESCRIPTOR, + google_dot_protobuf_dot_field__mask__pb2.DESCRIPTOR, + ], +) + + +_LISTSECRETSREQUEST = _descriptor.Descriptor( + name="ListSecretsRequest", + full_name="google.cloud.secretmanager.v1.ListSecretsRequest", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="parent", + full_name="google.cloud.secretmanager.v1.ListSecretsRequest.parent", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b( + "\340A\002\372A-\n+cloudresourcemanager.googleapis.com/Project" + ), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="page_size", + full_name="google.cloud.secretmanager.v1.ListSecretsRequest.page_size", + index=1, + number=2, + type=5, + cpp_type=1, + label=1, + has_default_value=False, + default_value=0, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\001"), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="page_token", + full_name="google.cloud.secretmanager.v1.ListSecretsRequest.page_token", + index=2, + number=3, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\001"), + file=DESCRIPTOR, + ), + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=376, + serialized_end=514, +) + + +_LISTSECRETSRESPONSE = _descriptor.Descriptor( + name="ListSecretsResponse", + full_name="google.cloud.secretmanager.v1.ListSecretsResponse", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="secrets", + full_name="google.cloud.secretmanager.v1.ListSecretsResponse.secrets", + index=0, + number=1, + type=11, + cpp_type=10, + label=3, + has_default_value=False, + default_value=[], + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="next_page_token", + full_name="google.cloud.secretmanager.v1.ListSecretsResponse.next_page_token", + index=1, + number=2, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="total_size", + full_name="google.cloud.secretmanager.v1.ListSecretsResponse.total_size", + index=2, + number=3, + type=5, + cpp_type=1, + label=1, + has_default_value=False, + default_value=0, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=516, + serialized_end=638, +) + + +_CREATESECRETREQUEST = _descriptor.Descriptor( + name="CreateSecretRequest", + full_name="google.cloud.secretmanager.v1.CreateSecretRequest", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="parent", + full_name="google.cloud.secretmanager.v1.CreateSecretRequest.parent", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b( + "\340A\002\372A-\n+cloudresourcemanager.googleapis.com/Project" + ), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="secret_id", + full_name="google.cloud.secretmanager.v1.CreateSecretRequest.secret_id", + index=1, + number=2, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\002"), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="secret", + full_name="google.cloud.secretmanager.v1.CreateSecretRequest.secret", + index=2, + number=3, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\002"), + file=DESCRIPTOR, + ), + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=641, + serialized_end=815, +) + + +_ADDSECRETVERSIONREQUEST = _descriptor.Descriptor( + name="AddSecretVersionRequest", + full_name="google.cloud.secretmanager.v1.AddSecretVersionRequest", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="parent", + full_name="google.cloud.secretmanager.v1.AddSecretVersionRequest.parent", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b( + "\340A\002\372A%\n#secretmanager.googleapis.com/Secret" + ), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="payload", + full_name="google.cloud.secretmanager.v1.AddSecretVersionRequest.payload", + index=1, + number=2, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\002"), + file=DESCRIPTOR, + ), + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=818, + serialized_end=972, +) + + +_GETSECRETREQUEST = _descriptor.Descriptor( + name="GetSecretRequest", + full_name="google.cloud.secretmanager.v1.GetSecretRequest", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="name", + full_name="google.cloud.secretmanager.v1.GetSecretRequest.name", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b( + "\340A\002\372A%\n#secretmanager.googleapis.com/Secret" + ), + file=DESCRIPTOR, + ) + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=974, + serialized_end=1051, +) + + +_LISTSECRETVERSIONSREQUEST = _descriptor.Descriptor( + name="ListSecretVersionsRequest", + full_name="google.cloud.secretmanager.v1.ListSecretVersionsRequest", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="parent", + full_name="google.cloud.secretmanager.v1.ListSecretVersionsRequest.parent", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b( + "\340A\002\372A%\n#secretmanager.googleapis.com/Secret" + ), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="page_size", + full_name="google.cloud.secretmanager.v1.ListSecretVersionsRequest.page_size", + index=1, + number=2, + type=5, + cpp_type=1, + label=1, + has_default_value=False, + default_value=0, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\001"), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="page_token", + full_name="google.cloud.secretmanager.v1.ListSecretVersionsRequest.page_token", + index=2, + number=3, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\001"), + file=DESCRIPTOR, + ), + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=1054, + serialized_end=1191, +) + + +_LISTSECRETVERSIONSRESPONSE = _descriptor.Descriptor( + name="ListSecretVersionsResponse", + full_name="google.cloud.secretmanager.v1.ListSecretVersionsResponse", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="versions", + full_name="google.cloud.secretmanager.v1.ListSecretVersionsResponse.versions", + index=0, + number=1, + type=11, + cpp_type=10, + label=3, + has_default_value=False, + default_value=[], + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="next_page_token", + full_name="google.cloud.secretmanager.v1.ListSecretVersionsResponse.next_page_token", + index=1, + number=2, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="total_size", + full_name="google.cloud.secretmanager.v1.ListSecretVersionsResponse.total_size", + index=2, + number=3, + type=5, + cpp_type=1, + label=1, + has_default_value=False, + default_value=0, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=1194, + serialized_end=1331, +) + + +_GETSECRETVERSIONREQUEST = _descriptor.Descriptor( + name="GetSecretVersionRequest", + full_name="google.cloud.secretmanager.v1.GetSecretVersionRequest", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="name", + full_name="google.cloud.secretmanager.v1.GetSecretVersionRequest.name", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b( + "\340A\002\372A,\n*secretmanager.googleapis.com/SecretVersion" + ), + file=DESCRIPTOR, + ) + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=1333, + serialized_end=1424, +) + + +_UPDATESECRETREQUEST = _descriptor.Descriptor( + name="UpdateSecretRequest", + full_name="google.cloud.secretmanager.v1.UpdateSecretRequest", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="secret", + full_name="google.cloud.secretmanager.v1.UpdateSecretRequest.secret", + index=0, + number=1, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\002"), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="update_mask", + full_name="google.cloud.secretmanager.v1.UpdateSecretRequest.update_mask", + index=1, + number=2, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\002"), + file=DESCRIPTOR, + ), + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=1427, + serialized_end=1562, +) + + +_ACCESSSECRETVERSIONREQUEST = _descriptor.Descriptor( + name="AccessSecretVersionRequest", + full_name="google.cloud.secretmanager.v1.AccessSecretVersionRequest", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="name", + full_name="google.cloud.secretmanager.v1.AccessSecretVersionRequest.name", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b( + "\340A\002\372A,\n*secretmanager.googleapis.com/SecretVersion" + ), + file=DESCRIPTOR, + ) + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=1564, + serialized_end=1658, +) + + +_ACCESSSECRETVERSIONRESPONSE = _descriptor.Descriptor( + name="AccessSecretVersionResponse", + full_name="google.cloud.secretmanager.v1.AccessSecretVersionResponse", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="name", + full_name="google.cloud.secretmanager.v1.AccessSecretVersionResponse.name", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b( + "\372A,\n*secretmanager.googleapis.com/SecretVersion" + ), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="payload", + full_name="google.cloud.secretmanager.v1.AccessSecretVersionResponse.payload", + index=1, + number=2, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=1661, + serialized_end=1816, +) + + +_DELETESECRETREQUEST = _descriptor.Descriptor( + name="DeleteSecretRequest", + full_name="google.cloud.secretmanager.v1.DeleteSecretRequest", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="name", + full_name="google.cloud.secretmanager.v1.DeleteSecretRequest.name", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b( + "\340A\002\372A%\n#secretmanager.googleapis.com/Secret" + ), + file=DESCRIPTOR, + ) + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=1818, + serialized_end=1898, +) + + +_DISABLESECRETVERSIONREQUEST = _descriptor.Descriptor( + name="DisableSecretVersionRequest", + full_name="google.cloud.secretmanager.v1.DisableSecretVersionRequest", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="name", + full_name="google.cloud.secretmanager.v1.DisableSecretVersionRequest.name", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b( + "\340A\002\372A,\n*secretmanager.googleapis.com/SecretVersion" + ), + file=DESCRIPTOR, + ) + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=1900, + serialized_end=1995, +) + + +_ENABLESECRETVERSIONREQUEST = _descriptor.Descriptor( + name="EnableSecretVersionRequest", + full_name="google.cloud.secretmanager.v1.EnableSecretVersionRequest", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="name", + full_name="google.cloud.secretmanager.v1.EnableSecretVersionRequest.name", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b( + "\340A\002\372A,\n*secretmanager.googleapis.com/SecretVersion" + ), + file=DESCRIPTOR, + ) + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=1997, + serialized_end=2091, +) + + +_DESTROYSECRETVERSIONREQUEST = _descriptor.Descriptor( + name="DestroySecretVersionRequest", + full_name="google.cloud.secretmanager.v1.DestroySecretVersionRequest", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="name", + full_name="google.cloud.secretmanager.v1.DestroySecretVersionRequest.name", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b( + "\340A\002\372A,\n*secretmanager.googleapis.com/SecretVersion" + ), + file=DESCRIPTOR, + ) + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=2093, + serialized_end=2188, +) + +_LISTSECRETSRESPONSE.fields_by_name[ + "secrets" +].message_type = ( + google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2._SECRET +) +_CREATESECRETREQUEST.fields_by_name[ + "secret" +].message_type = ( + google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2._SECRET +) +_ADDSECRETVERSIONREQUEST.fields_by_name[ + "payload" +].message_type = ( + google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2._SECRETPAYLOAD +) +_LISTSECRETVERSIONSRESPONSE.fields_by_name[ + "versions" +].message_type = ( + google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2._SECRETVERSION +) +_UPDATESECRETREQUEST.fields_by_name[ + "secret" +].message_type = ( + google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2._SECRET +) +_UPDATESECRETREQUEST.fields_by_name[ + "update_mask" +].message_type = google_dot_protobuf_dot_field__mask__pb2._FIELDMASK +_ACCESSSECRETVERSIONRESPONSE.fields_by_name[ + "payload" +].message_type = ( + google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2._SECRETPAYLOAD +) +DESCRIPTOR.message_types_by_name["ListSecretsRequest"] = _LISTSECRETSREQUEST +DESCRIPTOR.message_types_by_name["ListSecretsResponse"] = _LISTSECRETSRESPONSE +DESCRIPTOR.message_types_by_name["CreateSecretRequest"] = _CREATESECRETREQUEST +DESCRIPTOR.message_types_by_name["AddSecretVersionRequest"] = _ADDSECRETVERSIONREQUEST +DESCRIPTOR.message_types_by_name["GetSecretRequest"] = _GETSECRETREQUEST +DESCRIPTOR.message_types_by_name[ + "ListSecretVersionsRequest" +] = _LISTSECRETVERSIONSREQUEST +DESCRIPTOR.message_types_by_name[ + "ListSecretVersionsResponse" +] = _LISTSECRETVERSIONSRESPONSE +DESCRIPTOR.message_types_by_name["GetSecretVersionRequest"] = _GETSECRETVERSIONREQUEST +DESCRIPTOR.message_types_by_name["UpdateSecretRequest"] = _UPDATESECRETREQUEST +DESCRIPTOR.message_types_by_name[ + "AccessSecretVersionRequest" +] = _ACCESSSECRETVERSIONREQUEST +DESCRIPTOR.message_types_by_name[ + "AccessSecretVersionResponse" +] = _ACCESSSECRETVERSIONRESPONSE +DESCRIPTOR.message_types_by_name["DeleteSecretRequest"] = _DELETESECRETREQUEST +DESCRIPTOR.message_types_by_name[ + "DisableSecretVersionRequest" +] = _DISABLESECRETVERSIONREQUEST +DESCRIPTOR.message_types_by_name[ + "EnableSecretVersionRequest" +] = _ENABLESECRETVERSIONREQUEST +DESCRIPTOR.message_types_by_name[ + "DestroySecretVersionRequest" +] = _DESTROYSECRETVERSIONREQUEST +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +ListSecretsRequest = _reflection.GeneratedProtocolMessageType( + "ListSecretsRequest", + (_message.Message,), + { + "DESCRIPTOR": _LISTSECRETSREQUEST, + "__module__": "google.cloud.secretmanager_v1.proto.service_pb2", + "__doc__": """Request message for + [SecretManagerService.ListSecrets][google.cloud.secretmanager.v1.SecretManagerService.ListSecrets]. + + + Attributes: + parent: + Required. The resource name of the project associated with the + [Secrets][google.cloud.secretmanager.v1.Secret], in the format + ``projects/*``. + page_size: + Optional. The maximum number of results to be returned in a + single page. If set to 0, the server decides the number of + results to return. If the number is greater than 25000, it is + capped at 25000. + page_token: + Optional. Pagination token, returned earlier via [ListSecretsR + esponse.next_page_token][google.cloud.secretmanager.v1.ListSec + retsResponse.next_page_token]. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.ListSecretsRequest) + }, +) +_sym_db.RegisterMessage(ListSecretsRequest) + +ListSecretsResponse = _reflection.GeneratedProtocolMessageType( + "ListSecretsResponse", + (_message.Message,), + { + "DESCRIPTOR": _LISTSECRETSRESPONSE, + "__module__": "google.cloud.secretmanager_v1.proto.service_pb2", + "__doc__": """Response message for + [SecretManagerService.ListSecrets][google.cloud.secretmanager.v1.SecretManagerService.ListSecrets]. + + + Attributes: + secrets: + The list of [Secrets][google.cloud.secretmanager.v1.Secret] + sorted in reverse by create_time (newest first). + next_page_token: + A token to retrieve the next page of results. Pass this value + in [ListSecretsRequest.page_token][google.cloud.secretmanager. + v1.ListSecretsRequest.page_token] to retrieve the next page. + total_size: + The total number of + [Secrets][google.cloud.secretmanager.v1.Secret]. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.ListSecretsResponse) + }, +) +_sym_db.RegisterMessage(ListSecretsResponse) + +CreateSecretRequest = _reflection.GeneratedProtocolMessageType( + "CreateSecretRequest", + (_message.Message,), + { + "DESCRIPTOR": _CREATESECRETREQUEST, + "__module__": "google.cloud.secretmanager_v1.proto.service_pb2", + "__doc__": """Request message for + [SecretManagerService.CreateSecret][google.cloud.secretmanager.v1.SecretManagerService.CreateSecret]. + + + Attributes: + parent: + Required. The resource name of the project to associate with + the [Secret][google.cloud.secretmanager.v1.Secret], in the + format ``projects/*``. + secret_id: + Required. This must be unique within the project. + secret: + Required. A [Secret][google.cloud.secretmanager.v1.Secret] + with initial field values. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.CreateSecretRequest) + }, +) +_sym_db.RegisterMessage(CreateSecretRequest) + +AddSecretVersionRequest = _reflection.GeneratedProtocolMessageType( + "AddSecretVersionRequest", + (_message.Message,), + { + "DESCRIPTOR": _ADDSECRETVERSIONREQUEST, + "__module__": "google.cloud.secretmanager_v1.proto.service_pb2", + "__doc__": """Request message for + [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion]. + + + Attributes: + parent: + Required. The resource name of the + [Secret][google.cloud.secretmanager.v1.Secret] to associate + with the + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion] + in the format ``projects/*/secrets/*``. + payload: + Required. The secret payload of the + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion]. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.AddSecretVersionRequest) + }, +) +_sym_db.RegisterMessage(AddSecretVersionRequest) + +GetSecretRequest = _reflection.GeneratedProtocolMessageType( + "GetSecretRequest", + (_message.Message,), + { + "DESCRIPTOR": _GETSECRETREQUEST, + "__module__": "google.cloud.secretmanager_v1.proto.service_pb2", + "__doc__": """Request message for + [SecretManagerService.GetSecret][google.cloud.secretmanager.v1.SecretManagerService.GetSecret]. + + + Attributes: + name: + Required. The resource name of the + [Secret][google.cloud.secretmanager.v1.Secret], in the format + ``projects/*/secrets/*``. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.GetSecretRequest) + }, +) +_sym_db.RegisterMessage(GetSecretRequest) + +ListSecretVersionsRequest = _reflection.GeneratedProtocolMessageType( + "ListSecretVersionsRequest", + (_message.Message,), + { + "DESCRIPTOR": _LISTSECRETVERSIONSREQUEST, + "__module__": "google.cloud.secretmanager_v1.proto.service_pb2", + "__doc__": """Request message for + [SecretManagerService.ListSecretVersions][google.cloud.secretmanager.v1.SecretManagerService.ListSecretVersions]. + + + Attributes: + parent: + Required. The resource name of the + [Secret][google.cloud.secretmanager.v1.Secret] associated with + the + [SecretVersions][google.cloud.secretmanager.v1.SecretVersion] + to list, in the format ``projects/*/secrets/*``. + page_size: + Optional. The maximum number of results to be returned in a + single page. If set to 0, the server decides the number of + results to return. If the number is greater than 25000, it is + capped at 25000. + page_token: + Optional. Pagination token, returned earlier via + ListSecretVersionsResponse.next_page_token][]. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.ListSecretVersionsRequest) + }, +) +_sym_db.RegisterMessage(ListSecretVersionsRequest) + +ListSecretVersionsResponse = _reflection.GeneratedProtocolMessageType( + "ListSecretVersionsResponse", + (_message.Message,), + { + "DESCRIPTOR": _LISTSECRETVERSIONSRESPONSE, + "__module__": "google.cloud.secretmanager_v1.proto.service_pb2", + "__doc__": """Response message for + [SecretManagerService.ListSecretVersions][google.cloud.secretmanager.v1.SecretManagerService.ListSecretVersions]. + + + Attributes: + versions: + The list of + [SecretVersions][google.cloud.secretmanager.v1.SecretVersion] + sorted in reverse by create_time (newest first). + next_page_token: + A token to retrieve the next page of results. Pass this value + in [ListSecretVersionsRequest.page_token][google.cloud.secretm + anager.v1.ListSecretVersionsRequest.page_token] to retrieve + the next page. + total_size: + The total number of + [SecretVersions][google.cloud.secretmanager.v1.SecretVersion]. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.ListSecretVersionsResponse) + }, +) +_sym_db.RegisterMessage(ListSecretVersionsResponse) + +GetSecretVersionRequest = _reflection.GeneratedProtocolMessageType( + "GetSecretVersionRequest", + (_message.Message,), + { + "DESCRIPTOR": _GETSECRETVERSIONREQUEST, + "__module__": "google.cloud.secretmanager_v1.proto.service_pb2", + "__doc__": """Request message for + [SecretManagerService.GetSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.GetSecretVersion]. + + + Attributes: + name: + Required. The resource name of the + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion] + in the format ``projects/*/secrets/*/versions/*``. + ``projects/*/secrets/*/versions/latest`` is an alias to the + ``latest`` + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion]. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.GetSecretVersionRequest) + }, +) +_sym_db.RegisterMessage(GetSecretVersionRequest) + +UpdateSecretRequest = _reflection.GeneratedProtocolMessageType( + "UpdateSecretRequest", + (_message.Message,), + { + "DESCRIPTOR": _UPDATESECRETREQUEST, + "__module__": "google.cloud.secretmanager_v1.proto.service_pb2", + "__doc__": """Request message for + [SecretManagerService.UpdateSecret][google.cloud.secretmanager.v1.SecretManagerService.UpdateSecret]. + + + Attributes: + secret: + Required. [Secret][google.cloud.secretmanager.v1.Secret] with + updated field values. + update_mask: + Required. Specifies the fields to be updated. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.UpdateSecretRequest) + }, +) +_sym_db.RegisterMessage(UpdateSecretRequest) + +AccessSecretVersionRequest = _reflection.GeneratedProtocolMessageType( + "AccessSecretVersionRequest", + (_message.Message,), + { + "DESCRIPTOR": _ACCESSSECRETVERSIONREQUEST, + "__module__": "google.cloud.secretmanager_v1.proto.service_pb2", + "__doc__": """Request message for + [SecretManagerService.AccessSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion]. + + + Attributes: + name: + Required. The resource name of the + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion] + in the format ``projects/*/secrets/*/versions/*``. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.AccessSecretVersionRequest) + }, +) +_sym_db.RegisterMessage(AccessSecretVersionRequest) + +AccessSecretVersionResponse = _reflection.GeneratedProtocolMessageType( + "AccessSecretVersionResponse", + (_message.Message,), + { + "DESCRIPTOR": _ACCESSSECRETVERSIONRESPONSE, + "__module__": "google.cloud.secretmanager_v1.proto.service_pb2", + "__doc__": """Response message for + [SecretManagerService.AccessSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion]. + + + Attributes: + name: + The resource name of the + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion] + in the format ``projects/*/secrets/*/versions/*``. + payload: + Secret payload + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.AccessSecretVersionResponse) + }, +) +_sym_db.RegisterMessage(AccessSecretVersionResponse) + +DeleteSecretRequest = _reflection.GeneratedProtocolMessageType( + "DeleteSecretRequest", + (_message.Message,), + { + "DESCRIPTOR": _DELETESECRETREQUEST, + "__module__": "google.cloud.secretmanager_v1.proto.service_pb2", + "__doc__": """Request message for + [SecretManagerService.DeleteSecret][google.cloud.secretmanager.v1.SecretManagerService.DeleteSecret]. + + + Attributes: + name: + Required. The resource name of the + [Secret][google.cloud.secretmanager.v1.Secret] to delete in + the format ``projects/*/secrets/*``. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.DeleteSecretRequest) + }, +) +_sym_db.RegisterMessage(DeleteSecretRequest) + +DisableSecretVersionRequest = _reflection.GeneratedProtocolMessageType( + "DisableSecretVersionRequest", + (_message.Message,), + { + "DESCRIPTOR": _DISABLESECRETVERSIONREQUEST, + "__module__": "google.cloud.secretmanager_v1.proto.service_pb2", + "__doc__": """Request message for + [SecretManagerService.DisableSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.DisableSecretVersion]. + + + Attributes: + name: + Required. The resource name of the + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion] + to disable in the format ``projects/*/secrets/*/versions/*``. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.DisableSecretVersionRequest) + }, +) +_sym_db.RegisterMessage(DisableSecretVersionRequest) + +EnableSecretVersionRequest = _reflection.GeneratedProtocolMessageType( + "EnableSecretVersionRequest", + (_message.Message,), + { + "DESCRIPTOR": _ENABLESECRETVERSIONREQUEST, + "__module__": "google.cloud.secretmanager_v1.proto.service_pb2", + "__doc__": """Request message for + [SecretManagerService.EnableSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.EnableSecretVersion]. + + + Attributes: + name: + Required. The resource name of the + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion] + to enable in the format ``projects/*/secrets/*/versions/*``. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.EnableSecretVersionRequest) + }, +) +_sym_db.RegisterMessage(EnableSecretVersionRequest) + +DestroySecretVersionRequest = _reflection.GeneratedProtocolMessageType( + "DestroySecretVersionRequest", + (_message.Message,), + { + "DESCRIPTOR": _DESTROYSECRETVERSIONREQUEST, + "__module__": "google.cloud.secretmanager_v1.proto.service_pb2", + "__doc__": """Request message for + [SecretManagerService.DestroySecretVersion][google.cloud.secretmanager.v1.SecretManagerService.DestroySecretVersion]. + + + Attributes: + name: + Required. The resource name of the + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion] + to destroy in the format ``projects/*/secrets/*/versions/*``. + """, + # @@protoc_insertion_point(class_scope:google.cloud.secretmanager.v1.DestroySecretVersionRequest) + }, +) +_sym_db.RegisterMessage(DestroySecretVersionRequest) + + +DESCRIPTOR._options = None +_LISTSECRETSREQUEST.fields_by_name["parent"]._options = None +_LISTSECRETSREQUEST.fields_by_name["page_size"]._options = None +_LISTSECRETSREQUEST.fields_by_name["page_token"]._options = None +_CREATESECRETREQUEST.fields_by_name["parent"]._options = None +_CREATESECRETREQUEST.fields_by_name["secret_id"]._options = None +_CREATESECRETREQUEST.fields_by_name["secret"]._options = None +_ADDSECRETVERSIONREQUEST.fields_by_name["parent"]._options = None +_ADDSECRETVERSIONREQUEST.fields_by_name["payload"]._options = None +_GETSECRETREQUEST.fields_by_name["name"]._options = None +_LISTSECRETVERSIONSREQUEST.fields_by_name["parent"]._options = None +_LISTSECRETVERSIONSREQUEST.fields_by_name["page_size"]._options = None +_LISTSECRETVERSIONSREQUEST.fields_by_name["page_token"]._options = None +_GETSECRETVERSIONREQUEST.fields_by_name["name"]._options = None +_UPDATESECRETREQUEST.fields_by_name["secret"]._options = None +_UPDATESECRETREQUEST.fields_by_name["update_mask"]._options = None +_ACCESSSECRETVERSIONREQUEST.fields_by_name["name"]._options = None +_ACCESSSECRETVERSIONRESPONSE.fields_by_name["name"]._options = None +_DELETESECRETREQUEST.fields_by_name["name"]._options = None +_DISABLESECRETVERSIONREQUEST.fields_by_name["name"]._options = None +_ENABLESECRETVERSIONREQUEST.fields_by_name["name"]._options = None +_DESTROYSECRETVERSIONREQUEST.fields_by_name["name"]._options = None + +_SECRETMANAGERSERVICE = _descriptor.ServiceDescriptor( + name="SecretManagerService", + full_name="google.cloud.secretmanager.v1.SecretManagerService", + file=DESCRIPTOR, + index=0, + serialized_options=_b( + "\312A\034secretmanager.googleapis.com\322A.https://www.googleapis.com/auth/cloud-platform" + ), + serialized_start=2191, + serialized_end=4958, + methods=[ + _descriptor.MethodDescriptor( + name="ListSecrets", + full_name="google.cloud.secretmanager.v1.SecretManagerService.ListSecrets", + index=0, + containing_service=None, + input_type=_LISTSECRETSREQUEST, + output_type=_LISTSECRETSRESPONSE, + serialized_options=_b( + "\202\323\344\223\002!\022\037/v1/{parent=projects/*}/secrets\332A\006parent" + ), + ), + _descriptor.MethodDescriptor( + name="CreateSecret", + full_name="google.cloud.secretmanager.v1.SecretManagerService.CreateSecret", + index=1, + containing_service=None, + input_type=_CREATESECRETREQUEST, + output_type=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2._SECRET, + serialized_options=_b( + '\202\323\344\223\002)"\037/v1/{parent=projects/*}/secrets:\006secret\332A\027parent,secret_id,secret' + ), + ), + _descriptor.MethodDescriptor( + name="AddSecretVersion", + full_name="google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion", + index=2, + containing_service=None, + input_type=_ADDSECRETVERSIONREQUEST, + output_type=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2._SECRETVERSION, + serialized_options=_b( + '\202\323\344\223\0021",/v1/{parent=projects/*/secrets/*}:addVersion:\001*\332A\016parent,payload' + ), + ), + _descriptor.MethodDescriptor( + name="GetSecret", + full_name="google.cloud.secretmanager.v1.SecretManagerService.GetSecret", + index=3, + containing_service=None, + input_type=_GETSECRETREQUEST, + output_type=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2._SECRET, + serialized_options=_b( + "\202\323\344\223\002!\022\037/v1/{name=projects/*/secrets/*}\332A\004name" + ), + ), + _descriptor.MethodDescriptor( + name="UpdateSecret", + full_name="google.cloud.secretmanager.v1.SecretManagerService.UpdateSecret", + index=4, + containing_service=None, + input_type=_UPDATESECRETREQUEST, + output_type=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2._SECRET, + serialized_options=_b( + "\202\323\344\223\00202&/v1/{secret.name=projects/*/secrets/*}:\006secret\332A\022secret,update_mask" + ), + ), + _descriptor.MethodDescriptor( + name="DeleteSecret", + full_name="google.cloud.secretmanager.v1.SecretManagerService.DeleteSecret", + index=5, + containing_service=None, + input_type=_DELETESECRETREQUEST, + output_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + serialized_options=_b( + "\202\323\344\223\002!*\037/v1/{name=projects/*/secrets/*}\332A\004name" + ), + ), + _descriptor.MethodDescriptor( + name="ListSecretVersions", + full_name="google.cloud.secretmanager.v1.SecretManagerService.ListSecretVersions", + index=6, + containing_service=None, + input_type=_LISTSECRETVERSIONSREQUEST, + output_type=_LISTSECRETVERSIONSRESPONSE, + serialized_options=_b( + "\202\323\344\223\002,\022*/v1/{parent=projects/*/secrets/*}/versions\332A\006parent" + ), + ), + _descriptor.MethodDescriptor( + name="GetSecretVersion", + full_name="google.cloud.secretmanager.v1.SecretManagerService.GetSecretVersion", + index=7, + containing_service=None, + input_type=_GETSECRETVERSIONREQUEST, + output_type=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2._SECRETVERSION, + serialized_options=_b( + "\202\323\344\223\002,\022*/v1/{name=projects/*/secrets/*/versions/*}\332A\004name" + ), + ), + _descriptor.MethodDescriptor( + name="AccessSecretVersion", + full_name="google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion", + index=8, + containing_service=None, + input_type=_ACCESSSECRETVERSIONREQUEST, + output_type=_ACCESSSECRETVERSIONRESPONSE, + serialized_options=_b( + "\202\323\344\223\0023\0221/v1/{name=projects/*/secrets/*/versions/*}:access\332A\004name" + ), + ), + _descriptor.MethodDescriptor( + name="DisableSecretVersion", + full_name="google.cloud.secretmanager.v1.SecretManagerService.DisableSecretVersion", + index=9, + containing_service=None, + input_type=_DISABLESECRETVERSIONREQUEST, + output_type=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2._SECRETVERSION, + serialized_options=_b( + '\202\323\344\223\0027"2/v1/{name=projects/*/secrets/*/versions/*}:disable:\001*\332A\004name' + ), + ), + _descriptor.MethodDescriptor( + name="EnableSecretVersion", + full_name="google.cloud.secretmanager.v1.SecretManagerService.EnableSecretVersion", + index=10, + containing_service=None, + input_type=_ENABLESECRETVERSIONREQUEST, + output_type=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2._SECRETVERSION, + serialized_options=_b( + '\202\323\344\223\0026"1/v1/{name=projects/*/secrets/*/versions/*}:enable:\001*\332A\004name' + ), + ), + _descriptor.MethodDescriptor( + name="DestroySecretVersion", + full_name="google.cloud.secretmanager.v1.SecretManagerService.DestroySecretVersion", + index=11, + containing_service=None, + input_type=_DESTROYSECRETVERSIONREQUEST, + output_type=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2._SECRETVERSION, + serialized_options=_b( + '\202\323\344\223\0027"2/v1/{name=projects/*/secrets/*/versions/*}:destroy:\001*\332A\004name' + ), + ), + _descriptor.MethodDescriptor( + name="SetIamPolicy", + full_name="google.cloud.secretmanager.v1.SecretManagerService.SetIamPolicy", + index=12, + containing_service=None, + input_type=google_dot_iam_dot_v1_dot_iam__policy__pb2._SETIAMPOLICYREQUEST, + output_type=google_dot_iam_dot_v1_dot_policy__pb2._POLICY, + serialized_options=_b( + '\202\323\344\223\0025"0/v1/{resource=projects/*/secrets/*}:setIamPolicy:\001*' + ), + ), + _descriptor.MethodDescriptor( + name="GetIamPolicy", + full_name="google.cloud.secretmanager.v1.SecretManagerService.GetIamPolicy", + index=13, + containing_service=None, + input_type=google_dot_iam_dot_v1_dot_iam__policy__pb2._GETIAMPOLICYREQUEST, + output_type=google_dot_iam_dot_v1_dot_policy__pb2._POLICY, + serialized_options=_b( + "\202\323\344\223\0022\0220/v1/{resource=projects/*/secrets/*}:getIamPolicy" + ), + ), + _descriptor.MethodDescriptor( + name="TestIamPermissions", + full_name="google.cloud.secretmanager.v1.SecretManagerService.TestIamPermissions", + index=14, + containing_service=None, + input_type=google_dot_iam_dot_v1_dot_iam__policy__pb2._TESTIAMPERMISSIONSREQUEST, + output_type=google_dot_iam_dot_v1_dot_iam__policy__pb2._TESTIAMPERMISSIONSRESPONSE, + serialized_options=_b( + '\202\323\344\223\002;"6/v1/{resource=projects/*/secrets/*}:testIamPermissions:\001*' + ), + ), + ], +) +_sym_db.RegisterServiceDescriptor(_SECRETMANAGERSERVICE) + +DESCRIPTOR.services_by_name["SecretManagerService"] = _SECRETMANAGERSERVICE + +# @@protoc_insertion_point(module_scope) diff --git a/google/cloud/secretmanager_v1/proto/service_pb2_grpc.py b/google/cloud/secretmanager_v1/proto/service_pb2_grpc.py new file mode 100644 index 0000000..60dbd55 --- /dev/null +++ b/google/cloud/secretmanager_v1/proto/service_pb2_grpc.py @@ -0,0 +1,355 @@ +# Copyright 2019 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. + +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! + +import grpc + +from google.cloud.secretmanager_v1.proto import ( + resources_pb2 as google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2, +) +from google.cloud.secretmanager_v1.proto import ( + service_pb2 as google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2, +) +from google.iam.v1 import iam_policy_pb2 as google_dot_iam_dot_v1_dot_iam__policy__pb2 +from google.iam.v1 import policy_pb2 as google_dot_iam_dot_v1_dot_policy__pb2 +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + + +class SecretManagerServiceStub(object): + """`projects/*/secrets/*/versions/latest` is an alias to the `latest` + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion]. + + Secret Manager Service + + Manages secrets and operations using those secrets. Implements a REST + model with the following objects: + + * [Secret][google.cloud.secretmanager.v1.Secret] + * [SecretVersion][google.cloud.secretmanager.v1.SecretVersion] + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.ListSecrets = channel.unary_unary( + "/google.cloud.secretmanager.v1.SecretManagerService/ListSecrets", + request_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.ListSecretsRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.ListSecretsResponse.FromString, + ) + self.CreateSecret = channel.unary_unary( + "/google.cloud.secretmanager.v1.SecretManagerService/CreateSecret", + request_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.CreateSecretRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2.Secret.FromString, + ) + self.AddSecretVersion = channel.unary_unary( + "/google.cloud.secretmanager.v1.SecretManagerService/AddSecretVersion", + request_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.AddSecretVersionRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2.SecretVersion.FromString, + ) + self.GetSecret = channel.unary_unary( + "/google.cloud.secretmanager.v1.SecretManagerService/GetSecret", + request_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.GetSecretRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2.Secret.FromString, + ) + self.UpdateSecret = channel.unary_unary( + "/google.cloud.secretmanager.v1.SecretManagerService/UpdateSecret", + request_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.UpdateSecretRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2.Secret.FromString, + ) + self.DeleteSecret = channel.unary_unary( + "/google.cloud.secretmanager.v1.SecretManagerService/DeleteSecret", + request_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.DeleteSecretRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.ListSecretVersions = channel.unary_unary( + "/google.cloud.secretmanager.v1.SecretManagerService/ListSecretVersions", + request_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.ListSecretVersionsRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.ListSecretVersionsResponse.FromString, + ) + self.GetSecretVersion = channel.unary_unary( + "/google.cloud.secretmanager.v1.SecretManagerService/GetSecretVersion", + request_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.GetSecretVersionRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2.SecretVersion.FromString, + ) + self.AccessSecretVersion = channel.unary_unary( + "/google.cloud.secretmanager.v1.SecretManagerService/AccessSecretVersion", + request_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.AccessSecretVersionRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.AccessSecretVersionResponse.FromString, + ) + self.DisableSecretVersion = channel.unary_unary( + "/google.cloud.secretmanager.v1.SecretManagerService/DisableSecretVersion", + request_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.DisableSecretVersionRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2.SecretVersion.FromString, + ) + self.EnableSecretVersion = channel.unary_unary( + "/google.cloud.secretmanager.v1.SecretManagerService/EnableSecretVersion", + request_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.EnableSecretVersionRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2.SecretVersion.FromString, + ) + self.DestroySecretVersion = channel.unary_unary( + "/google.cloud.secretmanager.v1.SecretManagerService/DestroySecretVersion", + request_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.DestroySecretVersionRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2.SecretVersion.FromString, + ) + self.SetIamPolicy = channel.unary_unary( + "/google.cloud.secretmanager.v1.SecretManagerService/SetIamPolicy", + request_serializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.SetIamPolicyRequest.SerializeToString, + response_deserializer=google_dot_iam_dot_v1_dot_policy__pb2.Policy.FromString, + ) + self.GetIamPolicy = channel.unary_unary( + "/google.cloud.secretmanager.v1.SecretManagerService/GetIamPolicy", + request_serializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.GetIamPolicyRequest.SerializeToString, + response_deserializer=google_dot_iam_dot_v1_dot_policy__pb2.Policy.FromString, + ) + self.TestIamPermissions = channel.unary_unary( + "/google.cloud.secretmanager.v1.SecretManagerService/TestIamPermissions", + request_serializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsRequest.SerializeToString, + response_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsResponse.FromString, + ) + + +class SecretManagerServiceServicer(object): + """`projects/*/secrets/*/versions/latest` is an alias to the `latest` + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion]. + + Secret Manager Service + + Manages secrets and operations using those secrets. Implements a REST + model with the following objects: + + * [Secret][google.cloud.secretmanager.v1.Secret] + * [SecretVersion][google.cloud.secretmanager.v1.SecretVersion] + """ + + def ListSecrets(self, request, context): + """Lists [Secrets][google.cloud.secretmanager.v1.Secret]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + + def CreateSecret(self, request, context): + """Creates a new [Secret][google.cloud.secretmanager.v1.Secret] containing no [SecretVersions][google.cloud.secretmanager.v1.SecretVersion]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + + def AddSecretVersion(self, request, context): + """Creates a new [SecretVersion][google.cloud.secretmanager.v1.SecretVersion] containing secret data and attaches + it to an existing [Secret][google.cloud.secretmanager.v1.Secret]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + + def GetSecret(self, request, context): + """Gets metadata for a given [Secret][google.cloud.secretmanager.v1.Secret]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + + def UpdateSecret(self, request, context): + """Updates metadata of an existing [Secret][google.cloud.secretmanager.v1.Secret]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + + def DeleteSecret(self, request, context): + """Deletes a [Secret][google.cloud.secretmanager.v1.Secret]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + + def ListSecretVersions(self, request, context): + """Lists [SecretVersions][google.cloud.secretmanager.v1.SecretVersion]. This call does not return secret + data. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + + def GetSecretVersion(self, request, context): + """Gets metadata for a [SecretVersion][google.cloud.secretmanager.v1.SecretVersion]. + + `projects/*/secrets/*/versions/latest` is an alias to the `latest` + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + + def AccessSecretVersion(self, request, context): + """Accesses a [SecretVersion][google.cloud.secretmanager.v1.SecretVersion]. This call returns the secret data. + + `projects/*/secrets/*/versions/latest` is an alias to the `latest` + [SecretVersion][google.cloud.secretmanager.v1.SecretVersion]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + + def DisableSecretVersion(self, request, context): + """Disables a [SecretVersion][google.cloud.secretmanager.v1.SecretVersion]. + + Sets the [state][google.cloud.secretmanager.v1.SecretVersion.state] of the [SecretVersion][google.cloud.secretmanager.v1.SecretVersion] to + [DISABLED][google.cloud.secretmanager.v1.SecretVersion.State.DISABLED]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + + def EnableSecretVersion(self, request, context): + """Enables a [SecretVersion][google.cloud.secretmanager.v1.SecretVersion]. + + Sets the [state][google.cloud.secretmanager.v1.SecretVersion.state] of the [SecretVersion][google.cloud.secretmanager.v1.SecretVersion] to + [ENABLED][google.cloud.secretmanager.v1.SecretVersion.State.ENABLED]. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + + def DestroySecretVersion(self, request, context): + """Destroys a [SecretVersion][google.cloud.secretmanager.v1.SecretVersion]. + + Sets the [state][google.cloud.secretmanager.v1.SecretVersion.state] of the [SecretVersion][google.cloud.secretmanager.v1.SecretVersion] to + [DESTROYED][google.cloud.secretmanager.v1.SecretVersion.State.DESTROYED] and irrevocably destroys the + secret data. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + + def SetIamPolicy(self, request, context): + """Sets the access control policy on the specified secret. Replaces any + existing policy. + + Permissions on [SecretVersions][google.cloud.secretmanager.v1.SecretVersion] are enforced according + to the policy set on the associated [Secret][google.cloud.secretmanager.v1.Secret]. + """ + 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 secret. + Returns empty policy if the secret exists and does not have a policy set. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + + def TestIamPermissions(self, request, context): + """Returns permissions that a caller has for the specified secret. + If the secret does not exist, this call returns an empty set of + permissions, not a NOT_FOUND error. + + Note: This operation is designed to be used for building permission-aware + UIs and command-line tools, not for authorization checking. This operation + may "fail open" without warning. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + + +def add_SecretManagerServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + "ListSecrets": grpc.unary_unary_rpc_method_handler( + servicer.ListSecrets, + request_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.ListSecretsRequest.FromString, + response_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.ListSecretsResponse.SerializeToString, + ), + "CreateSecret": grpc.unary_unary_rpc_method_handler( + servicer.CreateSecret, + request_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.CreateSecretRequest.FromString, + response_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2.Secret.SerializeToString, + ), + "AddSecretVersion": grpc.unary_unary_rpc_method_handler( + servicer.AddSecretVersion, + request_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.AddSecretVersionRequest.FromString, + response_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2.SecretVersion.SerializeToString, + ), + "GetSecret": grpc.unary_unary_rpc_method_handler( + servicer.GetSecret, + request_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.GetSecretRequest.FromString, + response_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2.Secret.SerializeToString, + ), + "UpdateSecret": grpc.unary_unary_rpc_method_handler( + servicer.UpdateSecret, + request_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.UpdateSecretRequest.FromString, + response_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2.Secret.SerializeToString, + ), + "DeleteSecret": grpc.unary_unary_rpc_method_handler( + servicer.DeleteSecret, + request_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.DeleteSecretRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + "ListSecretVersions": grpc.unary_unary_rpc_method_handler( + servicer.ListSecretVersions, + request_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.ListSecretVersionsRequest.FromString, + response_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.ListSecretVersionsResponse.SerializeToString, + ), + "GetSecretVersion": grpc.unary_unary_rpc_method_handler( + servicer.GetSecretVersion, + request_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.GetSecretVersionRequest.FromString, + response_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2.SecretVersion.SerializeToString, + ), + "AccessSecretVersion": grpc.unary_unary_rpc_method_handler( + servicer.AccessSecretVersion, + request_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.AccessSecretVersionRequest.FromString, + response_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.AccessSecretVersionResponse.SerializeToString, + ), + "DisableSecretVersion": grpc.unary_unary_rpc_method_handler( + servicer.DisableSecretVersion, + request_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.DisableSecretVersionRequest.FromString, + response_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2.SecretVersion.SerializeToString, + ), + "EnableSecretVersion": grpc.unary_unary_rpc_method_handler( + servicer.EnableSecretVersion, + request_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.EnableSecretVersionRequest.FromString, + response_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2.SecretVersion.SerializeToString, + ), + "DestroySecretVersion": grpc.unary_unary_rpc_method_handler( + servicer.DestroySecretVersion, + request_deserializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_service__pb2.DestroySecretVersionRequest.FromString, + response_serializer=google_dot_cloud_dot_secretmanager__v1_dot_proto_dot_resources__pb2.SecretVersion.SerializeToString, + ), + "SetIamPolicy": grpc.unary_unary_rpc_method_handler( + servicer.SetIamPolicy, + request_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.SetIamPolicyRequest.FromString, + response_serializer=google_dot_iam_dot_v1_dot_policy__pb2.Policy.SerializeToString, + ), + "GetIamPolicy": grpc.unary_unary_rpc_method_handler( + servicer.GetIamPolicy, + request_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.GetIamPolicyRequest.FromString, + response_serializer=google_dot_iam_dot_v1_dot_policy__pb2.Policy.SerializeToString, + ), + "TestIamPermissions": grpc.unary_unary_rpc_method_handler( + servicer.TestIamPermissions, + request_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsRequest.FromString, + response_serializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + "google.cloud.secretmanager.v1.SecretManagerService", rpc_method_handlers + ) + server.add_generic_rpc_handlers((generic_handler,)) diff --git a/google/cloud/secretmanager_v1/types.py b/google/cloud/secretmanager_v1/types.py new file mode 100644 index 0000000..24eeac7 --- /dev/null +++ b/google/cloud/secretmanager_v1/types.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# +# Copyright 2020 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 +# +# https://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. + + +from __future__ import absolute_import +import sys + +from google.api_core.protobuf_helpers import get_messages + +from google.cloud.secretmanager_v1.proto import resources_pb2 +from google.cloud.secretmanager_v1.proto import service_pb2 +from google.iam.v1 import iam_policy_pb2 +from google.iam.v1 import options_pb2 +from google.iam.v1 import policy_pb2 +from google.protobuf import empty_pb2 +from google.protobuf import field_mask_pb2 +from google.protobuf import timestamp_pb2 +from google.type import expr_pb2 + + +_shared_modules = [ + iam_policy_pb2, + options_pb2, + policy_pb2, + empty_pb2, + field_mask_pb2, + timestamp_pb2, + expr_pb2, +] + +_local_modules = [resources_pb2, service_pb2] + +names = [] + +for module in _shared_modules: # pragma: NO COVER + for name, message in get_messages(module).items(): + setattr(sys.modules[__name__], name, message) + names.append(name) +for module in _local_modules: + for name, message in get_messages(module).items(): + message.__module__ = "google.cloud.secretmanager_v1.types" + setattr(sys.modules[__name__], name, message) + names.append(name) + + +__all__ = tuple(sorted(names)) diff --git a/google/cloud/secretmanager_v1beta1/__init__.py b/google/cloud/secretmanager_v1beta1/__init__.py index 4ba8762..852f32a 100644 --- a/google/cloud/secretmanager_v1beta1/__init__.py +++ b/google/cloud/secretmanager_v1beta1/__init__.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright 2019 Google LLC +# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -16,12 +16,23 @@ from __future__ import absolute_import +import sys +import warnings from google.cloud.secretmanager_v1beta1 import types from google.cloud.secretmanager_v1beta1.gapic import enums from google.cloud.secretmanager_v1beta1.gapic import secret_manager_service_client +if sys.version_info[:2] == (2, 7): + message = ( + "A future version of this library will drop support for Python 2.7." + "More details about Python 2 support for Google Cloud Client Libraries" + "can be found at https://cloud.google.com/python/docs/python2-sunset/" + ) + warnings.warn(message, DeprecationWarning) + + class SecretManagerServiceClient( secret_manager_service_client.SecretManagerServiceClient ): diff --git a/google/cloud/secretmanager_v1beta1/gapic/enums.py b/google/cloud/secretmanager_v1beta1/gapic/enums.py index cecf009..e77df68 100644 --- a/google/cloud/secretmanager_v1beta1/gapic/enums.py +++ b/google/cloud/secretmanager_v1beta1/gapic/enums.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright 2019 Google LLC +# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -27,8 +27,8 @@ class State(enum.IntEnum): Attributes: STATE_UNSPECIFIED (int): Not specified. This value is unused and invalid. ENABLED (int): The ``SecretVersion`` may be accessed. - DISABLED (int): The ``SecretVersion`` may not be accessed, but the secret data is still - available and can be placed back into the ``ENABLED`` state. + DISABLED (int): The ``SecretVersion`` may not be accessed, but the secret data is + still available and can be placed back into the ``ENABLED`` state. DESTROYED (int): The ``SecretVersion`` is destroyed and the secret data is no longer stored. A version may not leave this state once entered. """ diff --git a/google/cloud/secretmanager_v1beta1/gapic/secret_manager_service_client.py b/google/cloud/secretmanager_v1beta1/gapic/secret_manager_service_client.py index fcb6079..e3378f6 100644 --- a/google/cloud/secretmanager_v1beta1/gapic/secret_manager_service_client.py +++ b/google/cloud/secretmanager_v1beta1/gapic/secret_manager_service_client.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright 2019 Google LLC +# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -421,8 +421,8 @@ def add_secret_version( metadata=None, ): """ - Creates a new ``SecretVersion`` containing secret data and attaches it - to an existing ``Secret``. + Creates a new ``SecretVersion`` containing secret data and attaches + it to an existing ``Secret``. Example: >>> from google.cloud import secretmanager_v1beta1 @@ -664,8 +664,8 @@ def delete_secret( >>> client.delete_secret(name) Args: - name (str): Required. The resource name of the ``Secret`` to delete in the format - ``projects/*/secrets/*``. + name (str): Required. The resource name of the ``Secret`` to delete in the + format ``projects/*/secrets/*``. retry (Optional[google.api_core.retry.Retry]): A retry object used to retry requests. If ``None`` is specified, requests will be retried using a default configuration. @@ -985,8 +985,8 @@ def disable_secret_version( >>> response = client.disable_secret_version(name) Args: - name (str): Required. The resource name of the ``SecretVersion`` to disable in the - format ``projects/*/secrets/*/versions/*``. + name (str): Required. The resource name of the ``SecretVersion`` to disable in + the format ``projects/*/secrets/*/versions/*``. retry (Optional[google.api_core.retry.Retry]): A retry object used to retry requests. If ``None`` is specified, requests will be retried using a default configuration. @@ -1057,8 +1057,8 @@ def enable_secret_version( >>> response = client.enable_secret_version(name) Args: - name (str): Required. The resource name of the ``SecretVersion`` to enable in the - format ``projects/*/secrets/*/versions/*``. + name (str): Required. The resource name of the ``SecretVersion`` to enable in + the format ``projects/*/secrets/*/versions/*``. retry (Optional[google.api_core.retry.Retry]): A retry object used to retry requests. If ``None`` is specified, requests will be retried using a default configuration. @@ -1130,8 +1130,8 @@ def destroy_secret_version( >>> response = client.destroy_secret_version(name) Args: - name (str): Required. The resource name of the ``SecretVersion`` to destroy in the - format ``projects/*/secrets/*/versions/*``. + name (str): Required. The resource name of the ``SecretVersion`` to destroy in + the format ``projects/*/secrets/*/versions/*``. retry (Optional[google.api_core.retry.Retry]): A retry object used to retry requests. If ``None`` is specified, requests will be retried using a default configuration. @@ -1355,9 +1355,9 @@ def test_iam_permissions( metadata=None, ): """ - Returns permissions that a caller has for the specified secret. If the - secret does not exist, this call returns an empty set of permissions, - not a NOT\_FOUND error. + Returns permissions that a caller has for the specified secret. If + the secret does not exist, this call returns an empty set of + permissions, not a NOT_FOUND error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization @@ -1379,8 +1379,8 @@ def test_iam_permissions( Args: resource (str): REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. - permissions (list[str]): The set of permissions to check for the ``resource``. Permissions with - wildcards (such as '*' or 'storage.*') are not allowed. For more + permissions (list[str]): The set of permissions to check for the ``resource``. Permissions + with wildcards (such as '*' or 'storage.*') are not allowed. For more information see `IAM Overview `__. retry (Optional[google.api_core.retry.Retry]): A retry object used diff --git a/google/cloud/secretmanager_v1beta1/gapic/transports/secret_manager_service_grpc_transport.py b/google/cloud/secretmanager_v1beta1/gapic/transports/secret_manager_service_grpc_transport.py index 0c54a89..80ad1e9 100644 --- a/google/cloud/secretmanager_v1beta1/gapic/transports/secret_manager_service_grpc_transport.py +++ b/google/cloud/secretmanager_v1beta1/gapic/transports/secret_manager_service_grpc_transport.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright 2019 Google LLC +# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -139,8 +139,8 @@ def create_secret(self): def add_secret_version(self): """Return the gRPC stub for :meth:`SecretManagerServiceClient.add_secret_version`. - Creates a new ``SecretVersion`` containing secret data and attaches it - to an existing ``Secret``. + Creates a new ``SecretVersion`` containing secret data and attaches + it to an existing ``Secret``. Returns: Callable: A callable which accepts the appropriate @@ -314,9 +314,9 @@ def get_iam_policy(self): def test_iam_permissions(self): """Return the gRPC stub for :meth:`SecretManagerServiceClient.test_iam_permissions`. - Returns permissions that a caller has for the specified secret. If the - secret does not exist, this call returns an empty set of permissions, - not a NOT\_FOUND error. + Returns permissions that a caller has for the specified secret. If + the secret does not exist, this call returns an empty set of + permissions, not a NOT_FOUND error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization diff --git a/google/cloud/secretmanager_v1beta1/proto/resources_pb2.py b/google/cloud/secretmanager_v1beta1/proto/resources_pb2.py index 4878278..752c152 100644 --- a/google/cloud/secretmanager_v1beta1/proto/resources_pb2.py +++ b/google/cloud/secretmanager_v1beta1/proto/resources_pb2.py @@ -41,10 +41,10 @@ package="google.cloud.secrets.v1beta1", syntax="proto3", serialized_options=_b( - '\n com.google.cloud.secrets.v1beta1B\016ResourcesProtoP\001ZIgoogle.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1;secrets\370\001\001\242\002\003GSM\252\002"Google.Cloud.SecretManager.V1Beta1\312\002"Google\\Cloud\\SecretManager\\V1beta1\352\002%Google::Cloud::SecretManager::V1beta1' + '\n&com.google.cloud.secretmanager.v1beta1B\016ResourcesProtoP\001ZOgoogle.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1;secretmanager\370\001\001\242\002\003GSM\252\002"Google.Cloud.SecretManager.V1Beta1\312\002"Google\\Cloud\\SecretManager\\V1beta1\352\002%Google::Cloud::SecretManager::V1beta1' ), serialized_pb=_b( - '\n2google/cloud/secrets_v1beta1/proto/resources.proto\x12\x1cgoogle.cloud.secrets.v1beta1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/api/annotations.proto"\xd9\x02\n\x06Secret\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x46\n\x0breplication\x18\x02 \x01(\x0b\x32).google.cloud.secrets.v1beta1.ReplicationB\x06\xe0\x41\x05\xe0\x41\x02\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12@\n\x06labels\x18\x04 \x03(\x0b\x32\x30.google.cloud.secrets.v1beta1.Secret.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:M\xea\x41J\n#secretmanager.googleapis.com/Secret\x12#projects/{project}/secrets/{secret}"\x90\x03\n\rSecretVersion\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x35\n\x0c\x64\x65stroy_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x45\n\x05state\x18\x04 \x01(\x0e\x32\x31.google.cloud.secrets.v1beta1.SecretVersion.StateB\x03\xe0\x41\x03"H\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\r\n\tDESTROYED\x10\x03:n\xea\x41k\n*secretmanager.googleapis.com/SecretVersion\x12=projects/{project}/secrets/{secret}/versions/{secret_version}"\xc5\x02\n\x0bReplication\x12H\n\tautomatic\x18\x01 \x01(\x0b\x32\x33.google.cloud.secrets.v1beta1.Replication.AutomaticH\x00\x12M\n\x0cuser_managed\x18\x02 \x01(\x0b\x32\x35.google.cloud.secrets.v1beta1.Replication.UserManagedH\x00\x1a\x0b\n\tAutomatic\x1a\x80\x01\n\x0bUserManaged\x12T\n\x08replicas\x18\x01 \x03(\x0b\x32=.google.cloud.secrets.v1beta1.Replication.UserManaged.ReplicaB\x03\xe0\x41\x02\x1a\x1b\n\x07Replica\x12\x10\n\x08location\x18\x01 \x01(\tB\r\n\x0breplication"\x1d\n\rSecretPayload\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x42\xfa\x01\n com.google.cloud.secrets.v1beta1B\x0eResourcesProtoP\x01ZIgoogle.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1;secrets\xf8\x01\x01\xa2\x02\x03GSM\xaa\x02"Google.Cloud.SecretManager.V1Beta1\xca\x02"Google\\Cloud\\SecretManager\\V1beta1\xea\x02%Google::Cloud::SecretManager::V1beta1b\x06proto3' + '\n2google/cloud/secrets_v1beta1/proto/resources.proto\x12\x1cgoogle.cloud.secrets.v1beta1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/api/annotations.proto"\xd9\x02\n\x06Secret\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x46\n\x0breplication\x18\x02 \x01(\x0b\x32).google.cloud.secrets.v1beta1.ReplicationB\x06\xe0\x41\x05\xe0\x41\x02\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12@\n\x06labels\x18\x04 \x03(\x0b\x32\x30.google.cloud.secrets.v1beta1.Secret.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:M\xea\x41J\n#secretmanager.googleapis.com/Secret\x12#projects/{project}/secrets/{secret}"\x90\x03\n\rSecretVersion\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x35\n\x0c\x64\x65stroy_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x45\n\x05state\x18\x04 \x01(\x0e\x32\x31.google.cloud.secrets.v1beta1.SecretVersion.StateB\x03\xe0\x41\x03"H\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\r\n\tDESTROYED\x10\x03:n\xea\x41k\n*secretmanager.googleapis.com/SecretVersion\x12=projects/{project}/secrets/{secret}/versions/{secret_version}"\xc5\x02\n\x0bReplication\x12H\n\tautomatic\x18\x01 \x01(\x0b\x32\x33.google.cloud.secrets.v1beta1.Replication.AutomaticH\x00\x12M\n\x0cuser_managed\x18\x02 \x01(\x0b\x32\x35.google.cloud.secrets.v1beta1.Replication.UserManagedH\x00\x1a\x0b\n\tAutomatic\x1a\x80\x01\n\x0bUserManaged\x12T\n\x08replicas\x18\x01 \x03(\x0b\x32=.google.cloud.secrets.v1beta1.Replication.UserManaged.ReplicaB\x03\xe0\x41\x02\x1a\x1b\n\x07Replica\x12\x10\n\x08location\x18\x01 \x01(\tB\r\n\x0breplication"\x1d\n\rSecretPayload\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x42\x86\x02\n&com.google.cloud.secretmanager.v1beta1B\x0eResourcesProtoP\x01ZOgoogle.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1;secretmanager\xf8\x01\x01\xa2\x02\x03GSM\xaa\x02"Google.Cloud.SecretManager.V1Beta1\xca\x02"Google\\Cloud\\SecretManager\\V1beta1\xea\x02%Google::Cloud::SecretManager::V1beta1b\x06proto3' ), dependencies=[ google_dot_api_dot_field__behavior__pb2.DESCRIPTOR, @@ -573,19 +573,19 @@ Secret = _reflection.GeneratedProtocolMessageType( "Secret", (_message.Message,), - dict( - LabelsEntry=_reflection.GeneratedProtocolMessageType( + { + "LabelsEntry": _reflection.GeneratedProtocolMessageType( "LabelsEntry", (_message.Message,), - dict( - DESCRIPTOR=_SECRET_LABELSENTRY, - __module__="google.cloud.secrets_v1beta1.proto.resources_pb2" + { + "DESCRIPTOR": _SECRET_LABELSENTRY, + "__module__": "google.cloud.secrets_v1beta1.proto.resources_pb2" # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.Secret.LabelsEntry) - ), + }, ), - DESCRIPTOR=_SECRET, - __module__="google.cloud.secrets_v1beta1.proto.resources_pb2", - __doc__="""A [Secret][google.cloud.secrets.v1beta1.Secret] is a logical secret + "DESCRIPTOR": _SECRET, + "__module__": "google.cloud.secrets_v1beta1.proto.resources_pb2", + "__doc__": """A [Secret][google.cloud.secrets.v1beta1.Secret] is a logical secret whose value and versions can be accessed. A [Secret][google.cloud.secrets.v1beta1.Secret] is made up of zero or @@ -619,7 +619,7 @@ assigned to a given resource. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.Secret) - ), + }, ) _sym_db.RegisterMessage(Secret) _sym_db.RegisterMessage(Secret.LabelsEntry) @@ -627,10 +627,10 @@ SecretVersion = _reflection.GeneratedProtocolMessageType( "SecretVersion", (_message.Message,), - dict( - DESCRIPTOR=_SECRETVERSION, - __module__="google.cloud.secrets_v1beta1.proto.resources_pb2", - __doc__="""A secret version resource in the Secret Manager API. + { + "DESCRIPTOR": _SECRETVERSION, + "__module__": "google.cloud.secrets_v1beta1.proto.resources_pb2", + "__doc__": """A secret version resource in the Secret Manager API. Attributes: @@ -658,38 +658,39 @@ [SecretVersion][google.cloud.secrets.v1beta1.SecretVersion]. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.SecretVersion) - ), + }, ) _sym_db.RegisterMessage(SecretVersion) Replication = _reflection.GeneratedProtocolMessageType( "Replication", (_message.Message,), - dict( - Automatic=_reflection.GeneratedProtocolMessageType( + { + "Automatic": _reflection.GeneratedProtocolMessageType( "Automatic", (_message.Message,), - dict( - DESCRIPTOR=_REPLICATION_AUTOMATIC, - __module__="google.cloud.secrets_v1beta1.proto.resources_pb2", - __doc__="""A replication policy that replicates the + { + "DESCRIPTOR": _REPLICATION_AUTOMATIC, + "__module__": "google.cloud.secrets_v1beta1.proto.resources_pb2", + "__doc__": """A replication policy that replicates the [Secret][google.cloud.secrets.v1beta1.Secret] payload without any restrictions. + """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.Replication.Automatic) - ), + }, ), - UserManaged=_reflection.GeneratedProtocolMessageType( + "UserManaged": _reflection.GeneratedProtocolMessageType( "UserManaged", (_message.Message,), - dict( - Replica=_reflection.GeneratedProtocolMessageType( + { + "Replica": _reflection.GeneratedProtocolMessageType( "Replica", (_message.Message,), - dict( - DESCRIPTOR=_REPLICATION_USERMANAGED_REPLICA, - __module__="google.cloud.secrets_v1beta1.proto.resources_pb2", - __doc__="""Represents a Replica for this + { + "DESCRIPTOR": _REPLICATION_USERMANAGED_REPLICA, + "__module__": "google.cloud.secrets_v1beta1.proto.resources_pb2", + "__doc__": """Represents a Replica for this [Secret][google.cloud.secrets.v1beta1.Secret]. @@ -699,13 +700,13 @@ example: ``"us-east1"``. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.Replication.UserManaged.Replica) - ), + }, ), - DESCRIPTOR=_REPLICATION_USERMANAGED, - __module__="google.cloud.secrets_v1beta1.proto.resources_pb2", - __doc__="""A replication policy that replicates the + "DESCRIPTOR": _REPLICATION_USERMANAGED, + "__module__": "google.cloud.secrets_v1beta1.proto.resources_pb2", + "__doc__": """A replication policy that replicates the [Secret][google.cloud.secrets.v1beta1.Secret] payload into the locations - specified in [Secret.replication.user\_managed.replicas][] + specified in [Secret.replication.user_managed.replicas][] Attributes: @@ -715,11 +716,12 @@ empty. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.Replication.UserManaged) - ), + }, ), - DESCRIPTOR=_REPLICATION, - __module__="google.cloud.secrets_v1beta1.proto.resources_pb2", - __doc__="""A policy that defines the replication configuration of data. + "DESCRIPTOR": _REPLICATION, + "__module__": "google.cloud.secrets_v1beta1.proto.resources_pb2", + "__doc__": """A policy that defines the replication configuration of + data. Attributes: @@ -733,7 +735,7 @@ replicated into the locations specified. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.Replication) - ), + }, ) _sym_db.RegisterMessage(Replication) _sym_db.RegisterMessage(Replication.Automatic) @@ -743,11 +745,11 @@ SecretPayload = _reflection.GeneratedProtocolMessageType( "SecretPayload", (_message.Message,), - dict( - DESCRIPTOR=_SECRETPAYLOAD, - __module__="google.cloud.secrets_v1beta1.proto.resources_pb2", - __doc__="""A secret payload resource in the Secret Manager API. This contains the - sensitive secret data that is associated with a + { + "DESCRIPTOR": _SECRETPAYLOAD, + "__module__": "google.cloud.secrets_v1beta1.proto.resources_pb2", + "__doc__": """A secret payload resource in the Secret Manager API. This + contains the sensitive secret data that is associated with a [SecretVersion][google.cloud.secrets.v1beta1.SecretVersion]. @@ -756,7 +758,7 @@ The secret data. Must be no larger than 64KiB. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.SecretPayload) - ), + }, ) _sym_db.RegisterMessage(SecretPayload) diff --git a/google/cloud/secretmanager_v1beta1/proto/service_pb2.py b/google/cloud/secretmanager_v1beta1/proto/service_pb2.py index 07a11ec..981b7c0 100644 --- a/google/cloud/secretmanager_v1beta1/proto/service_pb2.py +++ b/google/cloud/secretmanager_v1beta1/proto/service_pb2.py @@ -48,10 +48,10 @@ package="google.cloud.secrets.v1beta1", syntax="proto3", serialized_options=_b( - '\n com.google.cloud.secrets.v1beta1B\014SecretsProtoP\001ZIgoogle.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1;secrets\370\001\001\242\002\003GSM\252\002"Google.Cloud.SecretManager.V1Beta1\312\002"Google\\Cloud\\SecretManager\\V1beta1\352\002%Google::Cloud::SecretManager::V1beta1' + '\n&com.google.cloud.secretmanager.v1beta1B\014ServiceProtoP\001ZOgoogle.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1;secretmanager\370\001\001\242\002\003GSM\252\002"Google.Cloud.SecretManager.V1Beta1\312\002"Google\\Cloud\\SecretManager\\V1beta1\352\002%Google::Cloud::SecretManager::V1beta1' ), serialized_pb=_b( - '\n0google/cloud/secrets_v1beta1/proto/service.proto\x12\x1cgoogle.cloud.secrets.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x32google/cloud/secrets_v1beta1/proto/resources.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto"\x8a\x01\n\x12ListSecretsRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01"y\n\x13ListSecretsResponse\x12\x35\n\x07secrets\x18\x01 \x03(\x0b\x32$.google.cloud.secrets.v1beta1.Secret\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05"\xa8\x01\n\x13\x43reateSecretRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x16\n\tsecret_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x34\n\x06secret\x18\x03 \x01(\x0b\x32$.google.cloud.secrets.v1beta1.Secret"\x99\x01\n\x17\x41\x64\x64SecretVersionRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret\x12\x41\n\x07payload\x18\x02 \x01(\x0b\x32+.google.cloud.secrets.v1beta1.SecretPayloadB\x03\xe0\x41\x02"M\n\x10GetSecretRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret"\x89\x01\n\x19ListSecretVersionsRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01"\x88\x01\n\x1aListSecretVersionsResponse\x12=\n\x08versions\x18\x01 \x03(\x0b\x32+.google.cloud.secrets.v1beta1.SecretVersion\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05"[\n\x17GetSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion"\x86\x01\n\x13UpdateSecretRequest\x12\x39\n\x06secret\x18\x01 \x01(\x0b\x32$.google.cloud.secrets.v1beta1.SecretB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02"^\n\x1a\x41\x63\x63\x65ssSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion"\x9a\x01\n\x1b\x41\x63\x63\x65ssSecretVersionResponse\x12=\n\x04name\x18\x01 \x01(\tB/\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion\x12<\n\x07payload\x18\x02 \x01(\x0b\x32+.google.cloud.secrets.v1beta1.SecretPayload"P\n\x13\x44\x65leteSecretRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret"_\n\x1b\x44isableSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion"^\n\x1a\x45nableSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion"_\n\x1b\x44\x65stroySecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion2\x83\x16\n\x14SecretManagerService\x12\xa9\x01\n\x0bListSecrets\x12\x30.google.cloud.secrets.v1beta1.ListSecretsRequest\x1a\x31.google.cloud.secrets.v1beta1.ListSecretsResponse"5\x82\xd3\xe4\x93\x02&\x12$/v1beta1/{parent=projects/*}/secrets\xda\x41\x06parent\x12\xb7\x01\n\x0c\x43reateSecret\x12\x31.google.cloud.secrets.v1beta1.CreateSecretRequest\x1a$.google.cloud.secrets.v1beta1.Secret"N\x82\xd3\xe4\x93\x02."$/v1beta1/{parent=projects/*}/secrets:\x06secret\xda\x41\x17parent,secret_id,secret\x12\xc5\x01\n\x10\x41\x64\x64SecretVersion\x12\x35.google.cloud.secrets.v1beta1.AddSecretVersionRequest\x1a+.google.cloud.secrets.v1beta1.SecretVersion"M\x82\xd3\xe4\x93\x02\x36"1/v1beta1/{parent=projects/*/secrets/*}:addVersion:\x01*\xda\x41\x0eparent,payload\x12\x96\x01\n\tGetSecret\x12..google.cloud.secrets.v1beta1.GetSecretRequest\x1a$.google.cloud.secrets.v1beta1.Secret"3\x82\xd3\xe4\x93\x02&\x12$/v1beta1/{name=projects/*/secrets/*}\xda\x41\x04name\x12\xb9\x01\n\x0cUpdateSecret\x12\x31.google.cloud.secrets.v1beta1.UpdateSecretRequest\x1a$.google.cloud.secrets.v1beta1.Secret"P\x82\xd3\xe4\x93\x02\x35\x32+/v1beta1/{secret.name=projects/*/secrets/*}:\x06secret\xda\x41\x12secret,update_mask\x12\x8e\x01\n\x0c\x44\x65leteSecret\x12\x31.google.cloud.secrets.v1beta1.DeleteSecretRequest\x1a\x16.google.protobuf.Empty"3\x82\xd3\xe4\x93\x02&*$/v1beta1/{name=projects/*/secrets/*}\xda\x41\x04name\x12\xc9\x01\n\x12ListSecretVersions\x12\x37.google.cloud.secrets.v1beta1.ListSecretVersionsRequest\x1a\x38.google.cloud.secrets.v1beta1.ListSecretVersionsResponse"@\x82\xd3\xe4\x93\x02\x31\x12//v1beta1/{parent=projects/*/secrets/*}/versions\xda\x41\x06parent\x12\xb6\x01\n\x10GetSecretVersion\x12\x35.google.cloud.secrets.v1beta1.GetSecretVersionRequest\x1a+.google.cloud.secrets.v1beta1.SecretVersion">\x82\xd3\xe4\x93\x02\x31\x12//v1beta1/{name=projects/*/secrets/*/versions/*}\xda\x41\x04name\x12\xd1\x01\n\x13\x41\x63\x63\x65ssSecretVersion\x12\x38.google.cloud.secrets.v1beta1.AccessSecretVersionRequest\x1a\x39.google.cloud.secrets.v1beta1.AccessSecretVersionResponse"E\x82\xd3\xe4\x93\x02\x38\x12\x36/v1beta1/{name=projects/*/secrets/*/versions/*}:access\xda\x41\x04name\x12\xc9\x01\n\x14\x44isableSecretVersion\x12\x39.google.cloud.secrets.v1beta1.DisableSecretVersionRequest\x1a+.google.cloud.secrets.v1beta1.SecretVersion"I\x82\xd3\xe4\x93\x02<"7/v1beta1/{name=projects/*/secrets/*/versions/*}:disable:\x01*\xda\x41\x04name\x12\xc6\x01\n\x13\x45nableSecretVersion\x12\x38.google.cloud.secrets.v1beta1.EnableSecretVersionRequest\x1a+.google.cloud.secrets.v1beta1.SecretVersion"H\x82\xd3\xe4\x93\x02;"6/v1beta1/{name=projects/*/secrets/*/versions/*}:enable:\x01*\xda\x41\x04name\x12\xc9\x01\n\x14\x44\x65stroySecretVersion\x12\x39.google.cloud.secrets.v1beta1.DestroySecretVersionRequest\x1a+.google.cloud.secrets.v1beta1.SecretVersion"I\x82\xd3\xe4\x93\x02<"7/v1beta1/{name=projects/*/secrets/*/versions/*}:destroy:\x01*\xda\x41\x04name\x12\x8b\x01\n\x0cSetIamPolicy\x12".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy"@\x82\xd3\xe4\x93\x02:"5/v1beta1/{resource=projects/*/secrets/*}:setIamPolicy:\x01*\x12\x88\x01\n\x0cGetIamPolicy\x12".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy"=\x82\xd3\xe4\x93\x02\x37\x12\x35/v1beta1/{resource=projects/*/secrets/*}:getIamPolicy\x12\xb1\x01\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse"F\x82\xd3\xe4\x93\x02@";/v1beta1/{resource=projects/*/secrets/*}:testIamPermissions:\x01*\x1aP\xca\x41\x1csecretmanager.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xf8\x01\n com.google.cloud.secrets.v1beta1B\x0cSecretsProtoP\x01ZIgoogle.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1;secrets\xf8\x01\x01\xa2\x02\x03GSM\xaa\x02"Google.Cloud.SecretManager.V1Beta1\xca\x02"Google\\Cloud\\SecretManager\\V1beta1\xea\x02%Google::Cloud::SecretManager::V1beta1b\x06proto3' + '\n0google/cloud/secrets_v1beta1/proto/service.proto\x12\x1cgoogle.cloud.secrets.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x32google/cloud/secrets_v1beta1/proto/resources.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto"\x8a\x01\n\x12ListSecretsRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01"y\n\x13ListSecretsResponse\x12\x35\n\x07secrets\x18\x01 \x03(\x0b\x32$.google.cloud.secrets.v1beta1.Secret\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05"\xa8\x01\n\x13\x43reateSecretRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x16\n\tsecret_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x34\n\x06secret\x18\x03 \x01(\x0b\x32$.google.cloud.secrets.v1beta1.Secret"\x99\x01\n\x17\x41\x64\x64SecretVersionRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret\x12\x41\n\x07payload\x18\x02 \x01(\x0b\x32+.google.cloud.secrets.v1beta1.SecretPayloadB\x03\xe0\x41\x02"M\n\x10GetSecretRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret"\x89\x01\n\x19ListSecretVersionsRequest\x12;\n\x06parent\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01"\x88\x01\n\x1aListSecretVersionsResponse\x12=\n\x08versions\x18\x01 \x03(\x0b\x32+.google.cloud.secrets.v1beta1.SecretVersion\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05"[\n\x17GetSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion"\x86\x01\n\x13UpdateSecretRequest\x12\x39\n\x06secret\x18\x01 \x01(\x0b\x32$.google.cloud.secrets.v1beta1.SecretB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02"^\n\x1a\x41\x63\x63\x65ssSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion"\x9a\x01\n\x1b\x41\x63\x63\x65ssSecretVersionResponse\x12=\n\x04name\x18\x01 \x01(\tB/\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion\x12<\n\x07payload\x18\x02 \x01(\x0b\x32+.google.cloud.secrets.v1beta1.SecretPayload"P\n\x13\x44\x65leteSecretRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#secretmanager.googleapis.com/Secret"_\n\x1b\x44isableSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion"^\n\x1a\x45nableSecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion"_\n\x1b\x44\x65stroySecretVersionRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*secretmanager.googleapis.com/SecretVersion2\x83\x16\n\x14SecretManagerService\x12\xa9\x01\n\x0bListSecrets\x12\x30.google.cloud.secrets.v1beta1.ListSecretsRequest\x1a\x31.google.cloud.secrets.v1beta1.ListSecretsResponse"5\x82\xd3\xe4\x93\x02&\x12$/v1beta1/{parent=projects/*}/secrets\xda\x41\x06parent\x12\xb7\x01\n\x0c\x43reateSecret\x12\x31.google.cloud.secrets.v1beta1.CreateSecretRequest\x1a$.google.cloud.secrets.v1beta1.Secret"N\x82\xd3\xe4\x93\x02."$/v1beta1/{parent=projects/*}/secrets:\x06secret\xda\x41\x17parent,secret_id,secret\x12\xc5\x01\n\x10\x41\x64\x64SecretVersion\x12\x35.google.cloud.secrets.v1beta1.AddSecretVersionRequest\x1a+.google.cloud.secrets.v1beta1.SecretVersion"M\x82\xd3\xe4\x93\x02\x36"1/v1beta1/{parent=projects/*/secrets/*}:addVersion:\x01*\xda\x41\x0eparent,payload\x12\x96\x01\n\tGetSecret\x12..google.cloud.secrets.v1beta1.GetSecretRequest\x1a$.google.cloud.secrets.v1beta1.Secret"3\x82\xd3\xe4\x93\x02&\x12$/v1beta1/{name=projects/*/secrets/*}\xda\x41\x04name\x12\xb9\x01\n\x0cUpdateSecret\x12\x31.google.cloud.secrets.v1beta1.UpdateSecretRequest\x1a$.google.cloud.secrets.v1beta1.Secret"P\x82\xd3\xe4\x93\x02\x35\x32+/v1beta1/{secret.name=projects/*/secrets/*}:\x06secret\xda\x41\x12secret,update_mask\x12\x8e\x01\n\x0c\x44\x65leteSecret\x12\x31.google.cloud.secrets.v1beta1.DeleteSecretRequest\x1a\x16.google.protobuf.Empty"3\x82\xd3\xe4\x93\x02&*$/v1beta1/{name=projects/*/secrets/*}\xda\x41\x04name\x12\xc9\x01\n\x12ListSecretVersions\x12\x37.google.cloud.secrets.v1beta1.ListSecretVersionsRequest\x1a\x38.google.cloud.secrets.v1beta1.ListSecretVersionsResponse"@\x82\xd3\xe4\x93\x02\x31\x12//v1beta1/{parent=projects/*/secrets/*}/versions\xda\x41\x06parent\x12\xb6\x01\n\x10GetSecretVersion\x12\x35.google.cloud.secrets.v1beta1.GetSecretVersionRequest\x1a+.google.cloud.secrets.v1beta1.SecretVersion">\x82\xd3\xe4\x93\x02\x31\x12//v1beta1/{name=projects/*/secrets/*/versions/*}\xda\x41\x04name\x12\xd1\x01\n\x13\x41\x63\x63\x65ssSecretVersion\x12\x38.google.cloud.secrets.v1beta1.AccessSecretVersionRequest\x1a\x39.google.cloud.secrets.v1beta1.AccessSecretVersionResponse"E\x82\xd3\xe4\x93\x02\x38\x12\x36/v1beta1/{name=projects/*/secrets/*/versions/*}:access\xda\x41\x04name\x12\xc9\x01\n\x14\x44isableSecretVersion\x12\x39.google.cloud.secrets.v1beta1.DisableSecretVersionRequest\x1a+.google.cloud.secrets.v1beta1.SecretVersion"I\x82\xd3\xe4\x93\x02<"7/v1beta1/{name=projects/*/secrets/*/versions/*}:disable:\x01*\xda\x41\x04name\x12\xc6\x01\n\x13\x45nableSecretVersion\x12\x38.google.cloud.secrets.v1beta1.EnableSecretVersionRequest\x1a+.google.cloud.secrets.v1beta1.SecretVersion"H\x82\xd3\xe4\x93\x02;"6/v1beta1/{name=projects/*/secrets/*/versions/*}:enable:\x01*\xda\x41\x04name\x12\xc9\x01\n\x14\x44\x65stroySecretVersion\x12\x39.google.cloud.secrets.v1beta1.DestroySecretVersionRequest\x1a+.google.cloud.secrets.v1beta1.SecretVersion"I\x82\xd3\xe4\x93\x02<"7/v1beta1/{name=projects/*/secrets/*/versions/*}:destroy:\x01*\xda\x41\x04name\x12\x8b\x01\n\x0cSetIamPolicy\x12".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy"@\x82\xd3\xe4\x93\x02:"5/v1beta1/{resource=projects/*/secrets/*}:setIamPolicy:\x01*\x12\x88\x01\n\x0cGetIamPolicy\x12".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy"=\x82\xd3\xe4\x93\x02\x37\x12\x35/v1beta1/{resource=projects/*/secrets/*}:getIamPolicy\x12\xb1\x01\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse"F\x82\xd3\xe4\x93\x02@";/v1beta1/{resource=projects/*/secrets/*}:testIamPermissions:\x01*\x1aP\xca\x41\x1csecretmanager.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x84\x02\n&com.google.cloud.secretmanager.v1beta1B\x0cServiceProtoP\x01ZOgoogle.golang.org/genproto/googleapis/cloud/secretmanager/v1beta1;secretmanager\xf8\x01\x01\xa2\x02\x03GSM\xaa\x02"Google.Cloud.SecretManager.V1Beta1\xca\x02"Google\\Cloud\\SecretManager\\V1beta1\xea\x02%Google::Cloud::SecretManager::V1beta1b\x06proto3' ), dependencies=[ google_dot_api_dot_annotations__pb2.DESCRIPTOR, @@ -976,10 +976,10 @@ ListSecretsRequest = _reflection.GeneratedProtocolMessageType( "ListSecretsRequest", (_message.Message,), - dict( - DESCRIPTOR=_LISTSECRETSREQUEST, - __module__="google.cloud.secrets_v1beta1.proto.service_pb2", - __doc__="""Request message for + { + "DESCRIPTOR": _LISTSECRETSREQUEST, + "__module__": "google.cloud.secrets_v1beta1.proto.service_pb2", + "__doc__": """Request message for [SecretManagerService.ListSecrets][google.cloud.secrets.v1beta1.SecretManagerService.ListSecrets]. @@ -995,48 +995,48 @@ capped at 25000. page_token: Optional. Pagination token, returned earlier via [ListSecretsR - esponse.next\_page\_token][google.cloud.secrets.v1beta1.ListSe - cretsResponse.next\_page\_token]. + esponse.next_page_token][google.cloud.secrets.v1beta1.ListSecr + etsResponse.next_page_token]. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.ListSecretsRequest) - ), + }, ) _sym_db.RegisterMessage(ListSecretsRequest) ListSecretsResponse = _reflection.GeneratedProtocolMessageType( "ListSecretsResponse", (_message.Message,), - dict( - DESCRIPTOR=_LISTSECRETSRESPONSE, - __module__="google.cloud.secrets_v1beta1.proto.service_pb2", - __doc__="""Response message for + { + "DESCRIPTOR": _LISTSECRETSRESPONSE, + "__module__": "google.cloud.secrets_v1beta1.proto.service_pb2", + "__doc__": """Response message for [SecretManagerService.ListSecrets][google.cloud.secrets.v1beta1.SecretManagerService.ListSecrets]. Attributes: secrets: The list of [Secrets][google.cloud.secrets.v1beta1.Secret] - sorted in reverse by create\_time (newest first). + sorted in reverse by create_time (newest first). next_page_token: A token to retrieve the next page of results. Pass this value - in [ListSecretsRequest.page\_token][google.cloud.secrets.v1bet - a1.ListSecretsRequest.page\_token] to retrieve the next page. + in [ListSecretsRequest.page_token][google.cloud.secrets.v1beta + 1.ListSecretsRequest.page_token] to retrieve the next page. total_size: The total number of [Secrets][google.cloud.secrets.v1beta1.Secret]. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.ListSecretsResponse) - ), + }, ) _sym_db.RegisterMessage(ListSecretsResponse) CreateSecretRequest = _reflection.GeneratedProtocolMessageType( "CreateSecretRequest", (_message.Message,), - dict( - DESCRIPTOR=_CREATESECRETREQUEST, - __module__="google.cloud.secrets_v1beta1.proto.service_pb2", - __doc__="""Request message for + { + "DESCRIPTOR": _CREATESECRETREQUEST, + "__module__": "google.cloud.secrets_v1beta1.proto.service_pb2", + "__doc__": """Request message for [SecretManagerService.CreateSecret][google.cloud.secrets.v1beta1.SecretManagerService.CreateSecret]. @@ -1052,17 +1052,17 @@ field values. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.CreateSecretRequest) - ), + }, ) _sym_db.RegisterMessage(CreateSecretRequest) AddSecretVersionRequest = _reflection.GeneratedProtocolMessageType( "AddSecretVersionRequest", (_message.Message,), - dict( - DESCRIPTOR=_ADDSECRETVERSIONREQUEST, - __module__="google.cloud.secrets_v1beta1.proto.service_pb2", - __doc__="""Request message for + { + "DESCRIPTOR": _ADDSECRETVERSIONREQUEST, + "__module__": "google.cloud.secrets_v1beta1.proto.service_pb2", + "__doc__": """Request message for [SecretManagerService.AddSecretVersion][google.cloud.secrets.v1beta1.SecretManagerService.AddSecretVersion]. @@ -1078,17 +1078,17 @@ [SecretVersion][google.cloud.secrets.v1beta1.SecretVersion]. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.AddSecretVersionRequest) - ), + }, ) _sym_db.RegisterMessage(AddSecretVersionRequest) GetSecretRequest = _reflection.GeneratedProtocolMessageType( "GetSecretRequest", (_message.Message,), - dict( - DESCRIPTOR=_GETSECRETREQUEST, - __module__="google.cloud.secrets_v1beta1.proto.service_pb2", - __doc__="""Request message for + { + "DESCRIPTOR": _GETSECRETREQUEST, + "__module__": "google.cloud.secrets_v1beta1.proto.service_pb2", + "__doc__": """Request message for [SecretManagerService.GetSecret][google.cloud.secrets.v1beta1.SecretManagerService.GetSecret]. @@ -1099,17 +1099,17 @@ ``projects/*/secrets/*``. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.GetSecretRequest) - ), + }, ) _sym_db.RegisterMessage(GetSecretRequest) ListSecretVersionsRequest = _reflection.GeneratedProtocolMessageType( "ListSecretVersionsRequest", (_message.Message,), - dict( - DESCRIPTOR=_LISTSECRETVERSIONSREQUEST, - __module__="google.cloud.secrets_v1beta1.proto.service_pb2", - __doc__="""Request message for + { + "DESCRIPTOR": _LISTSECRETVERSIONSREQUEST, + "__module__": "google.cloud.secrets_v1beta1.proto.service_pb2", + "__doc__": """Request message for [SecretManagerService.ListSecretVersions][google.cloud.secrets.v1beta1.SecretManagerService.ListSecretVersions]. @@ -1127,20 +1127,20 @@ capped at 25000. page_token: Optional. Pagination token, returned earlier via - ListSecretVersionsResponse.next\_page\_token][]. + ListSecretVersionsResponse.next_page_token][]. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.ListSecretVersionsRequest) - ), + }, ) _sym_db.RegisterMessage(ListSecretVersionsRequest) ListSecretVersionsResponse = _reflection.GeneratedProtocolMessageType( "ListSecretVersionsResponse", (_message.Message,), - dict( - DESCRIPTOR=_LISTSECRETVERSIONSRESPONSE, - __module__="google.cloud.secrets_v1beta1.proto.service_pb2", - __doc__="""Response message for + { + "DESCRIPTOR": _LISTSECRETVERSIONSRESPONSE, + "__module__": "google.cloud.secrets_v1beta1.proto.service_pb2", + "__doc__": """Response message for [SecretManagerService.ListSecretVersions][google.cloud.secrets.v1beta1.SecretManagerService.ListSecretVersions]. @@ -1148,28 +1148,28 @@ versions: The list of [SecretVersions][google.cloud.secrets.v1beta1.SecretVersion] - sorted in reverse by create\_time (newest first). + sorted in reverse by create_time (newest first). next_page_token: A token to retrieve the next page of results. Pass this value - in [ListSecretVersionsRequest.page\_token][google.cloud.secret - s.v1beta1.ListSecretVersionsRequest.page\_token] to retrieve - the next page. + in [ListSecretVersionsRequest.page_token][google.cloud.secrets + .v1beta1.ListSecretVersionsRequest.page_token] to retrieve the + next page. total_size: The total number of [SecretVersions][google.cloud.secrets.v1beta1.SecretVersion]. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.ListSecretVersionsResponse) - ), + }, ) _sym_db.RegisterMessage(ListSecretVersionsResponse) GetSecretVersionRequest = _reflection.GeneratedProtocolMessageType( "GetSecretVersionRequest", (_message.Message,), - dict( - DESCRIPTOR=_GETSECRETVERSIONREQUEST, - __module__="google.cloud.secrets_v1beta1.proto.service_pb2", - __doc__="""Request message for + { + "DESCRIPTOR": _GETSECRETVERSIONREQUEST, + "__module__": "google.cloud.secrets_v1beta1.proto.service_pb2", + "__doc__": """Request message for [SecretManagerService.GetSecretVersion][google.cloud.secrets.v1beta1.SecretManagerService.GetSecretVersion]. @@ -1183,17 +1183,17 @@ [SecretVersion][google.cloud.secrets.v1beta1.SecretVersion]. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.GetSecretVersionRequest) - ), + }, ) _sym_db.RegisterMessage(GetSecretVersionRequest) UpdateSecretRequest = _reflection.GeneratedProtocolMessageType( "UpdateSecretRequest", (_message.Message,), - dict( - DESCRIPTOR=_UPDATESECRETREQUEST, - __module__="google.cloud.secrets_v1beta1.proto.service_pb2", - __doc__="""Request message for + { + "DESCRIPTOR": _UPDATESECRETREQUEST, + "__module__": "google.cloud.secrets_v1beta1.proto.service_pb2", + "__doc__": """Request message for [SecretManagerService.UpdateSecret][google.cloud.secrets.v1beta1.SecretManagerService.UpdateSecret]. @@ -1205,17 +1205,17 @@ Required. Specifies the fields to be updated. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.UpdateSecretRequest) - ), + }, ) _sym_db.RegisterMessage(UpdateSecretRequest) AccessSecretVersionRequest = _reflection.GeneratedProtocolMessageType( "AccessSecretVersionRequest", (_message.Message,), - dict( - DESCRIPTOR=_ACCESSSECRETVERSIONREQUEST, - __module__="google.cloud.secrets_v1beta1.proto.service_pb2", - __doc__="""Request message for + { + "DESCRIPTOR": _ACCESSSECRETVERSIONREQUEST, + "__module__": "google.cloud.secrets_v1beta1.proto.service_pb2", + "__doc__": """Request message for [SecretManagerService.AccessSecretVersion][google.cloud.secrets.v1beta1.SecretManagerService.AccessSecretVersion]. @@ -1226,17 +1226,17 @@ the format ``projects/*/secrets/*/versions/*``. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.AccessSecretVersionRequest) - ), + }, ) _sym_db.RegisterMessage(AccessSecretVersionRequest) AccessSecretVersionResponse = _reflection.GeneratedProtocolMessageType( "AccessSecretVersionResponse", (_message.Message,), - dict( - DESCRIPTOR=_ACCESSSECRETVERSIONRESPONSE, - __module__="google.cloud.secrets_v1beta1.proto.service_pb2", - __doc__="""Response message for + { + "DESCRIPTOR": _ACCESSSECRETVERSIONRESPONSE, + "__module__": "google.cloud.secrets_v1beta1.proto.service_pb2", + "__doc__": """Response message for [SecretManagerService.AccessSecretVersion][google.cloud.secrets.v1beta1.SecretManagerService.AccessSecretVersion]. @@ -1249,17 +1249,17 @@ Secret payload """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.AccessSecretVersionResponse) - ), + }, ) _sym_db.RegisterMessage(AccessSecretVersionResponse) DeleteSecretRequest = _reflection.GeneratedProtocolMessageType( "DeleteSecretRequest", (_message.Message,), - dict( - DESCRIPTOR=_DELETESECRETREQUEST, - __module__="google.cloud.secrets_v1beta1.proto.service_pb2", - __doc__="""Request message for + { + "DESCRIPTOR": _DELETESECRETREQUEST, + "__module__": "google.cloud.secrets_v1beta1.proto.service_pb2", + "__doc__": """Request message for [SecretManagerService.DeleteSecret][google.cloud.secrets.v1beta1.SecretManagerService.DeleteSecret]. @@ -1270,17 +1270,17 @@ format ``projects/*/secrets/*``. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.DeleteSecretRequest) - ), + }, ) _sym_db.RegisterMessage(DeleteSecretRequest) DisableSecretVersionRequest = _reflection.GeneratedProtocolMessageType( "DisableSecretVersionRequest", (_message.Message,), - dict( - DESCRIPTOR=_DISABLESECRETVERSIONREQUEST, - __module__="google.cloud.secrets_v1beta1.proto.service_pb2", - __doc__="""Request message for + { + "DESCRIPTOR": _DISABLESECRETVERSIONREQUEST, + "__module__": "google.cloud.secrets_v1beta1.proto.service_pb2", + "__doc__": """Request message for [SecretManagerService.DisableSecretVersion][google.cloud.secrets.v1beta1.SecretManagerService.DisableSecretVersion]. @@ -1291,17 +1291,17 @@ disable in the format ``projects/*/secrets/*/versions/*``. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.DisableSecretVersionRequest) - ), + }, ) _sym_db.RegisterMessage(DisableSecretVersionRequest) EnableSecretVersionRequest = _reflection.GeneratedProtocolMessageType( "EnableSecretVersionRequest", (_message.Message,), - dict( - DESCRIPTOR=_ENABLESECRETVERSIONREQUEST, - __module__="google.cloud.secrets_v1beta1.proto.service_pb2", - __doc__="""Request message for + { + "DESCRIPTOR": _ENABLESECRETVERSIONREQUEST, + "__module__": "google.cloud.secrets_v1beta1.proto.service_pb2", + "__doc__": """Request message for [SecretManagerService.EnableSecretVersion][google.cloud.secrets.v1beta1.SecretManagerService.EnableSecretVersion]. @@ -1312,17 +1312,17 @@ enable in the format ``projects/*/secrets/*/versions/*``. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.EnableSecretVersionRequest) - ), + }, ) _sym_db.RegisterMessage(EnableSecretVersionRequest) DestroySecretVersionRequest = _reflection.GeneratedProtocolMessageType( "DestroySecretVersionRequest", (_message.Message,), - dict( - DESCRIPTOR=_DESTROYSECRETVERSIONREQUEST, - __module__="google.cloud.secrets_v1beta1.proto.service_pb2", - __doc__="""Request message for + { + "DESCRIPTOR": _DESTROYSECRETVERSIONREQUEST, + "__module__": "google.cloud.secrets_v1beta1.proto.service_pb2", + "__doc__": """Request message for [SecretManagerService.DestroySecretVersion][google.cloud.secrets.v1beta1.SecretManagerService.DestroySecretVersion]. @@ -1333,7 +1333,7 @@ destroy in the format ``projects/*/secrets/*/versions/*``. """, # @@protoc_insertion_point(class_scope:google.cloud.secrets.v1beta1.DestroySecretVersionRequest) - ), + }, ) _sym_db.RegisterMessage(DestroySecretVersionRequest) diff --git a/google/cloud/secretmanager_v1beta1/types.py b/google/cloud/secretmanager_v1beta1/types.py index 83752d5..7a368f2 100644 --- a/google/cloud/secretmanager_v1beta1/types.py +++ b/google/cloud/secretmanager_v1beta1/types.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright 2019 Google LLC +# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/noxfile.py b/noxfile.py index e8e831e..4f9e109 100644 --- a/noxfile.py +++ b/noxfile.py @@ -72,6 +72,7 @@ def default(session): session.run( "py.test", "--quiet", + "--cov=google.cloud.secretmanager", "--cov=google.cloud", "--cov=tests.unit", "--cov-append", @@ -110,7 +111,7 @@ def system(session): # Install all test dependencies, then install this package into the # virtualenv's dist-packages. session.install("mock", "pytest") - session.install("-e", "../test_utils/") + session.install("-e", ".") # Run py.test against the system tests. diff --git a/synth.metadata b/synth.metadata index c9e8fd8..2887c23 100644 --- a/synth.metadata +++ b/synth.metadata @@ -1,18 +1,26 @@ { - "updateTime": "2019-12-20T00:29:53.015445Z", + "updateTime": "2020-02-26T00:46:15.817841Z", "sources": [ { - "generator": { - "name": "artman", - "version": "0.42.3", - "dockerImage": "googleapis/artman@sha256:feed210b5723c6f524b52ef6d7740a030f2d1a8f7c29a71c5e5b4481ceaad7f5" + "git": { + "name": ".", + "remote": "git@github.com:googleapis/python-secret-manager.git", + "sha": "bbc389e0e13c10dd8ffd969ea845bffa61f717e1" + } + }, + { + "git": { + "name": "googleapis", + "remote": "https://github.com/googleapis/googleapis.git", + "sha": "0aba1900ffef672ec5f0da677cf590ee5686e13b", + "internalRef": "297204568" } }, { "template": { "name": "python_library", "origin": "synthtool.gcp", - "version": "2019.10.17" + "version": "2020.2.4" } } ], @@ -23,3545 +31,17 @@ "apiName": "secretmanager", "apiVersion": "v1beta1", "language": "python", - "generator": "gapic", - "config": "google/cloud/secrets/artman_secretmanager_v1beta1.yaml" + "generator": "bazel" } - } - ], - "newFiles": [ - { - "path": "MANIFEST.in" - }, - { - "path": "CONTRIBUTING.rst" - }, - { - "path": ".flake8" - }, - { - "path": "noxfile.py" - }, - { - "path": "CODE_OF_CONDUCT.md" - }, - { - "path": ".gitignore" - }, - { - "path": ".coveragerc" - }, - { - "path": "renovate.json" - }, - { - "path": "setup.cfg" - }, - { - "path": "LICENSE" - }, - { - "path": ".github/CONTRIBUTING.md" - }, - { - "path": ".github/PULL_REQUEST_TEMPLATE.md" - }, - { - "path": ".github/release-please.yml" - }, - { - "path": ".github/ISSUE_TEMPLATE/bug_report.md" - }, - { - "path": ".github/ISSUE_TEMPLATE/feature_request.md" - }, - { - "path": ".github/ISSUE_TEMPLATE/support_request.md" - }, - { - "path": "docs/conf.py" - }, - { - "path": "docs/_static/custom.css" - }, - { - "path": "docs/_templates/layout.html" - }, - { - "path": "__pycache__/noxfile.cpython-37.pyc" - }, - { - "path": "__pycache__/synth.cpython-37.pyc" - }, - { - "path": ".nox/unit-3-8/lib/python3.8/site-packages/google/iam/v1/options_pb2_grpc.py" - }, - { - "path": ".nox/unit-3-8/lib/python3.8/site-packages/google/iam/v1/iam_policy_pb2.py" - }, - { - "path": ".nox/unit-3-8/lib/python3.8/site-packages/google/iam/v1/policy_pb2.py" - }, - { - "path": ".nox/unit-3-8/lib/python3.8/site-packages/google/iam/v1/policy_pb2_grpc.py" - }, - { - "path": ".nox/unit-3-8/lib/python3.8/site-packages/google/iam/v1/options_pb2.py" - }, - { - "path": ".nox/unit-3-8/lib/python3.8/site-packages/google/iam/v1/iam_policy_pb2_grpc.py" - }, - { - "path": ".nox/docs/lib/python3.7/site-packages/google/iam/v1/options_pb2_grpc.py" - }, - { - "path": ".nox/docs/lib/python3.7/site-packages/google/iam/v1/iam_policy_pb2.py" - }, - { - "path": ".nox/docs/lib/python3.7/site-packages/google/iam/v1/policy_pb2.py" - }, - { - "path": ".nox/docs/lib/python3.7/site-packages/google/iam/v1/policy_pb2_grpc.py" - }, - { - "path": ".nox/docs/lib/python3.7/site-packages/google/iam/v1/options_pb2.py" - }, - { - "path": ".nox/docs/lib/python3.7/site-packages/google/iam/v1/iam_policy_pb2_grpc.py" - }, - { - "path": ".nox/unit-2-7/lib/python2.7/site-packages/google/iam/v1/options_pb2_grpc.py" - }, - { - "path": ".nox/unit-2-7/lib/python2.7/site-packages/google/iam/v1/iam_policy_pb2.py" - }, - { - "path": ".nox/unit-2-7/lib/python2.7/site-packages/google/iam/v1/policy_pb2.py" - }, - { - "path": ".nox/unit-2-7/lib/python2.7/site-packages/google/iam/v1/policy_pb2_grpc.py" - }, - { - "path": ".nox/unit-2-7/lib/python2.7/site-packages/google/iam/v1/options_pb2.py" - }, - { - "path": ".nox/unit-2-7/lib/python2.7/site-packages/google/iam/v1/iam_policy_pb2_grpc.py" - }, - { - "path": ".nox/blacken/bin/python-config" - }, - { - "path": ".nox/blacken/bin/activate_this.py" - }, - { - "path": ".nox/blacken/bin/pip3" - }, - { - "path": ".nox/blacken/bin/activate.csh" - }, - { - "path": ".nox/blacken/bin/easy_install-3.6" - }, - { - "path": ".nox/blacken/bin/python3" - }, - { - "path": ".nox/blacken/bin/activate" - }, - { - "path": ".nox/blacken/bin/pip" - }, - { - "path": ".nox/blacken/bin/python" - }, - { - "path": ".nox/blacken/bin/pip3.6" - }, - { - "path": ".nox/blacken/bin/activate.ps1" - }, - { - "path": ".nox/blacken/bin/blackd" - }, - { - "path": ".nox/blacken/bin/easy_install" - }, - { - "path": ".nox/blacken/bin/wheel" - }, - { - "path": ".nox/blacken/bin/activate.fish" - }, - { - "path": ".nox/blacken/bin/python3.6" - }, - { - "path": ".nox/blacken/bin/black" - }, - { - "path": ".nox/blacken/lib/python3.6/orig-prefix.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/no-global-site-packages.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/easy_install.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/appdirs.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blackd.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/black.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml-0.10.0.dist-info/RECORD" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml-0.10.0.dist-info/INSTALLER" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml-0.10.0.dist-info/top_level.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml-0.10.0.dist-info/METADATA" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml-0.10.0.dist-info/WHEEL" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml-0.10.0.dist-info/DESCRIPTION.rst" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml-0.10.0.dist-info/metadata.json" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml-0.10.0.dist-info/LICENSE.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/decorators.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/_compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/_textwrap.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/formatting.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/types.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/_termui_impl.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/utils.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/_unicodefun.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/_winconsole.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/exceptions.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/termui.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/globals.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/parser.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/testing.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/core.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/_bashcomplete.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__pycache__/_unicodefun.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__pycache__/decorators.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__pycache__/formatting.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__pycache__/_compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__pycache__/utils.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__pycache__/parser.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__pycache__/termui.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__pycache__/testing.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__pycache__/_winconsole.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__pycache__/exceptions.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__pycache__/_termui_impl.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__pycache__/_bashcomplete.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__pycache__/types.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__pycache__/core.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__pycache__/_textwrap.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__pycache__/globals.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/_compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/py.typed" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/_funcs.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/validators.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/_version_info.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/exceptions.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/__init__.pyi" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/filters.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/converters.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/validators.pyi" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/_version_info.pyi" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/_config.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/exceptions.pyi" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/filters.pyi" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/converters.pyi" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/_make.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/__pycache__/_config.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/__pycache__/_funcs.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/__pycache__/_version_info.cpython-36.pyc" }, { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/__pycache__/validators.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/__pycache__/_compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/__pycache__/filters.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/__pycache__/converters.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/__pycache__/_make.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/__pycache__/exceptions.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools-42.0.2.dist-info/dependency_links.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools-42.0.2.dist-info/RECORD" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools-42.0.2.dist-info/INSTALLER" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools-42.0.2.dist-info/top_level.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools-42.0.2.dist-info/zip-safe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools-42.0.2.dist-info/METADATA" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools-42.0.2.dist-info/WHEEL" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools-42.0.2.dist-info/entry_points.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools-42.0.2.dist-info/LICENSE" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/__pycache__/toml.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/__pycache__/appdirs.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/__pycache__/black.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/__pycache__/easy_install.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/__pycache__/blackd.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/Grammar.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pygram.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pytree.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/PatternGrammar.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/conv.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/literals.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/token.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/driver.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/tokenize.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/pgen.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/grammar.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/parse.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/__pycache__/tokenize.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/__pycache__/pgen.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/__pycache__/grammar.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/__pycache__/driver.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/__pycache__/conv.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/__pycache__/token.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/__pycache__/parse.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/__pycache__/literals.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/__pycache__/pygram.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/__pycache__/pytree.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/appdirs-1.4.3.dist-info/RECORD" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/appdirs-1.4.3.dist-info/INSTALLER" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/appdirs-1.4.3.dist-info/top_level.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/appdirs-1.4.3.dist-info/METADATA" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/appdirs-1.4.3.dist-info/WHEEL" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/appdirs-1.4.3.dist-info/DESCRIPTION.rst" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/appdirs-1.4.3.dist-info/metadata.json" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/gui-32.exe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/py34compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/wheel.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/dist.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/py27compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/cli-64.exe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/gui.exe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_imp.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/cli-32.exe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/py33compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/py31compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/sandbox.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/cli.exe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/version.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/namespaces.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/config.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/gui-64.exe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/installer.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_deprecation_warning.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/ssl_support.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/package_index.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/archive_util.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/msvc.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/monkey.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/dep_util.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/errors.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/script (dev).tmpl" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/lib2to3_ex.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/build_meta.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/script.tmpl" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/depends.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/windows_support.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/glob.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/launch.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/extension.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/site-patch.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/unicode_utils.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/ordered_set.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/pyparsing.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/six.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/__pycache__/six.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/__pycache__/pyparsing.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/_compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/utils.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/_structures.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/version.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/__about__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/markers.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/requirements.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/tags.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/specifiers.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/__pycache__/_compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/dist.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/sandbox.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/glob.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/site-patch.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/unicode_utils.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/errors.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/installer.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/extension.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/py34compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/version.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/archive_util.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/py33compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/ssl_support.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/monkey.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/dep_util.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/_imp.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/wheel.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/config.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/py27compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/build_meta.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/depends.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/py31compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/namespaces.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/msvc.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/windows_support.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/package_index.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__pycache__/launch.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/extern/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/extern/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/install_lib.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/build_ext.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/upload_docs.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/bdist_egg.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/easy_install.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/setopt.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/bdist_wininst.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/alias.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/sdist.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/rotate.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/build_py.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/egg_info.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/install_egg_info.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/upload.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/saveopts.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/build_clib.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/bdist_rpm.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/develop.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/install_scripts.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/launcher manifest.xml" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/test.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/register.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/dist_info.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/install.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/py36compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/rotate.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/build_clib.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/saveopts.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/build_py.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/install.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/bdist_wininst.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/setopt.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/upload_docs.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/install_scripts.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/egg_info.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/sdist.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/py36compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/test.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/upload.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/register.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/alias.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/easy_install.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/dist_info.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/build_ext.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/develop.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__pycache__/install_lib.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/__main__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/configuration.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/wheel.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/pep425tags.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/locations.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/collector.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/index.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/exceptions.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/main.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/download.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/build_env.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/pyproject.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/self_outdated_check.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cache.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/legacy_resolve.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/req/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/req/constructors.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/req/req_tracker.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/req/req_set.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/req/req_install.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/req/req_uninstall.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/req/req_file.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/req/__pycache__/req_install.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/req/__pycache__/req_set.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/req/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/req/__pycache__/req_file.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/req/__pycache__/constructors.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/req/__pycache__/req_tracker.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/distributions/wheel.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/distributions/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/distributions/base.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/distributions/installed.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/distributions/__pycache__/base.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/distributions/source/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/distributions/source/legacy.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/distributions/source/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/distributions/source/__pycache__/legacy.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/operations/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/operations/generate_metadata.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/operations/freeze.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/operations/check.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/operations/prepare.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/operations/__pycache__/check.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/operations/__pycache__/generate_metadata.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/models.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/inject_securetransport.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/deprecation.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/ui.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/packaging.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/hashes.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/appdirs.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/unpacking.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/subprocess.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/setuptools_build.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/typing.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/temp_dir.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/filetypes.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/misc.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/logging.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/encoding.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/virtualenv.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/filesystem.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/urls.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/glibc.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/marker_files.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/models.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/typing.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/marker_files.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/ui.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/urls.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/misc.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/logging.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/__pycache__/download.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/__pycache__/locations.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/__pycache__/main.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/__pycache__/collector.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/__pycache__/cache.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/__pycache__/build_env.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/__pycache__/legacy_resolve.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/__pycache__/wheel.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/__pycache__/exceptions.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/__pycache__/pyproject.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/__pycache__/pep425tags.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/__pycache__/index.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/__pycache__/configuration.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cli/main_parser.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cli/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cli/command_context.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cli/cmdoptions.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cli/status_codes.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cli/parser.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cli/req_command.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cli/base_command.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cli/autocompletion.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cli/__pycache__/parser.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/network/xmlrpc.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/network/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/network/session.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/network/cache.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/network/auth.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/network/__pycache__/session.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/network/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/network/__pycache__/cache.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/network/__pycache__/auth.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/configuration.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/wheel.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/search.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/uninstall.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/list.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/show.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/download.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/debug.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/freeze.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/help.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/check.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/completion.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/install.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/hash.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/__pycache__/download.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/__pycache__/list.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/__pycache__/completion.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/__pycache__/help.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/__pycache__/debug.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/__pycache__/show.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/__pycache__/hash.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/__pycache__/install.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/__pycache__/check.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/__pycache__/search.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/vcs/git.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/vcs/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/vcs/bazaar.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/vcs/subversion.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/vcs/mercurial.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/vcs/versioncontrol.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/vcs/__pycache__/git.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/models/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/models/format_control.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/models/index.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/models/target_python.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/models/link.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/models/selection_prefs.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/models/candidate.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/models/search_scope.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/models/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/models/__pycache__/target_python.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/models/__pycache__/link.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/models/__pycache__/candidate.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/models/__pycache__/index.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/models/__pycache__/format_control.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/contextlib2.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/appdirs.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pyparsing.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/six.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distro.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/ipaddress.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/retrying.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/resources.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/wheel.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/scripts.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/index.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/locators.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/w32.exe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/metadata.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/version.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/manifest.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/database.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/w64.exe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/markers.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/util.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/t64.exe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/t32.exe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/_backport/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/_backport/tarfile.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/_backport/shutil.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/_backport/misc.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/_backport/sysconfig.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/_backport/__pycache__/shutil.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/_backport/__pycache__/sysconfig.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/_backport/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/_backport/__pycache__/misc.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/_backport/__pycache__/tarfile.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/colorlog.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/meta.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/envbuild.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/wrappers.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/dirtools.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/build.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/check.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/__pycache__/_in_process.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/__pycache__/dirtools.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/__pycache__/meta.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/__pycache__/build.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/__pycache__/colorlog.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/__pycache__/wrappers.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/__pycache__/compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/__pycache__/check.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pep517/__pycache__/envbuild.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/webencodings/labels.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/webencodings/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/webencodings/mklabels.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/webencodings/x_user_defined.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/webencodings/tests.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/webencodings/__pycache__/mklabels.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/__pycache__/appdirs.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/__pycache__/ipaddress.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/__pycache__/contextlib2.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/__pycache__/distro.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/__pycache__/retrying.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/__pycache__/six.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/__pycache__/pyparsing.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/filewrapper.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/controller.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/heuristics.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/_cmd.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/serialize.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/adapter.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/wrapper.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/cache.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/caches/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/__pycache__/compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/models.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__version__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/hooks.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/utils.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/certs.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/exceptions.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/api.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/cookies.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/_internal_utils.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/help.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/sessions.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/status_codes.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/packages.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/adapters.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/structures.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/auth.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__pycache__/help.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__pycache__/models.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/__pycache__/api.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/_compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/utils.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/_structures.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/version.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/__about__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/markers.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/requirements.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/tags.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/__pycache__/_compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/__pycache__/__about__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/progress/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/progress/bar.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/progress/counter.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/progress/spinner.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/progress/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/progress/__pycache__/spinner.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/progress/__pycache__/counter.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/progress/__pycache__/bar.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/colorama/win32.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/colorama/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/colorama/initialise.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/colorama/ansi.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/colorama/winterm.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/colorama/ansitowin32.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/colorama/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/colorama/__pycache__/win32.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/colorama/__pycache__/initialise.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/colorama/__pycache__/ansi.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/colorama/__pycache__/winterm.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pytoml/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pytoml/utils.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pytoml/writer.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pytoml/parser.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pytoml/core.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pytoml/test.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pytoml/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pytoml/__pycache__/utils.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pytoml/__pycache__/parser.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pytoml/__pycache__/test.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pytoml/__pycache__/core.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pytoml/__pycache__/writer.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/msgpack/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/msgpack/exceptions.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/msgpack/_version.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/msgpack/fallback.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/msgpack/__pycache__/_version.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pkg_resources/py31compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/idna/idnadata.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/idna/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/idna/intranges.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/idna/package_data.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/idna/codec.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/idna/compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/idna/uts46data.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/idna/core.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/idna/__pycache__/core.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/_tokenizer.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/constants.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/_ihatexml.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/_utils.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/html5parser.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/serializer.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/_inputstream.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treewalkers/etree.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treewalkers/base.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treewalkers/dom.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/genshi.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/base.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree_lxml.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/dom.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treebuilders/etree.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treebuilders/base.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treebuilders/dom.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/base.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree_lxml.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/dom.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/__pycache__/_utils.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/__pycache__/serializer.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/__pycache__/html5parser.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/__pycache__/_tokenizer.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/__pycache__/_inputstream.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/__pycache__/_ihatexml.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/__pycache__/constants.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/filters/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/filters/base.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/filters/whitespace.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/filters/optionaltags.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/filters/lint.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/filters/sanitizer.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/filters/__pycache__/alphabeticalattributes.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/filters/__pycache__/base.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/filters/__pycache__/sanitizer.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/filters/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/filters/__pycache__/inject_meta_charset.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/filters/__pycache__/whitespace.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/filters/__pycache__/optionaltags.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/filters/__pycache__/lint.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treeadapters/sax.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/genshi.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/sax.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/_trie/datrie.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/_trie/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/_trie/_base.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/_trie/py.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/_trie/__pycache__/datrie.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/_trie/__pycache__/py.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/_trie/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/_trie/__pycache__/_base.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/_collections.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/connectionpool.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/exceptions.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/response.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/poolmanager.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/fields.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/request.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/connection.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/filepost.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/socks.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/securetransport.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/appengine.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/packages/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/packages/six.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/response.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/wait.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/url.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/ssl_.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/request.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/retry.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/queue.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/connection.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/timeout.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/certifi/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/certifi/core.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/certifi/__main__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/certifi/cacert.pem" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/gb2312freq.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/codingstatemachine.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/big5freq.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/langgreekmodel.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/sbcsgroupprober.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/langhebrewmodel.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/mbcharsetprober.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/jpcntx.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/sjisprober.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/utf8prober.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/euckrfreq.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/jisfreq.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/version.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/euctwfreq.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/charsetprober.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/enums.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/cp949prober.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/mbcsgroupprober.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/langturkishmodel.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/langbulgarianmodel.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/gb2312prober.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/hebrewprober.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/escprober.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/big5prober.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/mbcssm.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/eucjpprober.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/euctwprober.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/universaldetector.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/langcyrillicmodel.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/euckrprober.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/sbcharsetprober.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/langhungarianmodel.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/langthaimodel.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/charsetgroupprober.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/latin1prober.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/chardistribution.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/escsm.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/utf8prober.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/enums.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/mbcssm.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/charsetprober.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/escprober.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/jisfreq.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/sjisprober.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/big5prober.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/escsm.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/version.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/euckrprober.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/latin1prober.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/big5freq.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/cp949prober.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/chardistribution.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/jpcntx.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/langcyrillicmodel.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/universaldetector.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/euctwprober.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/cli/chardetect.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/cli/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/cli/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/__pycache__/__main__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml/decoder.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml/encoder.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml/tz.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml/ordered.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml/__pycache__/encoder.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml/__pycache__/tz.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml/__pycache__/ordered.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml/__pycache__/decoder.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip-19.3.1.dist-info/RECORD" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip-19.3.1.dist-info/INSTALLER" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip-19.3.1.dist-info/top_level.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip-19.3.1.dist-info/METADATA" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip-19.3.1.dist-info/WHEEL" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip-19.3.1.dist-info/LICENSE.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip-19.3.1.dist-info/entry_points.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/py31compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/appdirs.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/pyparsing.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/six.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/__pycache__/six.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/_compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/utils.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/_structures.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/version.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__about__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/markers.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/requirements.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/specifiers.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/__pycache__/py31compat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/extern/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel-0.33.6.dist-info/RECORD" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel-0.33.6.dist-info/INSTALLER" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel-0.33.6.dist-info/top_level.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel-0.33.6.dist-info/METADATA" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel-0.33.6.dist-info/WHEEL" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel-0.33.6.dist-info/LICENSE.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel-0.33.6.dist-info/entry_points.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/black-19.3b0.dist-info/RECORD" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/black-19.3b0.dist-info/INSTALLER" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/black-19.3b0.dist-info/top_level.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/black-19.3b0.dist-info/METADATA" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/black-19.3b0.dist-info/WHEEL" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/black-19.3b0.dist-info/entry_points.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/black-19.3b0.dist-info/LICENSE" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/pep425tags.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/bdist_wheel.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/metadata.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/wheelfile.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/util.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/__main__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/pkginfo.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/__pycache__/wheelfile.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/__pycache__/util.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/__pycache__/pkginfo.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/__pycache__/__main__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/__pycache__/pep425tags.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/__pycache__/bdist_wheel.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/__pycache__/metadata.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/cli/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/cli/unpack.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/cli/pack.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/cli/convert.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/cli/__pycache__/unpack.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/cli/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/cli/__pycache__/convert.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/cli/__pycache__/pack.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/Click-7.0.dist-info/RECORD" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/Click-7.0.dist-info/INSTALLER" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/Click-7.0.dist-info/top_level.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/Click-7.0.dist-info/METADATA" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/Click-7.0.dist-info/WHEEL" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/Click-7.0.dist-info/LICENSE.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attrs-19.3.0.dist-info/RECORD" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attrs-19.3.0.dist-info/INSTALLER" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attrs-19.3.0.dist-info/top_level.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attrs-19.3.0.dist-info/METADATA" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attrs-19.3.0.dist-info/WHEEL" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attrs-19.3.0.dist-info/LICENSE" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/copy.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/hmac.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/posixpath.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/hashlib.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/genericpath.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/weakref.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/tokenize.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/re.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/functools.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/operator.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/shutil.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/copyreg.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/enum.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/sre_constants.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/linecache.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/__future__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/bisect.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/ntpath.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/keyword.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/_weakrefset.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/fnmatch.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/abc.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/base64.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/random.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/_bootlocale.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/stat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/io.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/warnings.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/token.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/sre_compile.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/site.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/sre_parse.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/locale.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/imp.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/heapq.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/codecs.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/types.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/struct.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/tempfile.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/tarfile.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/os.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/_collections_abc.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/reprlib.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/distutils/distutils.cfg" - }, - { - "path": ".nox/blacken/lib/python3.6/distutils/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/distutils/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/unit-3-7/lib/python3.7/site-packages/google/iam/v1/options_pb2_grpc.py" - }, - { - "path": ".nox/unit-3-7/lib/python3.7/site-packages/google/iam/v1/iam_policy_pb2.py" - }, - { - "path": ".nox/unit-3-7/lib/python3.7/site-packages/google/iam/v1/policy_pb2.py" - }, - { - "path": ".nox/unit-3-7/lib/python3.7/site-packages/google/iam/v1/policy_pb2_grpc.py" - }, - { - "path": ".nox/unit-3-7/lib/python3.7/site-packages/google/iam/v1/options_pb2.py" - }, - { - "path": ".nox/unit-3-7/lib/python3.7/site-packages/google/iam/v1/iam_policy_pb2_grpc.py" - }, - { - "path": ".nox/unit-3-5/lib/python3.5/site-packages/google/iam/v1/options_pb2_grpc.py" - }, - { - "path": ".nox/unit-3-5/lib/python3.5/site-packages/google/iam/v1/iam_policy_pb2.py" - }, - { - "path": ".nox/unit-3-5/lib/python3.5/site-packages/google/iam/v1/policy_pb2.py" - }, - { - "path": ".nox/unit-3-5/lib/python3.5/site-packages/google/iam/v1/policy_pb2_grpc.py" - }, - { - "path": ".nox/unit-3-5/lib/python3.5/site-packages/google/iam/v1/options_pb2.py" - }, - { - "path": ".nox/unit-3-5/lib/python3.5/site-packages/google/iam/v1/iam_policy_pb2_grpc.py" - }, - { - "path": ".nox/unit-3-6/lib/python3.6/site-packages/google/iam/v1/options_pb2_grpc.py" - }, - { - "path": ".nox/unit-3-6/lib/python3.6/site-packages/google/iam/v1/iam_policy_pb2.py" - }, - { - "path": ".nox/unit-3-6/lib/python3.6/site-packages/google/iam/v1/policy_pb2.py" - }, - { - "path": ".nox/unit-3-6/lib/python3.6/site-packages/google/iam/v1/policy_pb2_grpc.py" - }, - { - "path": ".nox/unit-3-6/lib/python3.6/site-packages/google/iam/v1/options_pb2.py" - }, - { - "path": ".nox/unit-3-6/lib/python3.6/site-packages/google/iam/v1/iam_policy_pb2_grpc.py" - }, - { - "path": "google/__init__.py" - }, - { - "path": "google/cloud/__init__.py" - }, - { - "path": "google/cloud/secretmanager.py" - }, - { - "path": "google/cloud/secretmanager_v1beta1/types.py" - }, - { - "path": "google/cloud/secretmanager_v1beta1/__init__.py" - }, - { - "path": "google/cloud/secretmanager_v1beta1/gapic/secret_manager_service_client.py" - }, - { - "path": "google/cloud/secretmanager_v1beta1/gapic/enums.py" - }, - { - "path": "google/cloud/secretmanager_v1beta1/gapic/secret_manager_service_client_config.py" - }, - { - "path": "google/cloud/secretmanager_v1beta1/gapic/transports/secret_manager_service_grpc_transport.py" - }, - { - "path": "google/cloud/secretmanager_v1beta1/proto/resources_pb2_grpc.py" - }, - { - "path": "google/cloud/secretmanager_v1beta1/proto/service_pb2_grpc.py" - }, - { - "path": "google/cloud/secretmanager_v1beta1/proto/service_pb2.py" - }, - { - "path": "google/cloud/secretmanager_v1beta1/proto/resources_pb2.py" - }, - { - "path": ".kokoro/publish-docs.sh" - }, - { - "path": ".kokoro/build.sh" - }, - { - "path": ".kokoro/trampoline.sh" - }, - { - "path": ".kokoro/release.sh" - }, - { - "path": ".kokoro/release/release.cfg" - }, - { - "path": ".kokoro/release/common.cfg" - }, - { - "path": ".kokoro/docs/docs.cfg" - }, - { - "path": ".kokoro/docs/common.cfg" - }, - { - "path": ".kokoro/continuous/continuous.cfg" - }, - { - "path": ".kokoro/continuous/common.cfg" - }, - { - "path": ".kokoro/presubmit/presubmit.cfg" - }, - { - "path": ".kokoro/presubmit/common.cfg" - }, - { - "path": "tests/unit/gapic/v1beta1/test_secret_manager_service_client_v1beta1.py" + "client": { + "source": "googleapis", + "apiName": "secretmanager", + "apiVersion": "v1", + "language": "python", + "generator": "bazel" + } } ] } \ No newline at end of file diff --git a/synth.py b/synth.py index 0dcd640..646559d 100644 --- a/synth.py +++ b/synth.py @@ -19,30 +19,49 @@ import synthtool.gcp as gcp from synthtool.languages import python -gapic = gcp.GAPICGenerator() +gapic = gcp.GAPICBazel() common = gcp.CommonTemplates() # ---------------------------------------------------------------------------- # Generate secret manager GAPIC layer # ---------------------------------------------------------------------------- -library = gapic.py_library( - "secretmanager", "v1beta1", config_path="/google/cloud/secrets/artman_secretmanager_v1beta1.yaml" -) -s.move(library, excludes=["google/cloud/secrets_v1beta1/proto", "nox.py", "setup.py", "README.rst", "docs/index.rst"]) +versions = [ + # v1beta1 has a special config path so it must be passed explicitly + ("v1beta1", "/google/cloud/secrets/v1beta1"), + ("v1", None), +] -# protos are copied to the wrong location by default, so move separately -s.move( - library / "google/cloud/secrets_v1beta1/proto", - "google/cloud/secretmanager_v1beta1/proto", -) +for version, proto_path in versions: + library = gapic.py_library( + "secretmanager", + version, + proto_path=proto_path, + ) -# correct proto import parth -s.replace( - "google/cloud/**/proto/*.py", - r"from google\.cloud\.secrets_v1beta1\.proto", - "from google.cloud.secretmanager_v1beta1.proto", -) + s.move( + library, + excludes=[ + f"google/cloud/secrets_{version}/proto", + "nox.py", + "setup.py", + "README.rst", + "docs/index.rst", + ], + ) + + # protos are copied to the wrong location by default, so move separately + s.move( + library / f"google/cloud/secrets_{version}/proto", + f"google/cloud/secretmanager_{version}/proto", + ) + + # correct proto import parth + s.replace( + "google/cloud/**/proto/*.py", + rf"from google\.cloud\.secrets_{version}\.proto", + f"from google.cloud.secretmanager_{version}.proto", + ) # fix import path for iam s.replace( @@ -55,15 +74,26 @@ python.fix_pb2_headers() python.fix_pb2_grpc_headers() -# Fix package name +# Fix package name (v1beta1) s.replace( ["docs/conf.py", "google/**/*.py", "README.rst", "setup.py"], "google-cloud-secretmanager", "google-cloud-secret-manager", ) +# Fix package name (v1) +s.replace( + ["docs/conf.py", "google/**/*.py", "README.rst", "setup.py"], + "google-cloud-secrets", + "google-cloud-secret-manager", +) + # fix links in README -s.replace("README.rst", "https://cloud\.google\.com/secrets", "https://cloud.google.com/secret-manager") +s.replace( + "README.rst", + "https://cloud\.google\.com/secrets", + "https://cloud.google.com/secret-manager", +) # ---------------------------------------------------------------------------- # Add templated files @@ -71,9 +101,4 @@ templated_files = common.py_library(cov_level=75) s.move(templated_files) -# No local dependencies in a split repo -# Manually remove from noxfile until the template is updated -s.replace("noxfile.py", "LOCAL_DEPS = .*", "LOCAL_DEPS = []") - - s.shell.run(["nox", "-s", "blacken"], hide_output=False) diff --git a/tests/unit/gapic/v1/test_secret_manager_service_client_v1.py b/tests/unit/gapic/v1/test_secret_manager_service_client_v1.py new file mode 100644 index 0000000..3f71ad8 --- /dev/null +++ b/tests/unit/gapic/v1/test_secret_manager_service_client_v1.py @@ -0,0 +1,674 @@ +# -*- coding: utf-8 -*- +# +# Copyright 2020 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 +# +# https://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. + +"""Unit tests.""" + +import mock +import pytest + +from google.cloud import secretmanager_v1 +from google.cloud.secretmanager_v1.proto import resources_pb2 +from google.cloud.secretmanager_v1.proto import service_pb2 +from google.iam.v1 import iam_policy_pb2 +from google.iam.v1 import policy_pb2 +from google.protobuf import empty_pb2 +from google.protobuf import field_mask_pb2 + + +class MultiCallableStub(object): + """Stub for the grpc.UnaryUnaryMultiCallable interface.""" + + def __init__(self, method, channel_stub): + self.method = method + self.channel_stub = channel_stub + + def __call__(self, request, timeout=None, metadata=None, credentials=None): + self.channel_stub.requests.append((self.method, request)) + + response = None + if self.channel_stub.responses: + response = self.channel_stub.responses.pop() + + if isinstance(response, Exception): + raise response + + if response: + return response + + +class ChannelStub(object): + """Stub for the grpc.Channel interface.""" + + def __init__(self, responses=[]): + self.responses = responses + self.requests = [] + + def unary_unary(self, method, request_serializer=None, response_deserializer=None): + return MultiCallableStub(method, self) + + +class CustomException(Exception): + pass + + +class TestSecretManagerServiceClient(object): + def test_list_secrets(self): + # Setup Expected Response + next_page_token = "" + total_size = 705419236 + secrets_element = {} + secrets = [secrets_element] + expected_response = { + "next_page_token": next_page_token, + "total_size": total_size, + "secrets": secrets, + } + expected_response = service_pb2.ListSecretsResponse(**expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup Request + parent = client.project_path("[PROJECT]") + + paged_list_response = client.list_secrets(parent) + resources = list(paged_list_response) + assert len(resources) == 1 + + assert expected_response.secrets[0] == resources[0] + + assert len(channel.requests) == 1 + expected_request = service_pb2.ListSecretsRequest(parent=parent) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_list_secrets_exception(self): + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup request + parent = client.project_path("[PROJECT]") + + paged_list_response = client.list_secrets(parent) + with pytest.raises(CustomException): + list(paged_list_response) + + def test_create_secret(self): + # Setup Expected Response + name = "name3373707" + expected_response = {"name": name} + expected_response = resources_pb2.Secret(**expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup Request + parent = client.project_path("[PROJECT]") + secret_id = "secretId-739547894" + secret = {} + + response = client.create_secret(parent, secret_id, secret) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = service_pb2.CreateSecretRequest( + parent=parent, secret_id=secret_id, secret=secret + ) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_create_secret_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup request + parent = client.project_path("[PROJECT]") + secret_id = "secretId-739547894" + secret = {} + + with pytest.raises(CustomException): + client.create_secret(parent, secret_id, secret) + + def test_add_secret_version(self): + # Setup Expected Response + name = "name3373707" + expected_response = {"name": name} + expected_response = resources_pb2.SecretVersion(**expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup Request + parent = client.secret_path("[PROJECT]", "[SECRET]") + payload = {} + + response = client.add_secret_version(parent, payload) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = service_pb2.AddSecretVersionRequest( + parent=parent, payload=payload + ) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_add_secret_version_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup request + parent = client.secret_path("[PROJECT]", "[SECRET]") + payload = {} + + with pytest.raises(CustomException): + client.add_secret_version(parent, payload) + + def test_get_secret(self): + # Setup Expected Response + name_2 = "name2-1052831874" + expected_response = {"name": name_2} + expected_response = resources_pb2.Secret(**expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup Request + name = client.secret_path("[PROJECT]", "[SECRET]") + + response = client.get_secret(name) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = service_pb2.GetSecretRequest(name=name) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_get_secret_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup request + name = client.secret_path("[PROJECT]", "[SECRET]") + + with pytest.raises(CustomException): + client.get_secret(name) + + def test_update_secret(self): + # Setup Expected Response + name = "name3373707" + expected_response = {"name": name} + expected_response = resources_pb2.Secret(**expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup Request + secret = {} + update_mask = {} + + response = client.update_secret(secret, update_mask) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = service_pb2.UpdateSecretRequest( + secret=secret, update_mask=update_mask + ) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_update_secret_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup request + secret = {} + update_mask = {} + + with pytest.raises(CustomException): + client.update_secret(secret, update_mask) + + def test_delete_secret(self): + channel = ChannelStub() + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup Request + name = client.secret_path("[PROJECT]", "[SECRET]") + + client.delete_secret(name) + + assert len(channel.requests) == 1 + expected_request = service_pb2.DeleteSecretRequest(name=name) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_delete_secret_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup request + name = client.secret_path("[PROJECT]", "[SECRET]") + + with pytest.raises(CustomException): + client.delete_secret(name) + + def test_list_secret_versions(self): + # Setup Expected Response + next_page_token = "" + total_size = 705419236 + versions_element = {} + versions = [versions_element] + expected_response = { + "next_page_token": next_page_token, + "total_size": total_size, + "versions": versions, + } + expected_response = service_pb2.ListSecretVersionsResponse(**expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup Request + parent = client.secret_path("[PROJECT]", "[SECRET]") + + paged_list_response = client.list_secret_versions(parent) + resources = list(paged_list_response) + assert len(resources) == 1 + + assert expected_response.versions[0] == resources[0] + + assert len(channel.requests) == 1 + expected_request = service_pb2.ListSecretVersionsRequest(parent=parent) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_list_secret_versions_exception(self): + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup request + parent = client.secret_path("[PROJECT]", "[SECRET]") + + paged_list_response = client.list_secret_versions(parent) + with pytest.raises(CustomException): + list(paged_list_response) + + def test_get_secret_version(self): + # Setup Expected Response + name_2 = "name2-1052831874" + expected_response = {"name": name_2} + expected_response = resources_pb2.SecretVersion(**expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup Request + name = client.secret_version_path("[PROJECT]", "[SECRET]", "[SECRET_VERSION]") + + response = client.get_secret_version(name) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = service_pb2.GetSecretVersionRequest(name=name) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_get_secret_version_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup request + name = client.secret_version_path("[PROJECT]", "[SECRET]", "[SECRET_VERSION]") + + with pytest.raises(CustomException): + client.get_secret_version(name) + + def test_access_secret_version(self): + # Setup Expected Response + name_2 = "name2-1052831874" + expected_response = {"name": name_2} + expected_response = service_pb2.AccessSecretVersionResponse(**expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup Request + name = client.secret_version_path("[PROJECT]", "[SECRET]", "[SECRET_VERSION]") + + response = client.access_secret_version(name) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = service_pb2.AccessSecretVersionRequest(name=name) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_access_secret_version_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup request + name = client.secret_version_path("[PROJECT]", "[SECRET]", "[SECRET_VERSION]") + + with pytest.raises(CustomException): + client.access_secret_version(name) + + def test_disable_secret_version(self): + # Setup Expected Response + name_2 = "name2-1052831874" + expected_response = {"name": name_2} + expected_response = resources_pb2.SecretVersion(**expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup Request + name = client.secret_version_path("[PROJECT]", "[SECRET]", "[SECRET_VERSION]") + + response = client.disable_secret_version(name) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = service_pb2.DisableSecretVersionRequest(name=name) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_disable_secret_version_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup request + name = client.secret_version_path("[PROJECT]", "[SECRET]", "[SECRET_VERSION]") + + with pytest.raises(CustomException): + client.disable_secret_version(name) + + def test_enable_secret_version(self): + # Setup Expected Response + name_2 = "name2-1052831874" + expected_response = {"name": name_2} + expected_response = resources_pb2.SecretVersion(**expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup Request + name = client.secret_version_path("[PROJECT]", "[SECRET]", "[SECRET_VERSION]") + + response = client.enable_secret_version(name) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = service_pb2.EnableSecretVersionRequest(name=name) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_enable_secret_version_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup request + name = client.secret_version_path("[PROJECT]", "[SECRET]", "[SECRET_VERSION]") + + with pytest.raises(CustomException): + client.enable_secret_version(name) + + def test_destroy_secret_version(self): + # Setup Expected Response + name_2 = "name2-1052831874" + expected_response = {"name": name_2} + expected_response = resources_pb2.SecretVersion(**expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup Request + name = client.secret_version_path("[PROJECT]", "[SECRET]", "[SECRET_VERSION]") + + response = client.destroy_secret_version(name) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = service_pb2.DestroySecretVersionRequest(name=name) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_destroy_secret_version_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup request + name = client.secret_version_path("[PROJECT]", "[SECRET]", "[SECRET_VERSION]") + + with pytest.raises(CustomException): + client.destroy_secret_version(name) + + def test_set_iam_policy(self): + # Setup Expected Response + version = 351608024 + etag = b"21" + expected_response = {"version": version, "etag": etag} + expected_response = policy_pb2.Policy(**expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup Request + resource = "resource-341064690" + policy = {} + + response = client.set_iam_policy(resource, policy) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = iam_policy_pb2.SetIamPolicyRequest( + resource=resource, policy=policy + ) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_set_iam_policy_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup request + resource = "resource-341064690" + policy = {} + + with pytest.raises(CustomException): + client.set_iam_policy(resource, policy) + + def test_get_iam_policy(self): + # Setup Expected Response + version = 351608024 + etag = b"21" + expected_response = {"version": version, "etag": etag} + expected_response = policy_pb2.Policy(**expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup Request + resource = "resource-341064690" + + response = client.get_iam_policy(resource) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = iam_policy_pb2.GetIamPolicyRequest(resource=resource) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_get_iam_policy_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup request + resource = "resource-341064690" + + with pytest.raises(CustomException): + client.get_iam_policy(resource) + + def test_test_iam_permissions(self): + # Setup Expected Response + expected_response = {} + expected_response = iam_policy_pb2.TestIamPermissionsResponse( + **expected_response + ) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup Request + resource = "resource-341064690" + permissions = [] + + response = client.test_iam_permissions(resource, permissions) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = iam_policy_pb2.TestIamPermissionsRequest( + resource=resource, permissions=permissions + ) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_test_iam_permissions_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = secretmanager_v1.SecretManagerServiceClient() + + # Setup request + resource = "resource-341064690" + permissions = [] + + with pytest.raises(CustomException): + client.test_iam_permissions(resource, permissions) diff --git a/tests/unit/gapic/v1beta1/test_secret_manager_service_client_v1beta1.py b/tests/unit/gapic/v1beta1/test_secret_manager_service_client_v1beta1.py index 5f6b48b..4586422 100644 --- a/tests/unit/gapic/v1beta1/test_secret_manager_service_client_v1beta1.py +++ b/tests/unit/gapic/v1beta1/test_secret_manager_service_client_v1beta1.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright 2019 Google LLC +# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License.