From 96b9553a48228fa8b722a5ef5c1ac030e41dc805 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 29 Jan 2020 16:34:10 -0800 Subject: [PATCH] fix(irm): change default retry and timeout config; bump copyright year to 2020 (via synth) (#10233) --- irm/google/__init__.py | 2 +- irm/google/cloud/__init__.py | 2 +- irm/google/cloud/irm.py | 2 +- irm/google/cloud/irm_v1alpha2/__init__.py | 2 +- irm/google/cloud/irm_v1alpha2/gapic/enums.py | 2 +- .../gapic/incident_service_client.py | 894 ++--- .../gapic/incident_service_client_config.py | 50 +- .../incident_service_grpc_transport.py | 143 +- .../cloud/irm_v1alpha2/proto/incidents.proto | 63 +- .../cloud/irm_v1alpha2/proto/incidents_pb2.py | 201 +- .../proto/incidents_service.proto | 448 ++- .../proto/incidents_service_pb2.py | 601 +-- .../proto/incidents_service_pb2_grpc.py | 5 + irm/google/cloud/irm_v1alpha2/types.py | 2 +- irm/synth.metadata | 3369 +---------------- .../test_incident_service_client_v1alpha2.py | 398 +- 16 files changed, 1610 insertions(+), 4574 deletions(-) diff --git a/irm/google/__init__.py b/irm/google/__init__.py index 8fcc60e2b9c6..9a1b64a6d586 100644 --- a/irm/google/__init__.py +++ b/irm/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/irm/google/cloud/__init__.py b/irm/google/cloud/__init__.py index 8fcc60e2b9c6..9a1b64a6d586 100644 --- a/irm/google/cloud/__init__.py +++ b/irm/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/irm/google/cloud/irm.py b/irm/google/cloud/irm.py index e1a117af6972..9837cd471ed1 100644 --- a/irm/google/cloud/irm.py +++ b/irm/google/cloud/irm.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/irm/google/cloud/irm_v1alpha2/__init__.py b/irm/google/cloud/irm_v1alpha2/__init__.py index 4dc7eb3fce1d..4d3071ee4598 100644 --- a/irm/google/cloud/irm_v1alpha2/__init__.py +++ b/irm/google/cloud/irm_v1alpha2/__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/irm/google/cloud/irm_v1alpha2/gapic/enums.py b/irm/google/cloud/irm_v1alpha2/gapic/enums.py index 15e7d5d54b08..7a27254299fb 100644 --- a/irm/google/cloud/irm_v1alpha2/gapic/enums.py +++ b/irm/google/cloud/irm_v1alpha2/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. diff --git a/irm/google/cloud/irm_v1alpha2/gapic/incident_service_client.py b/irm/google/cloud/irm_v1alpha2/gapic/incident_service_client.py index 6906700cbe92..412d9746e0d5 100644 --- a/irm/google/cloud/irm_v1alpha2/gapic/incident_service_client.py +++ b/irm/google/cloud/irm_v1alpha2/gapic/incident_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. @@ -105,20 +105,20 @@ def incident_path(cls, project, incident): ) @classmethod - def project_path(cls, project): - """Return a fully-qualified project string.""" + def incident_role_assignment_path(cls, project_id_or_number, incident_id, role_id): + """Return a fully-qualified incident_role_assignment string.""" return google.api_core.path_template.expand( - "projects/{project}", project=project + "projects/{project_id_or_number}/incidents/{incident_id}/role_assignments/{role_id}", + project_id_or_number=project_id_or_number, + incident_id=incident_id, + role_id=role_id, ) @classmethod - def role_assignment_path(cls, project, incident, role_assignment): - """Return a fully-qualified role_assignment string.""" + def project_path(cls, project): + """Return a fully-qualified project string.""" return google.api_core.path_template.expand( - "projects/{project}/incidents/{incident}/roleAssignments/{role_assignment}", - project=project, - incident=incident, - role_assignment=role_assignment, + "projects/{project}", project=project ) @classmethod @@ -261,6 +261,328 @@ def __init__( self._inner_api_calls = {} # Service calls + def delete_artifact( + self, + name, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Deletes an existing artifact. + + Example: + >>> from google.cloud import irm_v1alpha2 + >>> + >>> client = irm_v1alpha2.IncidentServiceClient() + >>> + >>> name = client.artifact_path('[PROJECT]', '[INCIDENT]', '[ARTIFACT]') + >>> + >>> client.delete_artifact(name) + + Args: + name (str): Required. Resource name of the artifact. + 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_artifact" not in self._inner_api_calls: + self._inner_api_calls[ + "delete_artifact" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.delete_artifact, + default_retry=self._method_configs["DeleteArtifact"].retry, + default_timeout=self._method_configs["DeleteArtifact"].timeout, + client_info=self._client_info, + ) + + request = incidents_service_pb2.DeleteArtifactRequest(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_artifact"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + + def request_incident_role_handover( + self, + name, + new_assignee, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Starts a role handover. The proposed assignee will receive an email + notifying them of the assignment. This will fail if a role handover is + already pending. + Handover to an oncall ladder is not permitted. Use + CreateIncidentRoleAssignment instead. + + Example: + >>> from google.cloud import irm_v1alpha2 + >>> + >>> client = irm_v1alpha2.IncidentServiceClient() + >>> + >>> # TODO: Initialize `name`: + >>> name = '' + >>> + >>> # TODO: Initialize `new_assignee`: + >>> new_assignee = {} + >>> + >>> response = client.request_incident_role_handover(name, new_assignee) + + Args: + name (str): Required. Resource name of the role assignment. + new_assignee (Union[dict, ~google.cloud.irm_v1alpha2.types.User]): Required. The proposed assignee. + + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.irm_v1alpha2.types.User` + 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.irm_v1alpha2.types.IncidentRoleAssignment` 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 "request_incident_role_handover" not in self._inner_api_calls: + self._inner_api_calls[ + "request_incident_role_handover" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.request_incident_role_handover, + default_retry=self._method_configs["RequestIncidentRoleHandover"].retry, + default_timeout=self._method_configs[ + "RequestIncidentRoleHandover" + ].timeout, + client_info=self._client_info, + ) + + request = incidents_service_pb2.RequestIncidentRoleHandoverRequest( + name=name, new_assignee=new_assignee + ) + 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["request_incident_role_handover"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + + def confirm_incident_role_handover( + self, + name, + new_assignee, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Confirms a role handover. This will fail if the 'proposed_assignee' + field of the IncidentRoleAssignment is not equal to the 'new_assignee' + field of the request. If the caller is not the new_assignee, + ForceIncidentRoleHandover should be used instead. + + Example: + >>> from google.cloud import irm_v1alpha2 + >>> + >>> client = irm_v1alpha2.IncidentServiceClient() + >>> + >>> name = client.incident_role_assignment_path('[PROJECT_ID_OR_NUMBER]', '[INCIDENT_ID]', '[ROLE_ID]') + >>> + >>> # TODO: Initialize `new_assignee`: + >>> new_assignee = {} + >>> + >>> response = client.confirm_incident_role_handover(name, new_assignee) + + Args: + name (str): Required. Resource name of the role assignment. + new_assignee (Union[dict, ~google.cloud.irm_v1alpha2.types.User]): Required. The proposed assignee, who will now be the assignee. This should be the + current user; otherwise ForceRoleHandover should be called. + + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.irm_v1alpha2.types.User` + 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.irm_v1alpha2.types.IncidentRoleAssignment` 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 "confirm_incident_role_handover" not in self._inner_api_calls: + self._inner_api_calls[ + "confirm_incident_role_handover" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.confirm_incident_role_handover, + default_retry=self._method_configs["ConfirmIncidentRoleHandover"].retry, + default_timeout=self._method_configs[ + "ConfirmIncidentRoleHandover" + ].timeout, + client_info=self._client_info, + ) + + request = incidents_service_pb2.ConfirmIncidentRoleHandoverRequest( + name=name, new_assignee=new_assignee + ) + 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["confirm_incident_role_handover"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + + def force_incident_role_handover( + self, + name, + new_assignee, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Forces a role handover. This will fail if the 'proposed_assignee' field + of the IncidentRoleAssignment is not equal to the 'new_assignee' field + of the request. If the caller is the new_assignee, + ConfirmIncidentRoleHandover should be used instead. + + Example: + >>> from google.cloud import irm_v1alpha2 + >>> + >>> client = irm_v1alpha2.IncidentServiceClient() + >>> + >>> name = client.incident_role_assignment_path('[PROJECT_ID_OR_NUMBER]', '[INCIDENT_ID]', '[ROLE_ID]') + >>> + >>> # TODO: Initialize `new_assignee`: + >>> new_assignee = {} + >>> + >>> response = client.force_incident_role_handover(name, new_assignee) + + Args: + name (str): Required. Resource name of the role assignment. + new_assignee (Union[dict, ~google.cloud.irm_v1alpha2.types.User]): Required. The proposed assignee, who will now be the assignee. This should not be + the current user; otherwise ConfirmRoleHandover should be called. + + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.irm_v1alpha2.types.User` + 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.irm_v1alpha2.types.IncidentRoleAssignment` 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 "force_incident_role_handover" not in self._inner_api_calls: + self._inner_api_calls[ + "force_incident_role_handover" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.force_incident_role_handover, + default_retry=self._method_configs["ForceIncidentRoleHandover"].retry, + default_timeout=self._method_configs[ + "ForceIncidentRoleHandover" + ].timeout, + client_info=self._client_info, + ) + + request = incidents_service_pb2.ForceIncidentRoleHandoverRequest( + name=name, new_assignee=new_assignee + ) + 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["force_incident_role_handover"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + def create_incident( self, incident, @@ -284,13 +606,13 @@ def create_incident( >>> response = client.create_incident(incident, parent) Args: - incident (Union[dict, ~google.cloud.irm_v1alpha2.types.Incident]): The incident to create. + incident (Union[dict, ~google.cloud.irm_v1alpha2.types.Incident]): Required. The incident to create. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.irm_v1alpha2.types.Incident` - parent (str): The resource name of the hosting Stackdriver project which the incident - belongs to. The name is of the form ``projects/{project_id_or_number}`` - . + parent (str): Required. The resource name of the hosting Stackdriver project which the + incident belongs to. The name is of the form + ``projects/{project_id_or_number}`` . 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. @@ -361,8 +683,8 @@ def get_incident( >>> response = client.get_incident(name) Args: - name (str): Resource name of the incident, for example, - "projects/{project_id}/incidents/{incident_id}". + name (str): Required. Resource name of the incident, for example, + "projects/{project_id_or_number}/incidents/{incident_id}". 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. @@ -447,7 +769,7 @@ def search_incidents( ... pass Args: - parent (str): The resource name of the hosting Stackdriver project which requested + parent (str): Required. The resource name of the hosting Stackdriver project which requested incidents belong to. query (str): An expression that defines which incidents to return. @@ -606,7 +928,7 @@ def update_incident( >>> response = client.update_incident(incident) Args: - incident (Union[dict, ~google.cloud.irm_v1alpha2.types.Incident]): The incident to update with the new values. + incident (Union[dict, ~google.cloud.irm_v1alpha2.types.Incident]): Required. The incident to update with the new values. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.irm_v1alpha2.types.Incident` @@ -699,8 +1021,8 @@ def search_similar_incidents( ... pass Args: - name (str): Resource name of the incident or signal, for example, - "projects/{project_id}/incidents/{incident_id}". + name (str): Required. Resource name of the incident or signal, for example, + "projects/{project_id_or_number}/incidents/{incident_id}". 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 @@ -795,9 +1117,9 @@ def create_annotation( >>> response = client.create_annotation(parent, annotation) Args: - parent (str): Resource name of the incident, for example, - "projects/{project_id}/incidents/{incident_id}". - annotation (Union[dict, ~google.cloud.irm_v1alpha2.types.Annotation]): Only annotation.content is an input argument. + parent (str): Required. Resource name of the incident, for example, + "projects/{project_id_or_number}/incidents/{incident_id}". + annotation (Union[dict, ~google.cloud.irm_v1alpha2.types.Annotation]): Required. Only annotation.content is an input argument. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.irm_v1alpha2.types.Annotation` @@ -885,8 +1207,8 @@ def list_annotations( ... pass Args: - parent (str): Resource name of the incident, for example, - "projects/{project_id}/incidents/{incident_id}". + parent (str): Required. Resource name of the incident, for example, + "projects/{project_id_or_number}/incidents/{incident_id}". 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 @@ -980,9 +1302,9 @@ def create_tag( >>> response = client.create_tag(parent, tag) Args: - parent (str): Resource name of the incident, for example, - "projects/{project_id}/incidents/{incident_id}". - tag (Union[dict, ~google.cloud.irm_v1alpha2.types.Tag]): Tag to create. Only tag.display_name is an input argument. + parent (str): Required. Resource name of the incident, for example, + "projects/{project_id_or_number}/incidents/{incident_id}". + tag (Union[dict, ~google.cloud.irm_v1alpha2.types.Tag]): Required. Tag to create. Only tag.display_name is an input argument. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.irm_v1alpha2.types.Tag` @@ -1054,7 +1376,7 @@ def delete_tag( >>> client.delete_tag(name) Args: - name (str): Resource name of the tag. + name (str): Required. Resource name of the tag. 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. @@ -1133,8 +1455,8 @@ def list_tags( ... pass Args: - parent (str): Resource name of the incident, for example, - "projects/{project_id}/incidents/{incident_id}". + parent (str): Required. Resource name of the incident, for example, + "projects/{project_id_or_number}/incidents/{incident_id}". 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 @@ -1228,9 +1550,9 @@ def create_signal( >>> response = client.create_signal(parent, signal) Args: - parent (str): The resource name of the hosting Stackdriver project which requested + parent (str): Required. The resource name of the hosting Stackdriver project which requested signal belongs to. - signal (Union[dict, ~google.cloud.irm_v1alpha2.types.Signal]): The signal to create. + signal (Union[dict, ~google.cloud.irm_v1alpha2.types.Signal]): Required. The signal to create. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.irm_v1alpha2.types.Signal` @@ -1296,6 +1618,9 @@ def search_signals( """ Lists signals that are part of an incident. Signals are returned in reverse chronological order. + Note that search should not be relied on for critical functionality. It + has lower availability guarantees and might fail to return valid results. + Returned results might include stale or extraneous entries. Example: >>> from google.cloud import irm_v1alpha2 @@ -1319,7 +1644,7 @@ def search_signals( ... pass Args: - parent (str): The resource name of the hosting Stackdriver project which requested + parent (str): Required. The resource name of the hosting Stackdriver project which requested incidents belong to. query (str): An expression that defines which signals to return. @@ -1452,28 +1777,28 @@ def search_signals( ) return iterator - def get_signal( + def lookup_signal( self, - name, + cscc_finding=None, + stackdriver_notification_id=None, retry=google.api_core.gapic_v1.method.DEFAULT, timeout=google.api_core.gapic_v1.method.DEFAULT, metadata=None, ): """ - Returns a signal by name. + Finds a signal by other unique IDs. Example: >>> from google.cloud import irm_v1alpha2 >>> >>> client = irm_v1alpha2.IncidentServiceClient() >>> - >>> name = client.signal_path('[PROJECT]', '[SIGNAL]') - >>> - >>> response = client.get_signal(name) + >>> response = client.lookup_signal() Args: - name (str): Resource name of the Signal resource, for example, - "projects/{project_id}/signals/{signal_id}". + cscc_finding (str): Required. Full resource name of the CSCC finding id this signal refers to (e.g. + "organizations/abc/sources/123/findings/xyz") + stackdriver_notification_id (str): The ID from the Stackdriver Alerting notification. 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. @@ -1494,56 +1819,53 @@ def get_signal( ValueError: If the parameters are invalid. """ # Wrap the transport method to add retry and timeout logic. - if "get_signal" not in self._inner_api_calls: + if "lookup_signal" not in self._inner_api_calls: self._inner_api_calls[ - "get_signal" + "lookup_signal" ] = google.api_core.gapic_v1.method.wrap_method( - self.transport.get_signal, - default_retry=self._method_configs["GetSignal"].retry, - default_timeout=self._method_configs["GetSignal"].timeout, + self.transport.lookup_signal, + default_retry=self._method_configs["LookupSignal"].retry, + default_timeout=self._method_configs["LookupSignal"].timeout, client_info=self._client_info, ) - request = incidents_service_pb2.GetSignalRequest(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) + # Sanity check: We have some fields which are mutually exclusive; + # raise ValueError if more than one is sent. + google.api_core.protobuf_helpers.check_oneof( + cscc_finding=cscc_finding, + stackdriver_notification_id=stackdriver_notification_id, + ) - return self._inner_api_calls["get_signal"]( + request = incidents_service_pb2.LookupSignalRequest( + cscc_finding=cscc_finding, + stackdriver_notification_id=stackdriver_notification_id, + ) + return self._inner_api_calls["lookup_signal"]( request, retry=retry, timeout=timeout, metadata=metadata ) - def lookup_signal( + def get_signal( self, - cscc_finding=None, - stackdriver_notification_id=None, + name, retry=google.api_core.gapic_v1.method.DEFAULT, timeout=google.api_core.gapic_v1.method.DEFAULT, metadata=None, ): """ - Finds a signal by other unique IDs. + Returns a signal by name. Example: >>> from google.cloud import irm_v1alpha2 >>> >>> client = irm_v1alpha2.IncidentServiceClient() >>> - >>> response = client.lookup_signal() + >>> name = client.signal_path('[PROJECT]', '[SIGNAL]') + >>> + >>> response = client.get_signal(name) Args: - cscc_finding (str): Full resource name of the CSCC finding id this signal refers to (e.g. - "organizations/abc/sources/123/findings/xyz") - stackdriver_notification_id (str): The ID from the Stackdriver Alerting notification. + name (str): Required. Resource name of the Signal resource, for example, + "projects/{project_id_or_number}/signals/{signal_id}". 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. @@ -1564,28 +1886,31 @@ def lookup_signal( ValueError: If the parameters are invalid. """ # Wrap the transport method to add retry and timeout logic. - if "lookup_signal" not in self._inner_api_calls: + if "get_signal" not in self._inner_api_calls: self._inner_api_calls[ - "lookup_signal" + "get_signal" ] = google.api_core.gapic_v1.method.wrap_method( - self.transport.lookup_signal, - default_retry=self._method_configs["LookupSignal"].retry, - default_timeout=self._method_configs["LookupSignal"].timeout, + self.transport.get_signal, + default_retry=self._method_configs["GetSignal"].retry, + default_timeout=self._method_configs["GetSignal"].timeout, client_info=self._client_info, ) - # Sanity check: We have some fields which are mutually exclusive; - # raise ValueError if more than one is sent. - google.api_core.protobuf_helpers.check_oneof( - cscc_finding=cscc_finding, - stackdriver_notification_id=stackdriver_notification_id, - ) + request = incidents_service_pb2.GetSignalRequest(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) - request = incidents_service_pb2.LookupSignalRequest( - cscc_finding=cscc_finding, - stackdriver_notification_id=stackdriver_notification_id, - ) - return self._inner_api_calls["lookup_signal"]( + return self._inner_api_calls["get_signal"]( request, retry=retry, timeout=timeout, metadata=metadata ) @@ -1612,7 +1937,7 @@ def update_signal( >>> response = client.update_signal(signal) Args: - signal (Union[dict, ~google.cloud.irm_v1alpha2.types.Signal]): The signal to update with the new values. + signal (Union[dict, ~google.cloud.irm_v1alpha2.types.Signal]): Required. The signal to update with the new values. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.irm_v1alpha2.types.Signal` @@ -1696,7 +2021,7 @@ def escalate_incident( >>> response = client.escalate_incident(incident) Args: - incident (Union[dict, ~google.cloud.irm_v1alpha2.types.Incident]): The incident to escalate with the new values. + incident (Union[dict, ~google.cloud.irm_v1alpha2.types.Incident]): Required. The incident to escalate with the new values. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.irm_v1alpha2.types.Incident` @@ -1801,9 +2126,9 @@ def create_artifact( >>> response = client.create_artifact(parent, artifact) Args: - parent (str): Resource name of the incident, for example, - "projects/{project_id}/incidents/{incident_id}". - artifact (Union[dict, ~google.cloud.irm_v1alpha2.types.Artifact]): The artifact to create. + parent (str): Required. Resource name of the incident, for example, + "projects/{project_id_or_number}/incidents/{incident_id}". + artifact (Union[dict, ~google.cloud.irm_v1alpha2.types.Artifact]): Required. The artifact to create. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.irm_v1alpha2.types.Artifact` @@ -1890,8 +2215,8 @@ def list_artifacts( ... pass Args: - parent (str): Resource name of the incident, for example, - "projects/{project_id}/incidents/{incident_id}". + parent (str): Required. Resource name of the incident, for example, + "projects/{project_id_or_number}/incidents/{incident_id}". 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 @@ -1983,7 +2308,7 @@ def update_artifact( >>> response = client.update_artifact(artifact) Args: - artifact (Union[dict, ~google.cloud.irm_v1alpha2.types.Artifact]): The artifact to update with the new values. + artifact (Union[dict, ~google.cloud.irm_v1alpha2.types.Artifact]): Required. The artifact to update with the new values. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.irm_v1alpha2.types.Artifact` @@ -2015,86 +2340,20 @@ def update_artifact( self._inner_api_calls[ "update_artifact" ] = google.api_core.gapic_v1.method.wrap_method( - self.transport.update_artifact, - default_retry=self._method_configs["UpdateArtifact"].retry, - default_timeout=self._method_configs["UpdateArtifact"].timeout, - client_info=self._client_info, - ) - - request = incidents_service_pb2.UpdateArtifactRequest( - artifact=artifact, update_mask=update_mask - ) - if metadata is None: - metadata = [] - metadata = list(metadata) - try: - routing_header = [("artifact.name", artifact.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_artifact"]( - request, retry=retry, timeout=timeout, metadata=metadata - ) - - def delete_artifact( - self, - name, - retry=google.api_core.gapic_v1.method.DEFAULT, - timeout=google.api_core.gapic_v1.method.DEFAULT, - metadata=None, - ): - """ - Deletes an existing artifact. - - Example: - >>> from google.cloud import irm_v1alpha2 - >>> - >>> client = irm_v1alpha2.IncidentServiceClient() - >>> - >>> name = client.artifact_path('[PROJECT]', '[INCIDENT]', '[ARTIFACT]') - >>> - >>> client.delete_artifact(name) - - Args: - name (str): Resource name of the artifact. - 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_artifact" not in self._inner_api_calls: - self._inner_api_calls[ - "delete_artifact" - ] = google.api_core.gapic_v1.method.wrap_method( - self.transport.delete_artifact, - default_retry=self._method_configs["DeleteArtifact"].retry, - default_timeout=self._method_configs["DeleteArtifact"].timeout, + self.transport.update_artifact, + default_retry=self._method_configs["UpdateArtifact"].retry, + default_timeout=self._method_configs["UpdateArtifact"].timeout, client_info=self._client_info, ) - request = incidents_service_pb2.DeleteArtifactRequest(name=name) + request = incidents_service_pb2.UpdateArtifactRequest( + artifact=artifact, update_mask=update_mask + ) if metadata is None: metadata = [] metadata = list(metadata) try: - routing_header = [("name", name)] + routing_header = [("artifact.name", artifact.name)] except AttributeError: pass else: @@ -2103,7 +2362,7 @@ def delete_artifact( ) metadata.append(routing_metadata) - self._inner_api_calls["delete_artifact"]( + return self._inner_api_calls["update_artifact"]( request, retry=retry, timeout=timeout, metadata=metadata ) @@ -2140,15 +2399,15 @@ def send_shift_handoff( >>> response = client.send_shift_handoff(parent, recipients, subject) Args: - parent (str): The resource name of the Stackdriver project that the handoff is being - sent from. for example, ``projects/{project_id}`` - recipients (list[str]): Email addresses of the recipients of the handoff, for example, + parent (str): Required. The resource name of the Stackdriver project that the handoff + is being sent from. for example, ``projects/{project_id_or_number}`` + recipients (list[str]): Required. Email addresses of the recipients of the handoff, for example, "user@example.com". Must contain at least one entry. - subject (str): The subject of the email. Required. - cc (list[str]): Email addresses that should be CC'd on the handoff. Optional. + subject (str): Required. The subject of the email. + cc (list[str]): Optional. Email addresses that should be CC'd on the handoff. notes_content_type (str): Content type string, for example, 'text/plain' or 'text/html'. - notes_content (str): Additional notes to be included in the handoff. Optional. - incidents (list[Union[dict, ~google.cloud.irm_v1alpha2.types.Incident]]): The set of incidents that should be included in the handoff. Optional. + notes_content (str): Optional. Additional notes to be included in the handoff. + incidents (list[Union[dict, ~google.cloud.irm_v1alpha2.types.Incident]]): Optional. The set of incidents that should be included in the handoff. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.irm_v1alpha2.types.Incident` @@ -2238,9 +2497,9 @@ def create_subscription( >>> response = client.create_subscription(parent, subscription) Args: - parent (str): Resource name of the incident, for example, - "projects/{project_id}/incidents/{incident_id}". - subscription (Union[dict, ~google.cloud.irm_v1alpha2.types.Subscription]): The subscription to create. + parent (str): Required. Resource name of the incident, for example, + "projects/{project_id_or_number}/incidents/{incident_id}". + subscription (Union[dict, ~google.cloud.irm_v1alpha2.types.Subscription]): Required. The subscription to create. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.irm_v1alpha2.types.Subscription` @@ -2316,7 +2575,7 @@ def update_subscription( >>> response = client.update_subscription(subscription) Args: - subscription (Union[dict, ~google.cloud.irm_v1alpha2.types.Subscription]): The subscription to update, with new values. + subscription (Union[dict, ~google.cloud.irm_v1alpha2.types.Subscription]): Required. The subscription to update, with new values. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.irm_v1alpha2.types.Subscription` @@ -2407,8 +2666,8 @@ def list_subscriptions( ... pass Args: - parent (str): Resource name of the incident, for example, - "projects/{project_id}/incidents/{incident_id}". + parent (str): Required. Resource name of the incident, for example, + "projects/{project_id_or_number}/incidents/{incident_id}". 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 @@ -2498,7 +2757,7 @@ def delete_subscription( >>> client.delete_subscription(name) Args: - name (str): Resource name of the subscription. + name (str): Required. Resource name of the subscription. 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. @@ -2572,9 +2831,9 @@ def create_incident_role_assignment( >>> response = client.create_incident_role_assignment(parent, incident_role_assignment) Args: - parent (str): Resource name of the incident, for example, - "projects/{project_id}/incidents/{incident_id}". - incident_role_assignment (Union[dict, ~google.cloud.irm_v1alpha2.types.IncidentRoleAssignment]): Role assignment to create. + parent (str): Required. Resource name of the incident, for example, + "projects/{project_id_or_number}/incidents/{incident_id}". + incident_role_assignment (Union[dict, ~google.cloud.irm_v1alpha2.types.IncidentRoleAssignment]): Required. Role assignment to create. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.irm_v1alpha2.types.IncidentRoleAssignment` @@ -2647,12 +2906,12 @@ def delete_incident_role_assignment( >>> >>> client = irm_v1alpha2.IncidentServiceClient() >>> - >>> name = client.role_assignment_path('[PROJECT]', '[INCIDENT]', '[ROLE_ASSIGNMENT]') + >>> name = client.incident_path('[PROJECT]', '[INCIDENT]') >>> >>> client.delete_incident_role_assignment(name) Args: - name (str): Resource name of the role assignment. + name (str): Required. Resource name of the role assignment. 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. @@ -2735,8 +2994,8 @@ def list_incident_role_assignments( ... pass Args: - parent (str): Resource name of the incident, for example, - "projects/{project_id}/incidents/{incident_id}". + parent (str): Required. Resource name of the incident, for example, + "projects/{project_id_or_number}/incidents/{incident_id}". 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 @@ -2808,259 +3067,6 @@ def list_incident_role_assignments( ) return iterator - def request_incident_role_handover( - self, - name, - new_assignee, - retry=google.api_core.gapic_v1.method.DEFAULT, - timeout=google.api_core.gapic_v1.method.DEFAULT, - metadata=None, - ): - """ - Starts a role handover. The proposed assignee will receive an email - notifying them of the assignment. This will fail if a role handover is - already pending. - - Example: - >>> from google.cloud import irm_v1alpha2 - >>> - >>> client = irm_v1alpha2.IncidentServiceClient() - >>> - >>> name = client.role_assignment_path('[PROJECT]', '[INCIDENT]', '[ROLE_ASSIGNMENT]') - >>> - >>> # TODO: Initialize `new_assignee`: - >>> new_assignee = {} - >>> - >>> response = client.request_incident_role_handover(name, new_assignee) - - Args: - name (str): Resource name of the role assignment. - new_assignee (Union[dict, ~google.cloud.irm_v1alpha2.types.User]): The proposed assignee. - - If a dict is provided, it must be of the same form as the protobuf - message :class:`~google.cloud.irm_v1alpha2.types.User` - 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.irm_v1alpha2.types.IncidentRoleAssignment` 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 "request_incident_role_handover" not in self._inner_api_calls: - self._inner_api_calls[ - "request_incident_role_handover" - ] = google.api_core.gapic_v1.method.wrap_method( - self.transport.request_incident_role_handover, - default_retry=self._method_configs["RequestIncidentRoleHandover"].retry, - default_timeout=self._method_configs[ - "RequestIncidentRoleHandover" - ].timeout, - client_info=self._client_info, - ) - - request = incidents_service_pb2.RequestIncidentRoleHandoverRequest( - name=name, new_assignee=new_assignee - ) - 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["request_incident_role_handover"]( - request, retry=retry, timeout=timeout, metadata=metadata - ) - - def confirm_incident_role_handover( - self, - name, - new_assignee, - retry=google.api_core.gapic_v1.method.DEFAULT, - timeout=google.api_core.gapic_v1.method.DEFAULT, - metadata=None, - ): - """ - Confirms a role handover. This will fail if the 'proposed_assignee' - field of the IncidentRoleAssignment is not equal to the 'new_assignee' - field of the request. If the caller is not the new_assignee, - ForceIncidentRoleHandover should be used instead. - - Example: - >>> from google.cloud import irm_v1alpha2 - >>> - >>> client = irm_v1alpha2.IncidentServiceClient() - >>> - >>> name = client.role_assignment_path('[PROJECT]', '[INCIDENT]', '[ROLE_ASSIGNMENT]') - >>> - >>> # TODO: Initialize `new_assignee`: - >>> new_assignee = {} - >>> - >>> response = client.confirm_incident_role_handover(name, new_assignee) - - Args: - name (str): Resource name of the role assignment. - new_assignee (Union[dict, ~google.cloud.irm_v1alpha2.types.User]): The proposed assignee, who will now be the assignee. This should be the - current user; otherwise ForceRoleHandover should be called. - - If a dict is provided, it must be of the same form as the protobuf - message :class:`~google.cloud.irm_v1alpha2.types.User` - 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.irm_v1alpha2.types.IncidentRoleAssignment` 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 "confirm_incident_role_handover" not in self._inner_api_calls: - self._inner_api_calls[ - "confirm_incident_role_handover" - ] = google.api_core.gapic_v1.method.wrap_method( - self.transport.confirm_incident_role_handover, - default_retry=self._method_configs["ConfirmIncidentRoleHandover"].retry, - default_timeout=self._method_configs[ - "ConfirmIncidentRoleHandover" - ].timeout, - client_info=self._client_info, - ) - - request = incidents_service_pb2.ConfirmIncidentRoleHandoverRequest( - name=name, new_assignee=new_assignee - ) - 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["confirm_incident_role_handover"]( - request, retry=retry, timeout=timeout, metadata=metadata - ) - - def force_incident_role_handover( - self, - name, - new_assignee, - retry=google.api_core.gapic_v1.method.DEFAULT, - timeout=google.api_core.gapic_v1.method.DEFAULT, - metadata=None, - ): - """ - Forces a role handover. This will fail if the 'proposed_assignee' field - of the IncidentRoleAssignment is not equal to the 'new_assignee' field - of the request. If the caller is the new_assignee, - ConfirmIncidentRoleHandover should be used instead. - - Example: - >>> from google.cloud import irm_v1alpha2 - >>> - >>> client = irm_v1alpha2.IncidentServiceClient() - >>> - >>> name = client.role_assignment_path('[PROJECT]', '[INCIDENT]', '[ROLE_ASSIGNMENT]') - >>> - >>> # TODO: Initialize `new_assignee`: - >>> new_assignee = {} - >>> - >>> response = client.force_incident_role_handover(name, new_assignee) - - Args: - name (str): Resource name of the role assignment. - new_assignee (Union[dict, ~google.cloud.irm_v1alpha2.types.User]): The proposed assignee, who will now be the assignee. This should not be - the current user; otherwise ConfirmRoleHandover should be called. - - If a dict is provided, it must be of the same form as the protobuf - message :class:`~google.cloud.irm_v1alpha2.types.User` - 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.irm_v1alpha2.types.IncidentRoleAssignment` 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 "force_incident_role_handover" not in self._inner_api_calls: - self._inner_api_calls[ - "force_incident_role_handover" - ] = google.api_core.gapic_v1.method.wrap_method( - self.transport.force_incident_role_handover, - default_retry=self._method_configs["ForceIncidentRoleHandover"].retry, - default_timeout=self._method_configs[ - "ForceIncidentRoleHandover" - ].timeout, - client_info=self._client_info, - ) - - request = incidents_service_pb2.ForceIncidentRoleHandoverRequest( - name=name, new_assignee=new_assignee - ) - 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["force_incident_role_handover"]( - request, retry=retry, timeout=timeout, metadata=metadata - ) - def cancel_incident_role_handover( self, name, @@ -3079,7 +3085,7 @@ def cancel_incident_role_handover( >>> >>> client = irm_v1alpha2.IncidentServiceClient() >>> - >>> name = client.role_assignment_path('[PROJECT]', '[INCIDENT]', '[ROLE_ASSIGNMENT]') + >>> name = client.incident_role_assignment_path('[PROJECT_ID_OR_NUMBER]', '[INCIDENT_ID]', '[ROLE_ID]') >>> >>> # TODO: Initialize `new_assignee`: >>> new_assignee = {} @@ -3087,8 +3093,8 @@ def cancel_incident_role_handover( >>> response = client.cancel_incident_role_handover(name, new_assignee) Args: - name (str): Resource name of the role assignment. - new_assignee (Union[dict, ~google.cloud.irm_v1alpha2.types.User]): Person who was proposed as the next assignee (i.e. + name (str): Required. Resource name of the role assignment. + new_assignee (Union[dict, ~google.cloud.irm_v1alpha2.types.User]): Required. Person who was proposed as the next assignee (i.e. IncidentRoleAssignment.proposed_assignee) and whose proposal is being cancelled. diff --git a/irm/google/cloud/irm_v1alpha2/gapic/incident_service_client_config.py b/irm/google/cloud/irm_v1alpha2/gapic/incident_service_client_config.py index caca49e66519..4512724738ff 100644 --- a/irm/google/cloud/irm_v1alpha2/gapic/incident_service_client_config.py +++ b/irm/google/cloud/irm_v1alpha2/gapic/incident_service_client_config.py @@ -17,6 +17,26 @@ } }, "methods": { + "DeleteArtifact": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default", + }, + "RequestIncidentRoleHandover": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default", + }, + "ConfirmIncidentRoleHandover": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default", + }, + "ForceIncidentRoleHandover": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default", + }, "CreateIncident": { "timeout_millis": 60000, "retry_codes_name": "non_idempotent", @@ -59,7 +79,7 @@ }, "DeleteTag": { "timeout_millis": 60000, - "retry_codes_name": "idempotent", + "retry_codes_name": "non_idempotent", "retry_params_name": "default", }, "ListTags": { @@ -77,12 +97,12 @@ "retry_codes_name": "idempotent", "retry_params_name": "default", }, - "GetSignal": { + "LookupSignal": { "timeout_millis": 60000, "retry_codes_name": "idempotent", "retry_params_name": "default", }, - "LookupSignal": { + "GetSignal": { "timeout_millis": 60000, "retry_codes_name": "idempotent", "retry_params_name": "default", @@ -112,11 +132,6 @@ "retry_codes_name": "non_idempotent", "retry_params_name": "default", }, - "DeleteArtifact": { - "timeout_millis": 60000, - "retry_codes_name": "idempotent", - "retry_params_name": "default", - }, "SendShiftHandoff": { "timeout_millis": 60000, "retry_codes_name": "non_idempotent", @@ -139,7 +154,7 @@ }, "DeleteSubscription": { "timeout_millis": 60000, - "retry_codes_name": "idempotent", + "retry_codes_name": "non_idempotent", "retry_params_name": "default", }, "CreateIncidentRoleAssignment": { @@ -149,7 +164,7 @@ }, "DeleteIncidentRoleAssignment": { "timeout_millis": 60000, - "retry_codes_name": "idempotent", + "retry_codes_name": "non_idempotent", "retry_params_name": "default", }, "ListIncidentRoleAssignments": { @@ -157,21 +172,6 @@ "retry_codes_name": "idempotent", "retry_params_name": "default", }, - "RequestIncidentRoleHandover": { - "timeout_millis": 60000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default", - }, - "ConfirmIncidentRoleHandover": { - "timeout_millis": 60000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default", - }, - "ForceIncidentRoleHandover": { - "timeout_millis": 60000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default", - }, "CancelIncidentRoleHandover": { "timeout_millis": 60000, "retry_codes_name": "non_idempotent", diff --git a/irm/google/cloud/irm_v1alpha2/gapic/transports/incident_service_grpc_transport.py b/irm/google/cloud/irm_v1alpha2/gapic/transports/incident_service_grpc_transport.py index b2cbbf1869f2..7539732c739d 100644 --- a/irm/google/cloud/irm_v1alpha2/gapic/transports/incident_service_grpc_transport.py +++ b/irm/google/cloud/irm_v1alpha2/gapic/transports/incident_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. @@ -109,6 +109,68 @@ def channel(self): """ return self._channel + @property + def delete_artifact(self): + """Return the gRPC stub for :meth:`IncidentServiceClient.delete_artifact`. + + Deletes an existing artifact. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["incident_service_stub"].DeleteArtifact + + @property + def request_incident_role_handover(self): + """Return the gRPC stub for :meth:`IncidentServiceClient.request_incident_role_handover`. + + Starts a role handover. The proposed assignee will receive an email + notifying them of the assignment. This will fail if a role handover is + already pending. + Handover to an oncall ladder is not permitted. Use + CreateIncidentRoleAssignment instead. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["incident_service_stub"].RequestIncidentRoleHandover + + @property + def confirm_incident_role_handover(self): + """Return the gRPC stub for :meth:`IncidentServiceClient.confirm_incident_role_handover`. + + Confirms a role handover. This will fail if the 'proposed_assignee' + field of the IncidentRoleAssignment is not equal to the 'new_assignee' + field of the request. If the caller is not the new_assignee, + ForceIncidentRoleHandover should be used instead. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["incident_service_stub"].ConfirmIncidentRoleHandover + + @property + def force_incident_role_handover(self): + """Return the gRPC stub for :meth:`IncidentServiceClient.force_incident_role_handover`. + + Forces a role handover. This will fail if the 'proposed_assignee' field + of the IncidentRoleAssignment is not equal to the 'new_assignee' field + of the request. If the caller is the new_assignee, + ConfirmIncidentRoleHandover should be used instead. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["incident_service_stub"].ForceIncidentRoleHandover + @property def create_incident(self): """Return the gRPC stub for :meth:`IncidentServiceClient.create_incident`. @@ -263,6 +325,9 @@ def search_signals(self): Lists signals that are part of an incident. Signals are returned in reverse chronological order. + Note that search should not be relied on for critical functionality. It + has lower availability guarantees and might fail to return valid results. + Returned results might include stale or extraneous entries. Returns: Callable: A callable which accepts the appropriate @@ -272,30 +337,30 @@ def search_signals(self): return self._stubs["incident_service_stub"].SearchSignals @property - def get_signal(self): - """Return the gRPC stub for :meth:`IncidentServiceClient.get_signal`. + def lookup_signal(self): + """Return the gRPC stub for :meth:`IncidentServiceClient.lookup_signal`. - Returns a signal by name. + Finds a signal by other unique IDs. Returns: Callable: A callable which accepts the appropriate deserialized request object and returns a deserialized response object. """ - return self._stubs["incident_service_stub"].GetSignal + return self._stubs["incident_service_stub"].LookupSignal @property - def lookup_signal(self): - """Return the gRPC stub for :meth:`IncidentServiceClient.lookup_signal`. + def get_signal(self): + """Return the gRPC stub for :meth:`IncidentServiceClient.get_signal`. - Finds a signal by other unique IDs. + Returns a signal by name. Returns: Callable: A callable which accepts the appropriate deserialized request object and returns a deserialized response object. """ - return self._stubs["incident_service_stub"].LookupSignal + return self._stubs["incident_service_stub"].GetSignal @property def update_signal(self): @@ -363,19 +428,6 @@ def update_artifact(self): """ return self._stubs["incident_service_stub"].UpdateArtifact - @property - def delete_artifact(self): - """Return the gRPC stub for :meth:`IncidentServiceClient.delete_artifact`. - - Deletes an existing artifact. - - Returns: - Callable: A callable which accepts the appropriate - deserialized request object and returns a - deserialized response object. - """ - return self._stubs["incident_service_stub"].DeleteArtifact - @property def send_shift_handoff(self): """Return the gRPC stub for :meth:`IncidentServiceClient.send_shift_handoff`. @@ -487,53 +539,6 @@ def list_incident_role_assignments(self): """ return self._stubs["incident_service_stub"].ListIncidentRoleAssignments - @property - def request_incident_role_handover(self): - """Return the gRPC stub for :meth:`IncidentServiceClient.request_incident_role_handover`. - - Starts a role handover. The proposed assignee will receive an email - notifying them of the assignment. This will fail if a role handover is - already pending. - - Returns: - Callable: A callable which accepts the appropriate - deserialized request object and returns a - deserialized response object. - """ - return self._stubs["incident_service_stub"].RequestIncidentRoleHandover - - @property - def confirm_incident_role_handover(self): - """Return the gRPC stub for :meth:`IncidentServiceClient.confirm_incident_role_handover`. - - Confirms a role handover. This will fail if the 'proposed_assignee' - field of the IncidentRoleAssignment is not equal to the 'new_assignee' - field of the request. If the caller is not the new_assignee, - ForceIncidentRoleHandover should be used instead. - - Returns: - Callable: A callable which accepts the appropriate - deserialized request object and returns a - deserialized response object. - """ - return self._stubs["incident_service_stub"].ConfirmIncidentRoleHandover - - @property - def force_incident_role_handover(self): - """Return the gRPC stub for :meth:`IncidentServiceClient.force_incident_role_handover`. - - Forces a role handover. This will fail if the 'proposed_assignee' field - of the IncidentRoleAssignment is not equal to the 'new_assignee' field - of the request. If the caller is the new_assignee, - ConfirmIncidentRoleHandover should be used instead. - - Returns: - Callable: A callable which accepts the appropriate - deserialized request object and returns a - deserialized response object. - """ - return self._stubs["incident_service_stub"].ForceIncidentRoleHandover - @property def cancel_incident_role_handover(self): """Return the gRPC stub for :meth:`IncidentServiceClient.cancel_incident_role_handover`. diff --git a/irm/google/cloud/irm_v1alpha2/proto/incidents.proto b/irm/google/cloud/irm_v1alpha2/proto/incidents.proto index 78972ae0302d..e4eb3b30fc06 100644 --- a/irm/google/cloud/irm_v1alpha2/proto/incidents.proto +++ b/irm/google/cloud/irm_v1alpha2/proto/incidents.proto @@ -18,6 +18,8 @@ syntax = "proto3"; package google.cloud.irm.v1alpha2; import "google/api/annotations.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/protobuf/timestamp.proto"; option cc_enable_arenas = true; @@ -45,6 +47,11 @@ message User { // A signal is a message calling attention to a (potential) incident. An example // is a page based on a Stackdriver Alerting policy. message Signal { + option (google.api.resource) = { + type: "irm.googleapis.com/Signal" + pattern: "projects/{project}/signals/{signal}" + }; + // An artifact associated with the Signal. message SignalArtifact { // The type of resource linked to @@ -70,7 +77,7 @@ message Signal { } // Resource name of the signal, for example, - // "projects/{project_id}/signals/{signal_id}". + // "projects/{project_id_or_number}/signals/{signal_id}". string name = 1; // Etag to validate the object is unchanged for a read-modify-write operation. @@ -123,8 +130,13 @@ message Signal { // A text annotation by a user. message Annotation { + option (google.api.resource) = { + type: "irm.googleapis.com/Annotation" + pattern: "projects/{project}/incidents/{incident}/annotations/{annotation}" + }; + // Resource name of the annotation, for example, - // "projects/{project_id}/incidents/{incident_id}/annotations/{annotation_id}". + // "projects/{project_id_or_number}/incidents/{incident_id}/annotations/{annotation_id}". string name = 1; // Output only. Author of the annotation. @@ -133,18 +145,23 @@ message Annotation { // Output only. Time the annotation was created. google.protobuf.Timestamp create_time = 3; - // Content of the annotation. Immutable. + // Content of the annotation. string content = 4; // Content type of the annotation, for example, 'text/plain' - // or 'text/markdown'. Immutable. + // or 'text/markdown'. string content_type = 5; } // A tag by a user. message Tag { + option (google.api.resource) = { + type: "irm.googleapis.com/Tag" + pattern: "projects/{project}/incidents/{incident}/tags/{tag}" + }; + // Resource name of a tag, for example, - // "projects/{project_id}/incidents/{incident_id}/tags/{tag_id}" + // "projects/{project_id_or_number}/incidents/{incident_id}/tags/{tag_id}" string name = 1; // Display name of the resource (for example, "cause:rollout"). Immutable. @@ -170,6 +187,11 @@ message Synopsis { // Representation of an incident. message Incident { + option (google.api.resource) = { + type: "irm.googleapis.com/Incident" + pattern: "projects/{project}/incidents/{incident}" + }; + // CommunicationVenue is a record of where conversations about an incident // are happening. message CommunicationVenue { @@ -259,8 +281,8 @@ message Incident { } // Output only. Resource name of the incident, for example, - // "projects/{project_id}/incidents/{incident_id}". - string name = 1; + // "projects/{project_id_or_number}/incidents/{incident_id}". + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // One-line summary of the incident. string title = 2; @@ -338,18 +360,23 @@ message IncidentRole { // type can only be used once per incident, except for TYPE_OTHER. Type type = 1; - // Output only unless TYPE_OTHER is used. Title of the role. For TYPE_OTHER, - // must be unique within an incident. + // Output only and empty unless TYPE_OTHER is used. Title of the role. For + // TYPE_OTHER, must be unique within an incident. string title = 2; - // Output only unless TYPE_OTHER is used. Description of the role. + // Output only and empty unless TYPE_OTHER is used. Description of the role. string description = 3; } // Stores the assignee of a role as well as the proposed next assignee. message IncidentRoleAssignment { + option (google.api.resource) = { + type: "irm.googleapis.com/IncidentRoleAssignment" + pattern: "projects/{project_id_or_number}/incidents/{incident_id}/role_assignments/{role_id}" + }; + // Output only. Resource name such as - // "projects/{project_id}/incidents/{incident_id}/role_assignments/{role_id}". + // "projects/{project_id_or_number}/incidents/{incident_id}/role_assignments/{role_id}". string name = 1; // Output only. Etag for this version of the resource. Must be specified in @@ -390,6 +417,11 @@ message IncidentRoleAssignment { // External artifact associated to an incident. message Artifact { + option (google.api.resource) = { + type: "irm.googleapis.com/Artifact" + pattern: "projects/{project}/incidents/{incident}/artifacts/{artifact}" + }; + // Possible types of an artifact. enum Type { // External type is unspecified. @@ -403,7 +435,7 @@ message Artifact { } // Output only. Resource name such as - // "projects/{project_id}/incidents/{incident_id}/artifacts/{artifact_id}". + // "projects/{project_id_or_number}/incidents/{incident_id}/artifacts/{artifact_id}". string name = 1; // User provided name of an artifact. @@ -450,6 +482,11 @@ message CommunicationChannel { // A subscription allows users to get notifications about changes to // an incident. message Subscription { + option (google.api.resource) = { + type: "irm.googleapis.com/Subscription" + pattern: "projects/{project}/incidents/{incident}/subscriptions/{subscription}" + }; + // Types of changes that users can subscribe to in an incident. enum EventType { // An event_type that's not specified is an error. @@ -475,7 +512,7 @@ message Subscription { } // Output only. Resource name such as - // "projects/{project_id}/incidents/{incident_id}/subscriptions/{subscription_id}". + // "projects/{project_id_or_number}/incidents/{incident_id}/subscriptions/{subscription_id}". string name = 1; // Output only. Etag for this version of the resource. Must be specified in diff --git a/irm/google/cloud/irm_v1alpha2/proto/incidents_pb2.py b/irm/google/cloud/irm_v1alpha2/proto/incidents_pb2.py index e99a1c95fac2..57b1a1f2ca5f 100644 --- a/irm/google/cloud/irm_v1alpha2/proto/incidents_pb2.py +++ b/irm/google/cloud/irm_v1alpha2/proto/incidents_pb2.py @@ -16,6 +16,8 @@ from google.api import annotations_pb2 as google_dot_api_dot_annotations__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.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 @@ -27,10 +29,12 @@ "\n#com.google.irm.service.v1alpha2.apiP\001Z\n\x08severity\x18\x05 \x01(\x0e\x32,.google.cloud.irm.v1alpha2.Incident.Severity\x12\x38\n\x05stage\x18\x06 \x01(\x0e\x32).google.cloud.irm.v1alpha2.Incident.Stage\x12\x1a\n\x12\x64uplicate_incident\x18\t \x01(\t\x12.\n\nstart_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x08synopsis\x18\x08 \x01(\x0b\x32#.google.cloud.irm.v1alpha2.Synopsis\x12S\n\x13\x63ommunication_venue\x18\n \x01(\x0b\x32\x36.google.cloud.irm.v1alpha2.Incident.CommunicationVenue\x1a\xec\x01\n\x12\x43ommunicationVenue\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12X\n\x0c\x63hannel_type\x18\x03 \x01(\x0e\x32\x42.google.cloud.irm.v1alpha2.Incident.CommunicationVenue.ChannelType"Y\n\x0b\x43hannelType\x12\x1c\n\x18\x43HANNEL_TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43HANNEL_TYPE_URI\x10\x01\x12\x16\n\x12\x43HANNEL_TYPE_SLACK\x10\x05"V\n\x0f\x45scalationLevel\x12 \n\x1c\x45SCALATION_LEVEL_UNSPECIFIED\x10\x00\x12!\n\x1d\x45SCALATION_LEVEL_ORGANIZATION\x10\x01"\x8d\x01\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x11\n\rSEVERITY_HUGE\x10\x01\x12\x12\n\x0eSEVERITY_MAJOR\x10\x02\x12\x13\n\x0fSEVERITY_MEDIUM\x10\x03\x12\x12\n\x0eSEVERITY_MINOR\x10\x04\x12\x17\n\x13SEVERITY_NEGLIGIBLE\x10\x05"\x99\x01\n\x05Stage\x12\x15\n\x11STAGE_UNSPECIFIED\x10\x00\x12\x12\n\x0eSTAGE_DETECTED\x10\x04\x12\x11\n\rSTAGE_TRIAGED\x10\x01\x12\x13\n\x0fSTAGE_MITIGATED\x10\x02\x12\x12\n\x0eSTAGE_RESOLVED\x10\x03\x12\x14\n\x10STAGE_DOCUMENTED\x10\x05\x12\x13\n\x0fSTAGE_DUPLICATE\x10\x06"\xd6\x02\n\x0cIncidentRole\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.google.cloud.irm.v1alpha2.IncidentRole.Type\x12\r\n\x05title\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t"\xe5\x01\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17TYPE_INCIDENT_COMMANDER\x10\x01\x12\x1c\n\x18TYPE_COMMUNICATIONS_LEAD\x10\x02\x12\x18\n\x14TYPE_OPERATIONS_LEAD\x10\x03\x12.\n*TYPE_EXTERNAL_CUSTOMER_COMMUNICATIONS_LEAD\x10\x04\x12\x17\n\x13TYPE_PRIMARY_ONCALL\x10\x05\x12\x19\n\x15TYPE_SECONDARY_ONCALL\x10\x06\x12\x0e\n\nTYPE_OTHER\x10\x07"\xda\x01\n\x16IncidentRoleAssignment\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x65tag\x18\x02 \x01(\t\x12\x35\n\x04role\x18\x03 \x01(\x0b\x32\'.google.cloud.irm.v1alpha2.IncidentRole\x12\x31\n\x08\x61ssignee\x18\x04 \x01(\x0b\x32\x1f.google.cloud.irm.v1alpha2.User\x12:\n\x11proposed_assignee\x18\x05 \x01(\x0b\x32\x1f.google.cloud.irm.v1alpha2.User"\xc2\x01\n\x08\x41rtifact\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x0c\n\x04\x65tag\x18\x03 \x01(\t\x12\x0b\n\x03url\x18\x04 \x01(\t\x12\x36\n\x04type\x18\x05 \x01(\x0e\x32(.google.cloud.irm.v1alpha2.Artifact.Type"?\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x0c\n\x08TYPE_URL\x10\x01\x12\x13\n\x0fTYPE_JIRA_ISSUE\x10\x04"\x8e\x02\n\x14\x43ommunicationChannel\x12\x46\n\x05\x65mail\x18\x01 \x01(\x0b\x32\x35.google.cloud.irm.v1alpha2.CommunicationChannel.EmailH\x00\x12\x63\n\x14notification_channel\x18\x02 \x01(\x0b\x32\x43.google.cloud.irm.v1alpha2.CommunicationChannel.NotificationChannelH\x00\x1a\x18\n\x05\x45mail\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x1a#\n\x13NotificationChannel\x12\x0c\n\x04name\x18\x01 \x01(\tB\n\n\x08\x65ndpoint"\xa6\x03\n\x0cSubscription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x65tag\x18\x02 \x01(\t\x12M\n\x14subscription_channel\x18\x03 \x01(\x0b\x32/.google.cloud.irm.v1alpha2.CommunicationChannel\x12\x46\n\x0b\x65vent_types\x18\x04 \x03(\x0e\x32\x31.google.cloud.irm.v1alpha2.Subscription.EventType"\xe2\x01\n\tEventType\x12\x1a\n\x16\x45VENT_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x45VENT_TYPE_TITLE_CHANGE\x10\x01\x12\x1e\n\x1a\x45VENT_TYPE_SYNOPSIS_CHANGE\x10\x02\x12\x1b\n\x17\x45VENT_TYPE_STAGE_CHANGE\x10\x03\x12\x1e\n\x1a\x45VENT_TYPE_SEVERITY_CHANGE\x10\x04\x12\x1d\n\x19\x45VENT_TYPE_ANNOTATION_ADD\x10\x05\x12 \n\x1c\x45VENT_TYPE_ANNOTATION_CHANGE\x10\x06\x42h\n#com.google.irm.service.v1alpha2.apiP\x01Z\n\x08severity\x18\x05 \x01(\x0e\x32,.google.cloud.irm.v1alpha2.Incident.Severity\x12\x38\n\x05stage\x18\x06 \x01(\x0e\x32).google.cloud.irm.v1alpha2.Incident.Stage\x12\x1a\n\x12\x64uplicate_incident\x18\t \x01(\t\x12.\n\nstart_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x08synopsis\x18\x08 \x01(\x0b\x32#.google.cloud.irm.v1alpha2.Synopsis\x12S\n\x13\x63ommunication_venue\x18\n \x01(\x0b\x32\x36.google.cloud.irm.v1alpha2.Incident.CommunicationVenue\x1a\xec\x01\n\x12\x43ommunicationVenue\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12X\n\x0c\x63hannel_type\x18\x03 \x01(\x0e\x32\x42.google.cloud.irm.v1alpha2.Incident.CommunicationVenue.ChannelType"Y\n\x0b\x43hannelType\x12\x1c\n\x18\x43HANNEL_TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43HANNEL_TYPE_URI\x10\x01\x12\x16\n\x12\x43HANNEL_TYPE_SLACK\x10\x05"V\n\x0f\x45scalationLevel\x12 \n\x1c\x45SCALATION_LEVEL_UNSPECIFIED\x10\x00\x12!\n\x1d\x45SCALATION_LEVEL_ORGANIZATION\x10\x01"\x8d\x01\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x11\n\rSEVERITY_HUGE\x10\x01\x12\x12\n\x0eSEVERITY_MAJOR\x10\x02\x12\x13\n\x0fSEVERITY_MEDIUM\x10\x03\x12\x12\n\x0eSEVERITY_MINOR\x10\x04\x12\x17\n\x13SEVERITY_NEGLIGIBLE\x10\x05"\x99\x01\n\x05Stage\x12\x15\n\x11STAGE_UNSPECIFIED\x10\x00\x12\x12\n\x0eSTAGE_DETECTED\x10\x04\x12\x11\n\rSTAGE_TRIAGED\x10\x01\x12\x13\n\x0fSTAGE_MITIGATED\x10\x02\x12\x12\n\x0eSTAGE_RESOLVED\x10\x03\x12\x14\n\x10STAGE_DOCUMENTED\x10\x05\x12\x13\n\x0fSTAGE_DUPLICATE\x10\x06:I\xea\x41\x46\n\x1birm.googleapis.com/Incident\x12\'projects/{project}/incidents/{incident}"\xd6\x02\n\x0cIncidentRole\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.google.cloud.irm.v1alpha2.IncidentRole.Type\x12\r\n\x05title\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t"\xe5\x01\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17TYPE_INCIDENT_COMMANDER\x10\x01\x12\x1c\n\x18TYPE_COMMUNICATIONS_LEAD\x10\x02\x12\x18\n\x14TYPE_OPERATIONS_LEAD\x10\x03\x12.\n*TYPE_EXTERNAL_CUSTOMER_COMMUNICATIONS_LEAD\x10\x04\x12\x17\n\x13TYPE_PRIMARY_ONCALL\x10\x05\x12\x19\n\x15TYPE_SECONDARY_ONCALL\x10\x06\x12\x0e\n\nTYPE_OTHER\x10\x07"\xdf\x02\n\x16IncidentRoleAssignment\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x65tag\x18\x02 \x01(\t\x12\x35\n\x04role\x18\x03 \x01(\x0b\x32\'.google.cloud.irm.v1alpha2.IncidentRole\x12\x31\n\x08\x61ssignee\x18\x04 \x01(\x0b\x32\x1f.google.cloud.irm.v1alpha2.User\x12:\n\x11proposed_assignee\x18\x05 \x01(\x0b\x32\x1f.google.cloud.irm.v1alpha2.User:\x82\x01\xea\x41\x7f\n)irm.googleapis.com/IncidentRoleAssignment\x12Rprojects/{project_id_or_number}/incidents/{incident_id}/role_assignments/{role_id}"\xa2\x02\n\x08\x41rtifact\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x0c\n\x04\x65tag\x18\x03 \x01(\t\x12\x0b\n\x03url\x18\x04 \x01(\t\x12\x36\n\x04type\x18\x05 \x01(\x0e\x32(.google.cloud.irm.v1alpha2.Artifact.Type"?\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x0c\n\x08TYPE_URL\x10\x01\x12\x13\n\x0fTYPE_JIRA_ISSUE\x10\x04:^\xea\x41[\n\x1birm.googleapis.com/Artifact\x12\n\rsubscriptions\x18\x03 \x03(\x0b\x32\'.google.cloud.irm.v1alpha2.Subscription\x12,\n\x04tags\x18\x04 \x03(\x0b\x32\x1e.google.cloud.irm.v1alpha2.Tag\x12@\n\x05roles\x18\x05 \x03(\x0b\x32\x31.google.cloud.irm.v1alpha2.IncidentRoleAssignment\x12\x36\n\tartifacts\x18\x06 \x03(\x0b\x32#.google.cloud.irm.v1alpha2.Artifact"\xaf\x02\n\x18\x45scalateIncidentResponse\x12\x35\n\x08incident\x18\x01 \x01(\x0b\x32#.google.cloud.irm.v1alpha2.Incident\x12>\n\rsubscriptions\x18\x02 \x03(\x0b\x32\'.google.cloud.irm.v1alpha2.Subscription\x12,\n\x04tags\x18\x03 \x03(\x0b\x32\x1e.google.cloud.irm.v1alpha2.Tag\x12\x36\n\x05roles\x18\x04 \x03(\x0b\x32\'.google.cloud.irm.v1alpha2.IncidentRole\x12\x36\n\tartifacts\x18\x05 \x03(\x0b\x32#.google.cloud.irm.v1alpha2.Artifact"^\n\x15\x43reateArtifactRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x35\n\x08\x61rtifact\x18\x02 \x01(\x0b\x32#.google.cloud.irm.v1alpha2.Artifact"M\n\x14ListArtifactsRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t"h\n\x15ListArtifactsResponse\x12\x36\n\tartifacts\x18\x01 \x03(\x0b\x32#.google.cloud.irm.v1alpha2.Artifact\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"\x7f\n\x15UpdateArtifactRequest\x12\x35\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32#.google.cloud.irm.v1alpha2.Artifact\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask"%\n\x15\x44\x65leteArtifactRequest\x12\x0c\n\x04name\x18\x01 \x01(\t"\x8d\x02\n\x17SendShiftHandoffRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x12\n\nrecipients\x18\x02 \x03(\t\x12\n\n\x02\x63\x63\x18\x03 \x03(\t\x12\x0f\n\x07subject\x18\x04 \x01(\t\x12\x1a\n\x12notes_content_type\x18\x05 \x01(\t\x12\x15\n\rnotes_content\x18\x06 \x01(\t\x12N\n\tincidents\x18\x07 \x03(\x0b\x32;.google.cloud.irm.v1alpha2.SendShiftHandoffRequest.Incident\x12\x14\n\x0cpreview_only\x18\x08 \x01(\x08\x1a\x18\n\x08Incident\x12\x0c\n\x04name\x18\x01 \x01(\t"A\n\x18SendShiftHandoffResponse\x12\x14\n\x0c\x63ontent_type\x18\x01 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\t"j\n\x19\x43reateSubscriptionRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12=\n\x0csubscription\x18\x02 \x01(\x0b\x32\'.google.cloud.irm.v1alpha2.Subscription"\x8b\x01\n\x19UpdateSubscriptionRequest\x12=\n\x0csubscription\x18\x01 \x01(\x0b\x32\'.google.cloud.irm.v1alpha2.Subscription\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask"Q\n\x18ListSubscriptionsRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t"t\n\x19ListSubscriptionsResponse\x12>\n\rsubscriptions\x18\x01 \x03(\x0b\x32\'.google.cloud.irm.v1alpha2.Subscription\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t")\n\x19\x44\x65leteSubscriptionRequest\x12\x0c\n\x04name\x18\x01 \x01(\t"\x8a\x01\n#CreateIncidentRoleAssignmentRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12S\n\x18incident_role_assignment\x18\x02 \x01(\x0b\x32\x31.google.cloud.irm.v1alpha2.IncidentRoleAssignment"3\n#DeleteIncidentRoleAssignmentRequest\x12\x0c\n\x04name\x18\x01 \x01(\t"[\n"ListIncidentRoleAssignmentsRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t"\x94\x01\n#ListIncidentRoleAssignmentsResponse\x12T\n\x19incident_role_assignments\x18\x01 \x03(\x0b\x32\x31.google.cloud.irm.v1alpha2.IncidentRoleAssignment\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"i\n"RequestIncidentRoleHandoverRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x0cnew_assignee\x18\x02 \x01(\x0b\x32\x1f.google.cloud.irm.v1alpha2.User"i\n"ConfirmIncidentRoleHandoverRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x0cnew_assignee\x18\x02 \x01(\x0b\x32\x1f.google.cloud.irm.v1alpha2.User"g\n ForceIncidentRoleHandoverRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x0cnew_assignee\x18\x02 \x01(\x0b\x32\x1f.google.cloud.irm.v1alpha2.User"h\n!CancelIncidentRoleHandoverRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x0cnew_assignee\x18\x02 \x01(\x0b\x32\x1f.google.cloud.irm.v1alpha2.User2\xf7.\n\x0fIncidentService\x12\xa2\x01\n\x0e\x43reateIncident\x12\x30.google.cloud.irm.v1alpha2.CreateIncidentRequest\x1a#.google.cloud.irm.v1alpha2.Incident"9\x82\xd3\xe4\x93\x02\x33"\'/v1alpha2/{parent=projects/*}/incidents:\x08incident\x12\x92\x01\n\x0bGetIncident\x12-.google.cloud.irm.v1alpha2.GetIncidentRequest\x1a#.google.cloud.irm.v1alpha2.Incident"/\x82\xd3\xe4\x93\x02)\x12\'/v1alpha2/{name=projects/*/incidents/*}\x12\xb0\x01\n\x0fSearchIncidents\x12\x31.google.cloud.irm.v1alpha2.SearchIncidentsRequest\x1a\x32.google.cloud.irm.v1alpha2.SearchIncidentsResponse"6\x82\xd3\xe4\x93\x02\x30\x12./v1alpha2/{parent=projects/*}/incidents:search\x12\xab\x01\n\x0eUpdateIncident\x12\x30.google.cloud.irm.v1alpha2.UpdateIncidentRequest\x1a#.google.cloud.irm.v1alpha2.Incident"B\x82\xd3\xe4\x93\x02<20/v1alpha2/{incident.name=projects/*/incidents/*}:\x08incident\x12\x8c\x02\n\x16SearchSimilarIncidents\x12\x38.google.cloud.irm.v1alpha2.SearchSimilarIncidentsRequest\x1a\x39.google.cloud.irm.v1alpha2.SearchSimilarIncidentsResponse"}\x82\xd3\xe4\x93\x02w\x12\x35/v1alpha2/{name=projects/*/incidents/*}:searchSimilarZ>\x12"9/v1alpha2/{incident.name=projects/*/incidents/*}:escalate:\x01*\x12\xae\x01\n\x0e\x43reateArtifact\x12\x30.google.cloud.irm.v1alpha2.CreateArtifactRequest\x1a#.google.cloud.irm.v1alpha2.Artifact"E\x82\xd3\xe4\x93\x02?"3/v1alpha2/{parent=projects/*/incidents/*}/artifacts:\x08\x61rtifact\x12\xaf\x01\n\rListArtifacts\x12/.google.cloud.irm.v1alpha2.ListArtifactsRequest\x1a\x30.google.cloud.irm.v1alpha2.ListArtifactsResponse";\x82\xd3\xe4\x93\x02\x35\x12\x33/v1alpha2/{parent=projects/*/incidents/*}/artifacts\x12\xb7\x01\n\x0eUpdateArtifact\x12\x30.google.cloud.irm.v1alpha2.UpdateArtifactRequest\x1a#.google.cloud.irm.v1alpha2.Artifact"N\x82\xd3\xe4\x93\x02H2.google.cloud.irm.v1alpha2.CreateIncidentRoleAssignmentRequest\x1a\x31.google.cloud.irm.v1alpha2.IncidentRoleAssignment"D\x82\xd3\xe4\x93\x02>"9/v1alpha2/{parent=projects/*/incidents/*}/roleAssignments:\x01*\x12\xb9\x01\n\x1c\x44\x65leteIncidentRoleAssignment\x12>.google.cloud.irm.v1alpha2.DeleteIncidentRoleAssignmentRequest\x1a\x16.google.protobuf.Empty"A\x82\xd3\xe4\x93\x02;*9/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}\x12\xdf\x01\n\x1bListIncidentRoleAssignments\x12=.google.cloud.irm.v1alpha2.ListIncidentRoleAssignmentsRequest\x1a>.google.cloud.irm.v1alpha2.ListIncidentRoleAssignmentsResponse"A\x82\xd3\xe4\x93\x02;\x12\x39/v1alpha2/{parent=projects/*/incidents/*}/roleAssignments\x12\xe5\x01\n\x1bRequestIncidentRoleHandover\x12=.google.cloud.irm.v1alpha2.RequestIncidentRoleHandoverRequest\x1a\x31.google.cloud.irm.v1alpha2.IncidentRoleAssignment"T\x82\xd3\xe4\x93\x02N"I/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:requestHandover:\x01*\x12\xe5\x01\n\x1b\x43onfirmIncidentRoleHandover\x12=.google.cloud.irm.v1alpha2.ConfirmIncidentRoleHandoverRequest\x1a\x31.google.cloud.irm.v1alpha2.IncidentRoleAssignment"T\x82\xd3\xe4\x93\x02N"I/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:confirmHandover:\x01*\x12\xdf\x01\n\x19\x46orceIncidentRoleHandover\x12;.google.cloud.irm.v1alpha2.ForceIncidentRoleHandoverRequest\x1a\x31.google.cloud.irm.v1alpha2.IncidentRoleAssignment"R\x82\xd3\xe4\x93\x02L"G/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:forceHandover:\x01*\x12\xe2\x01\n\x1a\x43\x61ncelIncidentRoleHandover\x12<.google.cloud.irm.v1alpha2.CancelIncidentRoleHandoverRequest\x1a\x31.google.cloud.irm.v1alpha2.IncidentRoleAssignment"S\x82\xd3\xe4\x93\x02M"H/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:cancelHandover:\x01*\x1a\x46\xca\x41\x12irm.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformBh\n#com.google.irm.service.v1alpha2.apiP\x01Z\n\nannotation\x18\x02 \x01(\x0b\x32%.google.cloud.irm.v1alpha2.AnnotationB\x03\xe0\x41\x02"t\n\x16ListAnnotationsRequest\x12\x33\n\x06parent\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1birm.googleapis.com/Incident\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t"n\n\x17ListAnnotationsResponse\x12:\n\x0b\x61nnotations\x18\x01 \x03(\x0b\x32%.google.cloud.irm.v1alpha2.Annotation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"y\n\x10\x43reateTagRequest\x12\x33\n\x06parent\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1birm.googleapis.com/Incident\x12\x30\n\x03tag\x18\x02 \x01(\x0b\x32\x1e.google.cloud.irm.v1alpha2.TagB\x03\xe0\x41\x02"@\n\x10\x44\x65leteTagRequest\x12,\n\x04name\x18\x01 \x01(\tB\x1e\xe0\x41\x02\xfa\x41\x18\n\x16irm.googleapis.com/Tag"m\n\x0fListTagsRequest\x12\x33\n\x06parent\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1birm.googleapis.com/Incident\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t"Y\n\x10ListTagsResponse\x12,\n\x04tags\x18\x01 \x03(\x0b\x32\x1e.google.cloud.irm.v1alpha2.Tag\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"\x92\x01\n\x13\x43reateSignalRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x36\n\x06signal\x18\x02 \x01(\x0b\x32!.google.cloud.irm.v1alpha2.SignalB\x03\xe0\x41\x02"\x91\x01\n\x14SearchSignalsRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\r\n\x05query\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t"d\n\x15SearchSignalsResponse\x12\x32\n\x07signals\x18\x01 \x03(\x0b\x32!.google.cloud.irm.v1alpha2.Signal\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"C\n\x10GetSignalRequest\x12/\n\x04name\x18\x01 \x01(\tB!\xe0\x41\x02\xfa\x41\x1b\n\x19irm.googleapis.com/Signal"d\n\x13LookupSignalRequest\x12\x16\n\x0c\x63scc_finding\x18\x02 \x01(\tH\x00\x12%\n\x1bstackdriver_notification_id\x18\x03 \x01(\tH\x00\x42\x0e\n\x0c\x61lternate_id"~\n\x13UpdateSignalRequest\x12\x36\n\x06signal\x18\x01 \x01(\x0b\x32!.google.cloud.irm.v1alpha2.SignalB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask"\xa6\x01\n\x16SearchIncidentsRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\r\n\x05query\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\x12\x11\n\ttime_zone\x18\x05 \x01(\t"j\n\x17SearchIncidentsResponse\x12\x36\n\tincidents\x18\x01 \x03(\x0b\x32#.google.cloud.irm.v1alpha2.Incident\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"\xee\x02\n\x17\x45scalateIncidentRequest\x12:\n\x08incident\x18\x01 \x01(\x0b\x32#.google.cloud.irm.v1alpha2.IncidentB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12>\n\rsubscriptions\x18\x03 \x03(\x0b\x32\'.google.cloud.irm.v1alpha2.Subscription\x12,\n\x04tags\x18\x04 \x03(\x0b\x32\x1e.google.cloud.irm.v1alpha2.Tag\x12@\n\x05roles\x18\x05 \x03(\x0b\x32\x31.google.cloud.irm.v1alpha2.IncidentRoleAssignment\x12\x36\n\tartifacts\x18\x06 \x03(\x0b\x32#.google.cloud.irm.v1alpha2.Artifact"\xaf\x02\n\x18\x45scalateIncidentResponse\x12\x35\n\x08incident\x18\x01 \x01(\x0b\x32#.google.cloud.irm.v1alpha2.Incident\x12>\n\rsubscriptions\x18\x02 \x03(\x0b\x32\'.google.cloud.irm.v1alpha2.Subscription\x12,\n\x04tags\x18\x03 \x03(\x0b\x32\x1e.google.cloud.irm.v1alpha2.Tag\x12\x36\n\x05roles\x18\x04 \x03(\x0b\x32\'.google.cloud.irm.v1alpha2.IncidentRole\x12\x36\n\tartifacts\x18\x05 \x03(\x0b\x32#.google.cloud.irm.v1alpha2.Artifact"\x88\x01\n\x15\x43reateArtifactRequest\x12\x33\n\x06parent\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1birm.googleapis.com/Incident\x12:\n\x08\x61rtifact\x18\x02 \x01(\x0b\x32#.google.cloud.irm.v1alpha2.ArtifactB\x03\xe0\x41\x02"r\n\x14ListArtifactsRequest\x12\x33\n\x06parent\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1birm.googleapis.com/Incident\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t"h\n\x15ListArtifactsResponse\x12\x36\n\tartifacts\x18\x01 \x03(\x0b\x32#.google.cloud.irm.v1alpha2.Artifact\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"\x84\x01\n\x15UpdateArtifactRequest\x12:\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32#.google.cloud.irm.v1alpha2.ArtifactB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask"J\n\x15\x44\x65leteArtifactRequest\x12\x31\n\x04name\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1birm.googleapis.com/Artifact"\xfd\x02\n\x17SendShiftHandoffRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x17\n\nrecipients\x18\x02 \x03(\tB\x03\xe0\x41\x02\x12\x0f\n\x02\x63\x63\x18\x03 \x03(\tB\x03\xe0\x41\x01\x12\x14\n\x07subject\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12\x1a\n\x12notes_content_type\x18\x05 \x01(\t\x12\x1a\n\rnotes_content\x18\x06 \x01(\tB\x03\xe0\x41\x01\x12S\n\tincidents\x18\x07 \x03(\x0b\x32;.google.cloud.irm.v1alpha2.SendShiftHandoffRequest.IncidentB\x03\xe0\x41\x01\x12\x14\n\x0cpreview_only\x18\x08 \x01(\x08\x1a:\n\x08Incident\x12.\n\x04name\x18\x01 \x01(\tB \xfa\x41\x1d\n\x1birm.googleapis.com/Incident"A\n\x18SendShiftHandoffResponse\x12\x14\n\x0c\x63ontent_type\x18\x01 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\t"\x94\x01\n\x19\x43reateSubscriptionRequest\x12\x33\n\x06parent\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1birm.googleapis.com/Incident\x12\x42\n\x0csubscription\x18\x02 \x01(\x0b\x32\'.google.cloud.irm.v1alpha2.SubscriptionB\x03\xe0\x41\x02"\x90\x01\n\x19UpdateSubscriptionRequest\x12\x42\n\x0csubscription\x18\x01 \x01(\x0b\x32\'.google.cloud.irm.v1alpha2.SubscriptionB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask"v\n\x18ListSubscriptionsRequest\x12\x33\n\x06parent\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1birm.googleapis.com/Incident\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t"t\n\x19ListSubscriptionsResponse\x12>\n\rsubscriptions\x18\x01 \x03(\x0b\x32\'.google.cloud.irm.v1alpha2.Subscription\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"R\n\x19\x44\x65leteSubscriptionRequest\x12\x35\n\x04name\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1firm.googleapis.com/Subscription"\xb4\x01\n#CreateIncidentRoleAssignmentRequest\x12\x33\n\x06parent\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1birm.googleapis.com/Incident\x12X\n\x18incident_role_assignment\x18\x02 \x01(\x0b\x32\x31.google.cloud.irm.v1alpha2.IncidentRoleAssignmentB\x03\xe0\x41\x02"X\n#DeleteIncidentRoleAssignmentRequest\x12\x31\n\x04name\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1birm.googleapis.com/Incident"\x80\x01\n"ListIncidentRoleAssignmentsRequest\x12\x33\n\x06parent\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1birm.googleapis.com/Incident\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t"\x94\x01\n#ListIncidentRoleAssignmentsResponse\x12T\n\x19incident_role_assignments\x18\x01 \x03(\x0b\x32\x31.google.cloud.irm.v1alpha2.IncidentRoleAssignment\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t"s\n"RequestIncidentRoleHandoverRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12:\n\x0cnew_assignee\x18\x02 \x01(\x0b\x32\x1f.google.cloud.irm.v1alpha2.UserB\x03\xe0\x41\x02"\xa1\x01\n"ConfirmIncidentRoleHandoverRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)irm.googleapis.com/IncidentRoleAssignment\x12:\n\x0cnew_assignee\x18\x02 \x01(\x0b\x32\x1f.google.cloud.irm.v1alpha2.UserB\x03\xe0\x41\x02"\x9f\x01\n ForceIncidentRoleHandoverRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)irm.googleapis.com/IncidentRoleAssignment\x12:\n\x0cnew_assignee\x18\x02 \x01(\x0b\x32\x1f.google.cloud.irm.v1alpha2.UserB\x03\xe0\x41\x02"\xa0\x01\n!CancelIncidentRoleHandoverRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)irm.googleapis.com/IncidentRoleAssignment\x12:\n\x0cnew_assignee\x18\x02 \x01(\x0b\x32\x1f.google.cloud.irm.v1alpha2.UserB\x03\xe0\x41\x02\x32\xb9\x32\n\x0fIncidentService\x12\xb4\x01\n\x0e\x43reateIncident\x12\x30.google.cloud.irm.v1alpha2.CreateIncidentRequest\x1a#.google.cloud.irm.v1alpha2.Incident"K\x82\xd3\xe4\x93\x02\x33"\'/v1alpha2/{parent=projects/*}/incidents:\x08incident\xda\x41\x0fincident,parent\x12\x99\x01\n\x0bGetIncident\x12-.google.cloud.irm.v1alpha2.GetIncidentRequest\x1a#.google.cloud.irm.v1alpha2.Incident"6\x82\xd3\xe4\x93\x02)\x12\'/v1alpha2/{name=projects/*/incidents/*}\xda\x41\x04name\x12\xc9\x01\n\x0fSearchIncidents\x12\x31.google.cloud.irm.v1alpha2.SearchIncidentsRequest\x1a\x32.google.cloud.irm.v1alpha2.SearchIncidentsResponse"O\x82\xd3\xe4\x93\x02\x30\x12./v1alpha2/{parent=projects/*}/incidents:search\xda\x41\x16parent,query,time_zone\x12\xc2\x01\n\x0eUpdateIncident\x12\x30.google.cloud.irm.v1alpha2.UpdateIncidentRequest\x1a#.google.cloud.irm.v1alpha2.Incident"Y\x82\xd3\xe4\x93\x02<20/v1alpha2/{incident.name=projects/*/incidents/*}:\x08incident\xda\x41\x14incident,update_mask\x12\x94\x02\n\x16SearchSimilarIncidents\x12\x38.google.cloud.irm.v1alpha2.SearchSimilarIncidentsRequest\x1a\x39.google.cloud.irm.v1alpha2.SearchSimilarIncidentsResponse"\x84\x01\x82\xd3\xe4\x93\x02w\x12\x35/v1alpha2/{name=projects/*/incidents/*}:searchSimilarZ>\x12"9/v1alpha2/{incident.name=projects/*/incidents/*}:escalate:\x01*\x12\xc0\x01\n\x0e\x43reateArtifact\x12\x30.google.cloud.irm.v1alpha2.CreateArtifactRequest\x1a#.google.cloud.irm.v1alpha2.Artifact"W\x82\xd3\xe4\x93\x02?"3/v1alpha2/{parent=projects/*/incidents/*}/artifacts:\x08\x61rtifact\xda\x41\x0fparent,artifact\x12\xb8\x01\n\rListArtifacts\x12/.google.cloud.irm.v1alpha2.ListArtifactsRequest\x1a\x30.google.cloud.irm.v1alpha2.ListArtifactsResponse"D\x82\xd3\xe4\x93\x02\x35\x12\x33/v1alpha2/{parent=projects/*/incidents/*}/artifacts\xda\x41\x06parent\x12\xce\x01\n\x0eUpdateArtifact\x12\x30.google.cloud.irm.v1alpha2.UpdateArtifactRequest\x1a#.google.cloud.irm.v1alpha2.Artifact"e\x82\xd3\xe4\x93\x02H2.google.cloud.irm.v1alpha2.CreateIncidentRoleAssignmentRequest\x1a\x31.google.cloud.irm.v1alpha2.IncidentRoleAssignment"f\x82\xd3\xe4\x93\x02>"9/v1alpha2/{parent=projects/*/incidents/*}/roleAssignments:\x01*\xda\x41\x1fparent,incident_role_assignment\x12\xc0\x01\n\x1c\x44\x65leteIncidentRoleAssignment\x12>.google.cloud.irm.v1alpha2.DeleteIncidentRoleAssignmentRequest\x1a\x16.google.protobuf.Empty"H\x82\xd3\xe4\x93\x02;*9/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}\xda\x41\x04name\x12\xe8\x01\n\x1bListIncidentRoleAssignments\x12=.google.cloud.irm.v1alpha2.ListIncidentRoleAssignmentsRequest\x1a>.google.cloud.irm.v1alpha2.ListIncidentRoleAssignmentsResponse"J\x82\xd3\xe4\x93\x02;\x12\x39/v1alpha2/{parent=projects/*/incidents/*}/roleAssignments\xda\x41\x06parent\x12\xf9\x01\n\x1bRequestIncidentRoleHandover\x12=.google.cloud.irm.v1alpha2.RequestIncidentRoleHandoverRequest\x1a\x31.google.cloud.irm.v1alpha2.IncidentRoleAssignment"h\x82\xd3\xe4\x93\x02N"I/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:requestHandover:\x01*\xda\x41\x11name,new_assignee\x12\xf9\x01\n\x1b\x43onfirmIncidentRoleHandover\x12=.google.cloud.irm.v1alpha2.ConfirmIncidentRoleHandoverRequest\x1a\x31.google.cloud.irm.v1alpha2.IncidentRoleAssignment"h\x82\xd3\xe4\x93\x02N"I/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:confirmHandover:\x01*\xda\x41\x11name,new_assignee\x12\xf3\x01\n\x19\x46orceIncidentRoleHandover\x12;.google.cloud.irm.v1alpha2.ForceIncidentRoleHandoverRequest\x1a\x31.google.cloud.irm.v1alpha2.IncidentRoleAssignment"f\x82\xd3\xe4\x93\x02L"G/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:forceHandover:\x01*\xda\x41\x11name,new_assignee\x12\xf6\x01\n\x1a\x43\x61ncelIncidentRoleHandover\x12<.google.cloud.irm.v1alpha2.CancelIncidentRoleHandoverRequest\x1a\x31.google.cloud.irm.v1alpha2.IncidentRoleAssignment"g\x82\xd3\xe4\x93\x02M"H/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:cancelHandover:\x01*\xda\x41\x11name,new_assignee\x1a\x46\xca\x41\x12irm.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformBh\n#com.google.irm.service.v1alpha2.apiP\x01Z\022\022"9/v1alpha2/{parent=projects/*/incidents/*}/roleAssignments:\001*' + '\202\323\344\223\002>"9/v1alpha2/{parent=projects/*/incidents/*}/roleAssignments:\001*\332A\037parent,incident_role_assignment' ), ), _descriptor.MethodDescriptor( @@ -4456,7 +4561,7 @@ input_type=_DELETEINCIDENTROLEASSIGNMENTREQUEST, output_type=google_dot_protobuf_dot_empty__pb2._EMPTY, serialized_options=_b( - "\202\323\344\223\002;*9/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}" + "\202\323\344\223\002;*9/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}\332A\004name" ), ), _descriptor.MethodDescriptor( @@ -4467,7 +4572,7 @@ input_type=_LISTINCIDENTROLEASSIGNMENTSREQUEST, output_type=_LISTINCIDENTROLEASSIGNMENTSRESPONSE, serialized_options=_b( - "\202\323\344\223\002;\0229/v1alpha2/{parent=projects/*/incidents/*}/roleAssignments" + "\202\323\344\223\002;\0229/v1alpha2/{parent=projects/*/incidents/*}/roleAssignments\332A\006parent" ), ), _descriptor.MethodDescriptor( @@ -4478,7 +4583,7 @@ input_type=_REQUESTINCIDENTROLEHANDOVERREQUEST, output_type=google_dot_cloud_dot_irm__v1alpha2_dot_proto_dot_incidents__pb2._INCIDENTROLEASSIGNMENT, serialized_options=_b( - '\202\323\344\223\002N"I/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:requestHandover:\001*' + '\202\323\344\223\002N"I/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:requestHandover:\001*\332A\021name,new_assignee' ), ), _descriptor.MethodDescriptor( @@ -4489,7 +4594,7 @@ input_type=_CONFIRMINCIDENTROLEHANDOVERREQUEST, output_type=google_dot_cloud_dot_irm__v1alpha2_dot_proto_dot_incidents__pb2._INCIDENTROLEASSIGNMENT, serialized_options=_b( - '\202\323\344\223\002N"I/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:confirmHandover:\001*' + '\202\323\344\223\002N"I/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:confirmHandover:\001*\332A\021name,new_assignee' ), ), _descriptor.MethodDescriptor( @@ -4500,7 +4605,7 @@ input_type=_FORCEINCIDENTROLEHANDOVERREQUEST, output_type=google_dot_cloud_dot_irm__v1alpha2_dot_proto_dot_incidents__pb2._INCIDENTROLEASSIGNMENT, serialized_options=_b( - '\202\323\344\223\002L"G/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:forceHandover:\001*' + '\202\323\344\223\002L"G/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:forceHandover:\001*\332A\021name,new_assignee' ), ), _descriptor.MethodDescriptor( @@ -4511,7 +4616,7 @@ input_type=_CANCELINCIDENTROLEHANDOVERREQUEST, output_type=google_dot_cloud_dot_irm__v1alpha2_dot_proto_dot_incidents__pb2._INCIDENTROLEASSIGNMENT, serialized_options=_b( - '\202\323\344\223\002M"H/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:cancelHandover:\001*' + '\202\323\344\223\002M"H/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:cancelHandover:\001*\332A\021name,new_assignee' ), ), ], diff --git a/irm/google/cloud/irm_v1alpha2/proto/incidents_service_pb2_grpc.py b/irm/google/cloud/irm_v1alpha2/proto/incidents_service_pb2_grpc.py index 570540373d4c..541f4f8069ba 100644 --- a/irm/google/cloud/irm_v1alpha2/proto/incidents_service_pb2_grpc.py +++ b/irm/google/cloud/irm_v1alpha2/proto/incidents_service_pb2_grpc.py @@ -271,6 +271,9 @@ def CreateSignal(self, request, context): def SearchSignals(self, request, context): """Lists signals that are part of an incident. Signals are returned in reverse chronological order. + Note that search should not be relied on for critical functionality. It + has lower availability guarantees and might fail to return valid results. + Returned results might include stale or extraneous entries. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details("Method not implemented!") @@ -400,6 +403,8 @@ def RequestIncidentRoleHandover(self, request, context): """Starts a role handover. The proposed assignee will receive an email notifying them of the assignment. This will fail if a role handover is already pending. + Handover to an oncall ladder is not permitted. Use + CreateIncidentRoleAssignment instead. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details("Method not implemented!") diff --git a/irm/google/cloud/irm_v1alpha2/types.py b/irm/google/cloud/irm_v1alpha2/types.py index 764dd5c1dd6b..bfa5c82f6ff5 100644 --- a/irm/google/cloud/irm_v1alpha2/types.py +++ b/irm/google/cloud/irm_v1alpha2/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/irm/synth.metadata b/irm/synth.metadata index 94361331263c..f1ece35e63b9 100644 --- a/irm/synth.metadata +++ b/irm/synth.metadata @@ -1,19 +1,20 @@ { - "updateTime": "2020-01-03T13:20:55.926906Z", + "updateTime": "2020-01-29T13:23:07.093867Z", "sources": [ { "generator": { "name": "artman", - "version": "0.43.0", - "dockerImage": "googleapis/artman@sha256:264654a37596a44b0668b8ce6ac41082d713f6ee150b3fc6425fa78cc64e4f20" + "version": "0.44.4", + "dockerImage": "googleapis/artman@sha256:19e945954fc960a4bdfee6cb34695898ab21a8cf0bac063ee39b91f00a1faec8" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "4d45a6399e9444fbddaeb1c86aabfde210723714", - "internalRef": "287908369" + "sha": "cf3b61102ed5f36b827bc82ec39be09525f018c8", + "internalRef": "292034635", + "log": "cf3b61102ed5f36b827bc82ec39be09525f018c8\n Fix to protos for v1p1beta1 release of Cloud Security Command Center\n\nPiperOrigin-RevId: 292034635\n\n4e1cfaa7c0fede9e65d64213ca3da1b1255816c0\nUpdate the public proto to support UTF-8 encoded id for CatalogService API, increase the ListCatalogItems deadline to 300s and some minor documentation change\n\nPiperOrigin-RevId: 292030970\n\n9c483584f8fd5a1b862ae07973f4cc7bb3e46648\nasset: add annotations to v1p1beta1\n\nPiperOrigin-RevId: 292009868\n\ne19209fac29731d0baf6d9ac23da1164f7bdca24\nAdd the google.rpc.context.AttributeContext message to the open source\ndirectories.\n\nPiperOrigin-RevId: 291999930\n\nae5662960573f279502bf98a108a35ba1175e782\noslogin API: move file level option on top of the file to avoid protobuf.js bug.\n\nPiperOrigin-RevId: 291990506\n\neba3897fff7c49ed85d3c47fc96fe96e47f6f684\nAdd cc_proto_library and cc_grpc_library targets for Spanner and IAM protos.\n\nPiperOrigin-RevId: 291988651\n\n8e981acfd9b97ea2f312f11bbaa7b6c16e412dea\nBeta launch for PersonDetection and FaceDetection features.\n\nPiperOrigin-RevId: 291821782\n\n994e067fae3b21e195f7da932b08fff806d70b5d\nasset: add annotations to v1p2beta1\n\nPiperOrigin-RevId: 291815259\n\n244e1d2c89346ca2e0701b39e65552330d68545a\nAdd Playable Locations service\n\nPiperOrigin-RevId: 291806349\n\n909f8f67963daf45dd88d020877fb9029b76788d\nasset: add annotations to v1beta2\n\nPiperOrigin-RevId: 291805301\n\n3c39a1d6e23c1ef63c7fba4019c25e76c40dfe19\nKMS: add file-level message for CryptoKeyPath, it is defined in gapic yaml but not\nin proto files.\n\nPiperOrigin-RevId: 291420695\n\nc6f3f350b8387f8d1b85ed4506f30187ebaaddc3\ncontaineranalysis: update v1beta1 and bazel build with annotations\n\nPiperOrigin-RevId: 291401900\n\n92887d74b44e4e636252b7b8477d0d2570cd82db\nfix: fix the location of grpc config file.\n\nPiperOrigin-RevId: 291396015\n\ne26cab8afd19d396b929039dac5d874cf0b5336c\nexpr: add default_host and method_signature annotations to CelService\n\nPiperOrigin-RevId: 291240093\n\n06093ae3952441c34ec176d1f7431b8765cec0be\nirm: fix v1alpha2 bazel build by adding missing proto imports\n\nPiperOrigin-RevId: 291227940\n\na8a2514af326e4673063f9a3c9d0ef1091c87e6c\nAdd proto annotation for cloud/irm API\n\nPiperOrigin-RevId: 291217859\n\n8d16f76de065f530d395a4c7eabbf766d6a120fd\nGenerate Memcache v1beta2 API protos and gRPC ServiceConfig files\n\nPiperOrigin-RevId: 291008516\n\n3af1dabd93df9a9f17bf3624d3b875c11235360b\ngrafeas: Add containeranalysis default_host to Grafeas service\n\nPiperOrigin-RevId: 290965849\n\nbe2663fa95e31cba67d0cd62611a6674db9f74b7\nfix(google/maps/roads): add missing opening bracket\n\nPiperOrigin-RevId: 290964086\n\nfacc26550a0af0696e0534bc9cae9df14275aa7c\nUpdating v2 protos with the latest inline documentation (in comments) and adding a per-service .yaml file.\n\nPiperOrigin-RevId: 290952261\n\ncda99c1f7dc5e4ca9b1caeae1dc330838cbc1461\nChange api_name to 'asset' for v1p1beta1\n\nPiperOrigin-RevId: 290800639\n\n94e9e90c303a820ce40643d9129e7f0d2054e8a1\nAdds Google Maps Road service\n\nPiperOrigin-RevId: 290795667\n\na3b23dcb2eaecce98c600c7d009451bdec52dbda\nrpc: new message ErrorInfo, other comment updates\n\nPiperOrigin-RevId: 290781668\n\n26420ef4e46c37f193c0fbe53d6ebac481de460e\nAdd proto definition for Org Policy v1.\n\nPiperOrigin-RevId: 290771923\n\n7f0dab8177cf371ae019a082e2512de7ac102888\nPublish Routes Preferred API v1 service definitions.\n\nPiperOrigin-RevId: 290326986\n\nad6e508d0728e1d1bca6e3f328cd562718cb772d\nFix: Qualify resource type references with \"jobs.googleapis.com/\"\n\nPiperOrigin-RevId: 290285762\n\n58e770d568a2b78168ddc19a874178fee8265a9d\ncts client library\n\nPiperOrigin-RevId: 290146169\n\naf9daa4c3b4c4a8b7133b81588dd9ffd37270af2\nAdd more programming language options to public proto\n\nPiperOrigin-RevId: 290144091\n\nd9f2bbf2df301ef84641d4cec7c828736a0bd907\ntalent: add missing resource.proto dep to Bazel build target\n\nPiperOrigin-RevId: 290143164\n\n3b3968237451d027b42471cd28884a5a1faed6c7\nAnnotate Talent API.\nAdd gRPC service config for retry.\nUpdate bazel file with google.api.resource dependency.\n\nPiperOrigin-RevId: 290125172\n\n0735b4b096872960568d1f366bfa75b7b0e1f1a3\nWeekly library update.\n\nPiperOrigin-RevId: 289939042\n\n8760d3d9a4543d7f9c0d1c7870aca08b116e4095\nWeekly library update.\n\nPiperOrigin-RevId: 289939020\n\n8607df842f782a901805187e02fff598145b0b0e\nChange Talent API timeout to 30s.\n\nPiperOrigin-RevId: 289912621\n\n908155991fe32570653bcb72ecfdcfc896642f41\nAdd Recommendations AI V1Beta1\n\nPiperOrigin-RevId: 289901914\n\n5c9a8c2bebd8b71aa66d1cc473edfaac837a2c78\nAdding no-arg method signatures for ListBillingAccounts and ListServices\n\nPiperOrigin-RevId: 289891136\n\n50b0e8286ac988b0593bd890eb31fef6ea2f5767\nlongrunning: add grpc service config and default_host annotation to operations.proto\n\nPiperOrigin-RevId: 289876944\n\n6cac27dabe51c54807b0401698c32d34998948a9\n Updating default deadline for Cloud Security Command Center's v1 APIs.\n\nPiperOrigin-RevId: 289875412\n\nd99df0d67057a233c711187e0689baa4f8e6333d\nFix: Correct spelling in C# namespace option\n\nPiperOrigin-RevId: 289709813\n\n2fa8d48165cc48e35b0c62e6f7bdade12229326c\nfeat: Publish Recommender v1 to GitHub.\n\nCommitter: @lukesneeringer\nPiperOrigin-RevId: 289619243\n\n9118db63d1ab493a2e44a3b4973fde810a835c49\nfirestore: don't retry reads that fail with Aborted\n\nFor transaction reads that fail with ABORTED, we need to rollback and start a new transaction. Our current configuration makes it so that GAPIC retries ABORTED reads multiple times without making any progress. Instead, we should retry at the transaction level.\n\nPiperOrigin-RevId: 289532382\n\n1dbfd3fe4330790b1e99c0bb20beb692f1e20b8a\nFix bazel build\nAdd other langauges (Java was already there) for bigquery/storage/v1alpha2 api.\n\nPiperOrigin-RevId: 289519766\n\nc06599cdd7d11f8d3fd25f8d3249e5bb1a3d5d73\nInitial commit of google.cloud.policytroubleshooter API, The API helps in troubleshooting GCP policies. Refer https://cloud.google.com/iam/docs/troubleshooting-access for more information\n\nPiperOrigin-RevId: 289491444\n\nfce7d80fa16ea241e87f7bc33d68595422e94ecd\nDo not pass samples option for Artman config of recommender v1 API.\n\nPiperOrigin-RevId: 289477403\n\nef179e8c61436297e6bb124352e47e45c8c80cb1\nfix: Address missing Bazel dependency.\n\nBazel builds stopped working in 06ec6d5 because\nthe google/longrunning/operations.proto file took\nan import from google/api/client.proto, but that\nimport was not added to BUILD.bazel.\n\nCommitter: @lukesneeringer\nPiperOrigin-RevId: 289446074\n\n8841655b242c84fd691d77d7bcf21b61044f01ff\nMigrate Data Labeling v1beta1 to GAPIC v2.\n\nCommitter: @lukesneeringer\nPiperOrigin-RevId: 289446026\n\n06ec6d5d053fff299eaa6eaa38afdd36c5e2fc68\nAdd annotations to google.longrunning.v1\n\nCommitter: @lukesneeringer\nPiperOrigin-RevId: 289413169\n\n0480cf40be1d3cc231f4268a2fdb36a8dd60e641\nMigrate IAM Admin v1 to GAPIC v2.\n\nCommitter: @lukesneeringer\nPiperOrigin-RevId: 289411084\n\n1017173e9adeb858587639af61889ad970c728b1\nSpecify a C# namespace for BigQuery Connection v1beta1\n\nPiperOrigin-RevId: 289396763\n\nb08714b378e8e5b0c4ecdde73f92c36d6303b4b6\nfix: Integrate latest proto-docs-plugin fix.\nFixes dialogflow v2\n\nPiperOrigin-RevId: 289189004\n\n51217a67e79255ee1f2e70a6a3919df082513327\nCreate BUILD file for recommender v1\n\nPiperOrigin-RevId: 289183234\n\nacacd87263c0a60e458561b8b8ce9f67c760552a\nGenerate recommender v1 API protos and gRPC ServiceConfig files\n\nPiperOrigin-RevId: 289177510\n\n9d2f7133b97720b1fa3601f6dcd30760ba6d8a1e\nFix kokoro build script\n\nPiperOrigin-RevId: 289166315\n\nc43a67530d2a47a0220cad20ca8de39b3fbaf2c5\ncloudtasks: replace missing RPC timeout config for v2beta2 and v2beta3\n\nPiperOrigin-RevId: 289162391\n\n4cefc229a9197236fc0adf02d69b71c0c5cf59de\nSynchronize new proto/yaml changes.\n\nPiperOrigin-RevId: 289158456\n\n56f263fe959c50786dab42e3c61402d32d1417bd\nCatalog API: Adding config necessary to build client libraries\n\nPiperOrigin-RevId: 289149879\n\n4543762b23a57fc3c53d409efc3a9affd47b6ab3\nFix Bazel build\nbilling/v1 and dialogflow/v2 remain broken (not bazel-related issues).\nBilling has wrong configuration, dialogflow failure is caused by a bug in documentation plugin.\n\nPiperOrigin-RevId: 289140194\n\nc9dce519127b97e866ca133a01157f4ce27dcceb\nUpdate Bigtable docs\n\nPiperOrigin-RevId: 289114419\n\n802c5c5f2bf94c3facb011267d04e71942e0d09f\nMigrate DLP to proto annotations (but not GAPIC v2).\n\nCommitter: @lukesneeringer\nPiperOrigin-RevId: 289102579\n\n6357f30f2ec3cff1d8239d18b707ff9d438ea5da\nRemove gRPC configuration file that was in the wrong place.\n\nPiperOrigin-RevId: 289096111\n\n360a8792ed62f944109d7e22d613a04a010665b4\n Protos for v1p1beta1 release of Cloud Security Command Center\n\nPiperOrigin-RevId: 289011995\n\na79211c20c4f2807eec524d00123bf7c06ad3d6e\nRoll back containeranalysis v1 to GAPIC v1.\n\nCommitter: @lukesneeringer\nPiperOrigin-RevId: 288999068\n\n9e60345ba603e03484a8aaa33ce5ffa19c1c652b\nPublish Routes Preferred API v1 proto definitions.\n\nPiperOrigin-RevId: 288941399\n\nd52885b642ad2aa1f42b132ee62dbf49a73e1e24\nMigrate the service management API to GAPIC v2.\n\nCommitter: @lukesneeringer\nPiperOrigin-RevId: 288909426\n\n6ace586805c08896fef43e28a261337fcf3f022b\ncloudtasks: replace missing RPC timeout config\n\nPiperOrigin-RevId: 288783603\n\n51d906cabee4876b12497054b15b05d4a50ad027\nImport of Grafeas from Github.\n\nUpdate BUILD.bazel accordingly.\n\nPiperOrigin-RevId: 288783426\n\n5ef42bcd363ba0440f0ee65b3c80b499e9067ede\nMigrate Recommender v1beta1 to GAPIC v2.\n\nCommitter: @lukesneeringer\nPiperOrigin-RevId: 288713066\n\n94f986afd365b7d7e132315ddcd43d7af0e652fb\nMigrate Container Analysis v1 to GAPIC v2.\n\nCommitter: @lukesneeringer\nPiperOrigin-RevId: 288708382\n\n7a751a279184970d3b6ba90e4dd4d22a382a0747\nRemove Container Analysis v1alpha1 (nobody publishes it).\n\nCommitter: @lukesneeringer\nPiperOrigin-RevId: 288707473\n\n3c0d9c71242e70474b2b640e15bb0a435fd06ff0\nRemove specious annotation from BigQuery Data Transfer before\nanyone accidentally does anything that uses it.\n\nCommitter: @lukesneeringer\nPiperOrigin-RevId: 288701604\n\n1af307a4764bd415ef942ac5187fa1def043006f\nMigrate BigQuery Connection to GAPIC v2.\n\nCommitter: @lukesneeringer\nPiperOrigin-RevId: 288698681\n\n08b488e0660c59842a7dee0e3e2b65d9e3a514a9\nExposing cloud_catalog.proto (This API is already available through REST)\n\nPiperOrigin-RevId: 288625007\n\na613482977e11ac09fa47687a5d1b5a01efcf794\nUpdate the OS Login v1beta API description to render better in the UI.\n\nPiperOrigin-RevId: 288547940\n\n5e182b8d9943f1b17008d69d4c7e865dc83641a7\nUpdate the OS Login API description to render better in the UI.\n\nPiperOrigin-RevId: 288546443\n\ncb79155f596e0396dd900da93872be7066f6340d\nFix: Add a resource annotation for Agent\nFix: Correct the service name in annotations for Intent and SessionEntityType\n\nPiperOrigin-RevId: 288441307\n\nf7f6e9daec3315fd47cb638789bd8415bf4a27cc\nAdded cloud asset api v1p1beta1\n\nPiperOrigin-RevId: 288427239\n\nf2880f5b342c6345f3dcaad24fcb3c6ca9483654\nBilling account API: Adding config necessary to build client libraries\n\nPiperOrigin-RevId: 288351810\n\ndc250ffe071729f8f8bef9d6fd0fbbeb0254c666\nFix: Remove incorrect resource annotations in requests\n\nPiperOrigin-RevId: 288321208\n\n91ef2d9dd69807b0b79555f22566fb2d81e49ff9\nAdd GAPIC annotations to Cloud KMS (but do not migrate the GAPIC config yet).\n\nCommitter: @lukesneeringer\nPiperOrigin-RevId: 287999179\n\n" } }, { @@ -38,3376 +39,88 @@ ], "newFiles": [ { - "path": "setup.cfg" - }, - { - "path": "synth.py" - }, - { - "path": "MANIFEST.in" - }, - { - "path": ".repo-metadata.json" - }, - { - "path": ".flake8" - }, - { - "path": "setup.py" - }, - { - "path": ".coveragerc" - }, - { - "path": "noxfile.py" - }, - { - "path": "LICENSE" - }, - { - "path": "synth.metadata" - }, - { - "path": "README.rst" - }, - { - "path": "CHANGELOG.md" - }, - { - "path": ".nox/blacken/lib/python3.6/orig-prefix.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site.py" - }, - { - "path": ".nox/blacken/lib/python3.6/no-global-site-packages.txt" - }, - { - "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/black.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/easy_install.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blackd.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/lib2to3_ex.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/cli-64.exe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/py34compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/cli.exe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/gui.exe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/script.tmpl" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/version.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/site-patch.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/dist.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/gui-32.exe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/script (dev).tmpl" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/namespaces.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/wheel.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/py31compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/cli-32.exe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/build_meta.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/archive_util.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/package_index.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/config.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/depends.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/py33compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/extension.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/launch.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/installer.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_imp.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/py27compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/monkey.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_deprecation_warning.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/dep_util.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/msvc.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/ssl_support.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/unicode_utils.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/windows_support.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/sandbox.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/errors.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/gui-64.exe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/glob.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/pyparsing.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/ordered_set.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/six.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/__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/specifiers.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/tags.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/_vendor/packaging/_compat.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/__about__.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/markers.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/__pycache__/_structures.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__/utils.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__/__about__.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__/tags.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__/_compat.cpython-36.pyc" - }, - { - "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/__pycache__/pyparsing.cpython-36.pyc" - }, - { - "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__/ordered_set.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/command/setopt.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/upload_docs.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/bdist_rpm.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/dist_info.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/alias.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/develop.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/install.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/bdist_wininst.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/build_clib.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/sdist.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/bdist_egg.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/rotate.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/register.py" - }, - { - "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/py36compat.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/egg_info.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/upload.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/test.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/easy_install.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/saveopts.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools/command/build_py.py" - }, - { - "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__/install.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__/bdist_egg.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/setuptools/command/__pycache__/bdist_wininst.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__/rotate.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__/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__/register.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__/dist_info.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__/install_scripts.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__/setopt.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__/saveopts.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__/install_egg_info.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__/build_py.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/__pycache__/py31compat.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__/package_index.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__/lib2to3_ex.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__/extension.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__/unicode_utils.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__/msvc.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__/namespaces.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__/glob.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/__pycache__/__init__.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__/errors.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__/py34compat.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__/windows_support.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__/config.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__/build_meta.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__/ssl_support.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/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/appdirs-1.4.3.dist-info/WHEEL" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/appdirs-1.4.3.dist-info/metadata.json" - }, - { - "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/RECORD" - }, - { - "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/INSTALLER" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/appdirs-1.4.3.dist-info/DESCRIPTION.rst" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/wheelfile.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/__main__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/bdist_wheel.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/pkginfo.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/metadata.py" - }, - { - "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/util.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/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/cli/unpack.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/wheel/cli/__pycache__/pack.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__/unpack.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/__pycache__/pep425tags.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__/wheelfile.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__/util.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/toml-0.10.0.dist-info/WHEEL" - }, - { - "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/METADATA" - }, - { - "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/top_level.txt" - }, - { - "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/DESCRIPTION.rst" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml-0.10.0.dist-info/LICENSE.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/PatternGrammar.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/Grammar.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/__init__.py" - }, - { - "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/pgen2/pgen.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/driver.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/grammar.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/tokenize.py" - }, - { - "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/token.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/literals.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/blib2to3/pgen2/parse.py" - }, - { - "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__/driver.cpython-36.pyc" - }, - { - "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__/literals.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__/parse.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/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/setuptools-44.0.0.dist-info/dependency_links.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools-44.0.0.dist-info/WHEEL" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools-44.0.0.dist-info/METADATA" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools-44.0.0.dist-info/RECORD" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools-44.0.0.dist-info/top_level.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools-44.0.0.dist-info/INSTALLER" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools-44.0.0.dist-info/zip-safe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools-44.0.0.dist-info/LICENSE" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/setuptools-44.0.0.dist-info/entry_points.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/utils.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/formatting.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/parser.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/exceptions.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/_bashcomplete.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/_unicodefun.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/_compat.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/globals.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/termui.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/decorators.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/_winconsole.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/types.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/_termui_impl.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/_textwrap.py" - }, - { - "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__/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__/utils.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/click/__pycache__/parser.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__/types.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__/formatting.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/click/__pycache__/_unicodefun.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__/_compat.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__/decorators.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/toml/encoder.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml/decoder.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml/ordered.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml/tz.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/toml/__pycache__/tz.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__/__init__.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/toml/__pycache__/ordered.cpython-36.pyc" - }, - { - "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/METADATA" - }, - { - "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/top_level.txt" - }, - { - "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/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/py31compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pkg_resources/__init__.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/appdirs.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/__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/specifiers.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/_compat.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/__about__.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/markers.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/__pycache__/_structures.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__/utils.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__/__about__.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__/requirements.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__/specifiers.cpython-36.pyc" - }, - { - "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__/pyparsing.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/__pycache__/py31compat.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/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/black-19.3b0.dist-info/WHEEL" - }, - { - "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/RECORD" - }, - { - "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/INSTALLER" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/black-19.3b0.dist-info/LICENSE" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/black-19.3b0.dist-info/entry_points.txt" - }, - { - "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/METADATA" - }, - { - "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/top_level.txt" - }, - { - "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/LICENSE" - }, - { - "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/METADATA" - }, - { - "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/top_level.txt" - }, - { - "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/LICENSE.txt" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/__pycache__/easy_install.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__/appdirs.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/__pycache__/toml.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/__pycache__/blackd.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/exceptions.pyi" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/validators.pyi" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/filters.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/_make.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/py.typed" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/exceptions.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/_compat.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/converters.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/_config.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/_version_info.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/__init__.pyi" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/filters.pyi" - }, - { - "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/_version_info.pyi" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/validators.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/converters.pyi" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/__pycache__/_make.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/attr/__pycache__/_config.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__/_compat.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__/exceptions.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__/_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__/filters.cpython-36.pyc" - }, - { - "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/METADATA" - }, - { - "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/top_level.txt" - }, - { - "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/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/pip/__main__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/pyparsing.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distro.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/appdirs.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/ipaddress.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/contextlib2.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/six.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/retrying.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/__init__.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/filepost.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/exceptions.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/urllib3/_collections.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/connectionpool.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/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/packages/six.py" - }, - { - "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/backports/makefile.py" - }, - { - "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/__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__/_implementation.cpython-36.pyc" - }, - { - "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/__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/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/socks.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/ntlmpool.py" - }, - { - "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/appengine.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/__init__.py" - }, - { - "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__/__init__.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__/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__/securetransport.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__/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/contrib/__pycache__/ntlmpool.cpython-36.pyc" - }, - { - "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/response.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/timeout.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/retry.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/__init__.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/connection.py" - }, - { - "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__/url.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__/timeout.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__/queue.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__/retry.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/__pycache__/_collections.cpython-36.pyc" - }, - { - "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__/connectionpool.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__/fields.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__/request.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/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/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/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/__pycache__/initialise.cpython-36.pyc" - }, - { - "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__/winterm.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__/ansitowin32.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/msgpack/_version.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/fallback.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/msgpack/__init__.py" - }, - { - "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__/fallback.cpython-36.pyc" - }, - { - "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__/exceptions.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/certifi/cacert.pem" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/certifi/__main__.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/__init__.py" - }, - { - "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/certifi/__pycache__/__main__.cpython-36.pyc" - }, - { - "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/packaging/utils.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/version.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/_compat.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/__about__.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/markers.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/__pycache__/_structures.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__/utils.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__/__about__.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__/tags.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__/_compat.cpython-36.pyc" - }, - { - "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/pytoml/utils.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/__init__.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/writer.py" - }, - { - "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/pytoml/__pycache__/core.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__/test.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__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/requests/structures.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/help.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/sessions.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/adapters.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/models.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/compat.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/auth.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/packages.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/__init__.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/__pycache__/adapters.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__/packages.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/requests/__pycache__/utils.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__/certs.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__/_internal_utils.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__/sessions.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__/__version__.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__/hooks.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__/cookies.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/cachecontrol/_cmd.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/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/heuristics.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/__init__.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/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/__init__.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__/file_cache.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/__pycache__/serialize.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__/adapter.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__/cache.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__/controller.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__/compat.cpython-36.pyc" - }, - { - "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/__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/idnadata.py" - }, - { - "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__/core.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__/package_data.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__/__init__.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__/uts46data.cpython-36.pyc" - }, - { - "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/__init__.py" - }, - { - "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/pkg_resources/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/gb2312prober.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/euckrfreq.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/sbcharsetprober.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/mbcsgroupprober.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/big5prober.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/utf8prober.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/compat.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/langbulgarianmodel.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/langthaimodel.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/charsetgroupprober.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/jpcntx.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/hebrewprober.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/langhungarianmodel.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/chardet/gb2312freq.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/langhebrewmodel.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/__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/latin1prober.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/mbcssm.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/euckrprober.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/codingstatemachine.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/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__/__init__.cpython-36.pyc" - }, - { - "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/__pycache__/escsm.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__/langcyrillicmodel.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__/big5freq.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__/version.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__/enums.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__/langhungarianmodel.cpython-36.pyc" - }, - { - "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__/jisfreq.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__/gb2312prober.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__/mbcssm.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__/euckrprober.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__/charsetprober.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/__pycache__/latin1prober.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__/big5prober.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__/utf8prober.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__/langhebrewmodel.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__/gb2312freq.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__/universaldetector.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__/mbcsgroupprober.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__/eucjpprober.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__/langthaimodel.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/database.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/t32.exe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/manifest.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/w64.exe" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/distlib/locators.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/wheel.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/compat.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/metadata.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/markers.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/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/__pycache__/scripts.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/__pycache__/version.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__/locators.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__/__init__.cpython-36.pyc" - }, - { - "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__/util.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__/compat.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__/wheel.cpython-36.pyc" - }, - { - "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/tarfile.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/misc.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/__init__.py" - }, - { - "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/distlib/_backport/__pycache__/misc.cpython-36.pyc" - }, - { - "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__/__init__.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/pep517/envbuild.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/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/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/meta.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/__init__.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__/dirtools.cpython-36.pyc" - }, - { - "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__/build.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__/__init__.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/pep517/__pycache__/colorlog.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__/check.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/__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__/pyparsing.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__/retrying.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__/six.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/webencodings/tests.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/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/webencodings/labels.py" - }, - { - "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__/labels.cpython-36.pyc" - }, - { - "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__/x_user_defined.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/html5lib/serializer.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/html5parser.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/_utils.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/_inputstream.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_vendor/html5lib/__init__.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/base.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/etree_lxml.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/__pycache__/base.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/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_lxml.cpython-36.pyc" - }, - { - "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/treeadapters/sax.py" - }, - { - "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/genshi.py" - }, - { - "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/treeadapters/__pycache__/__init__.cpython-36.pyc" - }, - { - "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/_trie/py.py" - }, - { - "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/_base.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/__pycache__/_base.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__/py.cpython-36.pyc" - }, - { - "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/treebuilders/dom.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/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/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.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_lxml.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__/__init__.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/__pycache__/serializer.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__/_inputstream.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__/_utils.cpython-36.pyc" - }, - { - "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/sanitizer.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/inject_meta_charset.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/optionaltags.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/__pycache__/inject_meta_charset.cpython-36.pyc" - }, - { - "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__/optionaltags.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__/lint.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__/__init__.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/progress/spinner.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/__init__.py" - }, - { - "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__/bar.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__/__init__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/wheel.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/configuration.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/locations.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/cache.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/collector.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/pyproject.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/legacy_resolve.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/build_env.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/pep425tags.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/download.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/main_parser.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/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/command_context.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/__init__.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/__pycache__/base_command.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__/parser.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__/cmdoptions.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__/req_command.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/req/req_tracker.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_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/req_set.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/req_install.py" - }, - { - "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__/req_uninstall.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__/__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__/req_install.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/commands/help.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/install.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/commands/configuration.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/hash.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/list.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/freeze.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/debug.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/download.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/__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__/help.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__/search.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__/uninstall.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__/configuration.cpython-36.pyc" - }, - { - "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__/check.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__/debug.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__/hash.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/vcs/versioncontrol.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/subversion.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/git.py" - }, - { - "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/vcs/__pycache__/git.cpython-36.pyc" - }, - { - "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__/__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/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/index.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/target_python.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/__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/__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__/search_scope.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/_internal/models/__pycache__/__init__.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__/target_python.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/operations/freeze.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/operations/__init__.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/generate_metadata.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/__pycache__/freeze.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/operations/__pycache__/prepare.cpython-36.pyc" - }, - { - "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__/check.cpython-36.pyc" - }, - { - "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/packaging.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/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/appdirs.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/typing.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/models.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/compat.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/filesystem.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/setuptools_build.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/inject_securetransport.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/__init__.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/subprocess.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/__pycache__/virtualenv.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__/appdirs.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__/filetypes.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__/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__/packaging.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__/__init__.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__/urls.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__/ui.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__/deprecation.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__/inject_securetransport.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__/marker_files.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__/compat.cpython-36.pyc" - }, - { - "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/__init__.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/network/xmlrpc.py" - }, - { - "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/network/__pycache__/cache.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__/session.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__/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__/cache.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__/build_env.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__/configuration.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__/index.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__/exceptions.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__/wheel.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/distributions/base.py" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/_internal/distributions/wheel.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/__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/__init__.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/distributions/__pycache__/installed.cpython-36.pyc" - }, - { - "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__/__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/__pycache__/__main__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/site-packages/pip/__pycache__/__init__.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__/tarfile.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/struct.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/token.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/fnmatch.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/locale.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/genericpath.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/__future__.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/tokenize.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/stat.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/warnings.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/linecache.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/tempfile.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/codecs.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/_weakrefset.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/sre_parse.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/types.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/sre_constants.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/shutil.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/keyword.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/reprlib.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/abc.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/functools.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/hashlib.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/site.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/re.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/copy.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/_collections_abc.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/operator.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/io.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/heapq.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/weakref.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/os.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/random.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/base64.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/copyreg.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/posixpath.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/_bootlocale.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/sre_compile.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/enum.cpython-36.pyc" - }, - { - "path": ".nox/blacken/lib/python3.6/__pycache__/hmac.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/blacken/bin/blackd" - }, - { - "path": ".nox/blacken/bin/python3" - }, - { - "path": ".nox/blacken/bin/wheel" - }, - { - "path": ".nox/blacken/bin/python3.6" - }, - { - "path": ".nox/blacken/bin/activate_this.py" + "path": ".coveragerc" }, { - "path": ".nox/blacken/bin/activate.csh" + "path": ".flake8" }, { - "path": ".nox/blacken/bin/python-config" + "path": ".repo-metadata.json" }, { - "path": ".nox/blacken/bin/black" + "path": "CHANGELOG.md" }, { - "path": ".nox/blacken/bin/activate.ps1" + "path": "LICENSE" }, { - "path": ".nox/blacken/bin/pip3.6" + "path": "MANIFEST.in" }, { - "path": ".nox/blacken/bin/activate.xsh" + "path": "README.rst" }, { - "path": ".nox/blacken/bin/activate.fish" + "path": "docs/README.rst" }, { - "path": ".nox/blacken/bin/python" + "path": "docs/_static/custom.css" }, { - "path": ".nox/blacken/bin/activate" + "path": "docs/_templates/layout.html" }, { - "path": ".nox/blacken/bin/easy_install-3.6" + "path": "docs/changelog.md" }, { - "path": ".nox/blacken/bin/easy_install" + "path": "docs/conf.py" }, { - "path": ".nox/blacken/bin/pip3" + "path": "docs/gapic/v1alpha2/api.rst" }, { - "path": ".nox/blacken/bin/pip" + "path": "docs/gapic/v1alpha2/types.rst" }, { - "path": "tests/unit/gapic/v1alpha2/test_incident_service_client_v1alpha2.py" + "path": "docs/index.rst" }, { "path": "google/__init__.py" }, { - "path": "google/cloud/irm.py" + "path": "google/cloud/__init__.py" }, { - "path": "google/cloud/__init__.py" + "path": "google/cloud/irm.py" }, { "path": "google/cloud/irm_v1alpha2/__init__.py" }, { - "path": "google/cloud/irm_v1alpha2/types.py" + "path": "google/cloud/irm_v1alpha2/gapic/__init__.py" }, { "path": "google/cloud/irm_v1alpha2/gapic/enums.py" }, - { - "path": "google/cloud/irm_v1alpha2/gapic/incident_service_client_config.py" - }, { "path": "google/cloud/irm_v1alpha2/gapic/incident_service_client.py" }, { - "path": "google/cloud/irm_v1alpha2/gapic/__init__.py" + "path": "google/cloud/irm_v1alpha2/gapic/incident_service_client_config.py" }, { "path": "google/cloud/irm_v1alpha2/gapic/synth.metadata" }, - { - "path": "google/cloud/irm_v1alpha2/gapic/transports/incident_service_grpc_transport.py" - }, { "path": "google/cloud/irm_v1alpha2/gapic/transports/__init__.py" }, { - "path": "google/cloud/irm_v1alpha2/proto/incidents_service_pb2.py" - }, - { - "path": "google/cloud/irm_v1alpha2/proto/incidents.proto" + "path": "google/cloud/irm_v1alpha2/gapic/transports/incident_service_grpc_transport.py" }, { - "path": "google/cloud/irm_v1alpha2/proto/incidents_service_pb2_grpc.py" + "path": "google/cloud/irm_v1alpha2/proto/__init__.py" }, { - "path": "google/cloud/irm_v1alpha2/proto/incidents_service.proto" + "path": "google/cloud/irm_v1alpha2/proto/incidents.proto" }, { "path": "google/cloud/irm_v1alpha2/proto/incidents_pb2.py" @@ -3416,40 +129,34 @@ "path": "google/cloud/irm_v1alpha2/proto/incidents_pb2_grpc.py" }, { - "path": "google/cloud/irm_v1alpha2/proto/__init__.py" - }, - { - "path": "google/__pycache__/__init__.cpython-36.pyc" - }, - { - "path": "__pycache__/synth.cpython-36.pyc" + "path": "google/cloud/irm_v1alpha2/proto/incidents_service.proto" }, { - "path": "__pycache__/noxfile.cpython-36.pyc" + "path": "google/cloud/irm_v1alpha2/proto/incidents_service_pb2.py" }, { - "path": "docs/conf.py" + "path": "google/cloud/irm_v1alpha2/proto/incidents_service_pb2_grpc.py" }, { - "path": "docs/changelog.md" + "path": "google/cloud/irm_v1alpha2/types.py" }, { - "path": "docs/index.rst" + "path": "noxfile.py" }, { - "path": "docs/README.rst" + "path": "setup.cfg" }, { - "path": "docs/_static/custom.css" + "path": "setup.py" }, { - "path": "docs/_templates/layout.html" + "path": "synth.metadata" }, { - "path": "docs/gapic/v1alpha2/types.rst" + "path": "synth.py" }, { - "path": "docs/gapic/v1alpha2/api.rst" + "path": "tests/unit/gapic/v1alpha2/test_incident_service_client_v1alpha2.py" } ] } \ No newline at end of file diff --git a/irm/tests/unit/gapic/v1alpha2/test_incident_service_client_v1alpha2.py b/irm/tests/unit/gapic/v1alpha2/test_incident_service_client_v1alpha2.py index fc2486fd0603..73c166c3e73b 100644 --- a/irm/tests/unit/gapic/v1alpha2/test_incident_service_client_v1alpha2.py +++ b/irm/tests/unit/gapic/v1alpha2/test_incident_service_client_v1alpha2.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. @@ -62,6 +62,174 @@ class CustomException(Exception): class TestIncidentServiceClient(object): + def test_delete_artifact(self): + channel = ChannelStub() + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = irm_v1alpha2.IncidentServiceClient() + + # Setup Request + name = client.artifact_path("[PROJECT]", "[INCIDENT]", "[ARTIFACT]") + + client.delete_artifact(name) + + assert len(channel.requests) == 1 + expected_request = incidents_service_pb2.DeleteArtifactRequest(name=name) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_delete_artifact_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 = irm_v1alpha2.IncidentServiceClient() + + # Setup request + name = client.artifact_path("[PROJECT]", "[INCIDENT]", "[ARTIFACT]") + + with pytest.raises(CustomException): + client.delete_artifact(name) + + def test_request_incident_role_handover(self): + # Setup Expected Response + name_2 = "name2-1052831874" + etag = "etag3123477" + expected_response = {"name": name_2, "etag": etag} + expected_response = incidents_pb2.IncidentRoleAssignment(**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 = irm_v1alpha2.IncidentServiceClient() + + # Setup Request + name = "name3373707" + new_assignee = {} + + response = client.request_incident_role_handover(name, new_assignee) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = incidents_service_pb2.RequestIncidentRoleHandoverRequest( + name=name, new_assignee=new_assignee + ) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_request_incident_role_handover_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 = irm_v1alpha2.IncidentServiceClient() + + # Setup request + name = "name3373707" + new_assignee = {} + + with pytest.raises(CustomException): + client.request_incident_role_handover(name, new_assignee) + + def test_confirm_incident_role_handover(self): + # Setup Expected Response + name_2 = "name2-1052831874" + etag = "etag3123477" + expected_response = {"name": name_2, "etag": etag} + expected_response = incidents_pb2.IncidentRoleAssignment(**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 = irm_v1alpha2.IncidentServiceClient() + + # Setup Request + name = client.incident_role_assignment_path( + "[PROJECT_ID_OR_NUMBER]", "[INCIDENT_ID]", "[ROLE_ID]" + ) + new_assignee = {} + + response = client.confirm_incident_role_handover(name, new_assignee) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = incidents_service_pb2.ConfirmIncidentRoleHandoverRequest( + name=name, new_assignee=new_assignee + ) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_confirm_incident_role_handover_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 = irm_v1alpha2.IncidentServiceClient() + + # Setup request + name = client.incident_role_assignment_path( + "[PROJECT_ID_OR_NUMBER]", "[INCIDENT_ID]", "[ROLE_ID]" + ) + new_assignee = {} + + with pytest.raises(CustomException): + client.confirm_incident_role_handover(name, new_assignee) + + def test_force_incident_role_handover(self): + # Setup Expected Response + name_2 = "name2-1052831874" + etag = "etag3123477" + expected_response = {"name": name_2, "etag": etag} + expected_response = incidents_pb2.IncidentRoleAssignment(**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 = irm_v1alpha2.IncidentServiceClient() + + # Setup Request + name = client.incident_role_assignment_path( + "[PROJECT_ID_OR_NUMBER]", "[INCIDENT_ID]", "[ROLE_ID]" + ) + new_assignee = {} + + response = client.force_incident_role_handover(name, new_assignee) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = incidents_service_pb2.ForceIncidentRoleHandoverRequest( + name=name, new_assignee=new_assignee + ) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_force_incident_role_handover_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 = irm_v1alpha2.IncidentServiceClient() + + # Setup request + name = client.incident_role_assignment_path( + "[PROJECT_ID_OR_NUMBER]", "[INCIDENT_ID]", "[ROLE_ID]" + ) + new_assignee = {} + + with pytest.raises(CustomException): + client.force_incident_role_handover(name, new_assignee) + def test_create_incident(self): # Setup Expected Response name = "name3373707" @@ -610,16 +778,16 @@ def test_search_signals_exception(self): with pytest.raises(CustomException): list(paged_list_response) - def test_get_signal(self): + def test_lookup_signal(self): # Setup Expected Response - name_2 = "name2-1052831874" + name = "name3373707" etag = "etag3123477" incident = "incident86983890" title = "title110371416" content_type = "contentType831846208" content = "content951530617" expected_response = { - "name": name_2, + "name": name, "etag": etag, "incident": incident, "title": title, @@ -635,18 +803,15 @@ def test_get_signal(self): create_channel.return_value = channel client = irm_v1alpha2.IncidentServiceClient() - # Setup Request - name = client.signal_path("[PROJECT]", "[SIGNAL]") - - response = client.get_signal(name) + response = client.lookup_signal() assert expected_response == response assert len(channel.requests) == 1 - expected_request = incidents_service_pb2.GetSignalRequest(name=name) + expected_request = incidents_service_pb2.LookupSignalRequest() actual_request = channel.requests[0][1] assert expected_request == actual_request - def test_get_signal_exception(self): + def test_lookup_signal_exception(self): # Mock the API response channel = ChannelStub(responses=[CustomException()]) patch = mock.patch("google.api_core.grpc_helpers.create_channel") @@ -654,22 +819,19 @@ def test_get_signal_exception(self): create_channel.return_value = channel client = irm_v1alpha2.IncidentServiceClient() - # Setup request - name = client.signal_path("[PROJECT]", "[SIGNAL]") - with pytest.raises(CustomException): - client.get_signal(name) + client.lookup_signal() - def test_lookup_signal(self): + def test_get_signal(self): # Setup Expected Response - name = "name3373707" + name_2 = "name2-1052831874" etag = "etag3123477" incident = "incident86983890" title = "title110371416" content_type = "contentType831846208" content = "content951530617" expected_response = { - "name": name, + "name": name_2, "etag": etag, "incident": incident, "title": title, @@ -685,15 +847,18 @@ def test_lookup_signal(self): create_channel.return_value = channel client = irm_v1alpha2.IncidentServiceClient() - response = client.lookup_signal() + # Setup Request + name = client.signal_path("[PROJECT]", "[SIGNAL]") + + response = client.get_signal(name) assert expected_response == response assert len(channel.requests) == 1 - expected_request = incidents_service_pb2.LookupSignalRequest() + expected_request = incidents_service_pb2.GetSignalRequest(name=name) actual_request = channel.requests[0][1] assert expected_request == actual_request - def test_lookup_signal_exception(self): + def test_get_signal_exception(self): # Mock the API response channel = ChannelStub(responses=[CustomException()]) patch = mock.patch("google.api_core.grpc_helpers.create_channel") @@ -701,8 +866,11 @@ def test_lookup_signal_exception(self): create_channel.return_value = channel client = irm_v1alpha2.IncidentServiceClient() + # Setup request + name = client.signal_path("[PROJECT]", "[SIGNAL]") + with pytest.raises(CustomException): - client.lookup_signal() + client.get_signal(name) def test_update_signal(self): # Setup Expected Response @@ -938,37 +1106,6 @@ def test_update_artifact_exception(self): with pytest.raises(CustomException): client.update_artifact(artifact) - def test_delete_artifact(self): - channel = ChannelStub() - patch = mock.patch("google.api_core.grpc_helpers.create_channel") - with patch as create_channel: - create_channel.return_value = channel - client = irm_v1alpha2.IncidentServiceClient() - - # Setup Request - name = client.artifact_path("[PROJECT]", "[INCIDENT]", "[ARTIFACT]") - - client.delete_artifact(name) - - assert len(channel.requests) == 1 - expected_request = incidents_service_pb2.DeleteArtifactRequest(name=name) - actual_request = channel.requests[0][1] - assert expected_request == actual_request - - def test_delete_artifact_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 = irm_v1alpha2.IncidentServiceClient() - - # Setup request - name = client.artifact_path("[PROJECT]", "[INCIDENT]", "[ARTIFACT]") - - with pytest.raises(CustomException): - client.delete_artifact(name) - def test_send_shift_handoff(self): # Setup Expected Response content_type = "contentType831846208" @@ -1232,9 +1369,7 @@ def test_delete_incident_role_assignment(self): client = irm_v1alpha2.IncidentServiceClient() # Setup Request - name = client.role_assignment_path( - "[PROJECT]", "[INCIDENT]", "[ROLE_ASSIGNMENT]" - ) + name = client.incident_path("[PROJECT]", "[INCIDENT]") client.delete_incident_role_assignment(name) @@ -1254,9 +1389,7 @@ def test_delete_incident_role_assignment_exception(self): client = irm_v1alpha2.IncidentServiceClient() # Setup request - name = client.role_assignment_path( - "[PROJECT]", "[INCIDENT]", "[ROLE_ASSIGNMENT]" - ) + name = client.incident_path("[PROJECT]", "[INCIDENT]") with pytest.raises(CustomException): client.delete_incident_role_assignment(name) @@ -1311,147 +1444,6 @@ def test_list_incident_role_assignments_exception(self): with pytest.raises(CustomException): list(paged_list_response) - def test_request_incident_role_handover(self): - # Setup Expected Response - name_2 = "name2-1052831874" - etag = "etag3123477" - expected_response = {"name": name_2, "etag": etag} - expected_response = incidents_pb2.IncidentRoleAssignment(**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 = irm_v1alpha2.IncidentServiceClient() - - # Setup Request - name = client.role_assignment_path( - "[PROJECT]", "[INCIDENT]", "[ROLE_ASSIGNMENT]" - ) - new_assignee = {} - - response = client.request_incident_role_handover(name, new_assignee) - assert expected_response == response - - assert len(channel.requests) == 1 - expected_request = incidents_service_pb2.RequestIncidentRoleHandoverRequest( - name=name, new_assignee=new_assignee - ) - actual_request = channel.requests[0][1] - assert expected_request == actual_request - - def test_request_incident_role_handover_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 = irm_v1alpha2.IncidentServiceClient() - - # Setup request - name = client.role_assignment_path( - "[PROJECT]", "[INCIDENT]", "[ROLE_ASSIGNMENT]" - ) - new_assignee = {} - - with pytest.raises(CustomException): - client.request_incident_role_handover(name, new_assignee) - - def test_confirm_incident_role_handover(self): - # Setup Expected Response - name_2 = "name2-1052831874" - etag = "etag3123477" - expected_response = {"name": name_2, "etag": etag} - expected_response = incidents_pb2.IncidentRoleAssignment(**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 = irm_v1alpha2.IncidentServiceClient() - - # Setup Request - name = client.role_assignment_path( - "[PROJECT]", "[INCIDENT]", "[ROLE_ASSIGNMENT]" - ) - new_assignee = {} - - response = client.confirm_incident_role_handover(name, new_assignee) - assert expected_response == response - - assert len(channel.requests) == 1 - expected_request = incidents_service_pb2.ConfirmIncidentRoleHandoverRequest( - name=name, new_assignee=new_assignee - ) - actual_request = channel.requests[0][1] - assert expected_request == actual_request - - def test_confirm_incident_role_handover_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 = irm_v1alpha2.IncidentServiceClient() - - # Setup request - name = client.role_assignment_path( - "[PROJECT]", "[INCIDENT]", "[ROLE_ASSIGNMENT]" - ) - new_assignee = {} - - with pytest.raises(CustomException): - client.confirm_incident_role_handover(name, new_assignee) - - def test_force_incident_role_handover(self): - # Setup Expected Response - name_2 = "name2-1052831874" - etag = "etag3123477" - expected_response = {"name": name_2, "etag": etag} - expected_response = incidents_pb2.IncidentRoleAssignment(**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 = irm_v1alpha2.IncidentServiceClient() - - # Setup Request - name = client.role_assignment_path( - "[PROJECT]", "[INCIDENT]", "[ROLE_ASSIGNMENT]" - ) - new_assignee = {} - - response = client.force_incident_role_handover(name, new_assignee) - assert expected_response == response - - assert len(channel.requests) == 1 - expected_request = incidents_service_pb2.ForceIncidentRoleHandoverRequest( - name=name, new_assignee=new_assignee - ) - actual_request = channel.requests[0][1] - assert expected_request == actual_request - - def test_force_incident_role_handover_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 = irm_v1alpha2.IncidentServiceClient() - - # Setup request - name = client.role_assignment_path( - "[PROJECT]", "[INCIDENT]", "[ROLE_ASSIGNMENT]" - ) - new_assignee = {} - - with pytest.raises(CustomException): - client.force_incident_role_handover(name, new_assignee) - def test_cancel_incident_role_handover(self): # Setup Expected Response name_2 = "name2-1052831874" @@ -1467,8 +1459,8 @@ def test_cancel_incident_role_handover(self): client = irm_v1alpha2.IncidentServiceClient() # Setup Request - name = client.role_assignment_path( - "[PROJECT]", "[INCIDENT]", "[ROLE_ASSIGNMENT]" + name = client.incident_role_assignment_path( + "[PROJECT_ID_OR_NUMBER]", "[INCIDENT_ID]", "[ROLE_ID]" ) new_assignee = {} @@ -1491,8 +1483,8 @@ def test_cancel_incident_role_handover_exception(self): client = irm_v1alpha2.IncidentServiceClient() # Setup request - name = client.role_assignment_path( - "[PROJECT]", "[INCIDENT]", "[ROLE_ASSIGNMENT]" + name = client.incident_role_assignment_path( + "[PROJECT_ID_OR_NUMBER]", "[INCIDENT_ID]", "[ROLE_ID]" ) new_assignee = {}