diff --git a/google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1/RegistrationServiceClient.java b/google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1/RegistrationServiceClient.java index 8e83dd0b..cd24e077 100644 --- a/google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1/RegistrationServiceClient.java +++ b/google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1/RegistrationServiceClient.java @@ -1765,7 +1765,8 @@ public final UnaryCallable deleteEndpointCallable( * try (RegistrationServiceClient registrationServiceClient = RegistrationServiceClient.create()) { * GetIamPolicyRequest request = * GetIamPolicyRequest.newBuilder() - * .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + * .setResource( + * ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) * .setOptions(GetPolicyOptions.newBuilder().build()) * .build(); * Policy response = registrationServiceClient.getIamPolicy(request); @@ -1789,7 +1790,8 @@ public final Policy getIamPolicy(GetIamPolicyRequest request) { * try (RegistrationServiceClient registrationServiceClient = RegistrationServiceClient.create()) { * GetIamPolicyRequest request = * GetIamPolicyRequest.newBuilder() - * .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + * .setResource( + * ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) * .setOptions(GetPolicyOptions.newBuilder().build()) * .build(); * ApiFuture future = @@ -1813,7 +1815,8 @@ public final UnaryCallable getIamPolicyCallable() { * try (RegistrationServiceClient registrationServiceClient = RegistrationServiceClient.create()) { * SetIamPolicyRequest request = * SetIamPolicyRequest.newBuilder() - * .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + * .setResource( + * ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) * .setPolicy(Policy.newBuilder().build()) * .build(); * Policy response = registrationServiceClient.setIamPolicy(request); @@ -1837,7 +1840,8 @@ public final Policy setIamPolicy(SetIamPolicyRequest request) { * try (RegistrationServiceClient registrationServiceClient = RegistrationServiceClient.create()) { * SetIamPolicyRequest request = * SetIamPolicyRequest.newBuilder() - * .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + * .setResource( + * ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) * .setPolicy(Policy.newBuilder().build()) * .build(); * ApiFuture future = @@ -1861,7 +1865,8 @@ public final UnaryCallable setIamPolicyCallable() { * try (RegistrationServiceClient registrationServiceClient = RegistrationServiceClient.create()) { * TestIamPermissionsRequest request = * TestIamPermissionsRequest.newBuilder() - * .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + * .setResource( + * ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) * .addAllPermissions(new ArrayList()) * .build(); * TestIamPermissionsResponse response = registrationServiceClient.testIamPermissions(request); @@ -1885,7 +1890,8 @@ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsReq * try (RegistrationServiceClient registrationServiceClient = RegistrationServiceClient.create()) { * TestIamPermissionsRequest request = * TestIamPermissionsRequest.newBuilder() - * .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + * .setResource( + * ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) * .addAllPermissions(new ArrayList()) * .build(); * ApiFuture future = diff --git a/google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1beta1/RegistrationServiceClient.java b/google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1beta1/RegistrationServiceClient.java index a1643c5c..f6001edf 100644 --- a/google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1beta1/RegistrationServiceClient.java +++ b/google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1beta1/RegistrationServiceClient.java @@ -174,7 +174,7 @@ public RegistrationServiceStub getStub() { // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Creates a namespace, and returns the new Namespace. + * Creates a namespace, and returns the new namespace. * *

Sample code: * @@ -212,7 +212,7 @@ public final Namespace createNamespace( // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Creates a namespace, and returns the new Namespace. + * Creates a namespace, and returns the new namespace. * *

Sample code: * @@ -249,7 +249,7 @@ public final Namespace createNamespace(String parent, Namespace namespace, Strin // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Creates a namespace, and returns the new Namespace. + * Creates a namespace, and returns the new namespace. * *

Sample code: * @@ -274,7 +274,7 @@ public final Namespace createNamespace(CreateNamespaceRequest request) { // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Creates a namespace, and returns the new Namespace. + * Creates a namespace, and returns the new namespace. * *

Sample code: * @@ -312,7 +312,7 @@ public final UnaryCallable createNamespaceCal * } * } * - * @param parent Required. The resource name of the project and location whose namespaces we'd + * @param parent Required. The resource name of the project and location whose namespaces you'd * like to list. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ @@ -339,7 +339,7 @@ public final ListNamespacesPagedResponse listNamespaces(LocationName parent) { * } * } * - * @param parent Required. The resource name of the project and location whose namespaces we'd + * @param parent Required. The resource name of the project and location whose namespaces you'd * like to list. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ @@ -699,7 +699,7 @@ public final UnaryCallable deleteNamespaceCallabl // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Creates a service, and returns the new Service. + * Creates a service, and returns the new service. * *

Sample code: * @@ -734,7 +734,7 @@ public final Service createService(NamespaceName parent, Service service, String // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Creates a service, and returns the new Service. + * Creates a service, and returns the new service. * *

Sample code: * @@ -769,7 +769,7 @@ public final Service createService(String parent, Service service, String servic // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Creates a service, and returns the new Service. + * Creates a service, and returns the new service. * *

Sample code: * @@ -794,7 +794,7 @@ public final Service createService(CreateServiceRequest request) { // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Creates a service, and returns the new Service. + * Creates a service, and returns the new service. * *

Sample code: * @@ -832,7 +832,7 @@ public final UnaryCallable createServiceCallable( * } * } * - * @param parent Required. The resource name of the namespace whose services we'd like to list. + * @param parent Required. The resource name of the namespace whose services you'd like to list. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ public final ListServicesPagedResponse listServices(NamespaceName parent) { @@ -858,7 +858,7 @@ public final ListServicesPagedResponse listServices(NamespaceName parent) { * } * } * - * @param parent Required. The resource name of the namespace whose services we'd like to list. + * @param parent Required. The resource name of the namespace whose services you'd like to list. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ public final ListServicesPagedResponse listServices(String parent) { @@ -1219,7 +1219,7 @@ public final UnaryCallable deleteServiceCallable() // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Creates a endpoint, and returns the new Endpoint. + * Creates an endpoint, and returns the new endpoint. * *

Sample code: * @@ -1254,7 +1254,7 @@ public final Endpoint createEndpoint(ServiceName parent, Endpoint endpoint, Stri // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Creates a endpoint, and returns the new Endpoint. + * Creates an endpoint, and returns the new endpoint. * *

Sample code: * @@ -1290,7 +1290,7 @@ public final Endpoint createEndpoint(String parent, Endpoint endpoint, String en // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Creates a endpoint, and returns the new Endpoint. + * Creates an endpoint, and returns the new endpoint. * *

Sample code: * @@ -1316,7 +1316,7 @@ public final Endpoint createEndpoint(CreateEndpointRequest request) { // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Creates a endpoint, and returns the new Endpoint. + * Creates an endpoint, and returns the new endpoint. * *

Sample code: * @@ -1355,7 +1355,7 @@ public final UnaryCallable createEndpointCallab * } * } * - * @param parent Required. The resource name of the service whose endpoints we'd like to list. + * @param parent Required. The resource name of the service whose endpoints you'd like to list. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ public final ListEndpointsPagedResponse listEndpoints(ServiceName parent) { @@ -1382,7 +1382,7 @@ public final ListEndpointsPagedResponse listEndpoints(ServiceName parent) { * } * } * - * @param parent Required. The resource name of the service whose endpoints we'd like to list. + * @param parent Required. The resource name of the service whose endpoints you'd like to list. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ public final ListEndpointsPagedResponse listEndpoints(String parent) { @@ -1490,7 +1490,7 @@ public final UnaryCallable listEndp // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Gets a endpoint. + * Gets an endpoint. * *

Sample code: * @@ -1513,7 +1513,7 @@ public final Endpoint getEndpoint(EndpointName name) { // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Gets a endpoint. + * Gets an endpoint. * *

Sample code: * @@ -1536,7 +1536,7 @@ public final Endpoint getEndpoint(String name) { // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Gets a endpoint. + * Gets an endpoint. * *

Sample code: * @@ -1562,7 +1562,7 @@ public final Endpoint getEndpoint(GetEndpointRequest request) { // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Gets a endpoint. + * Gets an endpoint. * *

Sample code: * @@ -1588,7 +1588,7 @@ public final UnaryCallable getEndpointCallable() { // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Updates a endpoint. + * Updates an endpoint. * *

Sample code: * @@ -1612,7 +1612,7 @@ public final Endpoint updateEndpoint(Endpoint endpoint, FieldMask updateMask) { // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Updates a endpoint. + * Updates an endpoint. * *

Sample code: * @@ -1636,7 +1636,7 @@ public final Endpoint updateEndpoint(UpdateEndpointRequest request) { // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Updates a endpoint. + * Updates an endpoint. * *

Sample code: * @@ -1660,7 +1660,7 @@ public final UnaryCallable updateEndpointCallab // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Deletes a endpoint. + * Deletes an endpoint. * *

Sample code: * @@ -1683,7 +1683,7 @@ public final void deleteEndpoint(EndpointName name) { // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Deletes a endpoint. + * Deletes an endpoint. * *

Sample code: * @@ -1706,7 +1706,7 @@ public final void deleteEndpoint(String name) { // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Deletes a endpoint. + * Deletes an endpoint. * *

Sample code: * @@ -1732,7 +1732,7 @@ public final void deleteEndpoint(DeleteEndpointRequest request) { // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Deletes a endpoint. + * Deletes an endpoint. * *

Sample code: * @@ -1766,7 +1766,8 @@ public final UnaryCallable deleteEndpointCallable( * try (RegistrationServiceClient registrationServiceClient = RegistrationServiceClient.create()) { * GetIamPolicyRequest request = * GetIamPolicyRequest.newBuilder() - * .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + * .setResource( + * ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) * .setOptions(GetPolicyOptions.newBuilder().build()) * .build(); * Policy response = registrationServiceClient.getIamPolicy(request); @@ -1790,7 +1791,8 @@ public final Policy getIamPolicy(GetIamPolicyRequest request) { * try (RegistrationServiceClient registrationServiceClient = RegistrationServiceClient.create()) { * GetIamPolicyRequest request = * GetIamPolicyRequest.newBuilder() - * .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + * .setResource( + * ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) * .setOptions(GetPolicyOptions.newBuilder().build()) * .build(); * ApiFuture future = @@ -1814,7 +1816,8 @@ public final UnaryCallable getIamPolicyCallable() { * try (RegistrationServiceClient registrationServiceClient = RegistrationServiceClient.create()) { * SetIamPolicyRequest request = * SetIamPolicyRequest.newBuilder() - * .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + * .setResource( + * ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) * .setPolicy(Policy.newBuilder().build()) * .build(); * Policy response = registrationServiceClient.setIamPolicy(request); @@ -1838,7 +1841,8 @@ public final Policy setIamPolicy(SetIamPolicyRequest request) { * try (RegistrationServiceClient registrationServiceClient = RegistrationServiceClient.create()) { * SetIamPolicyRequest request = * SetIamPolicyRequest.newBuilder() - * .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + * .setResource( + * ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) * .setPolicy(Policy.newBuilder().build()) * .build(); * ApiFuture future = @@ -1862,7 +1866,8 @@ public final UnaryCallable setIamPolicyCallable() { * try (RegistrationServiceClient registrationServiceClient = RegistrationServiceClient.create()) { * TestIamPermissionsRequest request = * TestIamPermissionsRequest.newBuilder() - * .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + * .setResource( + * ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) * .addAllPermissions(new ArrayList()) * .build(); * TestIamPermissionsResponse response = registrationServiceClient.testIamPermissions(request); @@ -1886,7 +1891,8 @@ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsReq * try (RegistrationServiceClient registrationServiceClient = RegistrationServiceClient.create()) { * TestIamPermissionsRequest request = * TestIamPermissionsRequest.newBuilder() - * .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + * .setResource( + * ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) * .addAllPermissions(new ArrayList()) * .build(); * ApiFuture future = diff --git a/google-cloud-servicedirectory/src/test/java/com/google/cloud/servicedirectory/v1/RegistrationServiceClientTest.java b/google-cloud-servicedirectory/src/test/java/com/google/cloud/servicedirectory/v1/RegistrationServiceClientTest.java index 65516b3f..81e9851e 100644 --- a/google-cloud-servicedirectory/src/test/java/com/google/cloud/servicedirectory/v1/RegistrationServiceClientTest.java +++ b/google-cloud-servicedirectory/src/test/java/com/google/cloud/servicedirectory/v1/RegistrationServiceClientTest.java @@ -1236,7 +1236,8 @@ public void getIamPolicyTest() throws Exception { GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder() - .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + .setResource( + ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) .setOptions(GetPolicyOptions.newBuilder().build()) .build(); @@ -1263,7 +1264,8 @@ public void getIamPolicyExceptionTest() throws Exception { try { GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder() - .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + .setResource( + ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) .setOptions(GetPolicyOptions.newBuilder().build()) .build(); client.getIamPolicy(request); @@ -1285,7 +1287,8 @@ public void setIamPolicyTest() throws Exception { SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder() - .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + .setResource( + ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) .setPolicy(Policy.newBuilder().build()) .build(); @@ -1312,7 +1315,8 @@ public void setIamPolicyExceptionTest() throws Exception { try { SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder() - .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + .setResource( + ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) .setPolicy(Policy.newBuilder().build()) .build(); client.setIamPolicy(request); @@ -1330,7 +1334,8 @@ public void testIamPermissionsTest() throws Exception { TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder() - .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + .setResource( + ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) .addAllPermissions(new ArrayList()) .build(); @@ -1357,7 +1362,8 @@ public void testIamPermissionsExceptionTest() throws Exception { try { TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder() - .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + .setResource( + ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) .addAllPermissions(new ArrayList()) .build(); client.testIamPermissions(request); diff --git a/google-cloud-servicedirectory/src/test/java/com/google/cloud/servicedirectory/v1beta1/RegistrationServiceClientTest.java b/google-cloud-servicedirectory/src/test/java/com/google/cloud/servicedirectory/v1beta1/RegistrationServiceClientTest.java index 13a91adf..6904b8d9 100644 --- a/google-cloud-servicedirectory/src/test/java/com/google/cloud/servicedirectory/v1beta1/RegistrationServiceClientTest.java +++ b/google-cloud-servicedirectory/src/test/java/com/google/cloud/servicedirectory/v1beta1/RegistrationServiceClientTest.java @@ -39,6 +39,7 @@ import com.google.protobuf.ByteString; import com.google.protobuf.Empty; import com.google.protobuf.FieldMask; +import com.google.protobuf.Timestamp; import io.grpc.StatusRuntimeException; import java.io.IOException; import java.util.ArrayList; @@ -98,6 +99,8 @@ public void createNamespaceTest() throws Exception { Namespace.newBuilder() .setName(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) .putAllLabels(new HashMap()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockRegistrationService.addResponse(expectedResponse); @@ -143,6 +146,8 @@ public void createNamespaceTest2() throws Exception { Namespace.newBuilder() .setName(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) .putAllLabels(new HashMap()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockRegistrationService.addResponse(expectedResponse); @@ -276,6 +281,8 @@ public void getNamespaceTest() throws Exception { Namespace.newBuilder() .setName(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) .putAllLabels(new HashMap()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockRegistrationService.addResponse(expectedResponse); @@ -315,6 +322,8 @@ public void getNamespaceTest2() throws Exception { Namespace.newBuilder() .setName(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) .putAllLabels(new HashMap()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockRegistrationService.addResponse(expectedResponse); @@ -354,6 +363,8 @@ public void updateNamespaceTest() throws Exception { Namespace.newBuilder() .setName(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) .putAllLabels(new HashMap()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockRegistrationService.addResponse(expectedResponse); @@ -466,6 +477,8 @@ public void createServiceTest() throws Exception { ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) .putAllMetadata(new HashMap()) .addAllEndpoints(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockRegistrationService.addResponse(expectedResponse); @@ -513,6 +526,8 @@ public void createServiceTest2() throws Exception { ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) .putAllMetadata(new HashMap()) .addAllEndpoints(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockRegistrationService.addResponse(expectedResponse); @@ -648,6 +663,8 @@ public void getServiceTest() throws Exception { ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) .putAllMetadata(new HashMap()) .addAllEndpoints(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockRegistrationService.addResponse(expectedResponse); @@ -689,6 +706,8 @@ public void getServiceTest2() throws Exception { ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) .putAllMetadata(new HashMap()) .addAllEndpoints(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockRegistrationService.addResponse(expectedResponse); @@ -730,6 +749,8 @@ public void updateServiceTest() throws Exception { ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) .putAllMetadata(new HashMap()) .addAllEndpoints(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockRegistrationService.addResponse(expectedResponse); @@ -844,6 +865,9 @@ public void createEndpointTest() throws Exception { .setAddress("address-1147692044") .setPort(3446913) .putAllMetadata(new HashMap()) + .setNetwork(NetworkName.of("[PROJECT]", "[NETWORK]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockRegistrationService.addResponse(expectedResponse); @@ -893,6 +917,9 @@ public void createEndpointTest2() throws Exception { .setAddress("address-1147692044") .setPort(3446913) .putAllMetadata(new HashMap()) + .setNetwork(NetworkName.of("[PROJECT]", "[NETWORK]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockRegistrationService.addResponse(expectedResponse); @@ -1030,6 +1057,9 @@ public void getEndpointTest() throws Exception { .setAddress("address-1147692044") .setPort(3446913) .putAllMetadata(new HashMap()) + .setNetwork(NetworkName.of("[PROJECT]", "[NETWORK]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockRegistrationService.addResponse(expectedResponse); @@ -1075,6 +1105,9 @@ public void getEndpointTest2() throws Exception { .setAddress("address-1147692044") .setPort(3446913) .putAllMetadata(new HashMap()) + .setNetwork(NetworkName.of("[PROJECT]", "[NETWORK]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockRegistrationService.addResponse(expectedResponse); @@ -1118,6 +1151,9 @@ public void updateEndpointTest() throws Exception { .setAddress("address-1147692044") .setPort(3446913) .putAllMetadata(new HashMap()) + .setNetwork(NetworkName.of("[PROJECT]", "[NETWORK]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockRegistrationService.addResponse(expectedResponse); @@ -1236,7 +1272,8 @@ public void getIamPolicyTest() throws Exception { GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder() - .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + .setResource( + ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) .setOptions(GetPolicyOptions.newBuilder().build()) .build(); @@ -1263,7 +1300,8 @@ public void getIamPolicyExceptionTest() throws Exception { try { GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder() - .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + .setResource( + ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) .setOptions(GetPolicyOptions.newBuilder().build()) .build(); client.getIamPolicy(request); @@ -1285,7 +1323,8 @@ public void setIamPolicyTest() throws Exception { SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder() - .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + .setResource( + ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) .setPolicy(Policy.newBuilder().build()) .build(); @@ -1312,7 +1351,8 @@ public void setIamPolicyExceptionTest() throws Exception { try { SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder() - .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + .setResource( + ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) .setPolicy(Policy.newBuilder().build()) .build(); client.setIamPolicy(request); @@ -1330,7 +1370,8 @@ public void testIamPermissionsTest() throws Exception { TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder() - .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + .setResource( + ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) .addAllPermissions(new ArrayList()) .build(); @@ -1357,7 +1398,8 @@ public void testIamPermissionsExceptionTest() throws Exception { try { TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder() - .setResource(NamespaceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]").toString()) + .setResource( + ServiceName.of("[PROJECT]", "[LOCATION]", "[NAMESPACE]", "[SERVICE]").toString()) .addAllPermissions(new ArrayList()) .build(); client.testIamPermissions(request); diff --git a/grpc-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/RegistrationServiceGrpc.java b/grpc-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/RegistrationServiceGrpc.java index d32ee739..87d2cc56 100644 --- a/grpc-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/RegistrationServiceGrpc.java +++ b/grpc-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/RegistrationServiceGrpc.java @@ -934,7 +934,7 @@ public abstract static class RegistrationServiceImplBase implements io.grpc.Bind * * *

-     * Creates a namespace, and returns the new Namespace.
+     * Creates a namespace, and returns the new namespace.
      * 
*/ public void createNamespace( @@ -1010,7 +1010,7 @@ public void deleteNamespace( * * *
-     * Creates a service, and returns the new Service.
+     * Creates a service, and returns the new service.
      * 
*/ public void createService( @@ -1084,7 +1084,7 @@ public void deleteService( * * *
-     * Creates a endpoint, and returns the new Endpoint.
+     * Creates an endpoint, and returns the new endpoint.
      * 
*/ public void createEndpoint( @@ -1114,7 +1114,7 @@ public void listEndpoints( * * *
-     * Gets a endpoint.
+     * Gets an endpoint.
      * 
*/ public void getEndpoint( @@ -1129,7 +1129,7 @@ public void getEndpoint( * * *
-     * Updates a endpoint.
+     * Updates an endpoint.
      * 
*/ public void updateEndpoint( @@ -1144,7 +1144,7 @@ public void updateEndpoint( * * *
-     * Deletes a endpoint.
+     * Deletes an endpoint.
      * 
*/ public void deleteEndpoint( @@ -1359,7 +1359,7 @@ protected RegistrationServiceStub build( * * *
-     * Creates a namespace, and returns the new Namespace.
+     * Creates a namespace, and returns the new namespace.
      * 
*/ public void createNamespace( @@ -1445,7 +1445,7 @@ public void deleteNamespace( * * *
-     * Creates a service, and returns the new Service.
+     * Creates a service, and returns the new service.
      * 
*/ public void createService( @@ -1528,7 +1528,7 @@ public void deleteService( * * *
-     * Creates a endpoint, and returns the new Endpoint.
+     * Creates an endpoint, and returns the new endpoint.
      * 
*/ public void createEndpoint( @@ -1562,7 +1562,7 @@ public void listEndpoints( * * *
-     * Gets a endpoint.
+     * Gets an endpoint.
      * 
*/ public void getEndpoint( @@ -1579,7 +1579,7 @@ public void getEndpoint( * * *
-     * Updates a endpoint.
+     * Updates an endpoint.
      * 
*/ public void updateEndpoint( @@ -1596,7 +1596,7 @@ public void updateEndpoint( * * *
-     * Deletes a endpoint.
+     * Deletes an endpoint.
      * 
*/ public void deleteEndpoint( @@ -1693,7 +1693,7 @@ protected RegistrationServiceBlockingStub build( * * *
-     * Creates a namespace, and returns the new Namespace.
+     * Creates a namespace, and returns the new namespace.
      * 
*/ public com.google.cloud.servicedirectory.v1beta1.Namespace createNamespace( @@ -1759,7 +1759,7 @@ public com.google.protobuf.Empty deleteNamespace( * * *
-     * Creates a service, and returns the new Service.
+     * Creates a service, and returns the new service.
      * 
*/ public com.google.cloud.servicedirectory.v1beta1.Service createService( @@ -1825,7 +1825,7 @@ public com.google.protobuf.Empty deleteService( * * *
-     * Creates a endpoint, and returns the new Endpoint.
+     * Creates an endpoint, and returns the new endpoint.
      * 
*/ public com.google.cloud.servicedirectory.v1beta1.Endpoint createEndpoint( @@ -1851,7 +1851,7 @@ public com.google.cloud.servicedirectory.v1beta1.ListEndpointsResponse listEndpo * * *
-     * Gets a endpoint.
+     * Gets an endpoint.
      * 
*/ public com.google.cloud.servicedirectory.v1beta1.Endpoint getEndpoint( @@ -1864,7 +1864,7 @@ public com.google.cloud.servicedirectory.v1beta1.Endpoint getEndpoint( * * *
-     * Updates a endpoint.
+     * Updates an endpoint.
      * 
*/ public com.google.cloud.servicedirectory.v1beta1.Endpoint updateEndpoint( @@ -1877,7 +1877,7 @@ public com.google.cloud.servicedirectory.v1beta1.Endpoint updateEndpoint( * * *
-     * Deletes a endpoint.
+     * Deletes an endpoint.
      * 
*/ public com.google.protobuf.Empty deleteEndpoint( @@ -1959,7 +1959,7 @@ protected RegistrationServiceFutureStub build( * * *
-     * Creates a namespace, and returns the new Namespace.
+     * Creates a namespace, and returns the new namespace.
      * 
*/ public com.google.common.util.concurrent.ListenableFuture< @@ -2029,7 +2029,7 @@ protected RegistrationServiceFutureStub build( * * *
-     * Creates a service, and returns the new Service.
+     * Creates a service, and returns the new service.
      * 
*/ public com.google.common.util.concurrent.ListenableFuture< @@ -2099,7 +2099,7 @@ protected RegistrationServiceFutureStub build( * * *
-     * Creates a endpoint, and returns the new Endpoint.
+     * Creates an endpoint, and returns the new endpoint.
      * 
*/ public com.google.common.util.concurrent.ListenableFuture< @@ -2127,7 +2127,7 @@ protected RegistrationServiceFutureStub build( * * *
-     * Gets a endpoint.
+     * Gets an endpoint.
      * 
*/ public com.google.common.util.concurrent.ListenableFuture< @@ -2141,7 +2141,7 @@ protected RegistrationServiceFutureStub build( * * *
-     * Updates a endpoint.
+     * Updates an endpoint.
      * 
*/ public com.google.common.util.concurrent.ListenableFuture< @@ -2155,7 +2155,7 @@ protected RegistrationServiceFutureStub build( * * *
-     * Deletes a endpoint.
+     * Deletes an endpoint.
      * 
*/ public com.google.common.util.concurrent.ListenableFuture diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/Endpoint.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/Endpoint.java index f03ddeeb..c7b78342 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/Endpoint.java +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/Endpoint.java @@ -42,6 +42,7 @@ private Endpoint(com.google.protobuf.GeneratedMessageV3.Builder builder) { private Endpoint() { name_ = ""; address_ = ""; + network_ = ""; } @java.lang.Override @@ -106,6 +107,43 @@ private Endpoint( MetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); metadata_.getMutableMap().put(metadata__.getKey(), metadata__.getValue()); + break; + } + case 42: + { + java.lang.String s = input.readStringRequireUtf8(); + + network_ = s; + break; + } + case 50: + { + com.google.protobuf.Timestamp.Builder subBuilder = null; + if (createTime_ != null) { + subBuilder = createTime_.toBuilder(); + } + createTime_ = + input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(createTime_); + createTime_ = subBuilder.buildPartial(); + } + + break; + } + case 58: + { + com.google.protobuf.Timestamp.Builder subBuilder = null; + if (updateTime_ != null) { + subBuilder = updateTime_.toBuilder(); + } + updateTime_ = + input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(updateTime_); + updateTime_ = subBuilder.buildPartial(); + } + break; } default: @@ -160,7 +198,7 @@ protected com.google.protobuf.MapField internalGetMapField(int number) { * *
    * Immutable. The resource name for the endpoint in the format
-   * 'projects/*/locations/*/namespaces/*/services/*/endpoints/*'.
+   * `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
    * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -184,7 +222,7 @@ public java.lang.String getName() { * *
    * Immutable. The resource name for the endpoint in the format
-   * 'projects/*/locations/*/namespaces/*/services/*/endpoints/*'.
+   * `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
    * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -210,13 +248,12 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-   * Optional. An IPv4 or IPv6 address. Service Directory will reject bad
-   * addresses like:
-   *   "8.8.8"
-   *   "8.8.8.8:53"
-   *   "test:bad:address"
-   *   "[::1]"
-   *   "[::1]:8080"
+   * Optional. An IPv4 or IPv6 address. Service Directory rejects bad addresses like:
+   * *   `8.8.8`
+   * *   `8.8.8.8:53`
+   * *   `test:bad:address`
+   * *   `[::1]`
+   * *   `[::1]:8080`
    * Limited to 45 characters.
    * 
* @@ -240,13 +277,12 @@ public java.lang.String getAddress() { * * *
-   * Optional. An IPv4 or IPv6 address. Service Directory will reject bad
-   * addresses like:
-   *   "8.8.8"
-   *   "8.8.8.8:53"
-   *   "test:bad:address"
-   *   "[::1]"
-   *   "[::1]:8080"
+   * Optional. An IPv4 or IPv6 address. Service Directory rejects bad addresses like:
+   * *   `8.8.8`
+   * *   `8.8.8.8:53`
+   * *   `test:bad:address`
+   * *   `[::1]`
+   * *   `[::1]:8080`
    * Limited to 45 characters.
    * 
* @@ -273,7 +309,7 @@ public com.google.protobuf.ByteString getAddressBytes() { * * *
-   * Optional. Service Directory will reject values outside of [0, 65535].
+   * Optional. Service Directory rejects values outside of `[0, 65535]`.
    * 
* * int32 port = 3 [(.google.api.field_behavior) = OPTIONAL]; @@ -315,9 +351,26 @@ public int getMetadataCount() { * *
    * Optional. Metadata for the endpoint. This data can be consumed by service
-   * clients.  The entire metadata dictionary may contain up to 512 characters,
-   * spread accoss all key-value pairs. Metadata that goes beyond any these
-   * limits will be rejected.
+   * clients.
+   * Restrictions:
+   * *   The entire metadata dictionary may contain up to 512 characters,
+   *     spread accoss all key-value pairs. Metadata that goes beyond this
+   *     limit are rejected
+   * *   Valid metadata keys have two segments: an optional prefix and name,
+   *     separated by a slash (/). The name segment is required and must be 63
+   *     characters or less, beginning and ending with an alphanumeric character
+   *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+   *     alphanumerics between. The prefix is optional. If specified, the prefix
+   *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+   *     not longer than 253 characters in total, followed by a slash (/).
+   *     Metadata that fails to meet these requirements are rejected
+   * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+   *     for system metadata managed by Service Directory. If the user tries
+   *     to write to these keyspaces, those entries are silently ignored by
+   *     the system
+   * Note: This field is equivalent to the `annotations` field in the v1 API.
+   * They have the same syntax and read/write to the same location in Service
+   * Directory.
    * 
* * map<string, string> metadata = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -340,9 +393,26 @@ public java.util.Map getMetadata() { * *
    * Optional. Metadata for the endpoint. This data can be consumed by service
-   * clients.  The entire metadata dictionary may contain up to 512 characters,
-   * spread accoss all key-value pairs. Metadata that goes beyond any these
-   * limits will be rejected.
+   * clients.
+   * Restrictions:
+   * *   The entire metadata dictionary may contain up to 512 characters,
+   *     spread accoss all key-value pairs. Metadata that goes beyond this
+   *     limit are rejected
+   * *   Valid metadata keys have two segments: an optional prefix and name,
+   *     separated by a slash (/). The name segment is required and must be 63
+   *     characters or less, beginning and ending with an alphanumeric character
+   *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+   *     alphanumerics between. The prefix is optional. If specified, the prefix
+   *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+   *     not longer than 253 characters in total, followed by a slash (/).
+   *     Metadata that fails to meet these requirements are rejected
+   * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+   *     for system metadata managed by Service Directory. If the user tries
+   *     to write to these keyspaces, those entries are silently ignored by
+   *     the system
+   * Note: This field is equivalent to the `annotations` field in the v1 API.
+   * They have the same syntax and read/write to the same location in Service
+   * Directory.
    * 
* * map<string, string> metadata = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -356,9 +426,26 @@ public java.util.Map getMetadataMap() { * *
    * Optional. Metadata for the endpoint. This data can be consumed by service
-   * clients.  The entire metadata dictionary may contain up to 512 characters,
-   * spread accoss all key-value pairs. Metadata that goes beyond any these
-   * limits will be rejected.
+   * clients.
+   * Restrictions:
+   * *   The entire metadata dictionary may contain up to 512 characters,
+   *     spread accoss all key-value pairs. Metadata that goes beyond this
+   *     limit are rejected
+   * *   Valid metadata keys have two segments: an optional prefix and name,
+   *     separated by a slash (/). The name segment is required and must be 63
+   *     characters or less, beginning and ending with an alphanumeric character
+   *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+   *     alphanumerics between. The prefix is optional. If specified, the prefix
+   *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+   *     not longer than 253 characters in total, followed by a slash (/).
+   *     Metadata that fails to meet these requirements are rejected
+   * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+   *     for system metadata managed by Service Directory. If the user tries
+   *     to write to these keyspaces, those entries are silently ignored by
+   *     the system
+   * Note: This field is equivalent to the `annotations` field in the v1 API.
+   * They have the same syntax and read/write to the same location in Service
+   * Directory.
    * 
* * map<string, string> metadata = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -377,9 +464,26 @@ public java.lang.String getMetadataOrDefault( * *
    * Optional. Metadata for the endpoint. This data can be consumed by service
-   * clients.  The entire metadata dictionary may contain up to 512 characters,
-   * spread accoss all key-value pairs. Metadata that goes beyond any these
-   * limits will be rejected.
+   * clients.
+   * Restrictions:
+   * *   The entire metadata dictionary may contain up to 512 characters,
+   *     spread accoss all key-value pairs. Metadata that goes beyond this
+   *     limit are rejected
+   * *   Valid metadata keys have two segments: an optional prefix and name,
+   *     separated by a slash (/). The name segment is required and must be 63
+   *     characters or less, beginning and ending with an alphanumeric character
+   *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+   *     alphanumerics between. The prefix is optional. If specified, the prefix
+   *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+   *     not longer than 253 characters in total, followed by a slash (/).
+   *     Metadata that fails to meet these requirements are rejected
+   * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+   *     for system metadata managed by Service Directory. If the user tries
+   *     to write to these keyspaces, those entries are silently ignored by
+   *     the system
+   * Note: This field is equivalent to the `annotations` field in the v1 API.
+   * They have the same syntax and read/write to the same location in Service
+   * Directory.
    * 
* * map<string, string> metadata = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -396,6 +500,167 @@ public java.lang.String getMetadataOrThrow(java.lang.String key) { return map.get(key); } + public static final int NETWORK_FIELD_NUMBER = 5; + private volatile java.lang.Object network_; + /** + * + * + *
+   * Immutable. The Google Compute Engine network (VPC) of the endpoint in the format
+   * `projects/<project number>/locations/global/networks/*`.
+   * The project must be specified by project number (project id is rejected).
+   * Incorrectly formatted networks are rejected, but no other validation
+   * is performed on this field (ex. network or project existence, reachability,
+   * or permissions).
+   * 
+ * + * + * string network = 5 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { ... } + * + * + * @return The network. + */ + @java.lang.Override + public java.lang.String getNetwork() { + java.lang.Object ref = network_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + network_ = s; + return s; + } + } + /** + * + * + *
+   * Immutable. The Google Compute Engine network (VPC) of the endpoint in the format
+   * `projects/<project number>/locations/global/networks/*`.
+   * The project must be specified by project number (project id is rejected).
+   * Incorrectly formatted networks are rejected, but no other validation
+   * is performed on this field (ex. network or project existence, reachability,
+   * or permissions).
+   * 
+ * + * + * string network = 5 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for network. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNetworkBytes() { + java.lang.Object ref = network_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + network_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int CREATE_TIME_FIELD_NUMBER = 6; + private com.google.protobuf.Timestamp createTime_; + /** + * + * + *
+   * Output only. The timestamp when the endpoint was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return createTime_ != null; + } + /** + * + * + *
+   * Output only. The timestamp when the endpoint was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + /** + * + * + *
+   * Output only. The timestamp when the endpoint was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return getCreateTime(); + } + + public static final int UPDATE_TIME_FIELD_NUMBER = 7; + private com.google.protobuf.Timestamp updateTime_; + /** + * + * + *
+   * Output only. The timestamp when the endpoint was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + @java.lang.Override + public boolean hasUpdateTime() { + return updateTime_ != null; + } + /** + * + * + *
+   * Output only. The timestamp when the endpoint was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getUpdateTime() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + /** + * + * + *
+   * Output only. The timestamp when the endpoint was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + return getUpdateTime(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -421,6 +686,15 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io } com.google.protobuf.GeneratedMessageV3.serializeStringMapTo( output, internalGetMetadata(), MetadataDefaultEntryHolder.defaultEntry, 4); + if (!getNetworkBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 5, network_); + } + if (createTime_ != null) { + output.writeMessage(6, getCreateTime()); + } + if (updateTime_ != null) { + output.writeMessage(7, getUpdateTime()); + } unknownFields.writeTo(output); } @@ -449,6 +723,15 @@ public int getSerializedSize() { .build(); size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, metadata__); } + if (!getNetworkBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, network_); + } + if (createTime_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getCreateTime()); + } + if (updateTime_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, getUpdateTime()); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -469,6 +752,15 @@ public boolean equals(final java.lang.Object obj) { if (!getAddress().equals(other.getAddress())) return false; if (getPort() != other.getPort()) return false; if (!internalGetMetadata().equals(other.internalGetMetadata())) return false; + if (!getNetwork().equals(other.getNetwork())) return false; + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (hasUpdateTime() != other.hasUpdateTime()) return false; + if (hasUpdateTime()) { + if (!getUpdateTime().equals(other.getUpdateTime())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -490,6 +782,16 @@ public int hashCode() { hash = (37 * hash) + METADATA_FIELD_NUMBER; hash = (53 * hash) + internalGetMetadata().hashCode(); } + hash = (37 * hash) + NETWORK_FIELD_NUMBER; + hash = (53 * hash) + getNetwork().hashCode(); + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + if (hasUpdateTime()) { + hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getUpdateTime().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -664,6 +966,20 @@ public Builder clear() { port_ = 0; internalGetMutableMetadata().clear(); + network_ = ""; + + if (createTimeBuilder_ == null) { + createTime_ = null; + } else { + createTime_ = null; + createTimeBuilder_ = null; + } + if (updateTimeBuilder_ == null) { + updateTime_ = null; + } else { + updateTime_ = null; + updateTimeBuilder_ = null; + } return this; } @@ -697,6 +1013,17 @@ public com.google.cloud.servicedirectory.v1beta1.Endpoint buildPartial() { result.port_ = port_; result.metadata_ = internalGetMetadata(); result.metadata_.makeImmutable(); + result.network_ = network_; + if (createTimeBuilder_ == null) { + result.createTime_ = createTime_; + } else { + result.createTime_ = createTimeBuilder_.build(); + } + if (updateTimeBuilder_ == null) { + result.updateTime_ = updateTime_; + } else { + result.updateTime_ = updateTimeBuilder_.build(); + } onBuilt(); return result; } @@ -759,6 +1086,16 @@ public Builder mergeFrom(com.google.cloud.servicedirectory.v1beta1.Endpoint othe setPort(other.getPort()); } internalGetMutableMetadata().mergeFrom(other.internalGetMetadata()); + if (!other.getNetwork().isEmpty()) { + network_ = other.network_; + onChanged(); + } + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (other.hasUpdateTime()) { + mergeUpdateTime(other.getUpdateTime()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -797,7 +1134,7 @@ public Builder mergeFrom( * *
      * Immutable. The resource name for the endpoint in the format
-     * 'projects/*/locations/*/namespaces/*/services/*/endpoints/*'.
+     * `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
      * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -820,7 +1157,7 @@ public java.lang.String getName() { * *
      * Immutable. The resource name for the endpoint in the format
-     * 'projects/*/locations/*/namespaces/*/services/*/endpoints/*'.
+     * `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
      * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -843,7 +1180,7 @@ public com.google.protobuf.ByteString getNameBytes() { * *
      * Immutable. The resource name for the endpoint in the format
-     * 'projects/*/locations/*/namespaces/*/services/*/endpoints/*'.
+     * `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
      * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -865,7 +1202,7 @@ public Builder setName(java.lang.String value) { * *
      * Immutable. The resource name for the endpoint in the format
-     * 'projects/*/locations/*/namespaces/*/services/*/endpoints/*'.
+     * `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
      * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -883,7 +1220,7 @@ public Builder clearName() { * *
      * Immutable. The resource name for the endpoint in the format
-     * 'projects/*/locations/*/namespaces/*/services/*/endpoints/*'.
+     * `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
      * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -907,13 +1244,12 @@ public Builder setNameBytes(com.google.protobuf.ByteString value) { * * *
-     * Optional. An IPv4 or IPv6 address. Service Directory will reject bad
-     * addresses like:
-     *   "8.8.8"
-     *   "8.8.8.8:53"
-     *   "test:bad:address"
-     *   "[::1]"
-     *   "[::1]:8080"
+     * Optional. An IPv4 or IPv6 address. Service Directory rejects bad addresses like:
+     * *   `8.8.8`
+     * *   `8.8.8.8:53`
+     * *   `test:bad:address`
+     * *   `[::1]`
+     * *   `[::1]:8080`
      * Limited to 45 characters.
      * 
* @@ -936,13 +1272,12 @@ public java.lang.String getAddress() { * * *
-     * Optional. An IPv4 or IPv6 address. Service Directory will reject bad
-     * addresses like:
-     *   "8.8.8"
-     *   "8.8.8.8:53"
-     *   "test:bad:address"
-     *   "[::1]"
-     *   "[::1]:8080"
+     * Optional. An IPv4 or IPv6 address. Service Directory rejects bad addresses like:
+     * *   `8.8.8`
+     * *   `8.8.8.8:53`
+     * *   `test:bad:address`
+     * *   `[::1]`
+     * *   `[::1]:8080`
      * Limited to 45 characters.
      * 
* @@ -965,13 +1300,12 @@ public com.google.protobuf.ByteString getAddressBytes() { * * *
-     * Optional. An IPv4 or IPv6 address. Service Directory will reject bad
-     * addresses like:
-     *   "8.8.8"
-     *   "8.8.8.8:53"
-     *   "test:bad:address"
-     *   "[::1]"
-     *   "[::1]:8080"
+     * Optional. An IPv4 or IPv6 address. Service Directory rejects bad addresses like:
+     * *   `8.8.8`
+     * *   `8.8.8.8:53`
+     * *   `test:bad:address`
+     * *   `[::1]`
+     * *   `[::1]:8080`
      * Limited to 45 characters.
      * 
* @@ -993,13 +1327,12 @@ public Builder setAddress(java.lang.String value) { * * *
-     * Optional. An IPv4 or IPv6 address. Service Directory will reject bad
-     * addresses like:
-     *   "8.8.8"
-     *   "8.8.8.8:53"
-     *   "test:bad:address"
-     *   "[::1]"
-     *   "[::1]:8080"
+     * Optional. An IPv4 or IPv6 address. Service Directory rejects bad addresses like:
+     * *   `8.8.8`
+     * *   `8.8.8.8:53`
+     * *   `test:bad:address`
+     * *   `[::1]`
+     * *   `[::1]:8080`
      * Limited to 45 characters.
      * 
* @@ -1017,13 +1350,12 @@ public Builder clearAddress() { * * *
-     * Optional. An IPv4 or IPv6 address. Service Directory will reject bad
-     * addresses like:
-     *   "8.8.8"
-     *   "8.8.8.8:53"
-     *   "test:bad:address"
-     *   "[::1]"
-     *   "[::1]:8080"
+     * Optional. An IPv4 or IPv6 address. Service Directory rejects bad addresses like:
+     * *   `8.8.8`
+     * *   `8.8.8.8:53`
+     * *   `test:bad:address`
+     * *   `[::1]`
+     * *   `[::1]:8080`
      * Limited to 45 characters.
      * 
* @@ -1048,7 +1380,7 @@ public Builder setAddressBytes(com.google.protobuf.ByteString value) { * * *
-     * Optional. Service Directory will reject values outside of [0, 65535].
+     * Optional. Service Directory rejects values outside of `[0, 65535]`.
      * 
* * int32 port = 3 [(.google.api.field_behavior) = OPTIONAL]; @@ -1063,7 +1395,7 @@ public int getPort() { * * *
-     * Optional. Service Directory will reject values outside of [0, 65535].
+     * Optional. Service Directory rejects values outside of `[0, 65535]`.
      * 
* * int32 port = 3 [(.google.api.field_behavior) = OPTIONAL]; @@ -1081,7 +1413,7 @@ public Builder setPort(int value) { * * *
-     * Optional. Service Directory will reject values outside of [0, 65535].
+     * Optional. Service Directory rejects values outside of `[0, 65535]`.
      * 
* * int32 port = 3 [(.google.api.field_behavior) = OPTIONAL]; @@ -1126,9 +1458,26 @@ public int getMetadataCount() { * *
      * Optional. Metadata for the endpoint. This data can be consumed by service
-     * clients.  The entire metadata dictionary may contain up to 512 characters,
-     * spread accoss all key-value pairs. Metadata that goes beyond any these
-     * limits will be rejected.
+     * clients.
+     * Restrictions:
+     * *   The entire metadata dictionary may contain up to 512 characters,
+     *     spread accoss all key-value pairs. Metadata that goes beyond this
+     *     limit are rejected
+     * *   Valid metadata keys have two segments: an optional prefix and name,
+     *     separated by a slash (/). The name segment is required and must be 63
+     *     characters or less, beginning and ending with an alphanumeric character
+     *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+     *     alphanumerics between. The prefix is optional. If specified, the prefix
+     *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+     *     not longer than 253 characters in total, followed by a slash (/).
+     *     Metadata that fails to meet these requirements are rejected
+     * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+     *     for system metadata managed by Service Directory. If the user tries
+     *     to write to these keyspaces, those entries are silently ignored by
+     *     the system
+     * Note: This field is equivalent to the `annotations` field in the v1 API.
+     * They have the same syntax and read/write to the same location in Service
+     * Directory.
      * 
* * map<string, string> metadata = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1152,9 +1501,26 @@ public java.util.Map getMetadata() { * *
      * Optional. Metadata for the endpoint. This data can be consumed by service
-     * clients.  The entire metadata dictionary may contain up to 512 characters,
-     * spread accoss all key-value pairs. Metadata that goes beyond any these
-     * limits will be rejected.
+     * clients.
+     * Restrictions:
+     * *   The entire metadata dictionary may contain up to 512 characters,
+     *     spread accoss all key-value pairs. Metadata that goes beyond this
+     *     limit are rejected
+     * *   Valid metadata keys have two segments: an optional prefix and name,
+     *     separated by a slash (/). The name segment is required and must be 63
+     *     characters or less, beginning and ending with an alphanumeric character
+     *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+     *     alphanumerics between. The prefix is optional. If specified, the prefix
+     *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+     *     not longer than 253 characters in total, followed by a slash (/).
+     *     Metadata that fails to meet these requirements are rejected
+     * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+     *     for system metadata managed by Service Directory. If the user tries
+     *     to write to these keyspaces, those entries are silently ignored by
+     *     the system
+     * Note: This field is equivalent to the `annotations` field in the v1 API.
+     * They have the same syntax and read/write to the same location in Service
+     * Directory.
      * 
* * map<string, string> metadata = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1169,9 +1535,26 @@ public java.util.Map getMetadataMap() { * *
      * Optional. Metadata for the endpoint. This data can be consumed by service
-     * clients.  The entire metadata dictionary may contain up to 512 characters,
-     * spread accoss all key-value pairs. Metadata that goes beyond any these
-     * limits will be rejected.
+     * clients.
+     * Restrictions:
+     * *   The entire metadata dictionary may contain up to 512 characters,
+     *     spread accoss all key-value pairs. Metadata that goes beyond this
+     *     limit are rejected
+     * *   Valid metadata keys have two segments: an optional prefix and name,
+     *     separated by a slash (/). The name segment is required and must be 63
+     *     characters or less, beginning and ending with an alphanumeric character
+     *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+     *     alphanumerics between. The prefix is optional. If specified, the prefix
+     *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+     *     not longer than 253 characters in total, followed by a slash (/).
+     *     Metadata that fails to meet these requirements are rejected
+     * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+     *     for system metadata managed by Service Directory. If the user tries
+     *     to write to these keyspaces, those entries are silently ignored by
+     *     the system
+     * Note: This field is equivalent to the `annotations` field in the v1 API.
+     * They have the same syntax and read/write to the same location in Service
+     * Directory.
      * 
* * map<string, string> metadata = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1191,9 +1574,26 @@ public java.lang.String getMetadataOrDefault( * *
      * Optional. Metadata for the endpoint. This data can be consumed by service
-     * clients.  The entire metadata dictionary may contain up to 512 characters,
-     * spread accoss all key-value pairs. Metadata that goes beyond any these
-     * limits will be rejected.
+     * clients.
+     * Restrictions:
+     * *   The entire metadata dictionary may contain up to 512 characters,
+     *     spread accoss all key-value pairs. Metadata that goes beyond this
+     *     limit are rejected
+     * *   Valid metadata keys have two segments: an optional prefix and name,
+     *     separated by a slash (/). The name segment is required and must be 63
+     *     characters or less, beginning and ending with an alphanumeric character
+     *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+     *     alphanumerics between. The prefix is optional. If specified, the prefix
+     *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+     *     not longer than 253 characters in total, followed by a slash (/).
+     *     Metadata that fails to meet these requirements are rejected
+     * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+     *     for system metadata managed by Service Directory. If the user tries
+     *     to write to these keyspaces, those entries are silently ignored by
+     *     the system
+     * Note: This field is equivalent to the `annotations` field in the v1 API.
+     * They have the same syntax and read/write to the same location in Service
+     * Directory.
      * 
* * map<string, string> metadata = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1220,9 +1620,26 @@ public Builder clearMetadata() { * *
      * Optional. Metadata for the endpoint. This data can be consumed by service
-     * clients.  The entire metadata dictionary may contain up to 512 characters,
-     * spread accoss all key-value pairs. Metadata that goes beyond any these
-     * limits will be rejected.
+     * clients.
+     * Restrictions:
+     * *   The entire metadata dictionary may contain up to 512 characters,
+     *     spread accoss all key-value pairs. Metadata that goes beyond this
+     *     limit are rejected
+     * *   Valid metadata keys have two segments: an optional prefix and name,
+     *     separated by a slash (/). The name segment is required and must be 63
+     *     characters or less, beginning and ending with an alphanumeric character
+     *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+     *     alphanumerics between. The prefix is optional. If specified, the prefix
+     *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+     *     not longer than 253 characters in total, followed by a slash (/).
+     *     Metadata that fails to meet these requirements are rejected
+     * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+     *     for system metadata managed by Service Directory. If the user tries
+     *     to write to these keyspaces, those entries are silently ignored by
+     *     the system
+     * Note: This field is equivalent to the `annotations` field in the v1 API.
+     * They have the same syntax and read/write to the same location in Service
+     * Directory.
      * 
* * map<string, string> metadata = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1245,9 +1662,26 @@ public java.util.Map getMutableMetadata() { * *
      * Optional. Metadata for the endpoint. This data can be consumed by service
-     * clients.  The entire metadata dictionary may contain up to 512 characters,
-     * spread accoss all key-value pairs. Metadata that goes beyond any these
-     * limits will be rejected.
+     * clients.
+     * Restrictions:
+     * *   The entire metadata dictionary may contain up to 512 characters,
+     *     spread accoss all key-value pairs. Metadata that goes beyond this
+     *     limit are rejected
+     * *   Valid metadata keys have two segments: an optional prefix and name,
+     *     separated by a slash (/). The name segment is required and must be 63
+     *     characters or less, beginning and ending with an alphanumeric character
+     *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+     *     alphanumerics between. The prefix is optional. If specified, the prefix
+     *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+     *     not longer than 253 characters in total, followed by a slash (/).
+     *     Metadata that fails to meet these requirements are rejected
+     * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+     *     for system metadata managed by Service Directory. If the user tries
+     *     to write to these keyspaces, those entries are silently ignored by
+     *     the system
+     * Note: This field is equivalent to the `annotations` field in the v1 API.
+     * They have the same syntax and read/write to the same location in Service
+     * Directory.
      * 
* * map<string, string> metadata = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1268,9 +1702,26 @@ public Builder putMetadata(java.lang.String key, java.lang.String value) { * *
      * Optional. Metadata for the endpoint. This data can be consumed by service
-     * clients.  The entire metadata dictionary may contain up to 512 characters,
-     * spread accoss all key-value pairs. Metadata that goes beyond any these
-     * limits will be rejected.
+     * clients.
+     * Restrictions:
+     * *   The entire metadata dictionary may contain up to 512 characters,
+     *     spread accoss all key-value pairs. Metadata that goes beyond this
+     *     limit are rejected
+     * *   Valid metadata keys have two segments: an optional prefix and name,
+     *     separated by a slash (/). The name segment is required and must be 63
+     *     characters or less, beginning and ending with an alphanumeric character
+     *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+     *     alphanumerics between. The prefix is optional. If specified, the prefix
+     *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+     *     not longer than 253 characters in total, followed by a slash (/).
+     *     Metadata that fails to meet these requirements are rejected
+     * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+     *     for system metadata managed by Service Directory. If the user tries
+     *     to write to these keyspaces, those entries are silently ignored by
+     *     the system
+     * Note: This field is equivalent to the `annotations` field in the v1 API.
+     * They have the same syntax and read/write to the same location in Service
+     * Directory.
      * 
* * map<string, string> metadata = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1281,6 +1732,549 @@ public Builder putAllMetadata(java.util.Map return this; } + private java.lang.Object network_ = ""; + /** + * + * + *
+     * Immutable. The Google Compute Engine network (VPC) of the endpoint in the format
+     * `projects/<project number>/locations/global/networks/*`.
+     * The project must be specified by project number (project id is rejected).
+     * Incorrectly formatted networks are rejected, but no other validation
+     * is performed on this field (ex. network or project existence, reachability,
+     * or permissions).
+     * 
+ * + * + * string network = 5 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { ... } + * + * + * @return The network. + */ + public java.lang.String getNetwork() { + java.lang.Object ref = network_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + network_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Immutable. The Google Compute Engine network (VPC) of the endpoint in the format
+     * `projects/<project number>/locations/global/networks/*`.
+     * The project must be specified by project number (project id is rejected).
+     * Incorrectly formatted networks are rejected, but no other validation
+     * is performed on this field (ex. network or project existence, reachability,
+     * or permissions).
+     * 
+ * + * + * string network = 5 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for network. + */ + public com.google.protobuf.ByteString getNetworkBytes() { + java.lang.Object ref = network_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + network_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Immutable. The Google Compute Engine network (VPC) of the endpoint in the format
+     * `projects/<project number>/locations/global/networks/*`.
+     * The project must be specified by project number (project id is rejected).
+     * Incorrectly formatted networks are rejected, but no other validation
+     * is performed on this field (ex. network or project existence, reachability,
+     * or permissions).
+     * 
+ * + * + * string network = 5 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { ... } + * + * + * @param value The network to set. + * @return This builder for chaining. + */ + public Builder setNetwork(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + network_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Immutable. The Google Compute Engine network (VPC) of the endpoint in the format
+     * `projects/<project number>/locations/global/networks/*`.
+     * The project must be specified by project number (project id is rejected).
+     * Incorrectly formatted networks are rejected, but no other validation
+     * is performed on this field (ex. network or project existence, reachability,
+     * or permissions).
+     * 
+ * + * + * string network = 5 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearNetwork() { + + network_ = getDefaultInstance().getNetwork(); + onChanged(); + return this; + } + /** + * + * + *
+     * Immutable. The Google Compute Engine network (VPC) of the endpoint in the format
+     * `projects/<project number>/locations/global/networks/*`.
+     * The project must be specified by project number (project id is rejected).
+     * Incorrectly formatted networks are rejected, but no other validation
+     * is performed on this field (ex. network or project existence, reachability,
+     * or permissions).
+     * 
+ * + * + * string network = 5 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for network to set. + * @return This builder for chaining. + */ + public Builder setNetworkBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + network_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.Timestamp createTime_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + createTimeBuilder_; + /** + * + * + *
+     * Output only. The timestamp when the endpoint was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return createTimeBuilder_ != null || createTime_ != null; + } + /** + * + * + *
+     * Output only. The timestamp when the endpoint was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Output only. The timestamp when the endpoint was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + onChanged(); + } else { + createTimeBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the endpoint was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + onChanged(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the endpoint was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (createTime_ != null) { + createTime_ = + com.google.protobuf.Timestamp.newBuilder(createTime_).mergeFrom(value).buildPartial(); + } else { + createTime_ = value; + } + onChanged(); + } else { + createTimeBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the endpoint was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + if (createTimeBuilder_ == null) { + createTime_ = null; + onChanged(); + } else { + createTime_ = null; + createTimeBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the endpoint was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + + onChanged(); + return getCreateTimeFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Output only. The timestamp when the endpoint was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + /** + * + * + *
+     * Output only. The timestamp when the endpoint was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + getCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private com.google.protobuf.Timestamp updateTime_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + updateTimeBuilder_; + /** + * + * + *
+     * Output only. The timestamp when the endpoint was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + public boolean hasUpdateTime() { + return updateTimeBuilder_ != null || updateTime_ != null; + } + /** + * + * + *
+     * Output only. The timestamp when the endpoint was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + public com.google.protobuf.Timestamp getUpdateTime() { + if (updateTimeBuilder_ == null) { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } else { + return updateTimeBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Output only. The timestamp when the endpoint was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateTime_ = value; + onChanged(); + } else { + updateTimeBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the endpoint was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (updateTimeBuilder_ == null) { + updateTime_ = builderForValue.build(); + onChanged(); + } else { + updateTimeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the endpoint was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (updateTime_ != null) { + updateTime_ = + com.google.protobuf.Timestamp.newBuilder(updateTime_).mergeFrom(value).buildPartial(); + } else { + updateTime_ = value; + } + onChanged(); + } else { + updateTimeBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the endpoint was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearUpdateTime() { + if (updateTimeBuilder_ == null) { + updateTime_ = null; + onChanged(); + } else { + updateTime_ = null; + updateTimeBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the endpoint was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() { + + onChanged(); + return getUpdateTimeFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Output only. The timestamp when the endpoint was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + if (updateTimeBuilder_ != null) { + return updateTimeBuilder_.getMessageOrBuilder(); + } else { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } + } + /** + * + * + *
+     * Output only. The timestamp when the endpoint was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + getUpdateTimeFieldBuilder() { + if (updateTimeBuilder_ == null) { + updateTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getUpdateTime(), getParentForChildren(), isClean()); + updateTime_ = null; + } + return updateTimeBuilder_; + } + @java.lang.Override public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/EndpointOrBuilder.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/EndpointOrBuilder.java index e8c114f1..5bf15fda 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/EndpointOrBuilder.java +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/EndpointOrBuilder.java @@ -28,7 +28,7 @@ public interface EndpointOrBuilder * *
    * Immutable. The resource name for the endpoint in the format
-   * 'projects/*/locations/*/namespaces/*/services/*/endpoints/*'.
+   * `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
    * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -41,7 +41,7 @@ public interface EndpointOrBuilder * *
    * Immutable. The resource name for the endpoint in the format
-   * 'projects/*/locations/*/namespaces/*/services/*/endpoints/*'.
+   * `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
    * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -54,13 +54,12 @@ public interface EndpointOrBuilder * * *
-   * Optional. An IPv4 or IPv6 address. Service Directory will reject bad
-   * addresses like:
-   *   "8.8.8"
-   *   "8.8.8.8:53"
-   *   "test:bad:address"
-   *   "[::1]"
-   *   "[::1]:8080"
+   * Optional. An IPv4 or IPv6 address. Service Directory rejects bad addresses like:
+   * *   `8.8.8`
+   * *   `8.8.8.8:53`
+   * *   `test:bad:address`
+   * *   `[::1]`
+   * *   `[::1]:8080`
    * Limited to 45 characters.
    * 
* @@ -73,13 +72,12 @@ public interface EndpointOrBuilder * * *
-   * Optional. An IPv4 or IPv6 address. Service Directory will reject bad
-   * addresses like:
-   *   "8.8.8"
-   *   "8.8.8.8:53"
-   *   "test:bad:address"
-   *   "[::1]"
-   *   "[::1]:8080"
+   * Optional. An IPv4 or IPv6 address. Service Directory rejects bad addresses like:
+   * *   `8.8.8`
+   * *   `8.8.8.8:53`
+   * *   `test:bad:address`
+   * *   `[::1]`
+   * *   `[::1]:8080`
    * Limited to 45 characters.
    * 
* @@ -93,7 +91,7 @@ public interface EndpointOrBuilder * * *
-   * Optional. Service Directory will reject values outside of [0, 65535].
+   * Optional. Service Directory rejects values outside of `[0, 65535]`.
    * 
* * int32 port = 3 [(.google.api.field_behavior) = OPTIONAL]; @@ -107,9 +105,26 @@ public interface EndpointOrBuilder * *
    * Optional. Metadata for the endpoint. This data can be consumed by service
-   * clients.  The entire metadata dictionary may contain up to 512 characters,
-   * spread accoss all key-value pairs. Metadata that goes beyond any these
-   * limits will be rejected.
+   * clients.
+   * Restrictions:
+   * *   The entire metadata dictionary may contain up to 512 characters,
+   *     spread accoss all key-value pairs. Metadata that goes beyond this
+   *     limit are rejected
+   * *   Valid metadata keys have two segments: an optional prefix and name,
+   *     separated by a slash (/). The name segment is required and must be 63
+   *     characters or less, beginning and ending with an alphanumeric character
+   *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+   *     alphanumerics between. The prefix is optional. If specified, the prefix
+   *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+   *     not longer than 253 characters in total, followed by a slash (/).
+   *     Metadata that fails to meet these requirements are rejected
+   * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+   *     for system metadata managed by Service Directory. If the user tries
+   *     to write to these keyspaces, those entries are silently ignored by
+   *     the system
+   * Note: This field is equivalent to the `annotations` field in the v1 API.
+   * They have the same syntax and read/write to the same location in Service
+   * Directory.
    * 
* * map<string, string> metadata = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -120,9 +135,26 @@ public interface EndpointOrBuilder * *
    * Optional. Metadata for the endpoint. This data can be consumed by service
-   * clients.  The entire metadata dictionary may contain up to 512 characters,
-   * spread accoss all key-value pairs. Metadata that goes beyond any these
-   * limits will be rejected.
+   * clients.
+   * Restrictions:
+   * *   The entire metadata dictionary may contain up to 512 characters,
+   *     spread accoss all key-value pairs. Metadata that goes beyond this
+   *     limit are rejected
+   * *   Valid metadata keys have two segments: an optional prefix and name,
+   *     separated by a slash (/). The name segment is required and must be 63
+   *     characters or less, beginning and ending with an alphanumeric character
+   *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+   *     alphanumerics between. The prefix is optional. If specified, the prefix
+   *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+   *     not longer than 253 characters in total, followed by a slash (/).
+   *     Metadata that fails to meet these requirements are rejected
+   * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+   *     for system metadata managed by Service Directory. If the user tries
+   *     to write to these keyspaces, those entries are silently ignored by
+   *     the system
+   * Note: This field is equivalent to the `annotations` field in the v1 API.
+   * They have the same syntax and read/write to the same location in Service
+   * Directory.
    * 
* * map<string, string> metadata = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -136,9 +168,26 @@ public interface EndpointOrBuilder * *
    * Optional. Metadata for the endpoint. This data can be consumed by service
-   * clients.  The entire metadata dictionary may contain up to 512 characters,
-   * spread accoss all key-value pairs. Metadata that goes beyond any these
-   * limits will be rejected.
+   * clients.
+   * Restrictions:
+   * *   The entire metadata dictionary may contain up to 512 characters,
+   *     spread accoss all key-value pairs. Metadata that goes beyond this
+   *     limit are rejected
+   * *   Valid metadata keys have two segments: an optional prefix and name,
+   *     separated by a slash (/). The name segment is required and must be 63
+   *     characters or less, beginning and ending with an alphanumeric character
+   *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+   *     alphanumerics between. The prefix is optional. If specified, the prefix
+   *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+   *     not longer than 253 characters in total, followed by a slash (/).
+   *     Metadata that fails to meet these requirements are rejected
+   * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+   *     for system metadata managed by Service Directory. If the user tries
+   *     to write to these keyspaces, those entries are silently ignored by
+   *     the system
+   * Note: This field is equivalent to the `annotations` field in the v1 API.
+   * They have the same syntax and read/write to the same location in Service
+   * Directory.
    * 
* * map<string, string> metadata = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -149,9 +198,26 @@ public interface EndpointOrBuilder * *
    * Optional. Metadata for the endpoint. This data can be consumed by service
-   * clients.  The entire metadata dictionary may contain up to 512 characters,
-   * spread accoss all key-value pairs. Metadata that goes beyond any these
-   * limits will be rejected.
+   * clients.
+   * Restrictions:
+   * *   The entire metadata dictionary may contain up to 512 characters,
+   *     spread accoss all key-value pairs. Metadata that goes beyond this
+   *     limit are rejected
+   * *   Valid metadata keys have two segments: an optional prefix and name,
+   *     separated by a slash (/). The name segment is required and must be 63
+   *     characters or less, beginning and ending with an alphanumeric character
+   *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+   *     alphanumerics between. The prefix is optional. If specified, the prefix
+   *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+   *     not longer than 253 characters in total, followed by a slash (/).
+   *     Metadata that fails to meet these requirements are rejected
+   * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+   *     for system metadata managed by Service Directory. If the user tries
+   *     to write to these keyspaces, those entries are silently ignored by
+   *     the system
+   * Note: This field is equivalent to the `annotations` field in the v1 API.
+   * They have the same syntax and read/write to the same location in Service
+   * Directory.
    * 
* * map<string, string> metadata = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -162,12 +228,144 @@ public interface EndpointOrBuilder * *
    * Optional. Metadata for the endpoint. This data can be consumed by service
-   * clients.  The entire metadata dictionary may contain up to 512 characters,
-   * spread accoss all key-value pairs. Metadata that goes beyond any these
-   * limits will be rejected.
+   * clients.
+   * Restrictions:
+   * *   The entire metadata dictionary may contain up to 512 characters,
+   *     spread accoss all key-value pairs. Metadata that goes beyond this
+   *     limit are rejected
+   * *   Valid metadata keys have two segments: an optional prefix and name,
+   *     separated by a slash (/). The name segment is required and must be 63
+   *     characters or less, beginning and ending with an alphanumeric character
+   *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+   *     alphanumerics between. The prefix is optional. If specified, the prefix
+   *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+   *     not longer than 253 characters in total, followed by a slash (/).
+   *     Metadata that fails to meet these requirements are rejected
+   * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+   *     for system metadata managed by Service Directory. If the user tries
+   *     to write to these keyspaces, those entries are silently ignored by
+   *     the system
+   * Note: This field is equivalent to the `annotations` field in the v1 API.
+   * They have the same syntax and read/write to the same location in Service
+   * Directory.
    * 
* * map<string, string> metadata = 4 [(.google.api.field_behavior) = OPTIONAL]; */ java.lang.String getMetadataOrThrow(java.lang.String key); + + /** + * + * + *
+   * Immutable. The Google Compute Engine network (VPC) of the endpoint in the format
+   * `projects/<project number>/locations/global/networks/*`.
+   * The project must be specified by project number (project id is rejected).
+   * Incorrectly formatted networks are rejected, but no other validation
+   * is performed on this field (ex. network or project existence, reachability,
+   * or permissions).
+   * 
+ * + * + * string network = 5 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { ... } + * + * + * @return The network. + */ + java.lang.String getNetwork(); + /** + * + * + *
+   * Immutable. The Google Compute Engine network (VPC) of the endpoint in the format
+   * `projects/<project number>/locations/global/networks/*`.
+   * The project must be specified by project number (project id is rejected).
+   * Incorrectly formatted networks are rejected, but no other validation
+   * is performed on this field (ex. network or project existence, reachability,
+   * or permissions).
+   * 
+ * + * + * string network = 5 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for network. + */ + com.google.protobuf.ByteString getNetworkBytes(); + + /** + * + * + *
+   * Output only. The timestamp when the endpoint was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + /** + * + * + *
+   * Output only. The timestamp when the endpoint was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + /** + * + * + *
+   * Output only. The timestamp when the endpoint was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. The timestamp when the endpoint was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + boolean hasUpdateTime(); + /** + * + * + *
+   * Output only. The timestamp when the endpoint was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + com.google.protobuf.Timestamp getUpdateTime(); + /** + * + * + *
+   * Output only. The timestamp when the endpoint was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder(); } diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/EndpointProto.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/EndpointProto.java index 82ba8049..f186d2d8 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/EndpointProto.java +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/EndpointProto.java @@ -47,24 +47,32 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "\n4google/cloud/servicedirectory/v1beta1/" + "endpoint.proto\022%google.cloud.servicedire" + "ctory.v1beta1\032\037google/api/field_behavior" - + ".proto\032\031google/api/resource.proto\032\034googl" - + "e/api/annotations.proto\"\346\002\n\010Endpoint\022\021\n\004" - + "name\030\001 \001(\tB\003\340A\005\022\024\n\007address\030\002 \001(\tB\003\340A\001\022\021\n" - + "\004port\030\003 \001(\005B\003\340A\001\022T\n\010metadata\030\004 \003(\0132=.goo" - + "gle.cloud.servicedirectory.v1beta1.Endpo" - + "int.MetadataEntryB\003\340A\001\032/\n\rMetadataEntry\022" - + "\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001:\226\001\352A\222\001\n(" - + "servicedirectory.googleapis.com/Endpoint" - + "\022fprojects/{project}/locations/{location" - + "}/namespaces/{namespace}/services/{servi" - + "ce}/endpoints/{endpoint}B\221\002\n)com.google." - + "cloud.servicedirectory.v1beta1B\rEndpoint" - + "ProtoP\001ZUgoogle.golang.org/genproto/goog" - + "leapis/cloud/servicedirectory/v1beta1;se" - + "rvicedirectory\370\001\001\252\002%Google.Cloud.Service" - + "Directory.V1Beta1\312\002%Google\\Cloud\\Service" - + "Directory\\V1beta1\352\002(Google::Cloud::Servi" - + "ceDirectory::V1beta1b\006proto3" + + ".proto\032\031google/api/resource.proto\032\037googl" + + "e/protobuf/timestamp.proto\032\034google/api/a" + + "nnotations.proto\"\224\004\n\010Endpoint\022\021\n\004name\030\001 " + + "\001(\tB\003\340A\005\022\024\n\007address\030\002 \001(\tB\003\340A\001\022\021\n\004port\030\003" + + " \001(\005B\003\340A\001\022T\n\010metadata\030\004 \003(\0132=.google.clo" + + "ud.servicedirectory.v1beta1.Endpoint.Met" + + "adataEntryB\003\340A\001\022@\n\007network\030\005 \001(\tB/\340A\005\372A)" + + "\n\'servicedirectory.googleapis.com/Networ" + + "k\0224\n\013create_time\030\006 \001(\0132\032.google.protobuf" + + ".TimestampB\003\340A\003\0224\n\013update_time\030\007 \001(\0132\032.g" + + "oogle.protobuf.TimestampB\003\340A\003\032/\n\rMetadat" + + "aEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001:\226" + + "\001\352A\222\001\n(servicedirectory.googleapis.com/E" + + "ndpoint\022fprojects/{project}/locations/{l" + + "ocation}/namespaces/{namespace}/services" + + "/{service}/endpoints/{endpoint}B\365\002\n)com." + + "google.cloud.servicedirectory.v1beta1B\rE" + + "ndpointProtoP\001ZUgoogle.golang.org/genpro" + + "to/googleapis/cloud/servicedirectory/v1b" + + "eta1;servicedirectory\370\001\001\252\002%Google.Cloud." + + "ServiceDirectory.V1Beta1\312\002%Google\\Cloud\\" + + "ServiceDirectory\\V1beta1\352\002(Google::Cloud" + + "::ServiceDirectory::V1beta1\352Aa\n\'serviced" + + "irectory.googleapis.com/Network\0226project" + + "s/{project}/locations/global/networks/{n" + + "etwork}b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -72,6 +80,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.Descriptors.FileDescriptor[] { com.google.api.FieldBehaviorProto.getDescriptor(), com.google.api.ResourceProto.getDescriptor(), + com.google.protobuf.TimestampProto.getDescriptor(), com.google.api.AnnotationsProto.getDescriptor(), }); internal_static_google_cloud_servicedirectory_v1beta1_Endpoint_descriptor = @@ -80,7 +89,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_servicedirectory_v1beta1_Endpoint_descriptor, new java.lang.String[] { - "Name", "Address", "Port", "Metadata", + "Name", "Address", "Port", "Metadata", "Network", "CreateTime", "UpdateTime", }); internal_static_google_cloud_servicedirectory_v1beta1_Endpoint_MetadataEntry_descriptor = internal_static_google_cloud_servicedirectory_v1beta1_Endpoint_descriptor @@ -96,10 +105,13 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { com.google.protobuf.ExtensionRegistry.newInstance(); registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); registry.add(com.google.api.ResourceProto.resource); + registry.add(com.google.api.ResourceProto.resourceDefinition); + registry.add(com.google.api.ResourceProto.resourceReference); com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( descriptor, registry); com.google.api.FieldBehaviorProto.getDescriptor(); com.google.api.ResourceProto.getDescriptor(); + com.google.protobuf.TimestampProto.getDescriptor(); com.google.api.AnnotationsProto.getDescriptor(); } diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/GetServiceRequest.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/GetServiceRequest.java index c21576ae..13f50397 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/GetServiceRequest.java +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/GetServiceRequest.java @@ -24,7 +24,7 @@ *
  * The request message for [RegistrationService.GetService][google.cloud.servicedirectory.v1beta1.RegistrationService.GetService].
  * This should not be used for looking up a service. Insead, use the `resolve`
- * method as it will contain all endpoints and associated metadata.
+ * method as it contains all endpoints and associated metadata.
  * 
* * Protobuf type {@code google.cloud.servicedirectory.v1beta1.GetServiceRequest} @@ -332,7 +332,7 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build *
    * The request message for [RegistrationService.GetService][google.cloud.servicedirectory.v1beta1.RegistrationService.GetService].
    * This should not be used for looking up a service. Insead, use the `resolve`
-   * method as it will contain all endpoints and associated metadata.
+   * method as it contains all endpoints and associated metadata.
    * 
* * Protobuf type {@code google.cloud.servicedirectory.v1beta1.GetServiceRequest} diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListEndpointsRequest.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListEndpointsRequest.java index 5253dc73..f67fc97b 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListEndpointsRequest.java +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListEndpointsRequest.java @@ -146,7 +146,7 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * * *
-   * Required. The resource name of the service whose endpoints we'd like to
+   * Required. The resource name of the service whose endpoints you'd like to
    * list.
    * 
* @@ -172,7 +172,7 @@ public java.lang.String getParent() { * * *
-   * Required. The resource name of the service whose endpoints we'd like to
+   * Required. The resource name of the service whose endpoints you'd like to
    * list.
    * 
* @@ -270,29 +270,34 @@ public com.google.protobuf.ByteString getPageTokenBytes() { * * *
-   * Optional. The filter to list result by.
-   * General filter string syntax:
-   * <field> <operator> <value> (<logical connector>)
-   * <field> can be "name", "address", "port" or "metadata.<key>" for map field.
-   * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-   * is roughly the same as "=".
-   * <value> must be the same data type as field.
-   * <logical connector> can be "AND, OR, NOT".
+   * Optional. The filter to list results by.
+   * General `filter` string syntax:
+   * `<field> <operator> <value> (<logical connector>)`
+   * *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for map
+   *     field
+   * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+   *     means `HAS`, and is roughly the same as `=`
+   * *   `<value>` must be the same data type as field
+   * *   `<logical connector>` can be `AND`, `OR`, `NOT`
    * Examples of valid filters:
-   * * "metadata.owner" returns Endpoints that have a label with the key "owner"
-   *   this is the same as "metadata:owner".
-   * * "metadata.protocol=gRPC" returns Endpoints that have key/value
-   *   "protocol=gRPC".
-   * * "address=192.108.1.105" returns Endpoints that have this address.
-   * * "port>8080" returns Endpoints that have port number larger than 8080.
-   * * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/my-service/endpoints/endpoint-c"
-   *   returns Endpoints that have name that is alphabetically later than the
-   *   string, so "endpoint-e" will be returned but "endpoint-a" will not be.
-   * * "metadata.owner!=sd AND metadata.foo=bar" returns Endpoints that have
-   *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-   * * "doesnotexist.foo=bar" returns an empty list. Note that Endpoint doesn't
-   *   have a field called "doesnotexist". Since the filter does not match any
-   *   Endpoints, it returns no results.
+   * *   `metadata.owner` returns endpoints that have a metadata with the key
+   *     `owner`, this is the same as `metadata:owner`
+   * *   `metadata.protocol=gRPC` returns endpoints that have key/value
+   *     `protocol=gRPC`
+   * *   `address=192.108.1.105` returns endpoints that have this address
+   * *   `port>8080` returns endpoints that have port number larger than 8080
+   * *
+   * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+   *     returns endpoints that have name that is alphabetically later than the
+   *     string, so "endpoint-e" is returned but "endpoint-a" is not
+   * *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+   *     `owner` in metadata key but value is not `sd` AND have key/value
+   *      `foo=bar`
+   * *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+   *     doesn't have a field called "doesnotexist". Since the filter does not
+   *     match any endpoints, it returns no results
+   * For more information about filtering, see
+   * [API Filtering](https://aip.dev/160).
    * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -315,29 +320,34 @@ public java.lang.String getFilter() { * * *
-   * Optional. The filter to list result by.
-   * General filter string syntax:
-   * <field> <operator> <value> (<logical connector>)
-   * <field> can be "name", "address", "port" or "metadata.<key>" for map field.
-   * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-   * is roughly the same as "=".
-   * <value> must be the same data type as field.
-   * <logical connector> can be "AND, OR, NOT".
+   * Optional. The filter to list results by.
+   * General `filter` string syntax:
+   * `<field> <operator> <value> (<logical connector>)`
+   * *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for map
+   *     field
+   * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+   *     means `HAS`, and is roughly the same as `=`
+   * *   `<value>` must be the same data type as field
+   * *   `<logical connector>` can be `AND`, `OR`, `NOT`
    * Examples of valid filters:
-   * * "metadata.owner" returns Endpoints that have a label with the key "owner"
-   *   this is the same as "metadata:owner".
-   * * "metadata.protocol=gRPC" returns Endpoints that have key/value
-   *   "protocol=gRPC".
-   * * "address=192.108.1.105" returns Endpoints that have this address.
-   * * "port>8080" returns Endpoints that have port number larger than 8080.
-   * * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/my-service/endpoints/endpoint-c"
-   *   returns Endpoints that have name that is alphabetically later than the
-   *   string, so "endpoint-e" will be returned but "endpoint-a" will not be.
-   * * "metadata.owner!=sd AND metadata.foo=bar" returns Endpoints that have
-   *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-   * * "doesnotexist.foo=bar" returns an empty list. Note that Endpoint doesn't
-   *   have a field called "doesnotexist". Since the filter does not match any
-   *   Endpoints, it returns no results.
+   * *   `metadata.owner` returns endpoints that have a metadata with the key
+   *     `owner`, this is the same as `metadata:owner`
+   * *   `metadata.protocol=gRPC` returns endpoints that have key/value
+   *     `protocol=gRPC`
+   * *   `address=192.108.1.105` returns endpoints that have this address
+   * *   `port>8080` returns endpoints that have port number larger than 8080
+   * *
+   * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+   *     returns endpoints that have name that is alphabetically later than the
+   *     string, so "endpoint-e" is returned but "endpoint-a" is not
+   * *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+   *     `owner` in metadata key but value is not `sd` AND have key/value
+   *      `foo=bar`
+   * *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+   *     doesn't have a field called "doesnotexist". Since the filter does not
+   *     match any endpoints, it returns no results
+   * For more information about filtering, see
+   * [API Filtering](https://aip.dev/160).
    * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -363,7 +373,13 @@ public com.google.protobuf.ByteString getFilterBytes() { * * *
-   * Optional. The order to list result by.
+   * Optional. The order to list results by.
+   * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+   * *   `<field>` allows values: `name`, `address`, `port`
+   * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+   *     left blank, `asc` is used
+   * Note that an empty `order_by` string results in default order, which is
+   * order by `name` in ascending order.
    * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -386,7 +402,13 @@ public java.lang.String getOrderBy() { * * *
-   * Optional. The order to list result by.
+   * Optional. The order to list results by.
+   * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+   * *   `<field>` allows values: `name`, `address`, `port`
+   * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+   *     left blank, `asc` is used
+   * Note that an empty `order_by` string results in default order, which is
+   * order by `name` in ascending order.
    * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -796,7 +818,7 @@ public Builder mergeFrom( * * *
-     * Required. The resource name of the service whose endpoints we'd like to
+     * Required. The resource name of the service whose endpoints you'd like to
      * list.
      * 
* @@ -821,7 +843,7 @@ public java.lang.String getParent() { * * *
-     * Required. The resource name of the service whose endpoints we'd like to
+     * Required. The resource name of the service whose endpoints you'd like to
      * list.
      * 
* @@ -846,7 +868,7 @@ public com.google.protobuf.ByteString getParentBytes() { * * *
-     * Required. The resource name of the service whose endpoints we'd like to
+     * Required. The resource name of the service whose endpoints you'd like to
      * list.
      * 
* @@ -870,7 +892,7 @@ public Builder setParent(java.lang.String value) { * * *
-     * Required. The resource name of the service whose endpoints we'd like to
+     * Required. The resource name of the service whose endpoints you'd like to
      * list.
      * 
* @@ -890,7 +912,7 @@ public Builder clearParent() { * * *
-     * Required. The resource name of the service whose endpoints we'd like to
+     * Required. The resource name of the service whose endpoints you'd like to
      * list.
      * 
* @@ -1080,29 +1102,34 @@ public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { * * *
-     * Optional. The filter to list result by.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name", "address", "port" or "metadata.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-     * is roughly the same as "=".
-     * <value> must be the same data type as field.
-     * <logical connector> can be "AND, OR, NOT".
+     * Optional. The filter to list results by.
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for map
+     *     field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "metadata.owner" returns Endpoints that have a label with the key "owner"
-     *   this is the same as "metadata:owner".
-     * * "metadata.protocol=gRPC" returns Endpoints that have key/value
-     *   "protocol=gRPC".
-     * * "address=192.108.1.105" returns Endpoints that have this address.
-     * * "port>8080" returns Endpoints that have port number larger than 8080.
-     * * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/my-service/endpoints/endpoint-c"
-     *   returns Endpoints that have name that is alphabetically later than the
-     *   string, so "endpoint-e" will be returned but "endpoint-a" will not be.
-     * * "metadata.owner!=sd AND metadata.foo=bar" returns Endpoints that have
-     *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-     * * "doesnotexist.foo=bar" returns an empty list. Note that Endpoint doesn't
-     *   have a field called "doesnotexist". Since the filter does not match any
-     *   Endpoints, it returns no results.
+     * *   `metadata.owner` returns endpoints that have a metadata with the key
+     *     `owner`, this is the same as `metadata:owner`
+     * *   `metadata.protocol=gRPC` returns endpoints that have key/value
+     *     `protocol=gRPC`
+     * *   `address=192.108.1.105` returns endpoints that have this address
+     * *   `port>8080` returns endpoints that have port number larger than 8080
+     * *
+     * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+     *     returns endpoints that have name that is alphabetically later than the
+     *     string, so "endpoint-e" is returned but "endpoint-a" is not
+     * *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+     *     `owner` in metadata key but value is not `sd` AND have key/value
+     *      `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any endpoints, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1124,29 +1151,34 @@ public java.lang.String getFilter() { * * *
-     * Optional. The filter to list result by.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name", "address", "port" or "metadata.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-     * is roughly the same as "=".
-     * <value> must be the same data type as field.
-     * <logical connector> can be "AND, OR, NOT".
+     * Optional. The filter to list results by.
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for map
+     *     field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "metadata.owner" returns Endpoints that have a label with the key "owner"
-     *   this is the same as "metadata:owner".
-     * * "metadata.protocol=gRPC" returns Endpoints that have key/value
-     *   "protocol=gRPC".
-     * * "address=192.108.1.105" returns Endpoints that have this address.
-     * * "port>8080" returns Endpoints that have port number larger than 8080.
-     * * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/my-service/endpoints/endpoint-c"
-     *   returns Endpoints that have name that is alphabetically later than the
-     *   string, so "endpoint-e" will be returned but "endpoint-a" will not be.
-     * * "metadata.owner!=sd AND metadata.foo=bar" returns Endpoints that have
-     *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-     * * "doesnotexist.foo=bar" returns an empty list. Note that Endpoint doesn't
-     *   have a field called "doesnotexist". Since the filter does not match any
-     *   Endpoints, it returns no results.
+     * *   `metadata.owner` returns endpoints that have a metadata with the key
+     *     `owner`, this is the same as `metadata:owner`
+     * *   `metadata.protocol=gRPC` returns endpoints that have key/value
+     *     `protocol=gRPC`
+     * *   `address=192.108.1.105` returns endpoints that have this address
+     * *   `port>8080` returns endpoints that have port number larger than 8080
+     * *
+     * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+     *     returns endpoints that have name that is alphabetically later than the
+     *     string, so "endpoint-e" is returned but "endpoint-a" is not
+     * *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+     *     `owner` in metadata key but value is not `sd` AND have key/value
+     *      `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any endpoints, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1168,29 +1200,34 @@ public com.google.protobuf.ByteString getFilterBytes() { * * *
-     * Optional. The filter to list result by.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name", "address", "port" or "metadata.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-     * is roughly the same as "=".
-     * <value> must be the same data type as field.
-     * <logical connector> can be "AND, OR, NOT".
+     * Optional. The filter to list results by.
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for map
+     *     field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "metadata.owner" returns Endpoints that have a label with the key "owner"
-     *   this is the same as "metadata:owner".
-     * * "metadata.protocol=gRPC" returns Endpoints that have key/value
-     *   "protocol=gRPC".
-     * * "address=192.108.1.105" returns Endpoints that have this address.
-     * * "port>8080" returns Endpoints that have port number larger than 8080.
-     * * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/my-service/endpoints/endpoint-c"
-     *   returns Endpoints that have name that is alphabetically later than the
-     *   string, so "endpoint-e" will be returned but "endpoint-a" will not be.
-     * * "metadata.owner!=sd AND metadata.foo=bar" returns Endpoints that have
-     *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-     * * "doesnotexist.foo=bar" returns an empty list. Note that Endpoint doesn't
-     *   have a field called "doesnotexist". Since the filter does not match any
-     *   Endpoints, it returns no results.
+     * *   `metadata.owner` returns endpoints that have a metadata with the key
+     *     `owner`, this is the same as `metadata:owner`
+     * *   `metadata.protocol=gRPC` returns endpoints that have key/value
+     *     `protocol=gRPC`
+     * *   `address=192.108.1.105` returns endpoints that have this address
+     * *   `port>8080` returns endpoints that have port number larger than 8080
+     * *
+     * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+     *     returns endpoints that have name that is alphabetically later than the
+     *     string, so "endpoint-e" is returned but "endpoint-a" is not
+     * *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+     *     `owner` in metadata key but value is not `sd` AND have key/value
+     *      `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any endpoints, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1211,29 +1248,34 @@ public Builder setFilter(java.lang.String value) { * * *
-     * Optional. The filter to list result by.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name", "address", "port" or "metadata.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-     * is roughly the same as "=".
-     * <value> must be the same data type as field.
-     * <logical connector> can be "AND, OR, NOT".
+     * Optional. The filter to list results by.
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for map
+     *     field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "metadata.owner" returns Endpoints that have a label with the key "owner"
-     *   this is the same as "metadata:owner".
-     * * "metadata.protocol=gRPC" returns Endpoints that have key/value
-     *   "protocol=gRPC".
-     * * "address=192.108.1.105" returns Endpoints that have this address.
-     * * "port>8080" returns Endpoints that have port number larger than 8080.
-     * * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/my-service/endpoints/endpoint-c"
-     *   returns Endpoints that have name that is alphabetically later than the
-     *   string, so "endpoint-e" will be returned but "endpoint-a" will not be.
-     * * "metadata.owner!=sd AND metadata.foo=bar" returns Endpoints that have
-     *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-     * * "doesnotexist.foo=bar" returns an empty list. Note that Endpoint doesn't
-     *   have a field called "doesnotexist". Since the filter does not match any
-     *   Endpoints, it returns no results.
+     * *   `metadata.owner` returns endpoints that have a metadata with the key
+     *     `owner`, this is the same as `metadata:owner`
+     * *   `metadata.protocol=gRPC` returns endpoints that have key/value
+     *     `protocol=gRPC`
+     * *   `address=192.108.1.105` returns endpoints that have this address
+     * *   `port>8080` returns endpoints that have port number larger than 8080
+     * *
+     * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+     *     returns endpoints that have name that is alphabetically later than the
+     *     string, so "endpoint-e" is returned but "endpoint-a" is not
+     * *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+     *     `owner` in metadata key but value is not `sd` AND have key/value
+     *      `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any endpoints, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1250,29 +1292,34 @@ public Builder clearFilter() { * * *
-     * Optional. The filter to list result by.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name", "address", "port" or "metadata.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-     * is roughly the same as "=".
-     * <value> must be the same data type as field.
-     * <logical connector> can be "AND, OR, NOT".
+     * Optional. The filter to list results by.
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for map
+     *     field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "metadata.owner" returns Endpoints that have a label with the key "owner"
-     *   this is the same as "metadata:owner".
-     * * "metadata.protocol=gRPC" returns Endpoints that have key/value
-     *   "protocol=gRPC".
-     * * "address=192.108.1.105" returns Endpoints that have this address.
-     * * "port>8080" returns Endpoints that have port number larger than 8080.
-     * * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/my-service/endpoints/endpoint-c"
-     *   returns Endpoints that have name that is alphabetically later than the
-     *   string, so "endpoint-e" will be returned but "endpoint-a" will not be.
-     * * "metadata.owner!=sd AND metadata.foo=bar" returns Endpoints that have
-     *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-     * * "doesnotexist.foo=bar" returns an empty list. Note that Endpoint doesn't
-     *   have a field called "doesnotexist". Since the filter does not match any
-     *   Endpoints, it returns no results.
+     * *   `metadata.owner` returns endpoints that have a metadata with the key
+     *     `owner`, this is the same as `metadata:owner`
+     * *   `metadata.protocol=gRPC` returns endpoints that have key/value
+     *     `protocol=gRPC`
+     * *   `address=192.108.1.105` returns endpoints that have this address
+     * *   `port>8080` returns endpoints that have port number larger than 8080
+     * *
+     * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+     *     returns endpoints that have name that is alphabetically later than the
+     *     string, so "endpoint-e" is returned but "endpoint-a" is not
+     * *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+     *     `owner` in metadata key but value is not `sd` AND have key/value
+     *      `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any endpoints, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1296,7 +1343,13 @@ public Builder setFilterBytes(com.google.protobuf.ByteString value) { * * *
-     * Optional. The order to list result by.
+     * Optional. The order to list results by.
+     * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+     * *   `<field>` allows values: `name`, `address`, `port`
+     * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+     *     left blank, `asc` is used
+     * Note that an empty `order_by` string results in default order, which is
+     * order by `name` in ascending order.
      * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1318,7 +1371,13 @@ public java.lang.String getOrderBy() { * * *
-     * Optional. The order to list result by.
+     * Optional. The order to list results by.
+     * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+     * *   `<field>` allows values: `name`, `address`, `port`
+     * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+     *     left blank, `asc` is used
+     * Note that an empty `order_by` string results in default order, which is
+     * order by `name` in ascending order.
      * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1340,7 +1399,13 @@ public com.google.protobuf.ByteString getOrderByBytes() { * * *
-     * Optional. The order to list result by.
+     * Optional. The order to list results by.
+     * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+     * *   `<field>` allows values: `name`, `address`, `port`
+     * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+     *     left blank, `asc` is used
+     * Note that an empty `order_by` string results in default order, which is
+     * order by `name` in ascending order.
      * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1361,7 +1426,13 @@ public Builder setOrderBy(java.lang.String value) { * * *
-     * Optional. The order to list result by.
+     * Optional. The order to list results by.
+     * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+     * *   `<field>` allows values: `name`, `address`, `port`
+     * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+     *     left blank, `asc` is used
+     * Note that an empty `order_by` string results in default order, which is
+     * order by `name` in ascending order.
      * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1378,7 +1449,13 @@ public Builder clearOrderBy() { * * *
-     * Optional. The order to list result by.
+     * Optional. The order to list results by.
+     * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+     * *   `<field>` allows values: `name`, `address`, `port`
+     * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+     *     left blank, `asc` is used
+     * Note that an empty `order_by` string results in default order, which is
+     * order by `name` in ascending order.
      * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListEndpointsRequestOrBuilder.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListEndpointsRequestOrBuilder.java index 4a3c9963..7cf98d30 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListEndpointsRequestOrBuilder.java +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListEndpointsRequestOrBuilder.java @@ -27,7 +27,7 @@ public interface ListEndpointsRequestOrBuilder * * *
-   * Required. The resource name of the service whose endpoints we'd like to
+   * Required. The resource name of the service whose endpoints you'd like to
    * list.
    * 
* @@ -42,7 +42,7 @@ public interface ListEndpointsRequestOrBuilder * * *
-   * Required. The resource name of the service whose endpoints we'd like to
+   * Required. The resource name of the service whose endpoints you'd like to
    * list.
    * 
* @@ -98,29 +98,34 @@ public interface ListEndpointsRequestOrBuilder * * *
-   * Optional. The filter to list result by.
-   * General filter string syntax:
-   * <field> <operator> <value> (<logical connector>)
-   * <field> can be "name", "address", "port" or "metadata.<key>" for map field.
-   * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-   * is roughly the same as "=".
-   * <value> must be the same data type as field.
-   * <logical connector> can be "AND, OR, NOT".
+   * Optional. The filter to list results by.
+   * General `filter` string syntax:
+   * `<field> <operator> <value> (<logical connector>)`
+   * *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for map
+   *     field
+   * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+   *     means `HAS`, and is roughly the same as `=`
+   * *   `<value>` must be the same data type as field
+   * *   `<logical connector>` can be `AND`, `OR`, `NOT`
    * Examples of valid filters:
-   * * "metadata.owner" returns Endpoints that have a label with the key "owner"
-   *   this is the same as "metadata:owner".
-   * * "metadata.protocol=gRPC" returns Endpoints that have key/value
-   *   "protocol=gRPC".
-   * * "address=192.108.1.105" returns Endpoints that have this address.
-   * * "port>8080" returns Endpoints that have port number larger than 8080.
-   * * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/my-service/endpoints/endpoint-c"
-   *   returns Endpoints that have name that is alphabetically later than the
-   *   string, so "endpoint-e" will be returned but "endpoint-a" will not be.
-   * * "metadata.owner!=sd AND metadata.foo=bar" returns Endpoints that have
-   *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-   * * "doesnotexist.foo=bar" returns an empty list. Note that Endpoint doesn't
-   *   have a field called "doesnotexist". Since the filter does not match any
-   *   Endpoints, it returns no results.
+   * *   `metadata.owner` returns endpoints that have a metadata with the key
+   *     `owner`, this is the same as `metadata:owner`
+   * *   `metadata.protocol=gRPC` returns endpoints that have key/value
+   *     `protocol=gRPC`
+   * *   `address=192.108.1.105` returns endpoints that have this address
+   * *   `port>8080` returns endpoints that have port number larger than 8080
+   * *
+   * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+   *     returns endpoints that have name that is alphabetically later than the
+   *     string, so "endpoint-e" is returned but "endpoint-a" is not
+   * *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+   *     `owner` in metadata key but value is not `sd` AND have key/value
+   *      `foo=bar`
+   * *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+   *     doesn't have a field called "doesnotexist". Since the filter does not
+   *     match any endpoints, it returns no results
+   * For more information about filtering, see
+   * [API Filtering](https://aip.dev/160).
    * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -132,29 +137,34 @@ public interface ListEndpointsRequestOrBuilder * * *
-   * Optional. The filter to list result by.
-   * General filter string syntax:
-   * <field> <operator> <value> (<logical connector>)
-   * <field> can be "name", "address", "port" or "metadata.<key>" for map field.
-   * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-   * is roughly the same as "=".
-   * <value> must be the same data type as field.
-   * <logical connector> can be "AND, OR, NOT".
+   * Optional. The filter to list results by.
+   * General `filter` string syntax:
+   * `<field> <operator> <value> (<logical connector>)`
+   * *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for map
+   *     field
+   * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+   *     means `HAS`, and is roughly the same as `=`
+   * *   `<value>` must be the same data type as field
+   * *   `<logical connector>` can be `AND`, `OR`, `NOT`
    * Examples of valid filters:
-   * * "metadata.owner" returns Endpoints that have a label with the key "owner"
-   *   this is the same as "metadata:owner".
-   * * "metadata.protocol=gRPC" returns Endpoints that have key/value
-   *   "protocol=gRPC".
-   * * "address=192.108.1.105" returns Endpoints that have this address.
-   * * "port>8080" returns Endpoints that have port number larger than 8080.
-   * * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/my-service/endpoints/endpoint-c"
-   *   returns Endpoints that have name that is alphabetically later than the
-   *   string, so "endpoint-e" will be returned but "endpoint-a" will not be.
-   * * "metadata.owner!=sd AND metadata.foo=bar" returns Endpoints that have
-   *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-   * * "doesnotexist.foo=bar" returns an empty list. Note that Endpoint doesn't
-   *   have a field called "doesnotexist". Since the filter does not match any
-   *   Endpoints, it returns no results.
+   * *   `metadata.owner` returns endpoints that have a metadata with the key
+   *     `owner`, this is the same as `metadata:owner`
+   * *   `metadata.protocol=gRPC` returns endpoints that have key/value
+   *     `protocol=gRPC`
+   * *   `address=192.108.1.105` returns endpoints that have this address
+   * *   `port>8080` returns endpoints that have port number larger than 8080
+   * *
+   * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+   *     returns endpoints that have name that is alphabetically later than the
+   *     string, so "endpoint-e" is returned but "endpoint-a" is not
+   * *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+   *     `owner` in metadata key but value is not `sd` AND have key/value
+   *      `foo=bar`
+   * *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+   *     doesn't have a field called "doesnotexist". Since the filter does not
+   *     match any endpoints, it returns no results
+   * For more information about filtering, see
+   * [API Filtering](https://aip.dev/160).
    * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -167,7 +177,13 @@ public interface ListEndpointsRequestOrBuilder * * *
-   * Optional. The order to list result by.
+   * Optional. The order to list results by.
+   * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+   * *   `<field>` allows values: `name`, `address`, `port`
+   * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+   *     left blank, `asc` is used
+   * Note that an empty `order_by` string results in default order, which is
+   * order by `name` in ascending order.
    * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -179,7 +195,13 @@ public interface ListEndpointsRequestOrBuilder * * *
-   * Optional. The order to list result by.
+   * Optional. The order to list results by.
+   * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+   * *   `<field>` allows values: `name`, `address`, `port`
+   * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+   *     left blank, `asc` is used
+   * Note that an empty `order_by` string results in default order, which is
+   * order by `name` in ascending order.
    * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListNamespacesRequest.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListNamespacesRequest.java index e7d693b6..995901bf 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListNamespacesRequest.java +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListNamespacesRequest.java @@ -146,8 +146,8 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * * *
-   * Required. The resource name of the project and location whose namespaces we'd like to
-   * list.
+   * Required. The resource name of the project and location whose namespaces you'd like
+   * to list.
    * 
* * @@ -172,8 +172,8 @@ public java.lang.String getParent() { * * *
-   * Required. The resource name of the project and location whose namespaces we'd like to
-   * list.
+   * Required. The resource name of the project and location whose namespaces you'd like
+   * to list.
    * 
* * @@ -268,27 +268,28 @@ public com.google.protobuf.ByteString getPageTokenBytes() { * * *
-   * Optional. The filter to list result by.
-   * General filter string syntax:
-   * <field> <operator> <value> (<logical connector>)
-   * <field> can be "name", or "labels.<key>" for map field.
-   * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-   * is roughly the same as "=".
-   * <value> must be the same data type as field.
-   * <logical connector> can be "AND, OR, NOT".
+   * Optional. The filter to list results by.
+   * General `filter` string syntax:
+   * `<field> <operator> <value> (<logical connector>)`
+   * *   `<field>` can be `name` or `labels.<key>` for map field
+   * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+   *     means `HAS`, and is roughly the same as `=`
+   * *   `<value>` must be the same data type as field
+   * *   `<logical connector>` can be `AND`, `OR`, `NOT`
    * Examples of valid filters:
-   * * "labels.owner" returns Namespaces that have a label with the key "owner"
-   *   this is the same as "labels:owner".
-   * * "labels.protocol=gRPC" returns Namespaces that have key/value
-   *   "protocol=gRPC".
-   * * "name>projects/my-project/locations/us-east/namespaces/namespace-c"
-   *   returns Namespaces that have name that is alphabetically later than the
-   *   string, so "namespace-e" will be returned but "namespace-a" will not be.
-   * * "labels.owner!=sd AND labels.foo=bar" returns Namespaces that have
-   *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-   * * "doesnotexist.foo=bar" returns an empty list. Note that Namespace doesn't
-   *   have a field called "doesnotexist". Since the filter does not match any
-   *   Namespaces, it returns no results.
+   * *   `labels.owner` returns namespaces that have a label with the key
+   *     `owner`, this is the same as `labels:owner`
+   * *   `labels.owner=sd` returns namespaces that have key/value `owner=sd`
+   * *   `name>projects/my-project/locations/us-east1/namespaces/namespace-c`
+   *     returns namespaces that have name that is alphabetically later than the
+   *     string, so "namespace-e" is returned but "namespace-a" is not
+   * *   `labels.owner!=sd AND labels.foo=bar` returns namespaces that have
+   *     `owner` in label key but value is not `sd` AND have key/value `foo=bar`
+   * *   `doesnotexist.foo=bar` returns an empty list. Note that namespace
+   *     doesn't have a field called "doesnotexist". Since the filter does not
+   *     match any namespaces, it returns no results
+   * For more information about filtering, see
+   * [API Filtering](https://aip.dev/160).
    * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -311,27 +312,28 @@ public java.lang.String getFilter() { * * *
-   * Optional. The filter to list result by.
-   * General filter string syntax:
-   * <field> <operator> <value> (<logical connector>)
-   * <field> can be "name", or "labels.<key>" for map field.
-   * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-   * is roughly the same as "=".
-   * <value> must be the same data type as field.
-   * <logical connector> can be "AND, OR, NOT".
+   * Optional. The filter to list results by.
+   * General `filter` string syntax:
+   * `<field> <operator> <value> (<logical connector>)`
+   * *   `<field>` can be `name` or `labels.<key>` for map field
+   * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+   *     means `HAS`, and is roughly the same as `=`
+   * *   `<value>` must be the same data type as field
+   * *   `<logical connector>` can be `AND`, `OR`, `NOT`
    * Examples of valid filters:
-   * * "labels.owner" returns Namespaces that have a label with the key "owner"
-   *   this is the same as "labels:owner".
-   * * "labels.protocol=gRPC" returns Namespaces that have key/value
-   *   "protocol=gRPC".
-   * * "name>projects/my-project/locations/us-east/namespaces/namespace-c"
-   *   returns Namespaces that have name that is alphabetically later than the
-   *   string, so "namespace-e" will be returned but "namespace-a" will not be.
-   * * "labels.owner!=sd AND labels.foo=bar" returns Namespaces that have
-   *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-   * * "doesnotexist.foo=bar" returns an empty list. Note that Namespace doesn't
-   *   have a field called "doesnotexist". Since the filter does not match any
-   *   Namespaces, it returns no results.
+   * *   `labels.owner` returns namespaces that have a label with the key
+   *     `owner`, this is the same as `labels:owner`
+   * *   `labels.owner=sd` returns namespaces that have key/value `owner=sd`
+   * *   `name>projects/my-project/locations/us-east1/namespaces/namespace-c`
+   *     returns namespaces that have name that is alphabetically later than the
+   *     string, so "namespace-e" is returned but "namespace-a" is not
+   * *   `labels.owner!=sd AND labels.foo=bar` returns namespaces that have
+   *     `owner` in label key but value is not `sd` AND have key/value `foo=bar`
+   * *   `doesnotexist.foo=bar` returns an empty list. Note that namespace
+   *     doesn't have a field called "doesnotexist". Since the filter does not
+   *     match any namespaces, it returns no results
+   * For more information about filtering, see
+   * [API Filtering](https://aip.dev/160).
    * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -357,14 +359,13 @@ public com.google.protobuf.ByteString getFilterBytes() { * * *
-   * Optional. The order to list result by.
-   * General order by string syntax:
-   * <field> (<asc|desc>) (,)
-   * <field> allows values {"name"}
-   * <asc/desc> ascending or descending order by <field>. If this is left
-   * blank, "asc" is used.
-   * Note that an empty order_by string result in default order, which is order
-   * by name in ascending order.
+   * Optional. The order to list results by.
+   * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+   * *   `<field>` allows value: `name`
+   * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+   *     left blank, `asc` is used
+   * Note that an empty `order_by` string results in default order, which is
+   * order by `name` in ascending order.
    * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -387,14 +388,13 @@ public java.lang.String getOrderBy() { * * *
-   * Optional. The order to list result by.
-   * General order by string syntax:
-   * <field> (<asc|desc>) (,)
-   * <field> allows values {"name"}
-   * <asc/desc> ascending or descending order by <field>. If this is left
-   * blank, "asc" is used.
-   * Note that an empty order_by string result in default order, which is order
-   * by name in ascending order.
+   * Optional. The order to list results by.
+   * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+   * *   `<field>` allows value: `name`
+   * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+   *     left blank, `asc` is used
+   * Note that an empty `order_by` string results in default order, which is
+   * order by `name` in ascending order.
    * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -805,8 +805,8 @@ public Builder mergeFrom( * * *
-     * Required. The resource name of the project and location whose namespaces we'd like to
-     * list.
+     * Required. The resource name of the project and location whose namespaces you'd like
+     * to list.
      * 
* * @@ -830,8 +830,8 @@ public java.lang.String getParent() { * * *
-     * Required. The resource name of the project and location whose namespaces we'd like to
-     * list.
+     * Required. The resource name of the project and location whose namespaces you'd like
+     * to list.
      * 
* * @@ -855,8 +855,8 @@ public com.google.protobuf.ByteString getParentBytes() { * * *
-     * Required. The resource name of the project and location whose namespaces we'd like to
-     * list.
+     * Required. The resource name of the project and location whose namespaces you'd like
+     * to list.
      * 
* * @@ -879,8 +879,8 @@ public Builder setParent(java.lang.String value) { * * *
-     * Required. The resource name of the project and location whose namespaces we'd like to
-     * list.
+     * Required. The resource name of the project and location whose namespaces you'd like
+     * to list.
      * 
* * @@ -899,8 +899,8 @@ public Builder clearParent() { * * *
-     * Required. The resource name of the project and location whose namespaces we'd like to
-     * list.
+     * Required. The resource name of the project and location whose namespaces you'd like
+     * to list.
      * 
* * @@ -1084,27 +1084,28 @@ public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { * * *
-     * Optional. The filter to list result by.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name", or "labels.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-     * is roughly the same as "=".
-     * <value> must be the same data type as field.
-     * <logical connector> can be "AND, OR, NOT".
+     * Optional. The filter to list results by.
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name` or `labels.<key>` for map field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "labels.owner" returns Namespaces that have a label with the key "owner"
-     *   this is the same as "labels:owner".
-     * * "labels.protocol=gRPC" returns Namespaces that have key/value
-     *   "protocol=gRPC".
-     * * "name>projects/my-project/locations/us-east/namespaces/namespace-c"
-     *   returns Namespaces that have name that is alphabetically later than the
-     *   string, so "namespace-e" will be returned but "namespace-a" will not be.
-     * * "labels.owner!=sd AND labels.foo=bar" returns Namespaces that have
-     *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-     * * "doesnotexist.foo=bar" returns an empty list. Note that Namespace doesn't
-     *   have a field called "doesnotexist". Since the filter does not match any
-     *   Namespaces, it returns no results.
+     * *   `labels.owner` returns namespaces that have a label with the key
+     *     `owner`, this is the same as `labels:owner`
+     * *   `labels.owner=sd` returns namespaces that have key/value `owner=sd`
+     * *   `name>projects/my-project/locations/us-east1/namespaces/namespace-c`
+     *     returns namespaces that have name that is alphabetically later than the
+     *     string, so "namespace-e" is returned but "namespace-a" is not
+     * *   `labels.owner!=sd AND labels.foo=bar` returns namespaces that have
+     *     `owner` in label key but value is not `sd` AND have key/value `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that namespace
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any namespaces, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1126,27 +1127,28 @@ public java.lang.String getFilter() { * * *
-     * Optional. The filter to list result by.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name", or "labels.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-     * is roughly the same as "=".
-     * <value> must be the same data type as field.
-     * <logical connector> can be "AND, OR, NOT".
+     * Optional. The filter to list results by.
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name` or `labels.<key>` for map field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "labels.owner" returns Namespaces that have a label with the key "owner"
-     *   this is the same as "labels:owner".
-     * * "labels.protocol=gRPC" returns Namespaces that have key/value
-     *   "protocol=gRPC".
-     * * "name>projects/my-project/locations/us-east/namespaces/namespace-c"
-     *   returns Namespaces that have name that is alphabetically later than the
-     *   string, so "namespace-e" will be returned but "namespace-a" will not be.
-     * * "labels.owner!=sd AND labels.foo=bar" returns Namespaces that have
-     *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-     * * "doesnotexist.foo=bar" returns an empty list. Note that Namespace doesn't
-     *   have a field called "doesnotexist". Since the filter does not match any
-     *   Namespaces, it returns no results.
+     * *   `labels.owner` returns namespaces that have a label with the key
+     *     `owner`, this is the same as `labels:owner`
+     * *   `labels.owner=sd` returns namespaces that have key/value `owner=sd`
+     * *   `name>projects/my-project/locations/us-east1/namespaces/namespace-c`
+     *     returns namespaces that have name that is alphabetically later than the
+     *     string, so "namespace-e" is returned but "namespace-a" is not
+     * *   `labels.owner!=sd AND labels.foo=bar` returns namespaces that have
+     *     `owner` in label key but value is not `sd` AND have key/value `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that namespace
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any namespaces, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1168,27 +1170,28 @@ public com.google.protobuf.ByteString getFilterBytes() { * * *
-     * Optional. The filter to list result by.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name", or "labels.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-     * is roughly the same as "=".
-     * <value> must be the same data type as field.
-     * <logical connector> can be "AND, OR, NOT".
+     * Optional. The filter to list results by.
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name` or `labels.<key>` for map field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "labels.owner" returns Namespaces that have a label with the key "owner"
-     *   this is the same as "labels:owner".
-     * * "labels.protocol=gRPC" returns Namespaces that have key/value
-     *   "protocol=gRPC".
-     * * "name>projects/my-project/locations/us-east/namespaces/namespace-c"
-     *   returns Namespaces that have name that is alphabetically later than the
-     *   string, so "namespace-e" will be returned but "namespace-a" will not be.
-     * * "labels.owner!=sd AND labels.foo=bar" returns Namespaces that have
-     *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-     * * "doesnotexist.foo=bar" returns an empty list. Note that Namespace doesn't
-     *   have a field called "doesnotexist". Since the filter does not match any
-     *   Namespaces, it returns no results.
+     * *   `labels.owner` returns namespaces that have a label with the key
+     *     `owner`, this is the same as `labels:owner`
+     * *   `labels.owner=sd` returns namespaces that have key/value `owner=sd`
+     * *   `name>projects/my-project/locations/us-east1/namespaces/namespace-c`
+     *     returns namespaces that have name that is alphabetically later than the
+     *     string, so "namespace-e" is returned but "namespace-a" is not
+     * *   `labels.owner!=sd AND labels.foo=bar` returns namespaces that have
+     *     `owner` in label key but value is not `sd` AND have key/value `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that namespace
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any namespaces, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1209,27 +1212,28 @@ public Builder setFilter(java.lang.String value) { * * *
-     * Optional. The filter to list result by.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name", or "labels.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-     * is roughly the same as "=".
-     * <value> must be the same data type as field.
-     * <logical connector> can be "AND, OR, NOT".
+     * Optional. The filter to list results by.
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name` or `labels.<key>` for map field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "labels.owner" returns Namespaces that have a label with the key "owner"
-     *   this is the same as "labels:owner".
-     * * "labels.protocol=gRPC" returns Namespaces that have key/value
-     *   "protocol=gRPC".
-     * * "name>projects/my-project/locations/us-east/namespaces/namespace-c"
-     *   returns Namespaces that have name that is alphabetically later than the
-     *   string, so "namespace-e" will be returned but "namespace-a" will not be.
-     * * "labels.owner!=sd AND labels.foo=bar" returns Namespaces that have
-     *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-     * * "doesnotexist.foo=bar" returns an empty list. Note that Namespace doesn't
-     *   have a field called "doesnotexist". Since the filter does not match any
-     *   Namespaces, it returns no results.
+     * *   `labels.owner` returns namespaces that have a label with the key
+     *     `owner`, this is the same as `labels:owner`
+     * *   `labels.owner=sd` returns namespaces that have key/value `owner=sd`
+     * *   `name>projects/my-project/locations/us-east1/namespaces/namespace-c`
+     *     returns namespaces that have name that is alphabetically later than the
+     *     string, so "namespace-e" is returned but "namespace-a" is not
+     * *   `labels.owner!=sd AND labels.foo=bar` returns namespaces that have
+     *     `owner` in label key but value is not `sd` AND have key/value `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that namespace
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any namespaces, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1246,27 +1250,28 @@ public Builder clearFilter() { * * *
-     * Optional. The filter to list result by.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name", or "labels.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-     * is roughly the same as "=".
-     * <value> must be the same data type as field.
-     * <logical connector> can be "AND, OR, NOT".
+     * Optional. The filter to list results by.
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name` or `labels.<key>` for map field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "labels.owner" returns Namespaces that have a label with the key "owner"
-     *   this is the same as "labels:owner".
-     * * "labels.protocol=gRPC" returns Namespaces that have key/value
-     *   "protocol=gRPC".
-     * * "name>projects/my-project/locations/us-east/namespaces/namespace-c"
-     *   returns Namespaces that have name that is alphabetically later than the
-     *   string, so "namespace-e" will be returned but "namespace-a" will not be.
-     * * "labels.owner!=sd AND labels.foo=bar" returns Namespaces that have
-     *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-     * * "doesnotexist.foo=bar" returns an empty list. Note that Namespace doesn't
-     *   have a field called "doesnotexist". Since the filter does not match any
-     *   Namespaces, it returns no results.
+     * *   `labels.owner` returns namespaces that have a label with the key
+     *     `owner`, this is the same as `labels:owner`
+     * *   `labels.owner=sd` returns namespaces that have key/value `owner=sd`
+     * *   `name>projects/my-project/locations/us-east1/namespaces/namespace-c`
+     *     returns namespaces that have name that is alphabetically later than the
+     *     string, so "namespace-e" is returned but "namespace-a" is not
+     * *   `labels.owner!=sd AND labels.foo=bar` returns namespaces that have
+     *     `owner` in label key but value is not `sd` AND have key/value `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that namespace
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any namespaces, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1290,14 +1295,13 @@ public Builder setFilterBytes(com.google.protobuf.ByteString value) { * * *
-     * Optional. The order to list result by.
-     * General order by string syntax:
-     * <field> (<asc|desc>) (,)
-     * <field> allows values {"name"}
-     * <asc/desc> ascending or descending order by <field>. If this is left
-     * blank, "asc" is used.
-     * Note that an empty order_by string result in default order, which is order
-     * by name in ascending order.
+     * Optional. The order to list results by.
+     * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+     * *   `<field>` allows value: `name`
+     * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+     *     left blank, `asc` is used
+     * Note that an empty `order_by` string results in default order, which is
+     * order by `name` in ascending order.
      * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1319,14 +1323,13 @@ public java.lang.String getOrderBy() { * * *
-     * Optional. The order to list result by.
-     * General order by string syntax:
-     * <field> (<asc|desc>) (,)
-     * <field> allows values {"name"}
-     * <asc/desc> ascending or descending order by <field>. If this is left
-     * blank, "asc" is used.
-     * Note that an empty order_by string result in default order, which is order
-     * by name in ascending order.
+     * Optional. The order to list results by.
+     * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+     * *   `<field>` allows value: `name`
+     * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+     *     left blank, `asc` is used
+     * Note that an empty `order_by` string results in default order, which is
+     * order by `name` in ascending order.
      * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1348,14 +1351,13 @@ public com.google.protobuf.ByteString getOrderByBytes() { * * *
-     * Optional. The order to list result by.
-     * General order by string syntax:
-     * <field> (<asc|desc>) (,)
-     * <field> allows values {"name"}
-     * <asc/desc> ascending or descending order by <field>. If this is left
-     * blank, "asc" is used.
-     * Note that an empty order_by string result in default order, which is order
-     * by name in ascending order.
+     * Optional. The order to list results by.
+     * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+     * *   `<field>` allows value: `name`
+     * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+     *     left blank, `asc` is used
+     * Note that an empty `order_by` string results in default order, which is
+     * order by `name` in ascending order.
      * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1376,14 +1378,13 @@ public Builder setOrderBy(java.lang.String value) { * * *
-     * Optional. The order to list result by.
-     * General order by string syntax:
-     * <field> (<asc|desc>) (,)
-     * <field> allows values {"name"}
-     * <asc/desc> ascending or descending order by <field>. If this is left
-     * blank, "asc" is used.
-     * Note that an empty order_by string result in default order, which is order
-     * by name in ascending order.
+     * Optional. The order to list results by.
+     * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+     * *   `<field>` allows value: `name`
+     * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+     *     left blank, `asc` is used
+     * Note that an empty `order_by` string results in default order, which is
+     * order by `name` in ascending order.
      * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1400,14 +1401,13 @@ public Builder clearOrderBy() { * * *
-     * Optional. The order to list result by.
-     * General order by string syntax:
-     * <field> (<asc|desc>) (,)
-     * <field> allows values {"name"}
-     * <asc/desc> ascending or descending order by <field>. If this is left
-     * blank, "asc" is used.
-     * Note that an empty order_by string result in default order, which is order
-     * by name in ascending order.
+     * Optional. The order to list results by.
+     * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+     * *   `<field>` allows value: `name`
+     * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+     *     left blank, `asc` is used
+     * Note that an empty `order_by` string results in default order, which is
+     * order by `name` in ascending order.
      * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListNamespacesRequestOrBuilder.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListNamespacesRequestOrBuilder.java index 6d098303..a6fb4257 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListNamespacesRequestOrBuilder.java +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListNamespacesRequestOrBuilder.java @@ -27,8 +27,8 @@ public interface ListNamespacesRequestOrBuilder * * *
-   * Required. The resource name of the project and location whose namespaces we'd like to
-   * list.
+   * Required. The resource name of the project and location whose namespaces you'd like
+   * to list.
    * 
* * @@ -42,8 +42,8 @@ public interface ListNamespacesRequestOrBuilder * * *
-   * Required. The resource name of the project and location whose namespaces we'd like to
-   * list.
+   * Required. The resource name of the project and location whose namespaces you'd like
+   * to list.
    * 
* * @@ -96,27 +96,28 @@ public interface ListNamespacesRequestOrBuilder * * *
-   * Optional. The filter to list result by.
-   * General filter string syntax:
-   * <field> <operator> <value> (<logical connector>)
-   * <field> can be "name", or "labels.<key>" for map field.
-   * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-   * is roughly the same as "=".
-   * <value> must be the same data type as field.
-   * <logical connector> can be "AND, OR, NOT".
+   * Optional. The filter to list results by.
+   * General `filter` string syntax:
+   * `<field> <operator> <value> (<logical connector>)`
+   * *   `<field>` can be `name` or `labels.<key>` for map field
+   * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+   *     means `HAS`, and is roughly the same as `=`
+   * *   `<value>` must be the same data type as field
+   * *   `<logical connector>` can be `AND`, `OR`, `NOT`
    * Examples of valid filters:
-   * * "labels.owner" returns Namespaces that have a label with the key "owner"
-   *   this is the same as "labels:owner".
-   * * "labels.protocol=gRPC" returns Namespaces that have key/value
-   *   "protocol=gRPC".
-   * * "name>projects/my-project/locations/us-east/namespaces/namespace-c"
-   *   returns Namespaces that have name that is alphabetically later than the
-   *   string, so "namespace-e" will be returned but "namespace-a" will not be.
-   * * "labels.owner!=sd AND labels.foo=bar" returns Namespaces that have
-   *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-   * * "doesnotexist.foo=bar" returns an empty list. Note that Namespace doesn't
-   *   have a field called "doesnotexist". Since the filter does not match any
-   *   Namespaces, it returns no results.
+   * *   `labels.owner` returns namespaces that have a label with the key
+   *     `owner`, this is the same as `labels:owner`
+   * *   `labels.owner=sd` returns namespaces that have key/value `owner=sd`
+   * *   `name>projects/my-project/locations/us-east1/namespaces/namespace-c`
+   *     returns namespaces that have name that is alphabetically later than the
+   *     string, so "namespace-e" is returned but "namespace-a" is not
+   * *   `labels.owner!=sd AND labels.foo=bar` returns namespaces that have
+   *     `owner` in label key but value is not `sd` AND have key/value `foo=bar`
+   * *   `doesnotexist.foo=bar` returns an empty list. Note that namespace
+   *     doesn't have a field called "doesnotexist". Since the filter does not
+   *     match any namespaces, it returns no results
+   * For more information about filtering, see
+   * [API Filtering](https://aip.dev/160).
    * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -128,27 +129,28 @@ public interface ListNamespacesRequestOrBuilder * * *
-   * Optional. The filter to list result by.
-   * General filter string syntax:
-   * <field> <operator> <value> (<logical connector>)
-   * <field> can be "name", or "labels.<key>" for map field.
-   * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-   * is roughly the same as "=".
-   * <value> must be the same data type as field.
-   * <logical connector> can be "AND, OR, NOT".
+   * Optional. The filter to list results by.
+   * General `filter` string syntax:
+   * `<field> <operator> <value> (<logical connector>)`
+   * *   `<field>` can be `name` or `labels.<key>` for map field
+   * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+   *     means `HAS`, and is roughly the same as `=`
+   * *   `<value>` must be the same data type as field
+   * *   `<logical connector>` can be `AND`, `OR`, `NOT`
    * Examples of valid filters:
-   * * "labels.owner" returns Namespaces that have a label with the key "owner"
-   *   this is the same as "labels:owner".
-   * * "labels.protocol=gRPC" returns Namespaces that have key/value
-   *   "protocol=gRPC".
-   * * "name>projects/my-project/locations/us-east/namespaces/namespace-c"
-   *   returns Namespaces that have name that is alphabetically later than the
-   *   string, so "namespace-e" will be returned but "namespace-a" will not be.
-   * * "labels.owner!=sd AND labels.foo=bar" returns Namespaces that have
-   *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-   * * "doesnotexist.foo=bar" returns an empty list. Note that Namespace doesn't
-   *   have a field called "doesnotexist". Since the filter does not match any
-   *   Namespaces, it returns no results.
+   * *   `labels.owner` returns namespaces that have a label with the key
+   *     `owner`, this is the same as `labels:owner`
+   * *   `labels.owner=sd` returns namespaces that have key/value `owner=sd`
+   * *   `name>projects/my-project/locations/us-east1/namespaces/namespace-c`
+   *     returns namespaces that have name that is alphabetically later than the
+   *     string, so "namespace-e" is returned but "namespace-a" is not
+   * *   `labels.owner!=sd AND labels.foo=bar` returns namespaces that have
+   *     `owner` in label key but value is not `sd` AND have key/value `foo=bar`
+   * *   `doesnotexist.foo=bar` returns an empty list. Note that namespace
+   *     doesn't have a field called "doesnotexist". Since the filter does not
+   *     match any namespaces, it returns no results
+   * For more information about filtering, see
+   * [API Filtering](https://aip.dev/160).
    * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -161,14 +163,13 @@ public interface ListNamespacesRequestOrBuilder * * *
-   * Optional. The order to list result by.
-   * General order by string syntax:
-   * <field> (<asc|desc>) (,)
-   * <field> allows values {"name"}
-   * <asc/desc> ascending or descending order by <field>. If this is left
-   * blank, "asc" is used.
-   * Note that an empty order_by string result in default order, which is order
-   * by name in ascending order.
+   * Optional. The order to list results by.
+   * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+   * *   `<field>` allows value: `name`
+   * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+   *     left blank, `asc` is used
+   * Note that an empty `order_by` string results in default order, which is
+   * order by `name` in ascending order.
    * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -180,14 +181,13 @@ public interface ListNamespacesRequestOrBuilder * * *
-   * Optional. The order to list result by.
-   * General order by string syntax:
-   * <field> (<asc|desc>) (,)
-   * <field> allows values {"name"}
-   * <asc/desc> ascending or descending order by <field>. If this is left
-   * blank, "asc" is used.
-   * Note that an empty order_by string result in default order, which is order
-   * by name in ascending order.
+   * Optional. The order to list results by.
+   * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+   * *   `<field>` allows value: `name`
+   * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+   *     left blank, `asc` is used
+   * Note that an empty `order_by` string results in default order, which is
+   * order by `name` in ascending order.
    * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListServicesRequest.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListServicesRequest.java index 32835a55..9805707e 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListServicesRequest.java +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListServicesRequest.java @@ -146,7 +146,7 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * * *
-   * Required. The resource name of the namespace whose services we'd
+   * Required. The resource name of the namespace whose services you'd
    * like to list.
    * 
* @@ -172,7 +172,7 @@ public java.lang.String getParent() { * * *
-   * Required. The resource name of the namespace whose services we'd
+   * Required. The resource name of the namespace whose services you'd
    * like to list.
    * 
* @@ -270,27 +270,31 @@ public com.google.protobuf.ByteString getPageTokenBytes() { * * *
-   * Optional. The filter to list result by.
-   * General filter string syntax:
-   * <field> <operator> <value> (<logical connector>)
-   * <field> can be "name", or "metadata.<key>" for map field.
-   * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-   * is roughly the same as "=".
-   * <value> must be the same data type as field.
-   * <logical connector> can be "AND, OR, NOT".
+   * Optional. The filter to list results by.
+   * General `filter` string syntax:
+   * `<field> <operator> <value> (<logical connector>)`
+   * *   `<field>` can be `name` or `metadata.<key>` for map field
+   * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+   *     means `HAS`, and is roughly the same as `=`
+   * *   `<value>` must be the same data type as field
+   * *   `<logical connector>` can be `AND`, `OR`, `NOT`
    * Examples of valid filters:
-   * * "metadata.owner" returns Services that have a label with the key "owner"
-   *   this is the same as "metadata:owner".
-   * * "metadata.protocol=gRPC" returns Services that have key/value
-   *   "protocol=gRPC".
-   * * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/service-c"
-   *   returns Services that have name that is alphabetically later than the
-   *   string, so "service-e" will be returned but "service-a" will not be.
-   * * "metadata.owner!=sd AND metadata.foo=bar" returns Services that have
-   *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-   * * "doesnotexist.foo=bar" returns an empty list. Note that Service doesn't
-   *   have a field called "doesnotexist". Since the filter does not match any
-   *   Services, it returns no results.
+   * *   `metadata.owner` returns services that have a metadata with the key
+   *     `owner`, this is the same as `metadata:owner`
+   * *   `metadata.protocol=gRPC` returns services that have key/value
+   *     `protocol=gRPC`
+   * *
+   * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c`
+   *     returns services that have name that is alphabetically later than the
+   *     string, so "service-e" is returned but "service-a" is not
+   * *   `metadata.owner!=sd AND metadata.foo=bar` returns services that have
+   *     `owner` in metadata key but value is not `sd` AND have key/value
+   *     `foo=bar`
+   * *   `doesnotexist.foo=bar` returns an empty list. Note that service
+   *     doesn't have a field called "doesnotexist". Since the filter does not
+   *     match any services, it returns no results
+   * For more information about filtering, see
+   * [API Filtering](https://aip.dev/160).
    * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -313,27 +317,31 @@ public java.lang.String getFilter() { * * *
-   * Optional. The filter to list result by.
-   * General filter string syntax:
-   * <field> <operator> <value> (<logical connector>)
-   * <field> can be "name", or "metadata.<key>" for map field.
-   * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-   * is roughly the same as "=".
-   * <value> must be the same data type as field.
-   * <logical connector> can be "AND, OR, NOT".
+   * Optional. The filter to list results by.
+   * General `filter` string syntax:
+   * `<field> <operator> <value> (<logical connector>)`
+   * *   `<field>` can be `name` or `metadata.<key>` for map field
+   * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+   *     means `HAS`, and is roughly the same as `=`
+   * *   `<value>` must be the same data type as field
+   * *   `<logical connector>` can be `AND`, `OR`, `NOT`
    * Examples of valid filters:
-   * * "metadata.owner" returns Services that have a label with the key "owner"
-   *   this is the same as "metadata:owner".
-   * * "metadata.protocol=gRPC" returns Services that have key/value
-   *   "protocol=gRPC".
-   * * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/service-c"
-   *   returns Services that have name that is alphabetically later than the
-   *   string, so "service-e" will be returned but "service-a" will not be.
-   * * "metadata.owner!=sd AND metadata.foo=bar" returns Services that have
-   *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-   * * "doesnotexist.foo=bar" returns an empty list. Note that Service doesn't
-   *   have a field called "doesnotexist". Since the filter does not match any
-   *   Services, it returns no results.
+   * *   `metadata.owner` returns services that have a metadata with the key
+   *     `owner`, this is the same as `metadata:owner`
+   * *   `metadata.protocol=gRPC` returns services that have key/value
+   *     `protocol=gRPC`
+   * *
+   * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c`
+   *     returns services that have name that is alphabetically later than the
+   *     string, so "service-e" is returned but "service-a" is not
+   * *   `metadata.owner!=sd AND metadata.foo=bar` returns services that have
+   *     `owner` in metadata key but value is not `sd` AND have key/value
+   *     `foo=bar`
+   * *   `doesnotexist.foo=bar` returns an empty list. Note that service
+   *     doesn't have a field called "doesnotexist". Since the filter does not
+   *     match any services, it returns no results
+   * For more information about filtering, see
+   * [API Filtering](https://aip.dev/160).
    * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -359,7 +367,13 @@ public com.google.protobuf.ByteString getFilterBytes() { * * *
-   * Optional. The order to list result by.
+   * Optional. The order to list results by.
+   * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+   * *   `<field>` allows value: `name`
+   * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+   *     left blank, `asc` is used
+   * Note that an empty `order_by` string results in default order, which is
+   * order by `name` in ascending order.
    * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -382,7 +396,13 @@ public java.lang.String getOrderBy() { * * *
-   * Optional. The order to list result by.
+   * Optional. The order to list results by.
+   * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+   * *   `<field>` allows value: `name`
+   * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+   *     left blank, `asc` is used
+   * Note that an empty `order_by` string results in default order, which is
+   * order by `name` in ascending order.
    * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -792,7 +812,7 @@ public Builder mergeFrom( * * *
-     * Required. The resource name of the namespace whose services we'd
+     * Required. The resource name of the namespace whose services you'd
      * like to list.
      * 
* @@ -817,7 +837,7 @@ public java.lang.String getParent() { * * *
-     * Required. The resource name of the namespace whose services we'd
+     * Required. The resource name of the namespace whose services you'd
      * like to list.
      * 
* @@ -842,7 +862,7 @@ public com.google.protobuf.ByteString getParentBytes() { * * *
-     * Required. The resource name of the namespace whose services we'd
+     * Required. The resource name of the namespace whose services you'd
      * like to list.
      * 
* @@ -866,7 +886,7 @@ public Builder setParent(java.lang.String value) { * * *
-     * Required. The resource name of the namespace whose services we'd
+     * Required. The resource name of the namespace whose services you'd
      * like to list.
      * 
* @@ -886,7 +906,7 @@ public Builder clearParent() { * * *
-     * Required. The resource name of the namespace whose services we'd
+     * Required. The resource name of the namespace whose services you'd
      * like to list.
      * 
* @@ -1076,27 +1096,31 @@ public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { * * *
-     * Optional. The filter to list result by.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name", or "metadata.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-     * is roughly the same as "=".
-     * <value> must be the same data type as field.
-     * <logical connector> can be "AND, OR, NOT".
+     * Optional. The filter to list results by.
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name` or `metadata.<key>` for map field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "metadata.owner" returns Services that have a label with the key "owner"
-     *   this is the same as "metadata:owner".
-     * * "metadata.protocol=gRPC" returns Services that have key/value
-     *   "protocol=gRPC".
-     * * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/service-c"
-     *   returns Services that have name that is alphabetically later than the
-     *   string, so "service-e" will be returned but "service-a" will not be.
-     * * "metadata.owner!=sd AND metadata.foo=bar" returns Services that have
-     *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-     * * "doesnotexist.foo=bar" returns an empty list. Note that Service doesn't
-     *   have a field called "doesnotexist". Since the filter does not match any
-     *   Services, it returns no results.
+     * *   `metadata.owner` returns services that have a metadata with the key
+     *     `owner`, this is the same as `metadata:owner`
+     * *   `metadata.protocol=gRPC` returns services that have key/value
+     *     `protocol=gRPC`
+     * *
+     * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c`
+     *     returns services that have name that is alphabetically later than the
+     *     string, so "service-e" is returned but "service-a" is not
+     * *   `metadata.owner!=sd AND metadata.foo=bar` returns services that have
+     *     `owner` in metadata key but value is not `sd` AND have key/value
+     *     `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that service
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any services, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1118,27 +1142,31 @@ public java.lang.String getFilter() { * * *
-     * Optional. The filter to list result by.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name", or "metadata.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-     * is roughly the same as "=".
-     * <value> must be the same data type as field.
-     * <logical connector> can be "AND, OR, NOT".
+     * Optional. The filter to list results by.
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name` or `metadata.<key>` for map field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "metadata.owner" returns Services that have a label with the key "owner"
-     *   this is the same as "metadata:owner".
-     * * "metadata.protocol=gRPC" returns Services that have key/value
-     *   "protocol=gRPC".
-     * * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/service-c"
-     *   returns Services that have name that is alphabetically later than the
-     *   string, so "service-e" will be returned but "service-a" will not be.
-     * * "metadata.owner!=sd AND metadata.foo=bar" returns Services that have
-     *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-     * * "doesnotexist.foo=bar" returns an empty list. Note that Service doesn't
-     *   have a field called "doesnotexist". Since the filter does not match any
-     *   Services, it returns no results.
+     * *   `metadata.owner` returns services that have a metadata with the key
+     *     `owner`, this is the same as `metadata:owner`
+     * *   `metadata.protocol=gRPC` returns services that have key/value
+     *     `protocol=gRPC`
+     * *
+     * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c`
+     *     returns services that have name that is alphabetically later than the
+     *     string, so "service-e" is returned but "service-a" is not
+     * *   `metadata.owner!=sd AND metadata.foo=bar` returns services that have
+     *     `owner` in metadata key but value is not `sd` AND have key/value
+     *     `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that service
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any services, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1160,27 +1188,31 @@ public com.google.protobuf.ByteString getFilterBytes() { * * *
-     * Optional. The filter to list result by.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name", or "metadata.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-     * is roughly the same as "=".
-     * <value> must be the same data type as field.
-     * <logical connector> can be "AND, OR, NOT".
+     * Optional. The filter to list results by.
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name` or `metadata.<key>` for map field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "metadata.owner" returns Services that have a label with the key "owner"
-     *   this is the same as "metadata:owner".
-     * * "metadata.protocol=gRPC" returns Services that have key/value
-     *   "protocol=gRPC".
-     * * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/service-c"
-     *   returns Services that have name that is alphabetically later than the
-     *   string, so "service-e" will be returned but "service-a" will not be.
-     * * "metadata.owner!=sd AND metadata.foo=bar" returns Services that have
-     *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-     * * "doesnotexist.foo=bar" returns an empty list. Note that Service doesn't
-     *   have a field called "doesnotexist". Since the filter does not match any
-     *   Services, it returns no results.
+     * *   `metadata.owner` returns services that have a metadata with the key
+     *     `owner`, this is the same as `metadata:owner`
+     * *   `metadata.protocol=gRPC` returns services that have key/value
+     *     `protocol=gRPC`
+     * *
+     * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c`
+     *     returns services that have name that is alphabetically later than the
+     *     string, so "service-e" is returned but "service-a" is not
+     * *   `metadata.owner!=sd AND metadata.foo=bar` returns services that have
+     *     `owner` in metadata key but value is not `sd` AND have key/value
+     *     `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that service
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any services, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1201,27 +1233,31 @@ public Builder setFilter(java.lang.String value) { * * *
-     * Optional. The filter to list result by.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name", or "metadata.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-     * is roughly the same as "=".
-     * <value> must be the same data type as field.
-     * <logical connector> can be "AND, OR, NOT".
+     * Optional. The filter to list results by.
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name` or `metadata.<key>` for map field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "metadata.owner" returns Services that have a label with the key "owner"
-     *   this is the same as "metadata:owner".
-     * * "metadata.protocol=gRPC" returns Services that have key/value
-     *   "protocol=gRPC".
-     * * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/service-c"
-     *   returns Services that have name that is alphabetically later than the
-     *   string, so "service-e" will be returned but "service-a" will not be.
-     * * "metadata.owner!=sd AND metadata.foo=bar" returns Services that have
-     *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-     * * "doesnotexist.foo=bar" returns an empty list. Note that Service doesn't
-     *   have a field called "doesnotexist". Since the filter does not match any
-     *   Services, it returns no results.
+     * *   `metadata.owner` returns services that have a metadata with the key
+     *     `owner`, this is the same as `metadata:owner`
+     * *   `metadata.protocol=gRPC` returns services that have key/value
+     *     `protocol=gRPC`
+     * *
+     * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c`
+     *     returns services that have name that is alphabetically later than the
+     *     string, so "service-e" is returned but "service-a" is not
+     * *   `metadata.owner!=sd AND metadata.foo=bar` returns services that have
+     *     `owner` in metadata key but value is not `sd` AND have key/value
+     *     `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that service
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any services, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1238,27 +1274,31 @@ public Builder clearFilter() { * * *
-     * Optional. The filter to list result by.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name", or "metadata.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-     * is roughly the same as "=".
-     * <value> must be the same data type as field.
-     * <logical connector> can be "AND, OR, NOT".
+     * Optional. The filter to list results by.
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name` or `metadata.<key>` for map field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "metadata.owner" returns Services that have a label with the key "owner"
-     *   this is the same as "metadata:owner".
-     * * "metadata.protocol=gRPC" returns Services that have key/value
-     *   "protocol=gRPC".
-     * * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/service-c"
-     *   returns Services that have name that is alphabetically later than the
-     *   string, so "service-e" will be returned but "service-a" will not be.
-     * * "metadata.owner!=sd AND metadata.foo=bar" returns Services that have
-     *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-     * * "doesnotexist.foo=bar" returns an empty list. Note that Service doesn't
-     *   have a field called "doesnotexist". Since the filter does not match any
-     *   Services, it returns no results.
+     * *   `metadata.owner` returns services that have a metadata with the key
+     *     `owner`, this is the same as `metadata:owner`
+     * *   `metadata.protocol=gRPC` returns services that have key/value
+     *     `protocol=gRPC`
+     * *
+     * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c`
+     *     returns services that have name that is alphabetically later than the
+     *     string, so "service-e" is returned but "service-a" is not
+     * *   `metadata.owner!=sd AND metadata.foo=bar` returns services that have
+     *     `owner` in metadata key but value is not `sd` AND have key/value
+     *     `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that service
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any services, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1282,7 +1322,13 @@ public Builder setFilterBytes(com.google.protobuf.ByteString value) { * * *
-     * Optional. The order to list result by.
+     * Optional. The order to list results by.
+     * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+     * *   `<field>` allows value: `name`
+     * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+     *     left blank, `asc` is used
+     * Note that an empty `order_by` string results in default order, which is
+     * order by `name` in ascending order.
      * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1304,7 +1350,13 @@ public java.lang.String getOrderBy() { * * *
-     * Optional. The order to list result by.
+     * Optional. The order to list results by.
+     * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+     * *   `<field>` allows value: `name`
+     * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+     *     left blank, `asc` is used
+     * Note that an empty `order_by` string results in default order, which is
+     * order by `name` in ascending order.
      * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1326,7 +1378,13 @@ public com.google.protobuf.ByteString getOrderByBytes() { * * *
-     * Optional. The order to list result by.
+     * Optional. The order to list results by.
+     * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+     * *   `<field>` allows value: `name`
+     * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+     *     left blank, `asc` is used
+     * Note that an empty `order_by` string results in default order, which is
+     * order by `name` in ascending order.
      * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1347,7 +1405,13 @@ public Builder setOrderBy(java.lang.String value) { * * *
-     * Optional. The order to list result by.
+     * Optional. The order to list results by.
+     * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+     * *   `<field>` allows value: `name`
+     * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+     *     left blank, `asc` is used
+     * Note that an empty `order_by` string results in default order, which is
+     * order by `name` in ascending order.
      * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1364,7 +1428,13 @@ public Builder clearOrderBy() { * * *
-     * Optional. The order to list result by.
+     * Optional. The order to list results by.
+     * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+     * *   `<field>` allows value: `name`
+     * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+     *     left blank, `asc` is used
+     * Note that an empty `order_by` string results in default order, which is
+     * order by `name` in ascending order.
      * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListServicesRequestOrBuilder.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListServicesRequestOrBuilder.java index 3f794a15..3a0c7197 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListServicesRequestOrBuilder.java +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ListServicesRequestOrBuilder.java @@ -27,7 +27,7 @@ public interface ListServicesRequestOrBuilder * * *
-   * Required. The resource name of the namespace whose services we'd
+   * Required. The resource name of the namespace whose services you'd
    * like to list.
    * 
* @@ -42,7 +42,7 @@ public interface ListServicesRequestOrBuilder * * *
-   * Required. The resource name of the namespace whose services we'd
+   * Required. The resource name of the namespace whose services you'd
    * like to list.
    * 
* @@ -98,27 +98,31 @@ public interface ListServicesRequestOrBuilder * * *
-   * Optional. The filter to list result by.
-   * General filter string syntax:
-   * <field> <operator> <value> (<logical connector>)
-   * <field> can be "name", or "metadata.<key>" for map field.
-   * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-   * is roughly the same as "=".
-   * <value> must be the same data type as field.
-   * <logical connector> can be "AND, OR, NOT".
+   * Optional. The filter to list results by.
+   * General `filter` string syntax:
+   * `<field> <operator> <value> (<logical connector>)`
+   * *   `<field>` can be `name` or `metadata.<key>` for map field
+   * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+   *     means `HAS`, and is roughly the same as `=`
+   * *   `<value>` must be the same data type as field
+   * *   `<logical connector>` can be `AND`, `OR`, `NOT`
    * Examples of valid filters:
-   * * "metadata.owner" returns Services that have a label with the key "owner"
-   *   this is the same as "metadata:owner".
-   * * "metadata.protocol=gRPC" returns Services that have key/value
-   *   "protocol=gRPC".
-   * * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/service-c"
-   *   returns Services that have name that is alphabetically later than the
-   *   string, so "service-e" will be returned but "service-a" will not be.
-   * * "metadata.owner!=sd AND metadata.foo=bar" returns Services that have
-   *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-   * * "doesnotexist.foo=bar" returns an empty list. Note that Service doesn't
-   *   have a field called "doesnotexist". Since the filter does not match any
-   *   Services, it returns no results.
+   * *   `metadata.owner` returns services that have a metadata with the key
+   *     `owner`, this is the same as `metadata:owner`
+   * *   `metadata.protocol=gRPC` returns services that have key/value
+   *     `protocol=gRPC`
+   * *
+   * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c`
+   *     returns services that have name that is alphabetically later than the
+   *     string, so "service-e" is returned but "service-a" is not
+   * *   `metadata.owner!=sd AND metadata.foo=bar` returns services that have
+   *     `owner` in metadata key but value is not `sd` AND have key/value
+   *     `foo=bar`
+   * *   `doesnotexist.foo=bar` returns an empty list. Note that service
+   *     doesn't have a field called "doesnotexist". Since the filter does not
+   *     match any services, it returns no results
+   * For more information about filtering, see
+   * [API Filtering](https://aip.dev/160).
    * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -130,27 +134,31 @@ public interface ListServicesRequestOrBuilder * * *
-   * Optional. The filter to list result by.
-   * General filter string syntax:
-   * <field> <operator> <value> (<logical connector>)
-   * <field> can be "name", or "metadata.<key>" for map field.
-   * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
-   * is roughly the same as "=".
-   * <value> must be the same data type as field.
-   * <logical connector> can be "AND, OR, NOT".
+   * Optional. The filter to list results by.
+   * General `filter` string syntax:
+   * `<field> <operator> <value> (<logical connector>)`
+   * *   `<field>` can be `name` or `metadata.<key>` for map field
+   * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+   *     means `HAS`, and is roughly the same as `=`
+   * *   `<value>` must be the same data type as field
+   * *   `<logical connector>` can be `AND`, `OR`, `NOT`
    * Examples of valid filters:
-   * * "metadata.owner" returns Services that have a label with the key "owner"
-   *   this is the same as "metadata:owner".
-   * * "metadata.protocol=gRPC" returns Services that have key/value
-   *   "protocol=gRPC".
-   * * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/service-c"
-   *   returns Services that have name that is alphabetically later than the
-   *   string, so "service-e" will be returned but "service-a" will not be.
-   * * "metadata.owner!=sd AND metadata.foo=bar" returns Services that have
-   *   "owner" in label key but value is not "sd" AND have key/value foo=bar.
-   * * "doesnotexist.foo=bar" returns an empty list. Note that Service doesn't
-   *   have a field called "doesnotexist". Since the filter does not match any
-   *   Services, it returns no results.
+   * *   `metadata.owner` returns services that have a metadata with the key
+   *     `owner`, this is the same as `metadata:owner`
+   * *   `metadata.protocol=gRPC` returns services that have key/value
+   *     `protocol=gRPC`
+   * *
+   * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c`
+   *     returns services that have name that is alphabetically later than the
+   *     string, so "service-e" is returned but "service-a" is not
+   * *   `metadata.owner!=sd AND metadata.foo=bar` returns services that have
+   *     `owner` in metadata key but value is not `sd` AND have key/value
+   *     `foo=bar`
+   * *   `doesnotexist.foo=bar` returns an empty list. Note that service
+   *     doesn't have a field called "doesnotexist". Since the filter does not
+   *     match any services, it returns no results
+   * For more information about filtering, see
+   * [API Filtering](https://aip.dev/160).
    * 
* * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -163,7 +171,13 @@ public interface ListServicesRequestOrBuilder * * *
-   * Optional. The order to list result by.
+   * Optional. The order to list results by.
+   * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+   * *   `<field>` allows value: `name`
+   * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+   *     left blank, `asc` is used
+   * Note that an empty `order_by` string results in default order, which is
+   * order by `name` in ascending order.
    * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -175,7 +189,13 @@ public interface ListServicesRequestOrBuilder * * *
-   * Optional. The order to list result by.
+   * Optional. The order to list results by.
+   * General `order_by` string syntax: `<field> (<asc|desc>) (,)`
+   * *   `<field>` allows value: `name`
+   * *   `<asc|desc>` ascending or descending order by `<field>`. If this is
+   *     left blank, `asc` is used
+   * Note that an empty `order_by` string results in default order, which is
+   * order by `name` in ascending order.
    * 
* * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/Namespace.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/Namespace.java index e9d52ae7..d105a268 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/Namespace.java +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/Namespace.java @@ -91,6 +91,36 @@ private Namespace( input.readMessage( LabelsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); labels_.getMutableMap().put(labels__.getKey(), labels__.getValue()); + break; + } + case 34: + { + com.google.protobuf.Timestamp.Builder subBuilder = null; + if (createTime_ != null) { + subBuilder = createTime_.toBuilder(); + } + createTime_ = + input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(createTime_); + createTime_ = subBuilder.buildPartial(); + } + + break; + } + case 42: + { + com.google.protobuf.Timestamp.Builder subBuilder = null; + if (updateTime_ != null) { + subBuilder = updateTime_.toBuilder(); + } + updateTime_ = + input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(updateTime_); + updateTime_ = subBuilder.buildPartial(); + } + break; } default: @@ -145,7 +175,7 @@ protected com.google.protobuf.MapField internalGetMapField(int number) { * *
    * Immutable. The resource name for the namespace in the format
-   * 'projects/*/locations/*/namespaces/*'.
+   * `projects/*/locations/*/namespaces/*`.
    * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -169,7 +199,7 @@ public java.lang.String getName() { * *
    * Immutable. The resource name for the namespace in the format
-   * 'projects/*/locations/*/namespaces/*'.
+   * `projects/*/locations/*/namespaces/*`.
    * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -218,8 +248,8 @@ public int getLabelsCount() { * * *
-   * Optional. Resource labels associated with this Namespace.
-   * No more than 64 user labels can be associated with a given resource.  Label
+   * Optional. Resource labels associated with this namespace.
+   * No more than 64 user labels can be associated with a given resource. Label
    * keys and values can be no longer than 63 characters.
    * 
* @@ -242,8 +272,8 @@ public java.util.Map getLabels() { * * *
-   * Optional. Resource labels associated with this Namespace.
-   * No more than 64 user labels can be associated with a given resource.  Label
+   * Optional. Resource labels associated with this namespace.
+   * No more than 64 user labels can be associated with a given resource. Label
    * keys and values can be no longer than 63 characters.
    * 
* @@ -257,8 +287,8 @@ public java.util.Map getLabelsMap() { * * *
-   * Optional. Resource labels associated with this Namespace.
-   * No more than 64 user labels can be associated with a given resource.  Label
+   * Optional. Resource labels associated with this namespace.
+   * No more than 64 user labels can be associated with a given resource. Label
    * keys and values can be no longer than 63 characters.
    * 
* @@ -276,8 +306,8 @@ public java.lang.String getLabelsOrDefault(java.lang.String key, java.lang.Strin * * *
-   * Optional. Resource labels associated with this Namespace.
-   * No more than 64 user labels can be associated with a given resource.  Label
+   * Optional. Resource labels associated with this namespace.
+   * No more than 64 user labels can be associated with a given resource. Label
    * keys and values can be no longer than 63 characters.
    * 
* @@ -295,6 +325,104 @@ public java.lang.String getLabelsOrThrow(java.lang.String key) { return map.get(key); } + public static final int CREATE_TIME_FIELD_NUMBER = 4; + private com.google.protobuf.Timestamp createTime_; + /** + * + * + *
+   * Output only. The timestamp when the namespace was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return createTime_ != null; + } + /** + * + * + *
+   * Output only. The timestamp when the namespace was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + /** + * + * + *
+   * Output only. The timestamp when the namespace was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return getCreateTime(); + } + + public static final int UPDATE_TIME_FIELD_NUMBER = 5; + private com.google.protobuf.Timestamp updateTime_; + /** + * + * + *
+   * Output only. The timestamp when the namespace was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + @java.lang.Override + public boolean hasUpdateTime() { + return updateTime_ != null; + } + /** + * + * + *
+   * Output only. The timestamp when the namespace was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getUpdateTime() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + /** + * + * + *
+   * Output only. The timestamp when the namespace was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + return getUpdateTime(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -314,6 +442,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io } com.google.protobuf.GeneratedMessageV3.serializeStringMapTo( output, internalGetLabels(), LabelsDefaultEntryHolder.defaultEntry, 2); + if (createTime_ != null) { + output.writeMessage(4, getCreateTime()); + } + if (updateTime_ != null) { + output.writeMessage(5, getUpdateTime()); + } unknownFields.writeTo(output); } @@ -336,6 +470,12 @@ public int getSerializedSize() { .build(); size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, labels__); } + if (createTime_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getCreateTime()); + } + if (updateTime_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getUpdateTime()); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -354,6 +494,14 @@ public boolean equals(final java.lang.Object obj) { if (!getName().equals(other.getName())) return false; if (!internalGetLabels().equals(other.internalGetLabels())) return false; + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (hasUpdateTime() != other.hasUpdateTime()) return false; + if (hasUpdateTime()) { + if (!getUpdateTime().equals(other.getUpdateTime())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -371,6 +519,14 @@ public int hashCode() { hash = (37 * hash) + LABELS_FIELD_NUMBER; hash = (53 * hash) + internalGetLabels().hashCode(); } + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + if (hasUpdateTime()) { + hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getUpdateTime().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -541,6 +697,18 @@ public Builder clear() { name_ = ""; internalGetMutableLabels().clear(); + if (createTimeBuilder_ == null) { + createTime_ = null; + } else { + createTime_ = null; + createTimeBuilder_ = null; + } + if (updateTimeBuilder_ == null) { + updateTime_ = null; + } else { + updateTime_ = null; + updateTimeBuilder_ = null; + } return this; } @@ -572,6 +740,16 @@ public com.google.cloud.servicedirectory.v1beta1.Namespace buildPartial() { result.name_ = name_; result.labels_ = internalGetLabels(); result.labels_.makeImmutable(); + if (createTimeBuilder_ == null) { + result.createTime_ = createTime_; + } else { + result.createTime_ = createTimeBuilder_.build(); + } + if (updateTimeBuilder_ == null) { + result.updateTime_ = updateTime_; + } else { + result.updateTime_ = updateTimeBuilder_.build(); + } onBuilt(); return result; } @@ -627,6 +805,12 @@ public Builder mergeFrom(com.google.cloud.servicedirectory.v1beta1.Namespace oth onChanged(); } internalGetMutableLabels().mergeFrom(other.internalGetLabels()); + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (other.hasUpdateTime()) { + mergeUpdateTime(other.getUpdateTime()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -665,7 +849,7 @@ public Builder mergeFrom( * *
      * Immutable. The resource name for the namespace in the format
-     * 'projects/*/locations/*/namespaces/*'.
+     * `projects/*/locations/*/namespaces/*`.
      * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -688,7 +872,7 @@ public java.lang.String getName() { * *
      * Immutable. The resource name for the namespace in the format
-     * 'projects/*/locations/*/namespaces/*'.
+     * `projects/*/locations/*/namespaces/*`.
      * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -711,7 +895,7 @@ public com.google.protobuf.ByteString getNameBytes() { * *
      * Immutable. The resource name for the namespace in the format
-     * 'projects/*/locations/*/namespaces/*'.
+     * `projects/*/locations/*/namespaces/*`.
      * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -733,7 +917,7 @@ public Builder setName(java.lang.String value) { * *
      * Immutable. The resource name for the namespace in the format
-     * 'projects/*/locations/*/namespaces/*'.
+     * `projects/*/locations/*/namespaces/*`.
      * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -751,7 +935,7 @@ public Builder clearName() { * *
      * Immutable. The resource name for the namespace in the format
-     * 'projects/*/locations/*/namespaces/*'.
+     * `projects/*/locations/*/namespaces/*`.
      * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -799,8 +983,8 @@ public int getLabelsCount() { * * *
-     * Optional. Resource labels associated with this Namespace.
-     * No more than 64 user labels can be associated with a given resource.  Label
+     * Optional. Resource labels associated with this namespace.
+     * No more than 64 user labels can be associated with a given resource. Label
      * keys and values can be no longer than 63 characters.
      * 
* @@ -823,8 +1007,8 @@ public java.util.Map getLabels() { * * *
-     * Optional. Resource labels associated with this Namespace.
-     * No more than 64 user labels can be associated with a given resource.  Label
+     * Optional. Resource labels associated with this namespace.
+     * No more than 64 user labels can be associated with a given resource. Label
      * keys and values can be no longer than 63 characters.
      * 
* @@ -838,8 +1022,8 @@ public java.util.Map getLabelsMap() { * * *
-     * Optional. Resource labels associated with this Namespace.
-     * No more than 64 user labels can be associated with a given resource.  Label
+     * Optional. Resource labels associated with this namespace.
+     * No more than 64 user labels can be associated with a given resource. Label
      * keys and values can be no longer than 63 characters.
      * 
* @@ -858,8 +1042,8 @@ public java.lang.String getLabelsOrDefault( * * *
-     * Optional. Resource labels associated with this Namespace.
-     * No more than 64 user labels can be associated with a given resource.  Label
+     * Optional. Resource labels associated with this namespace.
+     * No more than 64 user labels can be associated with a given resource. Label
      * keys and values can be no longer than 63 characters.
      * 
* @@ -885,8 +1069,8 @@ public Builder clearLabels() { * * *
-     * Optional. Resource labels associated with this Namespace.
-     * No more than 64 user labels can be associated with a given resource.  Label
+     * Optional. Resource labels associated with this namespace.
+     * No more than 64 user labels can be associated with a given resource. Label
      * keys and values can be no longer than 63 characters.
      * 
* @@ -908,8 +1092,8 @@ public java.util.Map getMutableLabels() { * * *
-     * Optional. Resource labels associated with this Namespace.
-     * No more than 64 user labels can be associated with a given resource.  Label
+     * Optional. Resource labels associated with this namespace.
+     * No more than 64 user labels can be associated with a given resource. Label
      * keys and values can be no longer than 63 characters.
      * 
* @@ -929,8 +1113,8 @@ public Builder putLabels(java.lang.String key, java.lang.String value) { * * *
-     * Optional. Resource labels associated with this Namespace.
-     * No more than 64 user labels can be associated with a given resource.  Label
+     * Optional. Resource labels associated with this namespace.
+     * No more than 64 user labels can be associated with a given resource. Label
      * keys and values can be no longer than 63 characters.
      * 
* @@ -941,6 +1125,408 @@ public Builder putAllLabels(java.util.Map va return this; } + private com.google.protobuf.Timestamp createTime_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + createTimeBuilder_; + /** + * + * + *
+     * Output only. The timestamp when the namespace was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return createTimeBuilder_ != null || createTime_ != null; + } + /** + * + * + *
+     * Output only. The timestamp when the namespace was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Output only. The timestamp when the namespace was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + onChanged(); + } else { + createTimeBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the namespace was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + onChanged(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the namespace was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (createTime_ != null) { + createTime_ = + com.google.protobuf.Timestamp.newBuilder(createTime_).mergeFrom(value).buildPartial(); + } else { + createTime_ = value; + } + onChanged(); + } else { + createTimeBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the namespace was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + if (createTimeBuilder_ == null) { + createTime_ = null; + onChanged(); + } else { + createTime_ = null; + createTimeBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the namespace was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + + onChanged(); + return getCreateTimeFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Output only. The timestamp when the namespace was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + /** + * + * + *
+     * Output only. The timestamp when the namespace was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + getCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private com.google.protobuf.Timestamp updateTime_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + updateTimeBuilder_; + /** + * + * + *
+     * Output only. The timestamp when the namespace was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + public boolean hasUpdateTime() { + return updateTimeBuilder_ != null || updateTime_ != null; + } + /** + * + * + *
+     * Output only. The timestamp when the namespace was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + public com.google.protobuf.Timestamp getUpdateTime() { + if (updateTimeBuilder_ == null) { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } else { + return updateTimeBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Output only. The timestamp when the namespace was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateTime_ = value; + onChanged(); + } else { + updateTimeBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the namespace was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (updateTimeBuilder_ == null) { + updateTime_ = builderForValue.build(); + onChanged(); + } else { + updateTimeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the namespace was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (updateTime_ != null) { + updateTime_ = + com.google.protobuf.Timestamp.newBuilder(updateTime_).mergeFrom(value).buildPartial(); + } else { + updateTime_ = value; + } + onChanged(); + } else { + updateTimeBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the namespace was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearUpdateTime() { + if (updateTimeBuilder_ == null) { + updateTime_ = null; + onChanged(); + } else { + updateTime_ = null; + updateTimeBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the namespace was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() { + + onChanged(); + return getUpdateTimeFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Output only. The timestamp when the namespace was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + if (updateTimeBuilder_ != null) { + return updateTimeBuilder_.getMessageOrBuilder(); + } else { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } + } + /** + * + * + *
+     * Output only. The timestamp when the namespace was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + getUpdateTimeFieldBuilder() { + if (updateTimeBuilder_ == null) { + updateTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getUpdateTime(), getParentForChildren(), isClean()); + updateTime_ = null; + } + return updateTimeBuilder_; + } + @java.lang.Override public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/NamespaceOrBuilder.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/NamespaceOrBuilder.java index 7dd4d978..05a496d9 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/NamespaceOrBuilder.java +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/NamespaceOrBuilder.java @@ -28,7 +28,7 @@ public interface NamespaceOrBuilder * *
    * Immutable. The resource name for the namespace in the format
-   * 'projects/*/locations/*/namespaces/*'.
+   * `projects/*/locations/*/namespaces/*`.
    * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -41,7 +41,7 @@ public interface NamespaceOrBuilder * *
    * Immutable. The resource name for the namespace in the format
-   * 'projects/*/locations/*/namespaces/*'.
+   * `projects/*/locations/*/namespaces/*`.
    * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -54,8 +54,8 @@ public interface NamespaceOrBuilder * * *
-   * Optional. Resource labels associated with this Namespace.
-   * No more than 64 user labels can be associated with a given resource.  Label
+   * Optional. Resource labels associated with this namespace.
+   * No more than 64 user labels can be associated with a given resource. Label
    * keys and values can be no longer than 63 characters.
    * 
* @@ -66,8 +66,8 @@ public interface NamespaceOrBuilder * * *
-   * Optional. Resource labels associated with this Namespace.
-   * No more than 64 user labels can be associated with a given resource.  Label
+   * Optional. Resource labels associated with this namespace.
+   * No more than 64 user labels can be associated with a given resource. Label
    * keys and values can be no longer than 63 characters.
    * 
* @@ -81,8 +81,8 @@ public interface NamespaceOrBuilder * * *
-   * Optional. Resource labels associated with this Namespace.
-   * No more than 64 user labels can be associated with a given resource.  Label
+   * Optional. Resource labels associated with this namespace.
+   * No more than 64 user labels can be associated with a given resource. Label
    * keys and values can be no longer than 63 characters.
    * 
* @@ -93,8 +93,8 @@ public interface NamespaceOrBuilder * * *
-   * Optional. Resource labels associated with this Namespace.
-   * No more than 64 user labels can be associated with a given resource.  Label
+   * Optional. Resource labels associated with this namespace.
+   * No more than 64 user labels can be associated with a given resource. Label
    * keys and values can be no longer than 63 characters.
    * 
* @@ -105,12 +105,88 @@ public interface NamespaceOrBuilder * * *
-   * Optional. Resource labels associated with this Namespace.
-   * No more than 64 user labels can be associated with a given resource.  Label
+   * Optional. Resource labels associated with this namespace.
+   * No more than 64 user labels can be associated with a given resource. Label
    * keys and values can be no longer than 63 characters.
    * 
* * map<string, string> labels = 2 [(.google.api.field_behavior) = OPTIONAL]; */ java.lang.String getLabelsOrThrow(java.lang.String key); + + /** + * + * + *
+   * Output only. The timestamp when the namespace was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + /** + * + * + *
+   * Output only. The timestamp when the namespace was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + /** + * + * + *
+   * Output only. The timestamp when the namespace was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. The timestamp when the namespace was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + boolean hasUpdateTime(); + /** + * + * + *
+   * Output only. The timestamp when the namespace was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + com.google.protobuf.Timestamp getUpdateTime(); + /** + * + * + *
+   * Output only. The timestamp when the namespace was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder(); } diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/NamespaceProto.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/NamespaceProto.java index 45afdf7f..458cdea6 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/NamespaceProto.java +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/NamespaceProto.java @@ -47,22 +47,26 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "\n5google/cloud/servicedirectory/v1beta1/" + "namespace.proto\022%google.cloud.servicedir" + "ectory.v1beta1\032\037google/api/field_behavio" - + "r.proto\032\031google/api/resource.proto\032\034goog" - + "le/api/annotations.proto\"\220\002\n\tNamespace\022\021" - + "\n\004name\030\001 \001(\tB\003\340A\005\022Q\n\006labels\030\002 \003(\0132<.goog" - + "le.cloud.servicedirectory.v1beta1.Namesp" - + "ace.LabelsEntryB\003\340A\001\032-\n\013LabelsEntry\022\013\n\003k" - + "ey\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001:n\352Ak\n)servic" - + "edirectory.googleapis.com/Namespace\022>pro" - + "jects/{project}/locations/{location}/nam" - + "espaces/{namespace}B\222\002\n)com.google.cloud" - + ".servicedirectory.v1beta1B\016NamespaceProt" - + "oP\001ZUgoogle.golang.org/genproto/googleap" - + "is/cloud/servicedirectory/v1beta1;servic" - + "edirectory\370\001\001\252\002%Google.Cloud.ServiceDire" - + "ctory.V1Beta1\312\002%Google\\Cloud\\ServiceDire" - + "ctory\\V1beta1\352\002(Google::Cloud::ServiceDi" - + "rectory::V1beta1b\006proto3" + + "r.proto\032\031google/api/resource.proto\032\037goog" + + "le/protobuf/timestamp.proto\032\034google/api/" + + "annotations.proto\"\374\002\n\tNamespace\022\021\n\004name\030" + + "\001 \001(\tB\003\340A\005\022Q\n\006labels\030\002 \003(\0132<.google.clou" + + "d.servicedirectory.v1beta1.Namespace.Lab" + + "elsEntryB\003\340A\001\0224\n\013create_time\030\004 \001(\0132\032.goo" + + "gle.protobuf.TimestampB\003\340A\003\0224\n\013update_ti" + + "me\030\005 \001(\0132\032.google.protobuf.TimestampB\003\340A" + + "\003\032-\n\013LabelsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002" + + " \001(\t:\0028\001:n\352Ak\n)servicedirectory.googleap" + + "is.com/Namespace\022>projects/{project}/loc" + + "ations/{location}/namespaces/{namespace}" + + "B\222\002\n)com.google.cloud.servicedirectory.v" + + "1beta1B\016NamespaceProtoP\001ZUgoogle.golang." + + "org/genproto/googleapis/cloud/servicedir" + + "ectory/v1beta1;servicedirectory\370\001\001\252\002%Goo" + + "gle.Cloud.ServiceDirectory.V1Beta1\312\002%Goo" + + "gle\\Cloud\\ServiceDirectory\\V1beta1\352\002(Goo" + + "gle::Cloud::ServiceDirectory::V1beta1b\006p" + + "roto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -70,6 +74,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.Descriptors.FileDescriptor[] { com.google.api.FieldBehaviorProto.getDescriptor(), com.google.api.ResourceProto.getDescriptor(), + com.google.protobuf.TimestampProto.getDescriptor(), com.google.api.AnnotationsProto.getDescriptor(), }); internal_static_google_cloud_servicedirectory_v1beta1_Namespace_descriptor = @@ -78,7 +83,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_servicedirectory_v1beta1_Namespace_descriptor, new java.lang.String[] { - "Name", "Labels", + "Name", "Labels", "CreateTime", "UpdateTime", }); internal_static_google_cloud_servicedirectory_v1beta1_Namespace_LabelsEntry_descriptor = internal_static_google_cloud_servicedirectory_v1beta1_Namespace_descriptor @@ -98,6 +103,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { descriptor, registry); com.google.api.FieldBehaviorProto.getDescriptor(); com.google.api.ResourceProto.getDescriptor(); + com.google.protobuf.TimestampProto.getDescriptor(); com.google.api.AnnotationsProto.getDescriptor(); } diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/NetworkName.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/NetworkName.java new file mode 100644 index 00000000..4a585d8f --- /dev/null +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/NetworkName.java @@ -0,0 +1,193 @@ +/* + * Copyright 2021 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.servicedirectory.v1beta1; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@Generated("by gapic-generator-java") +public class NetworkName implements ResourceName { + private static final PathTemplate PROJECT_NETWORK = + PathTemplate.createWithoutUrlEncoding( + "projects/{project}/locations/global/networks/{network}"); + private volatile Map fieldValuesMap; + private final String project; + private final String network; + + @Deprecated + protected NetworkName() { + project = null; + network = null; + } + + private NetworkName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + network = Preconditions.checkNotNull(builder.getNetwork()); + } + + public String getProject() { + return project; + } + + public String getNetwork() { + return network; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static NetworkName of(String project, String network) { + return newBuilder().setProject(project).setNetwork(network).build(); + } + + public static String format(String project, String network) { + return newBuilder().setProject(project).setNetwork(network).build().toString(); + } + + public static NetworkName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + Map matchMap = + PROJECT_NETWORK.validatedMatch( + formattedString, "NetworkName.parse: formattedString not in valid format"); + return of(matchMap.get("project"), matchMap.get("network")); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List values) { + List list = new ArrayList<>(values.size()); + for (NetworkName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_NETWORK.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (network != null) { + fieldMapBuilder.put("network", network); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return PROJECT_NETWORK.instantiate("project", project, "network", network); + } + + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (o != null || getClass() == o.getClass()) { + NetworkName that = ((NetworkName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.network, that.network); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(network); + return h; + } + + /** Builder for projects/{project}/locations/global/networks/{network}. */ + public static class Builder { + private String project; + private String network; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getNetwork() { + return network; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setNetwork(String network) { + this.network = network; + return this; + } + + private Builder(NetworkName networkName) { + this.project = networkName.project; + this.network = networkName.network; + } + + public NetworkName build() { + return new NetworkName(this); + } + } +} diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ResolveServiceRequest.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ResolveServiceRequest.java index cb4c38ef..6a09c25a 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ResolveServiceRequest.java +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ResolveServiceRequest.java @@ -205,21 +205,33 @@ public int getMaxEndpoints() { * *
    * Optional. The filter applied to the endpoints of the resolved service.
-   * General filter string syntax:
-   * <field> <operator> <value> (<logical connector>)
-   * <field> can be "name" or "metadata.<key>" for map field.
-   * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS and is
-   * roughly the same as "=".
-   * <value> must be the same data type as the field.
-   * <logical connector> can be "AND, OR, NOT".
+   * General `filter` string syntax:
+   * `<field> <operator> <value> (<logical connector>)`
+   * *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for
+   *     map field
+   * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+   *     means `HAS`, and is roughly the same as `=`
+   * *   `<value>` must be the same data type as field
+   * *   `<logical connector>` can be `AND`, `OR`, `NOT`
    * Examples of valid filters:
-   * * "metadata.owner" returns Endpoints that have a label with the
-   *   key "owner", this is the same as "metadata:owner"
-   * * "metadata.protocol=gRPC" returns Endpoints that have key/value
-   *   "protocol=gRPC"
-   * * "metadata.owner!=sd AND metadata.foo=bar" returns
-   *   Endpoints that have "owner" field in metadata with a value that is not
-   *   "sd" AND have the key/value foo=bar.
+   * *   `metadata.owner` returns endpoints that have a annotation with the key
+   *     `owner`, this is the same as `metadata:owner`
+   * *   `metadata.protocol=gRPC` returns endpoints that have key/value
+   *     `protocol=gRPC`
+   * *   `address=192.108.1.105` returns endpoints that have this address
+   * *   `port>8080` returns endpoints that have port number larger than 8080
+   * *
+   * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+   *     returns endpoints that have name that is alphabetically later than the
+   *     string, so "endpoint-e" is returned but "endpoint-a" is not
+   * *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+   *     `owner` in annotation key but value is not `sd` AND have key/value
+   *      `foo=bar`
+   * *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+   *     doesn't have a field called "doesnotexist". Since the filter does not
+   *     match any endpoint, it returns no results
+   * For more information about filtering, see
+   * [API Filtering](https://aip.dev/160).
    * 
* * string endpoint_filter = 3 [(.google.api.field_behavior) = OPTIONAL]; @@ -243,21 +255,33 @@ public java.lang.String getEndpointFilter() { * *
    * Optional. The filter applied to the endpoints of the resolved service.
-   * General filter string syntax:
-   * <field> <operator> <value> (<logical connector>)
-   * <field> can be "name" or "metadata.<key>" for map field.
-   * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS and is
-   * roughly the same as "=".
-   * <value> must be the same data type as the field.
-   * <logical connector> can be "AND, OR, NOT".
+   * General `filter` string syntax:
+   * `<field> <operator> <value> (<logical connector>)`
+   * *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for
+   *     map field
+   * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+   *     means `HAS`, and is roughly the same as `=`
+   * *   `<value>` must be the same data type as field
+   * *   `<logical connector>` can be `AND`, `OR`, `NOT`
    * Examples of valid filters:
-   * * "metadata.owner" returns Endpoints that have a label with the
-   *   key "owner", this is the same as "metadata:owner"
-   * * "metadata.protocol=gRPC" returns Endpoints that have key/value
-   *   "protocol=gRPC"
-   * * "metadata.owner!=sd AND metadata.foo=bar" returns
-   *   Endpoints that have "owner" field in metadata with a value that is not
-   *   "sd" AND have the key/value foo=bar.
+   * *   `metadata.owner` returns endpoints that have a annotation with the key
+   *     `owner`, this is the same as `metadata:owner`
+   * *   `metadata.protocol=gRPC` returns endpoints that have key/value
+   *     `protocol=gRPC`
+   * *   `address=192.108.1.105` returns endpoints that have this address
+   * *   `port>8080` returns endpoints that have port number larger than 8080
+   * *
+   * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+   *     returns endpoints that have name that is alphabetically later than the
+   *     string, so "endpoint-e" is returned but "endpoint-a" is not
+   * *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+   *     `owner` in annotation key but value is not `sd` AND have key/value
+   *      `foo=bar`
+   * *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+   *     doesn't have a field called "doesnotexist". Since the filter does not
+   *     match any endpoint, it returns no results
+   * For more information about filtering, see
+   * [API Filtering](https://aip.dev/160).
    * 
* * string endpoint_filter = 3 [(.google.api.field_behavior) = OPTIONAL]; @@ -812,21 +836,33 @@ public Builder clearMaxEndpoints() { * *
      * Optional. The filter applied to the endpoints of the resolved service.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name" or "metadata.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS and is
-     * roughly the same as "=".
-     * <value> must be the same data type as the field.
-     * <logical connector> can be "AND, OR, NOT".
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for
+     *     map field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "metadata.owner" returns Endpoints that have a label with the
-     *   key "owner", this is the same as "metadata:owner"
-     * * "metadata.protocol=gRPC" returns Endpoints that have key/value
-     *   "protocol=gRPC"
-     * * "metadata.owner!=sd AND metadata.foo=bar" returns
-     *   Endpoints that have "owner" field in metadata with a value that is not
-     *   "sd" AND have the key/value foo=bar.
+     * *   `metadata.owner` returns endpoints that have a annotation with the key
+     *     `owner`, this is the same as `metadata:owner`
+     * *   `metadata.protocol=gRPC` returns endpoints that have key/value
+     *     `protocol=gRPC`
+     * *   `address=192.108.1.105` returns endpoints that have this address
+     * *   `port>8080` returns endpoints that have port number larger than 8080
+     * *
+     * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+     *     returns endpoints that have name that is alphabetically later than the
+     *     string, so "endpoint-e" is returned but "endpoint-a" is not
+     * *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+     *     `owner` in annotation key but value is not `sd` AND have key/value
+     *      `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any endpoint, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string endpoint_filter = 3 [(.google.api.field_behavior) = OPTIONAL]; @@ -849,21 +885,33 @@ public java.lang.String getEndpointFilter() { * *
      * Optional. The filter applied to the endpoints of the resolved service.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name" or "metadata.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS and is
-     * roughly the same as "=".
-     * <value> must be the same data type as the field.
-     * <logical connector> can be "AND, OR, NOT".
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for
+     *     map field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "metadata.owner" returns Endpoints that have a label with the
-     *   key "owner", this is the same as "metadata:owner"
-     * * "metadata.protocol=gRPC" returns Endpoints that have key/value
-     *   "protocol=gRPC"
-     * * "metadata.owner!=sd AND metadata.foo=bar" returns
-     *   Endpoints that have "owner" field in metadata with a value that is not
-     *   "sd" AND have the key/value foo=bar.
+     * *   `metadata.owner` returns endpoints that have a annotation with the key
+     *     `owner`, this is the same as `metadata:owner`
+     * *   `metadata.protocol=gRPC` returns endpoints that have key/value
+     *     `protocol=gRPC`
+     * *   `address=192.108.1.105` returns endpoints that have this address
+     * *   `port>8080` returns endpoints that have port number larger than 8080
+     * *
+     * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+     *     returns endpoints that have name that is alphabetically later than the
+     *     string, so "endpoint-e" is returned but "endpoint-a" is not
+     * *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+     *     `owner` in annotation key but value is not `sd` AND have key/value
+     *      `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any endpoint, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string endpoint_filter = 3 [(.google.api.field_behavior) = OPTIONAL]; @@ -886,21 +934,33 @@ public com.google.protobuf.ByteString getEndpointFilterBytes() { * *
      * Optional. The filter applied to the endpoints of the resolved service.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name" or "metadata.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS and is
-     * roughly the same as "=".
-     * <value> must be the same data type as the field.
-     * <logical connector> can be "AND, OR, NOT".
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for
+     *     map field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "metadata.owner" returns Endpoints that have a label with the
-     *   key "owner", this is the same as "metadata:owner"
-     * * "metadata.protocol=gRPC" returns Endpoints that have key/value
-     *   "protocol=gRPC"
-     * * "metadata.owner!=sd AND metadata.foo=bar" returns
-     *   Endpoints that have "owner" field in metadata with a value that is not
-     *   "sd" AND have the key/value foo=bar.
+     * *   `metadata.owner` returns endpoints that have a annotation with the key
+     *     `owner`, this is the same as `metadata:owner`
+     * *   `metadata.protocol=gRPC` returns endpoints that have key/value
+     *     `protocol=gRPC`
+     * *   `address=192.108.1.105` returns endpoints that have this address
+     * *   `port>8080` returns endpoints that have port number larger than 8080
+     * *
+     * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+     *     returns endpoints that have name that is alphabetically later than the
+     *     string, so "endpoint-e" is returned but "endpoint-a" is not
+     * *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+     *     `owner` in annotation key but value is not `sd` AND have key/value
+     *      `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any endpoint, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string endpoint_filter = 3 [(.google.api.field_behavior) = OPTIONAL]; @@ -922,21 +982,33 @@ public Builder setEndpointFilter(java.lang.String value) { * *
      * Optional. The filter applied to the endpoints of the resolved service.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name" or "metadata.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS and is
-     * roughly the same as "=".
-     * <value> must be the same data type as the field.
-     * <logical connector> can be "AND, OR, NOT".
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for
+     *     map field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "metadata.owner" returns Endpoints that have a label with the
-     *   key "owner", this is the same as "metadata:owner"
-     * * "metadata.protocol=gRPC" returns Endpoints that have key/value
-     *   "protocol=gRPC"
-     * * "metadata.owner!=sd AND metadata.foo=bar" returns
-     *   Endpoints that have "owner" field in metadata with a value that is not
-     *   "sd" AND have the key/value foo=bar.
+     * *   `metadata.owner` returns endpoints that have a annotation with the key
+     *     `owner`, this is the same as `metadata:owner`
+     * *   `metadata.protocol=gRPC` returns endpoints that have key/value
+     *     `protocol=gRPC`
+     * *   `address=192.108.1.105` returns endpoints that have this address
+     * *   `port>8080` returns endpoints that have port number larger than 8080
+     * *
+     * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+     *     returns endpoints that have name that is alphabetically later than the
+     *     string, so "endpoint-e" is returned but "endpoint-a" is not
+     * *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+     *     `owner` in annotation key but value is not `sd` AND have key/value
+     *      `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any endpoint, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string endpoint_filter = 3 [(.google.api.field_behavior) = OPTIONAL]; @@ -954,21 +1026,33 @@ public Builder clearEndpointFilter() { * *
      * Optional. The filter applied to the endpoints of the resolved service.
-     * General filter string syntax:
-     * <field> <operator> <value> (<logical connector>)
-     * <field> can be "name" or "metadata.<key>" for map field.
-     * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS and is
-     * roughly the same as "=".
-     * <value> must be the same data type as the field.
-     * <logical connector> can be "AND, OR, NOT".
+     * General `filter` string syntax:
+     * `<field> <operator> <value> (<logical connector>)`
+     * *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for
+     *     map field
+     * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+     *     means `HAS`, and is roughly the same as `=`
+     * *   `<value>` must be the same data type as field
+     * *   `<logical connector>` can be `AND`, `OR`, `NOT`
      * Examples of valid filters:
-     * * "metadata.owner" returns Endpoints that have a label with the
-     *   key "owner", this is the same as "metadata:owner"
-     * * "metadata.protocol=gRPC" returns Endpoints that have key/value
-     *   "protocol=gRPC"
-     * * "metadata.owner!=sd AND metadata.foo=bar" returns
-     *   Endpoints that have "owner" field in metadata with a value that is not
-     *   "sd" AND have the key/value foo=bar.
+     * *   `metadata.owner` returns endpoints that have a annotation with the key
+     *     `owner`, this is the same as `metadata:owner`
+     * *   `metadata.protocol=gRPC` returns endpoints that have key/value
+     *     `protocol=gRPC`
+     * *   `address=192.108.1.105` returns endpoints that have this address
+     * *   `port>8080` returns endpoints that have port number larger than 8080
+     * *
+     * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+     *     returns endpoints that have name that is alphabetically later than the
+     *     string, so "endpoint-e" is returned but "endpoint-a" is not
+     * *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+     *     `owner` in annotation key but value is not `sd` AND have key/value
+     *      `foo=bar`
+     * *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+     *     doesn't have a field called "doesnotexist". Since the filter does not
+     *     match any endpoint, it returns no results
+     * For more information about filtering, see
+     * [API Filtering](https://aip.dev/160).
      * 
* * string endpoint_filter = 3 [(.google.api.field_behavior) = OPTIONAL]; diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ResolveServiceRequestOrBuilder.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ResolveServiceRequestOrBuilder.java index 240c387d..bc53a2f6 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ResolveServiceRequestOrBuilder.java +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ResolveServiceRequestOrBuilder.java @@ -72,21 +72,33 @@ public interface ResolveServiceRequestOrBuilder * *
    * Optional. The filter applied to the endpoints of the resolved service.
-   * General filter string syntax:
-   * <field> <operator> <value> (<logical connector>)
-   * <field> can be "name" or "metadata.<key>" for map field.
-   * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS and is
-   * roughly the same as "=".
-   * <value> must be the same data type as the field.
-   * <logical connector> can be "AND, OR, NOT".
+   * General `filter` string syntax:
+   * `<field> <operator> <value> (<logical connector>)`
+   * *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for
+   *     map field
+   * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+   *     means `HAS`, and is roughly the same as `=`
+   * *   `<value>` must be the same data type as field
+   * *   `<logical connector>` can be `AND`, `OR`, `NOT`
    * Examples of valid filters:
-   * * "metadata.owner" returns Endpoints that have a label with the
-   *   key "owner", this is the same as "metadata:owner"
-   * * "metadata.protocol=gRPC" returns Endpoints that have key/value
-   *   "protocol=gRPC"
-   * * "metadata.owner!=sd AND metadata.foo=bar" returns
-   *   Endpoints that have "owner" field in metadata with a value that is not
-   *   "sd" AND have the key/value foo=bar.
+   * *   `metadata.owner` returns endpoints that have a annotation with the key
+   *     `owner`, this is the same as `metadata:owner`
+   * *   `metadata.protocol=gRPC` returns endpoints that have key/value
+   *     `protocol=gRPC`
+   * *   `address=192.108.1.105` returns endpoints that have this address
+   * *   `port>8080` returns endpoints that have port number larger than 8080
+   * *
+   * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+   *     returns endpoints that have name that is alphabetically later than the
+   *     string, so "endpoint-e" is returned but "endpoint-a" is not
+   * *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+   *     `owner` in annotation key but value is not `sd` AND have key/value
+   *      `foo=bar`
+   * *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+   *     doesn't have a field called "doesnotexist". Since the filter does not
+   *     match any endpoint, it returns no results
+   * For more information about filtering, see
+   * [API Filtering](https://aip.dev/160).
    * 
* * string endpoint_filter = 3 [(.google.api.field_behavior) = OPTIONAL]; @@ -99,21 +111,33 @@ public interface ResolveServiceRequestOrBuilder * *
    * Optional. The filter applied to the endpoints of the resolved service.
-   * General filter string syntax:
-   * <field> <operator> <value> (<logical connector>)
-   * <field> can be "name" or "metadata.<key>" for map field.
-   * <operator> can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS and is
-   * roughly the same as "=".
-   * <value> must be the same data type as the field.
-   * <logical connector> can be "AND, OR, NOT".
+   * General `filter` string syntax:
+   * `<field> <operator> <value> (<logical connector>)`
+   * *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for
+   *     map field
+   * *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+   *     means `HAS`, and is roughly the same as `=`
+   * *   `<value>` must be the same data type as field
+   * *   `<logical connector>` can be `AND`, `OR`, `NOT`
    * Examples of valid filters:
-   * * "metadata.owner" returns Endpoints that have a label with the
-   *   key "owner", this is the same as "metadata:owner"
-   * * "metadata.protocol=gRPC" returns Endpoints that have key/value
-   *   "protocol=gRPC"
-   * * "metadata.owner!=sd AND metadata.foo=bar" returns
-   *   Endpoints that have "owner" field in metadata with a value that is not
-   *   "sd" AND have the key/value foo=bar.
+   * *   `metadata.owner` returns endpoints that have a annotation with the key
+   *     `owner`, this is the same as `metadata:owner`
+   * *   `metadata.protocol=gRPC` returns endpoints that have key/value
+   *     `protocol=gRPC`
+   * *   `address=192.108.1.105` returns endpoints that have this address
+   * *   `port>8080` returns endpoints that have port number larger than 8080
+   * *
+   * `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+   *     returns endpoints that have name that is alphabetically later than the
+   *     string, so "endpoint-e" is returned but "endpoint-a" is not
+   * *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+   *     `owner` in annotation key but value is not `sd` AND have key/value
+   *      `foo=bar`
+   * *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+   *     doesn't have a field called "doesnotexist". Since the filter does not
+   *     match any endpoint, it returns no results
+   * For more information about filtering, see
+   * [API Filtering](https://aip.dev/160).
    * 
* * string endpoint_filter = 3 [(.google.api.field_behavior) = OPTIONAL]; diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/Service.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/Service.java index 2b61dbea..7b857362 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/Service.java +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/Service.java @@ -110,6 +110,36 @@ private Service( extensionRegistry)); break; } + case 50: + { + com.google.protobuf.Timestamp.Builder subBuilder = null; + if (createTime_ != null) { + subBuilder = createTime_.toBuilder(); + } + createTime_ = + input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(createTime_); + createTime_ = subBuilder.buildPartial(); + } + + break; + } + case 58: + { + com.google.protobuf.Timestamp.Builder subBuilder = null; + if (updateTime_ != null) { + subBuilder = updateTime_.toBuilder(); + } + updateTime_ = + input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(updateTime_); + updateTime_ = subBuilder.buildPartial(); + } + + break; + } default: { if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { @@ -165,7 +195,7 @@ protected com.google.protobuf.MapField internalGetMapField(int number) { * *
    * Immutable. The resource name for the service in the format
-   * 'projects/*/locations/*/namespaces/*/services/*'.
+   * `projects/*/locations/*/namespaces/*/services/*`.
    * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -189,7 +219,7 @@ public java.lang.String getName() { * *
    * Immutable. The resource name for the service in the format
-   * 'projects/*/locations/*/namespaces/*/services/*'.
+   * `projects/*/locations/*/namespaces/*/services/*`.
    * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -239,9 +269,26 @@ public int getMetadataCount() { * *
    * Optional. Metadata for the service. This data can be consumed by service
-   * clients.  The entire metadata dictionary may contain up to 2000 characters,
-   * spread across all key-value pairs. Metadata that goes beyond any these
-   * limits will be rejected.
+   * clients.
+   * Restrictions:
+   * *   The entire metadata dictionary may contain up to 2000 characters,
+   *     spread accoss all key-value pairs. Metadata that goes beyond this
+   *     limit are rejected
+   * *   Valid metadata keys have two segments: an optional prefix and name,
+   *     separated by a slash (/). The name segment is required and must be 63
+   *     characters or less, beginning and ending with an alphanumeric character
+   *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+   *     alphanumerics between. The prefix is optional. If specified, the prefix
+   *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+   *     not longer than 253 characters in total, followed by a slash (/).
+   *     Metadata that fails to meet these requirements are rejected
+   * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+   *     for system metadata managed by Service Directory. If the user tries
+   *     to write to these keyspaces, those entries are silently ignored by
+   *     the system
+   * Note: This field is equivalent to the `annotations` field in the v1 API.
+   * They have the same syntax and read/write to the same location in Service
+   * Directory.
    * 
* * map<string, string> metadata = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -264,9 +311,26 @@ public java.util.Map getMetadata() { * *
    * Optional. Metadata for the service. This data can be consumed by service
-   * clients.  The entire metadata dictionary may contain up to 2000 characters,
-   * spread across all key-value pairs. Metadata that goes beyond any these
-   * limits will be rejected.
+   * clients.
+   * Restrictions:
+   * *   The entire metadata dictionary may contain up to 2000 characters,
+   *     spread accoss all key-value pairs. Metadata that goes beyond this
+   *     limit are rejected
+   * *   Valid metadata keys have two segments: an optional prefix and name,
+   *     separated by a slash (/). The name segment is required and must be 63
+   *     characters or less, beginning and ending with an alphanumeric character
+   *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+   *     alphanumerics between. The prefix is optional. If specified, the prefix
+   *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+   *     not longer than 253 characters in total, followed by a slash (/).
+   *     Metadata that fails to meet these requirements are rejected
+   * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+   *     for system metadata managed by Service Directory. If the user tries
+   *     to write to these keyspaces, those entries are silently ignored by
+   *     the system
+   * Note: This field is equivalent to the `annotations` field in the v1 API.
+   * They have the same syntax and read/write to the same location in Service
+   * Directory.
    * 
* * map<string, string> metadata = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -280,9 +344,26 @@ public java.util.Map getMetadataMap() { * *
    * Optional. Metadata for the service. This data can be consumed by service
-   * clients.  The entire metadata dictionary may contain up to 2000 characters,
-   * spread across all key-value pairs. Metadata that goes beyond any these
-   * limits will be rejected.
+   * clients.
+   * Restrictions:
+   * *   The entire metadata dictionary may contain up to 2000 characters,
+   *     spread accoss all key-value pairs. Metadata that goes beyond this
+   *     limit are rejected
+   * *   Valid metadata keys have two segments: an optional prefix and name,
+   *     separated by a slash (/). The name segment is required and must be 63
+   *     characters or less, beginning and ending with an alphanumeric character
+   *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+   *     alphanumerics between. The prefix is optional. If specified, the prefix
+   *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+   *     not longer than 253 characters in total, followed by a slash (/).
+   *     Metadata that fails to meet these requirements are rejected
+   * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+   *     for system metadata managed by Service Directory. If the user tries
+   *     to write to these keyspaces, those entries are silently ignored by
+   *     the system
+   * Note: This field is equivalent to the `annotations` field in the v1 API.
+   * They have the same syntax and read/write to the same location in Service
+   * Directory.
    * 
* * map<string, string> metadata = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -301,9 +382,26 @@ public java.lang.String getMetadataOrDefault( * *
    * Optional. Metadata for the service. This data can be consumed by service
-   * clients.  The entire metadata dictionary may contain up to 2000 characters,
-   * spread across all key-value pairs. Metadata that goes beyond any these
-   * limits will be rejected.
+   * clients.
+   * Restrictions:
+   * *   The entire metadata dictionary may contain up to 2000 characters,
+   *     spread accoss all key-value pairs. Metadata that goes beyond this
+   *     limit are rejected
+   * *   Valid metadata keys have two segments: an optional prefix and name,
+   *     separated by a slash (/). The name segment is required and must be 63
+   *     characters or less, beginning and ending with an alphanumeric character
+   *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+   *     alphanumerics between. The prefix is optional. If specified, the prefix
+   *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+   *     not longer than 253 characters in total, followed by a slash (/).
+   *     Metadata that fails to meet these requirements are rejected
+   * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+   *     for system metadata managed by Service Directory. If the user tries
+   *     to write to these keyspaces, those entries are silently ignored by
+   *     the system
+   * Note: This field is equivalent to the `annotations` field in the v1 API.
+   * They have the same syntax and read/write to the same location in Service
+   * Directory.
    * 
* * map<string, string> metadata = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -326,8 +424,9 @@ public java.lang.String getMetadataOrThrow(java.lang.String key) { * * *
-   * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-   * Control plane clients should use RegistrationService.ListEndpoints.
+   * Output only. Endpoints associated with this service. Returned on
+   * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+   * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
    * 
* * @@ -342,8 +441,9 @@ public java.util.List getEnd * * *
-   * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-   * Control plane clients should use RegistrationService.ListEndpoints.
+   * Output only. Endpoints associated with this service. Returned on
+   * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+   * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
    * 
* * @@ -359,8 +459,9 @@ public java.util.List getEnd * * *
-   * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-   * Control plane clients should use RegistrationService.ListEndpoints.
+   * Output only. Endpoints associated with this service. Returned on
+   * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+   * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
    * 
* * @@ -375,8 +476,9 @@ public int getEndpointsCount() { * * *
-   * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-   * Control plane clients should use RegistrationService.ListEndpoints.
+   * Output only. Endpoints associated with this service. Returned on
+   * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+   * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
    * 
* * @@ -391,8 +493,9 @@ public com.google.cloud.servicedirectory.v1beta1.Endpoint getEndpoints(int index * * *
-   * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-   * Control plane clients should use RegistrationService.ListEndpoints.
+   * Output only. Endpoints associated with this service. Returned on
+   * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+   * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
    * 
* * @@ -405,6 +508,110 @@ public com.google.cloud.servicedirectory.v1beta1.EndpointOrBuilder getEndpointsO return endpoints_.get(index); } + public static final int CREATE_TIME_FIELD_NUMBER = 6; + private com.google.protobuf.Timestamp createTime_; + /** + * + * + *
+   * Output only. The timestamp when the service was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return createTime_ != null; + } + /** + * + * + *
+   * Output only. The timestamp when the service was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + /** + * + * + *
+   * Output only. The timestamp when the service was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return getCreateTime(); + } + + public static final int UPDATE_TIME_FIELD_NUMBER = 7; + private com.google.protobuf.Timestamp updateTime_; + /** + * + * + *
+   * Output only. The timestamp when the service was last updated. Note: endpoints being
+   * created/deleted/updated within the service are not considered service
+   * updates for the purpose of this timestamp.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + @java.lang.Override + public boolean hasUpdateTime() { + return updateTime_ != null; + } + /** + * + * + *
+   * Output only. The timestamp when the service was last updated. Note: endpoints being
+   * created/deleted/updated within the service are not considered service
+   * updates for the purpose of this timestamp.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getUpdateTime() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + /** + * + * + *
+   * Output only. The timestamp when the service was last updated. Note: endpoints being
+   * created/deleted/updated within the service are not considered service
+   * updates for the purpose of this timestamp.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + return getUpdateTime(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -427,6 +634,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io for (int i = 0; i < endpoints_.size(); i++) { output.writeMessage(3, endpoints_.get(i)); } + if (createTime_ != null) { + output.writeMessage(6, getCreateTime()); + } + if (updateTime_ != null) { + output.writeMessage(7, getUpdateTime()); + } unknownFields.writeTo(output); } @@ -452,6 +665,12 @@ public int getSerializedSize() { for (int i = 0; i < endpoints_.size(); i++) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, endpoints_.get(i)); } + if (createTime_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getCreateTime()); + } + if (updateTime_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, getUpdateTime()); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -471,6 +690,14 @@ public boolean equals(final java.lang.Object obj) { if (!getName().equals(other.getName())) return false; if (!internalGetMetadata().equals(other.internalGetMetadata())) return false; if (!getEndpointsList().equals(other.getEndpointsList())) return false; + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (hasUpdateTime() != other.hasUpdateTime()) return false; + if (hasUpdateTime()) { + if (!getUpdateTime().equals(other.getUpdateTime())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -492,6 +719,14 @@ public int hashCode() { hash = (37 * hash) + ENDPOINTS_FIELD_NUMBER; hash = (53 * hash) + getEndpointsList().hashCode(); } + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + if (hasUpdateTime()) { + hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getUpdateTime().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -671,6 +906,18 @@ public Builder clear() { } else { endpointsBuilder_.clear(); } + if (createTimeBuilder_ == null) { + createTime_ = null; + } else { + createTime_ = null; + createTimeBuilder_ = null; + } + if (updateTimeBuilder_ == null) { + updateTime_ = null; + } else { + updateTime_ = null; + updateTimeBuilder_ = null; + } return this; } @@ -711,6 +958,16 @@ public com.google.cloud.servicedirectory.v1beta1.Service buildPartial() { } else { result.endpoints_ = endpointsBuilder_.build(); } + if (createTimeBuilder_ == null) { + result.createTime_ = createTime_; + } else { + result.createTime_ = createTimeBuilder_.build(); + } + if (updateTimeBuilder_ == null) { + result.updateTime_ = updateTime_; + } else { + result.updateTime_ = updateTimeBuilder_.build(); + } onBuilt(); return result; } @@ -793,6 +1050,12 @@ public Builder mergeFrom(com.google.cloud.servicedirectory.v1beta1.Service other } } } + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (other.hasUpdateTime()) { + mergeUpdateTime(other.getUpdateTime()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -831,7 +1094,7 @@ public Builder mergeFrom( * *
      * Immutable. The resource name for the service in the format
-     * 'projects/*/locations/*/namespaces/*/services/*'.
+     * `projects/*/locations/*/namespaces/*/services/*`.
      * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -854,7 +1117,7 @@ public java.lang.String getName() { * *
      * Immutable. The resource name for the service in the format
-     * 'projects/*/locations/*/namespaces/*/services/*'.
+     * `projects/*/locations/*/namespaces/*/services/*`.
      * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -877,7 +1140,7 @@ public com.google.protobuf.ByteString getNameBytes() { * *
      * Immutable. The resource name for the service in the format
-     * 'projects/*/locations/*/namespaces/*/services/*'.
+     * `projects/*/locations/*/namespaces/*/services/*`.
      * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -899,7 +1162,7 @@ public Builder setName(java.lang.String value) { * *
      * Immutable. The resource name for the service in the format
-     * 'projects/*/locations/*/namespaces/*/services/*'.
+     * `projects/*/locations/*/namespaces/*/services/*`.
      * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -917,7 +1180,7 @@ public Builder clearName() { * *
      * Immutable. The resource name for the service in the format
-     * 'projects/*/locations/*/namespaces/*/services/*'.
+     * `projects/*/locations/*/namespaces/*/services/*`.
      * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -967,9 +1230,26 @@ public int getMetadataCount() { * *
      * Optional. Metadata for the service. This data can be consumed by service
-     * clients.  The entire metadata dictionary may contain up to 2000 characters,
-     * spread across all key-value pairs. Metadata that goes beyond any these
-     * limits will be rejected.
+     * clients.
+     * Restrictions:
+     * *   The entire metadata dictionary may contain up to 2000 characters,
+     *     spread accoss all key-value pairs. Metadata that goes beyond this
+     *     limit are rejected
+     * *   Valid metadata keys have two segments: an optional prefix and name,
+     *     separated by a slash (/). The name segment is required and must be 63
+     *     characters or less, beginning and ending with an alphanumeric character
+     *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+     *     alphanumerics between. The prefix is optional. If specified, the prefix
+     *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+     *     not longer than 253 characters in total, followed by a slash (/).
+     *     Metadata that fails to meet these requirements are rejected
+     * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+     *     for system metadata managed by Service Directory. If the user tries
+     *     to write to these keyspaces, those entries are silently ignored by
+     *     the system
+     * Note: This field is equivalent to the `annotations` field in the v1 API.
+     * They have the same syntax and read/write to the same location in Service
+     * Directory.
      * 
* * map<string, string> metadata = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -993,9 +1273,26 @@ public java.util.Map getMetadata() { * *
      * Optional. Metadata for the service. This data can be consumed by service
-     * clients.  The entire metadata dictionary may contain up to 2000 characters,
-     * spread across all key-value pairs. Metadata that goes beyond any these
-     * limits will be rejected.
+     * clients.
+     * Restrictions:
+     * *   The entire metadata dictionary may contain up to 2000 characters,
+     *     spread accoss all key-value pairs. Metadata that goes beyond this
+     *     limit are rejected
+     * *   Valid metadata keys have two segments: an optional prefix and name,
+     *     separated by a slash (/). The name segment is required and must be 63
+     *     characters or less, beginning and ending with an alphanumeric character
+     *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+     *     alphanumerics between. The prefix is optional. If specified, the prefix
+     *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+     *     not longer than 253 characters in total, followed by a slash (/).
+     *     Metadata that fails to meet these requirements are rejected
+     * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+     *     for system metadata managed by Service Directory. If the user tries
+     *     to write to these keyspaces, those entries are silently ignored by
+     *     the system
+     * Note: This field is equivalent to the `annotations` field in the v1 API.
+     * They have the same syntax and read/write to the same location in Service
+     * Directory.
      * 
* * map<string, string> metadata = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -1010,9 +1307,26 @@ public java.util.Map getMetadataMap() { * *
      * Optional. Metadata for the service. This data can be consumed by service
-     * clients.  The entire metadata dictionary may contain up to 2000 characters,
-     * spread across all key-value pairs. Metadata that goes beyond any these
-     * limits will be rejected.
+     * clients.
+     * Restrictions:
+     * *   The entire metadata dictionary may contain up to 2000 characters,
+     *     spread accoss all key-value pairs. Metadata that goes beyond this
+     *     limit are rejected
+     * *   Valid metadata keys have two segments: an optional prefix and name,
+     *     separated by a slash (/). The name segment is required and must be 63
+     *     characters or less, beginning and ending with an alphanumeric character
+     *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+     *     alphanumerics between. The prefix is optional. If specified, the prefix
+     *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+     *     not longer than 253 characters in total, followed by a slash (/).
+     *     Metadata that fails to meet these requirements are rejected
+     * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+     *     for system metadata managed by Service Directory. If the user tries
+     *     to write to these keyspaces, those entries are silently ignored by
+     *     the system
+     * Note: This field is equivalent to the `annotations` field in the v1 API.
+     * They have the same syntax and read/write to the same location in Service
+     * Directory.
      * 
* * map<string, string> metadata = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -1032,9 +1346,26 @@ public java.lang.String getMetadataOrDefault( * *
      * Optional. Metadata for the service. This data can be consumed by service
-     * clients.  The entire metadata dictionary may contain up to 2000 characters,
-     * spread across all key-value pairs. Metadata that goes beyond any these
-     * limits will be rejected.
+     * clients.
+     * Restrictions:
+     * *   The entire metadata dictionary may contain up to 2000 characters,
+     *     spread accoss all key-value pairs. Metadata that goes beyond this
+     *     limit are rejected
+     * *   Valid metadata keys have two segments: an optional prefix and name,
+     *     separated by a slash (/). The name segment is required and must be 63
+     *     characters or less, beginning and ending with an alphanumeric character
+     *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+     *     alphanumerics between. The prefix is optional. If specified, the prefix
+     *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+     *     not longer than 253 characters in total, followed by a slash (/).
+     *     Metadata that fails to meet these requirements are rejected
+     * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+     *     for system metadata managed by Service Directory. If the user tries
+     *     to write to these keyspaces, those entries are silently ignored by
+     *     the system
+     * Note: This field is equivalent to the `annotations` field in the v1 API.
+     * They have the same syntax and read/write to the same location in Service
+     * Directory.
      * 
* * map<string, string> metadata = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -1061,9 +1392,26 @@ public Builder clearMetadata() { * *
      * Optional. Metadata for the service. This data can be consumed by service
-     * clients.  The entire metadata dictionary may contain up to 2000 characters,
-     * spread across all key-value pairs. Metadata that goes beyond any these
-     * limits will be rejected.
+     * clients.
+     * Restrictions:
+     * *   The entire metadata dictionary may contain up to 2000 characters,
+     *     spread accoss all key-value pairs. Metadata that goes beyond this
+     *     limit are rejected
+     * *   Valid metadata keys have two segments: an optional prefix and name,
+     *     separated by a slash (/). The name segment is required and must be 63
+     *     characters or less, beginning and ending with an alphanumeric character
+     *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+     *     alphanumerics between. The prefix is optional. If specified, the prefix
+     *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+     *     not longer than 253 characters in total, followed by a slash (/).
+     *     Metadata that fails to meet these requirements are rejected
+     * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+     *     for system metadata managed by Service Directory. If the user tries
+     *     to write to these keyspaces, those entries are silently ignored by
+     *     the system
+     * Note: This field is equivalent to the `annotations` field in the v1 API.
+     * They have the same syntax and read/write to the same location in Service
+     * Directory.
      * 
* * map<string, string> metadata = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -1086,9 +1434,26 @@ public java.util.Map getMutableMetadata() { * *
      * Optional. Metadata for the service. This data can be consumed by service
-     * clients.  The entire metadata dictionary may contain up to 2000 characters,
-     * spread across all key-value pairs. Metadata that goes beyond any these
-     * limits will be rejected.
+     * clients.
+     * Restrictions:
+     * *   The entire metadata dictionary may contain up to 2000 characters,
+     *     spread accoss all key-value pairs. Metadata that goes beyond this
+     *     limit are rejected
+     * *   Valid metadata keys have two segments: an optional prefix and name,
+     *     separated by a slash (/). The name segment is required and must be 63
+     *     characters or less, beginning and ending with an alphanumeric character
+     *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+     *     alphanumerics between. The prefix is optional. If specified, the prefix
+     *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+     *     not longer than 253 characters in total, followed by a slash (/).
+     *     Metadata that fails to meet these requirements are rejected
+     * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+     *     for system metadata managed by Service Directory. If the user tries
+     *     to write to these keyspaces, those entries are silently ignored by
+     *     the system
+     * Note: This field is equivalent to the `annotations` field in the v1 API.
+     * They have the same syntax and read/write to the same location in Service
+     * Directory.
      * 
* * map<string, string> metadata = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -1109,9 +1474,26 @@ public Builder putMetadata(java.lang.String key, java.lang.String value) { * *
      * Optional. Metadata for the service. This data can be consumed by service
-     * clients.  The entire metadata dictionary may contain up to 2000 characters,
-     * spread across all key-value pairs. Metadata that goes beyond any these
-     * limits will be rejected.
+     * clients.
+     * Restrictions:
+     * *   The entire metadata dictionary may contain up to 2000 characters,
+     *     spread accoss all key-value pairs. Metadata that goes beyond this
+     *     limit are rejected
+     * *   Valid metadata keys have two segments: an optional prefix and name,
+     *     separated by a slash (/). The name segment is required and must be 63
+     *     characters or less, beginning and ending with an alphanumeric character
+     *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+     *     alphanumerics between. The prefix is optional. If specified, the prefix
+     *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+     *     not longer than 253 characters in total, followed by a slash (/).
+     *     Metadata that fails to meet these requirements are rejected
+     * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+     *     for system metadata managed by Service Directory. If the user tries
+     *     to write to these keyspaces, those entries are silently ignored by
+     *     the system
+     * Note: This field is equivalent to the `annotations` field in the v1 API.
+     * They have the same syntax and read/write to the same location in Service
+     * Directory.
      * 
* * map<string, string> metadata = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -1143,8 +1525,9 @@ private void ensureEndpointsIsMutable() { * * *
-     * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-     * Control plane clients should use RegistrationService.ListEndpoints.
+     * Output only. Endpoints associated with this service. Returned on
+     * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+     * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
      * 
* * @@ -1162,8 +1545,9 @@ public java.util.List getEnd * * *
-     * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-     * Control plane clients should use RegistrationService.ListEndpoints.
+     * Output only. Endpoints associated with this service. Returned on
+     * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+     * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
      * 
* * @@ -1181,8 +1565,9 @@ public int getEndpointsCount() { * * *
-     * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-     * Control plane clients should use RegistrationService.ListEndpoints.
+     * Output only. Endpoints associated with this service. Returned on
+     * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+     * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
      * 
* * @@ -1200,8 +1585,9 @@ public com.google.cloud.servicedirectory.v1beta1.Endpoint getEndpoints(int index * * *
-     * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-     * Control plane clients should use RegistrationService.ListEndpoints.
+     * Output only. Endpoints associated with this service. Returned on
+     * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+     * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
      * 
* * @@ -1226,8 +1612,9 @@ public Builder setEndpoints( * * *
-     * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-     * Control plane clients should use RegistrationService.ListEndpoints.
+     * Output only. Endpoints associated with this service. Returned on
+     * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+     * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
      * 
* * @@ -1249,8 +1636,9 @@ public Builder setEndpoints( * * *
-     * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-     * Control plane clients should use RegistrationService.ListEndpoints.
+     * Output only. Endpoints associated with this service. Returned on
+     * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+     * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
      * 
* * @@ -1274,8 +1662,9 @@ public Builder addEndpoints(com.google.cloud.servicedirectory.v1beta1.Endpoint v * * *
-     * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-     * Control plane clients should use RegistrationService.ListEndpoints.
+     * Output only. Endpoints associated with this service. Returned on
+     * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+     * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
      * 
* * @@ -1300,8 +1689,9 @@ public Builder addEndpoints( * * *
-     * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-     * Control plane clients should use RegistrationService.ListEndpoints.
+     * Output only. Endpoints associated with this service. Returned on
+     * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+     * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
      * 
* * @@ -1323,8 +1713,9 @@ public Builder addEndpoints( * * *
-     * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-     * Control plane clients should use RegistrationService.ListEndpoints.
+     * Output only. Endpoints associated with this service. Returned on
+     * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+     * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
      * 
* * @@ -1346,8 +1737,9 @@ public Builder addEndpoints( * * *
-     * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-     * Control plane clients should use RegistrationService.ListEndpoints.
+     * Output only. Endpoints associated with this service. Returned on
+     * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+     * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
      * 
* * @@ -1369,8 +1761,9 @@ public Builder addAllEndpoints( * * *
-     * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-     * Control plane clients should use RegistrationService.ListEndpoints.
+     * Output only. Endpoints associated with this service. Returned on
+     * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+     * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
      * 
* * @@ -1391,8 +1784,9 @@ public Builder clearEndpoints() { * * *
-     * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-     * Control plane clients should use RegistrationService.ListEndpoints.
+     * Output only. Endpoints associated with this service. Returned on
+     * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+     * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
      * 
* * @@ -1413,8 +1807,9 @@ public Builder removeEndpoints(int index) { * * *
-     * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-     * Control plane clients should use RegistrationService.ListEndpoints.
+     * Output only. Endpoints associated with this service. Returned on
+     * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+     * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
      * 
* * @@ -1429,8 +1824,9 @@ public com.google.cloud.servicedirectory.v1beta1.Endpoint.Builder getEndpointsBu * * *
-     * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-     * Control plane clients should use RegistrationService.ListEndpoints.
+     * Output only. Endpoints associated with this service. Returned on
+     * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+     * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
      * 
* * @@ -1449,8 +1845,9 @@ public com.google.cloud.servicedirectory.v1beta1.EndpointOrBuilder getEndpointsO * * *
-     * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-     * Control plane clients should use RegistrationService.ListEndpoints.
+     * Output only. Endpoints associated with this service. Returned on
+     * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+     * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
      * 
* * @@ -1469,8 +1866,9 @@ public com.google.cloud.servicedirectory.v1beta1.EndpointOrBuilder getEndpointsO * * *
-     * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-     * Control plane clients should use RegistrationService.ListEndpoints.
+     * Output only. Endpoints associated with this service. Returned on
+     * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+     * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
      * 
* * @@ -1485,8 +1883,9 @@ public com.google.cloud.servicedirectory.v1beta1.Endpoint.Builder addEndpointsBu * * *
-     * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-     * Control plane clients should use RegistrationService.ListEndpoints.
+     * Output only. Endpoints associated with this service. Returned on
+     * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+     * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
      * 
* * @@ -1503,8 +1902,9 @@ public com.google.cloud.servicedirectory.v1beta1.Endpoint.Builder addEndpointsBu * * *
-     * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-     * Control plane clients should use RegistrationService.ListEndpoints.
+     * Output only. Endpoints associated with this service. Returned on
+     * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+     * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
      * 
* * @@ -1533,6 +1933,426 @@ public com.google.cloud.servicedirectory.v1beta1.Endpoint.Builder addEndpointsBu return endpointsBuilder_; } + private com.google.protobuf.Timestamp createTime_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + createTimeBuilder_; + /** + * + * + *
+     * Output only. The timestamp when the service was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return createTimeBuilder_ != null || createTime_ != null; + } + /** + * + * + *
+     * Output only. The timestamp when the service was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Output only. The timestamp when the service was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + onChanged(); + } else { + createTimeBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the service was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + onChanged(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the service was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (createTime_ != null) { + createTime_ = + com.google.protobuf.Timestamp.newBuilder(createTime_).mergeFrom(value).buildPartial(); + } else { + createTime_ = value; + } + onChanged(); + } else { + createTimeBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the service was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + if (createTimeBuilder_ == null) { + createTime_ = null; + onChanged(); + } else { + createTime_ = null; + createTimeBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the service was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + + onChanged(); + return getCreateTimeFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Output only. The timestamp when the service was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + /** + * + * + *
+     * Output only. The timestamp when the service was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + getCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private com.google.protobuf.Timestamp updateTime_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + updateTimeBuilder_; + /** + * + * + *
+     * Output only. The timestamp when the service was last updated. Note: endpoints being
+     * created/deleted/updated within the service are not considered service
+     * updates for the purpose of this timestamp.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + public boolean hasUpdateTime() { + return updateTimeBuilder_ != null || updateTime_ != null; + } + /** + * + * + *
+     * Output only. The timestamp when the service was last updated. Note: endpoints being
+     * created/deleted/updated within the service are not considered service
+     * updates for the purpose of this timestamp.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + public com.google.protobuf.Timestamp getUpdateTime() { + if (updateTimeBuilder_ == null) { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } else { + return updateTimeBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Output only. The timestamp when the service was last updated. Note: endpoints being
+     * created/deleted/updated within the service are not considered service
+     * updates for the purpose of this timestamp.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateTime_ = value; + onChanged(); + } else { + updateTimeBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the service was last updated. Note: endpoints being
+     * created/deleted/updated within the service are not considered service
+     * updates for the purpose of this timestamp.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (updateTimeBuilder_ == null) { + updateTime_ = builderForValue.build(); + onChanged(); + } else { + updateTimeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the service was last updated. Note: endpoints being
+     * created/deleted/updated within the service are not considered service
+     * updates for the purpose of this timestamp.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (updateTime_ != null) { + updateTime_ = + com.google.protobuf.Timestamp.newBuilder(updateTime_).mergeFrom(value).buildPartial(); + } else { + updateTime_ = value; + } + onChanged(); + } else { + updateTimeBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the service was last updated. Note: endpoints being
+     * created/deleted/updated within the service are not considered service
+     * updates for the purpose of this timestamp.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearUpdateTime() { + if (updateTimeBuilder_ == null) { + updateTime_ = null; + onChanged(); + } else { + updateTime_ = null; + updateTimeBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * Output only. The timestamp when the service was last updated. Note: endpoints being
+     * created/deleted/updated within the service are not considered service
+     * updates for the purpose of this timestamp.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() { + + onChanged(); + return getUpdateTimeFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Output only. The timestamp when the service was last updated. Note: endpoints being
+     * created/deleted/updated within the service are not considered service
+     * updates for the purpose of this timestamp.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + if (updateTimeBuilder_ != null) { + return updateTimeBuilder_.getMessageOrBuilder(); + } else { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } + } + /** + * + * + *
+     * Output only. The timestamp when the service was last updated. Note: endpoints being
+     * created/deleted/updated within the service are not considered service
+     * updates for the purpose of this timestamp.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + getUpdateTimeFieldBuilder() { + if (updateTimeBuilder_ == null) { + updateTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getUpdateTime(), getParentForChildren(), isClean()); + updateTime_ = null; + } + return updateTimeBuilder_; + } + @java.lang.Override public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ServiceOrBuilder.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ServiceOrBuilder.java index cad725f9..a85f97c0 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ServiceOrBuilder.java +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ServiceOrBuilder.java @@ -28,7 +28,7 @@ public interface ServiceOrBuilder * *
    * Immutable. The resource name for the service in the format
-   * 'projects/*/locations/*/namespaces/*/services/*'.
+   * `projects/*/locations/*/namespaces/*/services/*`.
    * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -41,7 +41,7 @@ public interface ServiceOrBuilder * *
    * Immutable. The resource name for the service in the format
-   * 'projects/*/locations/*/namespaces/*/services/*'.
+   * `projects/*/locations/*/namespaces/*/services/*`.
    * 
* * string name = 1 [(.google.api.field_behavior) = IMMUTABLE]; @@ -55,9 +55,26 @@ public interface ServiceOrBuilder * *
    * Optional. Metadata for the service. This data can be consumed by service
-   * clients.  The entire metadata dictionary may contain up to 2000 characters,
-   * spread across all key-value pairs. Metadata that goes beyond any these
-   * limits will be rejected.
+   * clients.
+   * Restrictions:
+   * *   The entire metadata dictionary may contain up to 2000 characters,
+   *     spread accoss all key-value pairs. Metadata that goes beyond this
+   *     limit are rejected
+   * *   Valid metadata keys have two segments: an optional prefix and name,
+   *     separated by a slash (/). The name segment is required and must be 63
+   *     characters or less, beginning and ending with an alphanumeric character
+   *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+   *     alphanumerics between. The prefix is optional. If specified, the prefix
+   *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+   *     not longer than 253 characters in total, followed by a slash (/).
+   *     Metadata that fails to meet these requirements are rejected
+   * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+   *     for system metadata managed by Service Directory. If the user tries
+   *     to write to these keyspaces, those entries are silently ignored by
+   *     the system
+   * Note: This field is equivalent to the `annotations` field in the v1 API.
+   * They have the same syntax and read/write to the same location in Service
+   * Directory.
    * 
* * map<string, string> metadata = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -68,9 +85,26 @@ public interface ServiceOrBuilder * *
    * Optional. Metadata for the service. This data can be consumed by service
-   * clients.  The entire metadata dictionary may contain up to 2000 characters,
-   * spread across all key-value pairs. Metadata that goes beyond any these
-   * limits will be rejected.
+   * clients.
+   * Restrictions:
+   * *   The entire metadata dictionary may contain up to 2000 characters,
+   *     spread accoss all key-value pairs. Metadata that goes beyond this
+   *     limit are rejected
+   * *   Valid metadata keys have two segments: an optional prefix and name,
+   *     separated by a slash (/). The name segment is required and must be 63
+   *     characters or less, beginning and ending with an alphanumeric character
+   *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+   *     alphanumerics between. The prefix is optional. If specified, the prefix
+   *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+   *     not longer than 253 characters in total, followed by a slash (/).
+   *     Metadata that fails to meet these requirements are rejected
+   * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+   *     for system metadata managed by Service Directory. If the user tries
+   *     to write to these keyspaces, those entries are silently ignored by
+   *     the system
+   * Note: This field is equivalent to the `annotations` field in the v1 API.
+   * They have the same syntax and read/write to the same location in Service
+   * Directory.
    * 
* * map<string, string> metadata = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -84,9 +118,26 @@ public interface ServiceOrBuilder * *
    * Optional. Metadata for the service. This data can be consumed by service
-   * clients.  The entire metadata dictionary may contain up to 2000 characters,
-   * spread across all key-value pairs. Metadata that goes beyond any these
-   * limits will be rejected.
+   * clients.
+   * Restrictions:
+   * *   The entire metadata dictionary may contain up to 2000 characters,
+   *     spread accoss all key-value pairs. Metadata that goes beyond this
+   *     limit are rejected
+   * *   Valid metadata keys have two segments: an optional prefix and name,
+   *     separated by a slash (/). The name segment is required and must be 63
+   *     characters or less, beginning and ending with an alphanumeric character
+   *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+   *     alphanumerics between. The prefix is optional. If specified, the prefix
+   *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+   *     not longer than 253 characters in total, followed by a slash (/).
+   *     Metadata that fails to meet these requirements are rejected
+   * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+   *     for system metadata managed by Service Directory. If the user tries
+   *     to write to these keyspaces, those entries are silently ignored by
+   *     the system
+   * Note: This field is equivalent to the `annotations` field in the v1 API.
+   * They have the same syntax and read/write to the same location in Service
+   * Directory.
    * 
* * map<string, string> metadata = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -97,9 +148,26 @@ public interface ServiceOrBuilder * *
    * Optional. Metadata for the service. This data can be consumed by service
-   * clients.  The entire metadata dictionary may contain up to 2000 characters,
-   * spread across all key-value pairs. Metadata that goes beyond any these
-   * limits will be rejected.
+   * clients.
+   * Restrictions:
+   * *   The entire metadata dictionary may contain up to 2000 characters,
+   *     spread accoss all key-value pairs. Metadata that goes beyond this
+   *     limit are rejected
+   * *   Valid metadata keys have two segments: an optional prefix and name,
+   *     separated by a slash (/). The name segment is required and must be 63
+   *     characters or less, beginning and ending with an alphanumeric character
+   *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+   *     alphanumerics between. The prefix is optional. If specified, the prefix
+   *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+   *     not longer than 253 characters in total, followed by a slash (/).
+   *     Metadata that fails to meet these requirements are rejected
+   * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+   *     for system metadata managed by Service Directory. If the user tries
+   *     to write to these keyspaces, those entries are silently ignored by
+   *     the system
+   * Note: This field is equivalent to the `annotations` field in the v1 API.
+   * They have the same syntax and read/write to the same location in Service
+   * Directory.
    * 
* * map<string, string> metadata = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -110,9 +178,26 @@ public interface ServiceOrBuilder * *
    * Optional. Metadata for the service. This data can be consumed by service
-   * clients.  The entire metadata dictionary may contain up to 2000 characters,
-   * spread across all key-value pairs. Metadata that goes beyond any these
-   * limits will be rejected.
+   * clients.
+   * Restrictions:
+   * *   The entire metadata dictionary may contain up to 2000 characters,
+   *     spread accoss all key-value pairs. Metadata that goes beyond this
+   *     limit are rejected
+   * *   Valid metadata keys have two segments: an optional prefix and name,
+   *     separated by a slash (/). The name segment is required and must be 63
+   *     characters or less, beginning and ending with an alphanumeric character
+   *     ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+   *     alphanumerics between. The prefix is optional. If specified, the prefix
+   *     must be a DNS subdomain: a series of DNS labels separated by dots (.),
+   *     not longer than 253 characters in total, followed by a slash (/).
+   *     Metadata that fails to meet these requirements are rejected
+   * *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+   *     for system metadata managed by Service Directory. If the user tries
+   *     to write to these keyspaces, those entries are silently ignored by
+   *     the system
+   * Note: This field is equivalent to the `annotations` field in the v1 API.
+   * They have the same syntax and read/write to the same location in Service
+   * Directory.
    * 
* * map<string, string> metadata = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -123,8 +208,9 @@ public interface ServiceOrBuilder * * *
-   * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-   * Control plane clients should use RegistrationService.ListEndpoints.
+   * Output only. Endpoints associated with this service. Returned on
+   * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+   * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
    * 
* * @@ -136,8 +222,9 @@ public interface ServiceOrBuilder * * *
-   * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-   * Control plane clients should use RegistrationService.ListEndpoints.
+   * Output only. Endpoints associated with this service. Returned on
+   * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+   * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
    * 
* * @@ -149,8 +236,9 @@ public interface ServiceOrBuilder * * *
-   * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-   * Control plane clients should use RegistrationService.ListEndpoints.
+   * Output only. Endpoints associated with this service. Returned on
+   * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+   * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
    * 
* * @@ -162,8 +250,9 @@ public interface ServiceOrBuilder * * *
-   * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-   * Control plane clients should use RegistrationService.ListEndpoints.
+   * Output only. Endpoints associated with this service. Returned on
+   * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+   * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
    * 
* * @@ -176,8 +265,9 @@ public interface ServiceOrBuilder * * *
-   * Output only. Endpoints associated with this service. Returned on LookupService.Resolve.
-   * Control plane clients should use RegistrationService.ListEndpoints.
+   * Output only. Endpoints associated with this service. Returned on
+   * [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+   * [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
    * 
* * @@ -185,4 +275,86 @@ public interface ServiceOrBuilder * */ com.google.cloud.servicedirectory.v1beta1.EndpointOrBuilder getEndpointsOrBuilder(int index); + + /** + * + * + *
+   * Output only. The timestamp when the service was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + /** + * + * + *
+   * Output only. The timestamp when the service was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + /** + * + * + *
+   * Output only. The timestamp when the service was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. The timestamp when the service was last updated. Note: endpoints being
+   * created/deleted/updated within the service are not considered service
+   * updates for the purpose of this timestamp.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + boolean hasUpdateTime(); + /** + * + * + *
+   * Output only. The timestamp when the service was last updated. Note: endpoints being
+   * created/deleted/updated within the service are not considered service
+   * updates for the purpose of this timestamp.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + com.google.protobuf.Timestamp getUpdateTime(); + /** + * + * + *
+   * Output only. The timestamp when the service was last updated. Note: endpoints being
+   * created/deleted/updated within the service are not considered service
+   * updates for the purpose of this timestamp.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder(); } diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ServiceProto.java b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ServiceProto.java index b2ea3fd8..384dc07c 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ServiceProto.java +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/java/com/google/cloud/servicedirectory/v1beta1/ServiceProto.java @@ -49,24 +49,27 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "tory.v1beta1\032\037google/api/field_behavior." + "proto\032\031google/api/resource.proto\0324google" + "/cloud/servicedirectory/v1beta1/endpoint" - + ".proto\032\034google/api/annotations.proto\"\354\002\n" - + "\007Service\022\021\n\004name\030\001 \001(\tB\003\340A\005\022S\n\010metadata\030" - + "\002 \003(\0132<.google.cloud.servicedirectory.v1" - + "beta1.Service.MetadataEntryB\003\340A\001\022G\n\tendp" - + "oints\030\003 \003(\0132/.google.cloud.servicedirect" - + "ory.v1beta1.EndpointB\003\340A\003\032/\n\rMetadataEnt" - + "ry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001:\177\352A|\n" - + "\'servicedirectory.googleapis.com/Service" - + "\022Qprojects/{project}/locations/{location" - + "}/namespaces/{namespace}/services/{servi" - + "ce}B\220\002\n)com.google.cloud.servicedirector" - + "y.v1beta1B\014ServiceProtoP\001ZUgoogle.golang" - + ".org/genproto/googleapis/cloud/servicedi" - + "rectory/v1beta1;servicedirectory\370\001\001\252\002%Go" - + "ogle.Cloud.ServiceDirectory.V1Beta1\312\002%Go" - + "ogle\\Cloud\\ServiceDirectory\\V1beta1\352\002(Go" - + "ogle::Cloud::ServiceDirectory::V1beta1b\006" - + "proto3" + + ".proto\032\037google/protobuf/timestamp.proto\032" + + "\034google/api/annotations.proto\"\330\003\n\007Servic" + + "e\022\021\n\004name\030\001 \001(\tB\003\340A\005\022S\n\010metadata\030\002 \003(\0132<" + + ".google.cloud.servicedirectory.v1beta1.S" + + "ervice.MetadataEntryB\003\340A\001\022G\n\tendpoints\030\003" + + " \003(\0132/.google.cloud.servicedirectory.v1b" + + "eta1.EndpointB\003\340A\003\0224\n\013create_time\030\006 \001(\0132" + + "\032.google.protobuf.TimestampB\003\340A\003\0224\n\013upda" + + "te_time\030\007 \001(\0132\032.google.protobuf.Timestam" + + "pB\003\340A\003\032/\n\rMetadataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005" + + "value\030\002 \001(\t:\0028\001:\177\352A|\n\'servicedirectory.g" + + "oogleapis.com/Service\022Qprojects/{project" + + "}/locations/{location}/namespaces/{names" + + "pace}/services/{service}B\220\002\n)com.google." + + "cloud.servicedirectory.v1beta1B\014ServiceP" + + "rotoP\001ZUgoogle.golang.org/genproto/googl" + + "eapis/cloud/servicedirectory/v1beta1;ser" + + "vicedirectory\370\001\001\252\002%Google.Cloud.ServiceD" + + "irectory.V1Beta1\312\002%Google\\Cloud\\ServiceD" + + "irectory\\V1beta1\352\002(Google::Cloud::Servic" + + "eDirectory::V1beta1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -75,6 +78,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { com.google.api.FieldBehaviorProto.getDescriptor(), com.google.api.ResourceProto.getDescriptor(), com.google.cloud.servicedirectory.v1beta1.EndpointProto.getDescriptor(), + com.google.protobuf.TimestampProto.getDescriptor(), com.google.api.AnnotationsProto.getDescriptor(), }); internal_static_google_cloud_servicedirectory_v1beta1_Service_descriptor = @@ -83,7 +87,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_servicedirectory_v1beta1_Service_descriptor, new java.lang.String[] { - "Name", "Metadata", "Endpoints", + "Name", "Metadata", "Endpoints", "CreateTime", "UpdateTime", }); internal_static_google_cloud_servicedirectory_v1beta1_Service_MetadataEntry_descriptor = internal_static_google_cloud_servicedirectory_v1beta1_Service_descriptor @@ -104,6 +108,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { com.google.api.FieldBehaviorProto.getDescriptor(); com.google.api.ResourceProto.getDescriptor(); com.google.cloud.servicedirectory.v1beta1.EndpointProto.getDescriptor(); + com.google.protobuf.TimestampProto.getDescriptor(); com.google.api.AnnotationsProto.getDescriptor(); } diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/endpoint.proto b/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/endpoint.proto index 5a4bede2..d44af66d 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/endpoint.proto +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/endpoint.proto @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ package google.cloud.servicedirectory.v1beta1; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; import "google/api/annotations.proto"; option cc_enable_arenas = true; @@ -28,6 +29,10 @@ option java_outer_classname = "EndpointProto"; option java_package = "com.google.cloud.servicedirectory.v1beta1"; option php_namespace = "Google\\Cloud\\ServiceDirectory\\V1beta1"; option ruby_package = "Google::Cloud::ServiceDirectory::V1beta1"; +option (google.api.resource_definition) = { + type: "servicedirectory.googleapis.com/Network" + pattern: "projects/{project}/locations/global/networks/{network}" +}; // An individual endpoint that provides a // [service][google.cloud.servicedirectory.v1beta1.Service]. The service must @@ -39,25 +44,66 @@ message Endpoint { }; // Immutable. The resource name for the endpoint in the format - // 'projects/*/locations/*/namespaces/*/services/*/endpoints/*'. + // `projects/*/locations/*/namespaces/*/services/*/endpoints/*`. string name = 1 [(google.api.field_behavior) = IMMUTABLE]; - // Optional. An IPv4 or IPv6 address. Service Directory will reject bad - // addresses like: - // "8.8.8" - // "8.8.8.8:53" - // "test:bad:address" - // "[::1]" - // "[::1]:8080" + // Optional. An IPv4 or IPv6 address. Service Directory rejects bad addresses like: + // + // * `8.8.8` + // * `8.8.8.8:53` + // * `test:bad:address` + // * `[::1]` + // * `[::1]:8080` + // // Limited to 45 characters. string address = 2 [(google.api.field_behavior) = OPTIONAL]; - // Optional. Service Directory will reject values outside of [0, 65535]. + // Optional. Service Directory rejects values outside of `[0, 65535]`. int32 port = 3 [(google.api.field_behavior) = OPTIONAL]; // Optional. Metadata for the endpoint. This data can be consumed by service - // clients. The entire metadata dictionary may contain up to 512 characters, - // spread accoss all key-value pairs. Metadata that goes beyond any these - // limits will be rejected. + // clients. + // + // Restrictions: + // + // * The entire metadata dictionary may contain up to 512 characters, + // spread accoss all key-value pairs. Metadata that goes beyond this + // limit are rejected + // * Valid metadata keys have two segments: an optional prefix and name, + // separated by a slash (/). The name segment is required and must be 63 + // characters or less, beginning and ending with an alphanumeric character + // ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and + // alphanumerics between. The prefix is optional. If specified, the prefix + // must be a DNS subdomain: a series of DNS labels separated by dots (.), + // not longer than 253 characters in total, followed by a slash (/). + // Metadata that fails to meet these requirements are rejected + // * The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved + // for system metadata managed by Service Directory. If the user tries + // to write to these keyspaces, those entries are silently ignored by + // the system + // + // Note: This field is equivalent to the `annotations` field in the v1 API. + // They have the same syntax and read/write to the same location in Service + // Directory. map metadata = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Immutable. The Google Compute Engine network (VPC) of the endpoint in the format + // `projects//locations/global/networks/*`. + // + // The project must be specified by project number (project id is rejected). + // Incorrectly formatted networks are rejected, but no other validation + // is performed on this field (ex. network or project existence, reachability, + // or permissions). + string network = 5 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { + type: "servicedirectory.googleapis.com/Network" + } + ]; + + // Output only. The timestamp when the endpoint was created. + google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the endpoint was last updated. + google.protobuf.Timestamp update_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/lookup_service.proto b/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/lookup_service.proto index 24c6c8fc..a411ee73 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/lookup_service.proto +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/lookup_service.proto @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -65,22 +65,37 @@ message ResolveServiceRequest { // Optional. The filter applied to the endpoints of the resolved service. // - // General filter string syntax: - // () - // can be "name" or "metadata." for map field. - // can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS and is - // roughly the same as "=". - // must be the same data type as the field. - // can be "AND, OR, NOT". + // General `filter` string syntax: + // ` ()` + // + // * `` can be `name`, `address`, `port`, or `metadata.` for + // map field + // * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + // means `HAS`, and is roughly the same as `=` + // * `` must be the same data type as field + // * `` can be `AND`, `OR`, `NOT` // // Examples of valid filters: - // * "metadata.owner" returns Endpoints that have a label with the - // key "owner", this is the same as "metadata:owner" - // * "metadata.protocol=gRPC" returns Endpoints that have key/value - // "protocol=gRPC" - // * "metadata.owner!=sd AND metadata.foo=bar" returns - // Endpoints that have "owner" field in metadata with a value that is not - // "sd" AND have the key/value foo=bar. + // + // * `metadata.owner` returns endpoints that have a annotation with the key + // `owner`, this is the same as `metadata:owner` + // * `metadata.protocol=gRPC` returns endpoints that have key/value + // `protocol=gRPC` + // * `address=192.108.1.105` returns endpoints that have this address + // * `port>8080` returns endpoints that have port number larger than 8080 + // * + // `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` + // returns endpoints that have name that is alphabetically later than the + // string, so "endpoint-e" is returned but "endpoint-a" is not + // * `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have + // `owner` in annotation key but value is not `sd` AND have key/value + // `foo=bar` + // * `doesnotexist.foo=bar` returns an empty list. Note that endpoint + // doesn't have a field called "doesnotexist". Since the filter does not + // match any endpoint, it returns no results + // + // For more information about filtering, see + // [API Filtering](https://aip.dev/160). string endpoint_filter = 3 [(google.api.field_behavior) = OPTIONAL]; } diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/namespace.proto b/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/namespace.proto index 3e572220..40b73ba0 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/namespace.proto +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/namespace.proto @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ package google.cloud.servicedirectory.v1beta1; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; import "google/api/annotations.proto"; option cc_enable_arenas = true; @@ -39,11 +40,17 @@ message Namespace { }; // Immutable. The resource name for the namespace in the format - // 'projects/*/locations/*/namespaces/*'. + // `projects/*/locations/*/namespaces/*`. string name = 1 [(google.api.field_behavior) = IMMUTABLE]; - // Optional. Resource labels associated with this Namespace. - // No more than 64 user labels can be associated with a given resource. Label + // Optional. Resource labels associated with this namespace. + // No more than 64 user labels can be associated with a given resource. Label // keys and values can be no longer than 63 characters. map labels = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The timestamp when the namespace was created. + google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the namespace was last updated. + google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/registration_service.proto b/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/registration_service.proto index 2c6dc8d4..b5f7e254 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/registration_service.proto +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/registration_service.proto @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -56,7 +56,7 @@ service RegistrationService { option (google.api.default_host) = "servicedirectory.googleapis.com"; option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; - // Creates a namespace, and returns the new Namespace. + // Creates a namespace, and returns the new namespace. rpc CreateNamespace(CreateNamespaceRequest) returns (Namespace) { option (google.api.http) = { post: "/v1beta1/{parent=projects/*/locations/*}/namespaces" @@ -99,7 +99,7 @@ service RegistrationService { option (google.api.method_signature) = "name"; } - // Creates a service, and returns the new Service. + // Creates a service, and returns the new service. rpc CreateService(CreateServiceRequest) returns (Service) { option (google.api.http) = { post: "/v1beta1/{parent=projects/*/locations/*/namespaces/*}/services" @@ -142,7 +142,7 @@ service RegistrationService { option (google.api.method_signature) = "name"; } - // Creates a endpoint, and returns the new Endpoint. + // Creates an endpoint, and returns the new endpoint. rpc CreateEndpoint(CreateEndpointRequest) returns (Endpoint) { option (google.api.http) = { post: "/v1beta1/{parent=projects/*/locations/*/namespaces/*/services/*}/endpoints" @@ -159,7 +159,7 @@ service RegistrationService { option (google.api.method_signature) = "parent"; } - // Gets a endpoint. + // Gets an endpoint. rpc GetEndpoint(GetEndpointRequest) returns (Endpoint) { option (google.api.http) = { get: "/v1beta1/{name=projects/*/locations/*/namespaces/*/services/*/endpoints/*}" @@ -167,7 +167,7 @@ service RegistrationService { option (google.api.method_signature) = "name"; } - // Updates a endpoint. + // Updates an endpoint. rpc UpdateEndpoint(UpdateEndpointRequest) returns (Endpoint) { option (google.api.http) = { patch: "/v1beta1/{endpoint.name=projects/*/locations/*/namespaces/*/services/*/endpoints/*}" @@ -176,7 +176,7 @@ service RegistrationService { option (google.api.method_signature) = "endpoint,update_mask"; } - // Deletes a endpoint. + // Deletes an endpoint. rpc DeleteEndpoint(DeleteEndpointRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1beta1/{name=projects/*/locations/*/namespaces/*/services/*/endpoints/*}" @@ -247,8 +247,8 @@ message CreateNamespaceRequest { // The request message for [RegistrationService.ListNamespaces][google.cloud.servicedirectory.v1beta1.RegistrationService.ListNamespaces]. message ListNamespacesRequest { - // Required. The resource name of the project and location whose namespaces we'd like to - // list. + // Required. The resource name of the project and location whose namespaces you'd like + // to list. string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { @@ -262,40 +262,45 @@ message ListNamespacesRequest { // Optional. The next_page_token value returned from a previous List request, if any. string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; - // Optional. The filter to list result by. + // Optional. The filter to list results by. + // + // General `filter` string syntax: + // ` ()` // - // General filter string syntax: - // () - // can be "name", or "labels." for map field. - // can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and - // is roughly the same as "=". - // must be the same data type as field. - // can be "AND, OR, NOT". + // * `` can be `name` or `labels.` for map field + // * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + // means `HAS`, and is roughly the same as `=` + // * `` must be the same data type as field + // * `` can be `AND`, `OR`, `NOT` // // Examples of valid filters: - // * "labels.owner" returns Namespaces that have a label with the key "owner" - // this is the same as "labels:owner". - // * "labels.protocol=gRPC" returns Namespaces that have key/value - // "protocol=gRPC". - // * "name>projects/my-project/locations/us-east/namespaces/namespace-c" - // returns Namespaces that have name that is alphabetically later than the - // string, so "namespace-e" will be returned but "namespace-a" will not be. - // * "labels.owner!=sd AND labels.foo=bar" returns Namespaces that have - // "owner" in label key but value is not "sd" AND have key/value foo=bar. - // * "doesnotexist.foo=bar" returns an empty list. Note that Namespace doesn't - // have a field called "doesnotexist". Since the filter does not match any - // Namespaces, it returns no results. + // + // * `labels.owner` returns namespaces that have a label with the key + // `owner`, this is the same as `labels:owner` + // * `labels.owner=sd` returns namespaces that have key/value `owner=sd` + // * `name>projects/my-project/locations/us-east1/namespaces/namespace-c` + // returns namespaces that have name that is alphabetically later than the + // string, so "namespace-e" is returned but "namespace-a" is not + // * `labels.owner!=sd AND labels.foo=bar` returns namespaces that have + // `owner` in label key but value is not `sd` AND have key/value `foo=bar` + // * `doesnotexist.foo=bar` returns an empty list. Note that namespace + // doesn't have a field called "doesnotexist". Since the filter does not + // match any namespaces, it returns no results + // + // For more information about filtering, see + // [API Filtering](https://aip.dev/160). string filter = 4 [(google.api.field_behavior) = OPTIONAL]; - // Optional. The order to list result by. + // Optional. The order to list results by. + // + // General `order_by` string syntax: ` () (,)` // - // General order by string syntax: - // () (,) - // allows values {"name"} - // ascending or descending order by . If this is left - // blank, "asc" is used. - // Note that an empty order_by string result in default order, which is order - // by name in ascending order. + // * `` allows value: `name` + // * `` ascending or descending order by ``. If this is + // left blank, `asc` is used + // + // Note that an empty `order_by` string results in default order, which is + // order by `name` in ascending order. string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; } @@ -365,7 +370,7 @@ message CreateServiceRequest { // The request message for [RegistrationService.ListServices][google.cloud.servicedirectory.v1beta1.RegistrationService.ListServices]. message ListServicesRequest { - // Required. The resource name of the namespace whose services we'd + // Required. The resource name of the namespace whose services you'd // like to list. string parent = 1 [ (google.api.field_behavior) = REQUIRED, @@ -381,32 +386,48 @@ message ListServicesRequest { // if any. string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; - // Optional. The filter to list result by. + // Optional. The filter to list results by. + // + // General `filter` string syntax: + // ` ()` // - // General filter string syntax: - // () - // can be "name", or "metadata." for map field. - // can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and - // is roughly the same as "=". - // must be the same data type as field. - // can be "AND, OR, NOT". + // * `` can be `name` or `metadata.` for map field + // * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + // means `HAS`, and is roughly the same as `=` + // * `` must be the same data type as field + // * `` can be `AND`, `OR`, `NOT` // // Examples of valid filters: - // * "metadata.owner" returns Services that have a label with the key "owner" - // this is the same as "metadata:owner". - // * "metadata.protocol=gRPC" returns Services that have key/value - // "protocol=gRPC". - // * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/service-c" - // returns Services that have name that is alphabetically later than the - // string, so "service-e" will be returned but "service-a" will not be. - // * "metadata.owner!=sd AND metadata.foo=bar" returns Services that have - // "owner" in label key but value is not "sd" AND have key/value foo=bar. - // * "doesnotexist.foo=bar" returns an empty list. Note that Service doesn't - // have a field called "doesnotexist". Since the filter does not match any - // Services, it returns no results. + // + // * `metadata.owner` returns services that have a metadata with the key + // `owner`, this is the same as `metadata:owner` + // * `metadata.protocol=gRPC` returns services that have key/value + // `protocol=gRPC` + // * + // `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c` + // returns services that have name that is alphabetically later than the + // string, so "service-e" is returned but "service-a" is not + // * `metadata.owner!=sd AND metadata.foo=bar` returns services that have + // `owner` in metadata key but value is not `sd` AND have key/value + // `foo=bar` + // * `doesnotexist.foo=bar` returns an empty list. Note that service + // doesn't have a field called "doesnotexist". Since the filter does not + // match any services, it returns no results + // + // For more information about filtering, see + // [API Filtering](https://aip.dev/160). string filter = 4 [(google.api.field_behavior) = OPTIONAL]; - // Optional. The order to list result by. + // Optional. The order to list results by. + // + // General `order_by` string syntax: ` () (,)` + // + // * `` allows value: `name` + // * `` ascending or descending order by ``. If this is + // left blank, `asc` is used + // + // Note that an empty `order_by` string results in default order, which is + // order by `name` in ascending order. string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; } @@ -422,7 +443,7 @@ message ListServicesResponse { // The request message for [RegistrationService.GetService][google.cloud.servicedirectory.v1beta1.RegistrationService.GetService]. // This should not be used for looking up a service. Insead, use the `resolve` -// method as it will contain all endpoints and associated metadata. +// method as it contains all endpoints and associated metadata. message GetServiceRequest { // Required. The name of the service to get. string name = 1 [ @@ -478,7 +499,7 @@ message CreateEndpointRequest { // The request message for [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints]. message ListEndpointsRequest { - // Required. The resource name of the service whose endpoints we'd like to + // Required. The resource name of the service whose endpoints you'd like to // list. string parent = 1 [ (google.api.field_behavior) = REQUIRED, @@ -494,34 +515,51 @@ message ListEndpointsRequest { // if any. string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; - // Optional. The filter to list result by. + // Optional. The filter to list results by. // - // General filter string syntax: - // () - // can be "name", "address", "port" or "metadata." for map field. - // can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and - // is roughly the same as "=". - // must be the same data type as field. - // can be "AND, OR, NOT". + // General `filter` string syntax: + // ` ()` + // + // * `` can be `name`, `address`, `port`, or `metadata.` for map + // field + // * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + // means `HAS`, and is roughly the same as `=` + // * `` must be the same data type as field + // * `` can be `AND`, `OR`, `NOT` // // Examples of valid filters: - // * "metadata.owner" returns Endpoints that have a label with the key "owner" - // this is the same as "metadata:owner". - // * "metadata.protocol=gRPC" returns Endpoints that have key/value - // "protocol=gRPC". - // * "address=192.108.1.105" returns Endpoints that have this address. - // * "port>8080" returns Endpoints that have port number larger than 8080. - // * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/my-service/endpoints/endpoint-c" - // returns Endpoints that have name that is alphabetically later than the - // string, so "endpoint-e" will be returned but "endpoint-a" will not be. - // * "metadata.owner!=sd AND metadata.foo=bar" returns Endpoints that have - // "owner" in label key but value is not "sd" AND have key/value foo=bar. - // * "doesnotexist.foo=bar" returns an empty list. Note that Endpoint doesn't - // have a field called "doesnotexist". Since the filter does not match any - // Endpoints, it returns no results. + // + // * `metadata.owner` returns endpoints that have a metadata with the key + // `owner`, this is the same as `metadata:owner` + // * `metadata.protocol=gRPC` returns endpoints that have key/value + // `protocol=gRPC` + // * `address=192.108.1.105` returns endpoints that have this address + // * `port>8080` returns endpoints that have port number larger than 8080 + // * + // `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` + // returns endpoints that have name that is alphabetically later than the + // string, so "endpoint-e" is returned but "endpoint-a" is not + // * `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have + // `owner` in metadata key but value is not `sd` AND have key/value + // `foo=bar` + // * `doesnotexist.foo=bar` returns an empty list. Note that endpoint + // doesn't have a field called "doesnotexist". Since the filter does not + // match any endpoints, it returns no results + // + // For more information about filtering, see + // [API Filtering](https://aip.dev/160). string filter = 4 [(google.api.field_behavior) = OPTIONAL]; - // Optional. The order to list result by. + // Optional. The order to list results by. + // + // General `order_by` string syntax: ` () (,)` + // + // * `` allows values: `name`, `address`, `port` + // * `` ascending or descending order by ``. If this is + // left blank, `asc` is used + // + // Note that an empty `order_by` string results in default order, which is + // order by `name` in ascending order. string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; } diff --git a/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/service.proto b/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/service.proto index 3e712ccd..f2f889fa 100644 --- a/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/service.proto +++ b/proto-google-cloud-servicedirectory-v1beta1/src/main/proto/google/cloud/servicedirectory/v1beta1/service.proto @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -19,6 +19,7 @@ package google.cloud.servicedirectory.v1beta1; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/cloud/servicedirectory/v1beta1/endpoint.proto"; +import "google/protobuf/timestamp.proto"; import "google/api/annotations.proto"; option cc_enable_arenas = true; @@ -41,16 +42,45 @@ message Service { }; // Immutable. The resource name for the service in the format - // 'projects/*/locations/*/namespaces/*/services/*'. + // `projects/*/locations/*/namespaces/*/services/*`. string name = 1 [(google.api.field_behavior) = IMMUTABLE]; // Optional. Metadata for the service. This data can be consumed by service - // clients. The entire metadata dictionary may contain up to 2000 characters, - // spread across all key-value pairs. Metadata that goes beyond any these - // limits will be rejected. + // clients. + // + // Restrictions: + // + // * The entire metadata dictionary may contain up to 2000 characters, + // spread accoss all key-value pairs. Metadata that goes beyond this + // limit are rejected + // * Valid metadata keys have two segments: an optional prefix and name, + // separated by a slash (/). The name segment is required and must be 63 + // characters or less, beginning and ending with an alphanumeric character + // ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and + // alphanumerics between. The prefix is optional. If specified, the prefix + // must be a DNS subdomain: a series of DNS labels separated by dots (.), + // not longer than 253 characters in total, followed by a slash (/). + // Metadata that fails to meet these requirements are rejected + // * The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved + // for system metadata managed by Service Directory. If the user tries + // to write to these keyspaces, those entries are silently ignored by + // the system + // + // Note: This field is equivalent to the `annotations` field in the v1 API. + // They have the same syntax and read/write to the same location in Service + // Directory. map metadata = 2 [(google.api.field_behavior) = OPTIONAL]; - // Output only. Endpoints associated with this service. Returned on LookupService.Resolve. - // Control plane clients should use RegistrationService.ListEndpoints. + // Output only. Endpoints associated with this service. Returned on + // [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use + // [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints]. repeated Endpoint endpoints = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the service was created. + google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The timestamp when the service was last updated. Note: endpoints being + // created/deleted/updated within the service are not considered service + // updates for the purpose of this timestamp. + google.protobuf.Timestamp update_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; }