diff --git a/api_names_out.yaml b/api_names_out.yaml index b2639fbea..74332bc00 100644 --- a/api_names_out.yaml +++ b/api_names_out.yaml @@ -10216,6 +10216,238 @@ "/androidpublisher:v3/key": key "/androidpublisher:v3/quotaUser": quota_user "/androidpublisher:v3/userIp": user_ip +"/apigateway:v1/ApigatewayApi": apigateway_api +"/apigateway:v1/ApigatewayApi/createTime": create_time +"/apigateway:v1/ApigatewayApi/displayName": display_name +"/apigateway:v1/ApigatewayApi/labels": labels +"/apigateway:v1/ApigatewayApi/labels/label": label +"/apigateway:v1/ApigatewayApi/managedService": managed_service +"/apigateway:v1/ApigatewayApi/name": name +"/apigateway:v1/ApigatewayApi/state": state +"/apigateway:v1/ApigatewayApi/updateTime": update_time +"/apigateway:v1/ApigatewayApiConfig": apigateway_api_config +"/apigateway:v1/ApigatewayApiConfig/createTime": create_time +"/apigateway:v1/ApigatewayApiConfig/displayName": display_name +"/apigateway:v1/ApigatewayApiConfig/gatewayServiceAccount": gateway_service_account +"/apigateway:v1/ApigatewayApiConfig/grpcServices": grpc_services +"/apigateway:v1/ApigatewayApiConfig/grpcServices/grpc_service": grpc_service +"/apigateway:v1/ApigatewayApiConfig/labels": labels +"/apigateway:v1/ApigatewayApiConfig/labels/label": label +"/apigateway:v1/ApigatewayApiConfig/managedServiceConfigs": managed_service_configs +"/apigateway:v1/ApigatewayApiConfig/managedServiceConfigs/managed_service_config": managed_service_config +"/apigateway:v1/ApigatewayApiConfig/name": name +"/apigateway:v1/ApigatewayApiConfig/openapiDocuments": openapi_documents +"/apigateway:v1/ApigatewayApiConfig/openapiDocuments/openapi_document": openapi_document +"/apigateway:v1/ApigatewayApiConfig/serviceConfigId": service_config_id +"/apigateway:v1/ApigatewayApiConfig/state": state +"/apigateway:v1/ApigatewayApiConfig/updateTime": update_time +"/apigateway:v1/ApigatewayApiConfigFile": apigateway_api_config_file +"/apigateway:v1/ApigatewayApiConfigFile/contents": contents +"/apigateway:v1/ApigatewayApiConfigFile/path": path +"/apigateway:v1/ApigatewayApiConfigGrpcServiceDefinition": apigateway_api_config_grpc_service_definition +"/apigateway:v1/ApigatewayApiConfigGrpcServiceDefinition/fileDescriptorSet": file_descriptor_set +"/apigateway:v1/ApigatewayApiConfigGrpcServiceDefinition/source": source +"/apigateway:v1/ApigatewayApiConfigGrpcServiceDefinition/source/source": source +"/apigateway:v1/ApigatewayApiConfigOpenApiDocument": apigateway_api_config_open_api_document +"/apigateway:v1/ApigatewayApiConfigOpenApiDocument/document": document +"/apigateway:v1/ApigatewayAuditConfig": apigateway_audit_config +"/apigateway:v1/ApigatewayAuditConfig/auditLogConfigs": audit_log_configs +"/apigateway:v1/ApigatewayAuditConfig/auditLogConfigs/audit_log_config": audit_log_config +"/apigateway:v1/ApigatewayAuditConfig/service": service +"/apigateway:v1/ApigatewayAuditLogConfig": apigateway_audit_log_config +"/apigateway:v1/ApigatewayAuditLogConfig/exemptedMembers": exempted_members +"/apigateway:v1/ApigatewayAuditLogConfig/exemptedMembers/exempted_member": exempted_member +"/apigateway:v1/ApigatewayAuditLogConfig/logType": log_type +"/apigateway:v1/ApigatewayBinding": apigateway_binding +"/apigateway:v1/ApigatewayBinding/condition": condition +"/apigateway:v1/ApigatewayBinding/members": members +"/apigateway:v1/ApigatewayBinding/members/member": member +"/apigateway:v1/ApigatewayBinding/role": role +"/apigateway:v1/ApigatewayCancelOperationRequest": apigateway_cancel_operation_request +"/apigateway:v1/ApigatewayExpr": apigateway_expr +"/apigateway:v1/ApigatewayExpr/description": description +"/apigateway:v1/ApigatewayExpr/expression": expression +"/apigateway:v1/ApigatewayExpr/location": location +"/apigateway:v1/ApigatewayExpr/title": title +"/apigateway:v1/ApigatewayGateway": apigateway_gateway +"/apigateway:v1/ApigatewayGateway/apiConfig": api_config +"/apigateway:v1/ApigatewayGateway/createTime": create_time +"/apigateway:v1/ApigatewayGateway/defaultHostname": default_hostname +"/apigateway:v1/ApigatewayGateway/displayName": display_name +"/apigateway:v1/ApigatewayGateway/labels": labels +"/apigateway:v1/ApigatewayGateway/labels/label": label +"/apigateway:v1/ApigatewayGateway/name": name +"/apigateway:v1/ApigatewayGateway/state": state +"/apigateway:v1/ApigatewayGateway/updateTime": update_time +"/apigateway:v1/ApigatewayListApiConfigsResponse": apigateway_list_api_configs_response +"/apigateway:v1/ApigatewayListApiConfigsResponse/apiConfigs": api_configs +"/apigateway:v1/ApigatewayListApiConfigsResponse/apiConfigs/api_config": api_config +"/apigateway:v1/ApigatewayListApiConfigsResponse/nextPageToken": next_page_token +"/apigateway:v1/ApigatewayListApiConfigsResponse/unreachableLocations": unreachable_locations +"/apigateway:v1/ApigatewayListApiConfigsResponse/unreachableLocations/unreachable_location": unreachable_location +"/apigateway:v1/ApigatewayListApisResponse": apigateway_list_apis_response +"/apigateway:v1/ApigatewayListApisResponse/apis": apis +"/apigateway:v1/ApigatewayListApisResponse/apis/api": api +"/apigateway:v1/ApigatewayListApisResponse/nextPageToken": next_page_token +"/apigateway:v1/ApigatewayListApisResponse/unreachableLocations": unreachable_locations +"/apigateway:v1/ApigatewayListApisResponse/unreachableLocations/unreachable_location": unreachable_location +"/apigateway:v1/ApigatewayListGatewaysResponse": apigateway_list_gateways_response +"/apigateway:v1/ApigatewayListGatewaysResponse/gateways": gateways +"/apigateway:v1/ApigatewayListGatewaysResponse/gateways/gateway": gateway +"/apigateway:v1/ApigatewayListGatewaysResponse/nextPageToken": next_page_token +"/apigateway:v1/ApigatewayListGatewaysResponse/unreachableLocations": unreachable_locations +"/apigateway:v1/ApigatewayListGatewaysResponse/unreachableLocations/unreachable_location": unreachable_location +"/apigateway:v1/ApigatewayListLocationsResponse": apigateway_list_locations_response +"/apigateway:v1/ApigatewayListLocationsResponse/locations": locations +"/apigateway:v1/ApigatewayListLocationsResponse/locations/location": location +"/apigateway:v1/ApigatewayListLocationsResponse/nextPageToken": next_page_token +"/apigateway:v1/ApigatewayListOperationsResponse": apigateway_list_operations_response +"/apigateway:v1/ApigatewayListOperationsResponse/nextPageToken": next_page_token +"/apigateway:v1/ApigatewayListOperationsResponse/operations": operations +"/apigateway:v1/ApigatewayListOperationsResponse/operations/operation": operation +"/apigateway:v1/ApigatewayLocation": apigateway_location +"/apigateway:v1/ApigatewayLocation/displayName": display_name +"/apigateway:v1/ApigatewayLocation/labels": labels +"/apigateway:v1/ApigatewayLocation/labels/label": label +"/apigateway:v1/ApigatewayLocation/locationId": location_id +"/apigateway:v1/ApigatewayLocation/metadata": metadata +"/apigateway:v1/ApigatewayLocation/metadata/metadatum": metadatum +"/apigateway:v1/ApigatewayLocation/name": name +"/apigateway:v1/ApigatewayOperation": apigateway_operation +"/apigateway:v1/ApigatewayOperation/done": done +"/apigateway:v1/ApigatewayOperation/error": error +"/apigateway:v1/ApigatewayOperation/metadata": metadata +"/apigateway:v1/ApigatewayOperation/metadata/metadatum": metadatum +"/apigateway:v1/ApigatewayOperation/name": name +"/apigateway:v1/ApigatewayOperation/response": response +"/apigateway:v1/ApigatewayOperation/response/response": response +"/apigateway:v1/ApigatewayOperationMetadata": apigateway_operation_metadata +"/apigateway:v1/ApigatewayOperationMetadata/apiVersion": api_version +"/apigateway:v1/ApigatewayOperationMetadata/createTime": create_time +"/apigateway:v1/ApigatewayOperationMetadata/diagnostics": diagnostics +"/apigateway:v1/ApigatewayOperationMetadata/diagnostics/diagnostic": diagnostic +"/apigateway:v1/ApigatewayOperationMetadata/endTime": end_time +"/apigateway:v1/ApigatewayOperationMetadata/requestedCancellation": requested_cancellation +"/apigateway:v1/ApigatewayOperationMetadata/statusMessage": status_message +"/apigateway:v1/ApigatewayOperationMetadata/target": target +"/apigateway:v1/ApigatewayOperationMetadata/verb": verb +"/apigateway:v1/ApigatewayOperationMetadataDiagnostic": apigateway_operation_metadata_diagnostic +"/apigateway:v1/ApigatewayOperationMetadataDiagnostic/location": location +"/apigateway:v1/ApigatewayOperationMetadataDiagnostic/message": message +"/apigateway:v1/ApigatewayPolicy": apigateway_policy +"/apigateway:v1/ApigatewayPolicy/auditConfigs": audit_configs +"/apigateway:v1/ApigatewayPolicy/auditConfigs/audit_config": audit_config +"/apigateway:v1/ApigatewayPolicy/bindings": bindings +"/apigateway:v1/ApigatewayPolicy/bindings/binding": binding +"/apigateway:v1/ApigatewayPolicy/etag": etag +"/apigateway:v1/ApigatewayPolicy/version": version +"/apigateway:v1/ApigatewaySetIamPolicyRequest": apigateway_set_iam_policy_request +"/apigateway:v1/ApigatewaySetIamPolicyRequest/policy": policy +"/apigateway:v1/ApigatewaySetIamPolicyRequest/updateMask": update_mask +"/apigateway:v1/ApigatewayStatus": apigateway_status +"/apigateway:v1/ApigatewayStatus/code": code +"/apigateway:v1/ApigatewayStatus/details": details +"/apigateway:v1/ApigatewayStatus/details/detail": detail +"/apigateway:v1/ApigatewayStatus/details/detail/detail": detail +"/apigateway:v1/ApigatewayStatus/message": message +"/apigateway:v1/ApigatewayTestIamPermissionsRequest": apigateway_test_iam_permissions_request +"/apigateway:v1/ApigatewayTestIamPermissionsRequest/permissions": permissions +"/apigateway:v1/ApigatewayTestIamPermissionsRequest/permissions/permission": permission +"/apigateway:v1/ApigatewayTestIamPermissionsResponse": apigateway_test_iam_permissions_response +"/apigateway:v1/ApigatewayTestIamPermissionsResponse/permissions": permissions +"/apigateway:v1/ApigatewayTestIamPermissionsResponse/permissions/permission": permission +"/apigateway:v1/Empty": empty +"/apigateway:v1/apigateway.projects.locations.apis.configs.create": create_project_location_api_config +"/apigateway:v1/apigateway.projects.locations.apis.configs.create/apiConfigId": api_config_id +"/apigateway:v1/apigateway.projects.locations.apis.configs.create/parent": parent +"/apigateway:v1/apigateway.projects.locations.apis.configs.delete": delete_project_location_api_config +"/apigateway:v1/apigateway.projects.locations.apis.configs.delete/name": name +"/apigateway:v1/apigateway.projects.locations.apis.configs.get": get_project_location_api_config +"/apigateway:v1/apigateway.projects.locations.apis.configs.get/name": name +"/apigateway:v1/apigateway.projects.locations.apis.configs.get/view": view +"/apigateway:v1/apigateway.projects.locations.apis.configs.getIamPolicy": get_project_location_api_config_iam_policy +"/apigateway:v1/apigateway.projects.locations.apis.configs.getIamPolicy/options.requestedPolicyVersion": options_requested_policy_version +"/apigateway:v1/apigateway.projects.locations.apis.configs.getIamPolicy/resource": resource +"/apigateway:v1/apigateway.projects.locations.apis.configs.list": list_project_location_api_configs +"/apigateway:v1/apigateway.projects.locations.apis.configs.list/filter": filter +"/apigateway:v1/apigateway.projects.locations.apis.configs.list/orderBy": order_by +"/apigateway:v1/apigateway.projects.locations.apis.configs.list/pageSize": page_size +"/apigateway:v1/apigateway.projects.locations.apis.configs.list/pageToken": page_token +"/apigateway:v1/apigateway.projects.locations.apis.configs.list/parent": parent +"/apigateway:v1/apigateway.projects.locations.apis.configs.patch": patch_project_location_api_config +"/apigateway:v1/apigateway.projects.locations.apis.configs.patch/name": name +"/apigateway:v1/apigateway.projects.locations.apis.configs.patch/updateMask": update_mask +"/apigateway:v1/apigateway.projects.locations.apis.configs.setIamPolicy": set_project_location_api_config_iam_policy +"/apigateway:v1/apigateway.projects.locations.apis.configs.setIamPolicy/resource": resource +"/apigateway:v1/apigateway.projects.locations.apis.configs.testIamPermissions": test_project_location_api_config_iam_permissions +"/apigateway:v1/apigateway.projects.locations.apis.configs.testIamPermissions/resource": resource +"/apigateway:v1/apigateway.projects.locations.apis.create": create_project_location_api +"/apigateway:v1/apigateway.projects.locations.apis.create/apiId": api_id +"/apigateway:v1/apigateway.projects.locations.apis.create/parent": parent +"/apigateway:v1/apigateway.projects.locations.apis.delete": delete_project_location_api +"/apigateway:v1/apigateway.projects.locations.apis.delete/name": name +"/apigateway:v1/apigateway.projects.locations.apis.get": get_project_location_api +"/apigateway:v1/apigateway.projects.locations.apis.get/name": name +"/apigateway:v1/apigateway.projects.locations.apis.getIamPolicy": get_project_location_api_iam_policy +"/apigateway:v1/apigateway.projects.locations.apis.getIamPolicy/options.requestedPolicyVersion": options_requested_policy_version +"/apigateway:v1/apigateway.projects.locations.apis.getIamPolicy/resource": resource +"/apigateway:v1/apigateway.projects.locations.apis.list": list_project_location_apis +"/apigateway:v1/apigateway.projects.locations.apis.list/filter": filter +"/apigateway:v1/apigateway.projects.locations.apis.list/orderBy": order_by +"/apigateway:v1/apigateway.projects.locations.apis.list/pageSize": page_size +"/apigateway:v1/apigateway.projects.locations.apis.list/pageToken": page_token +"/apigateway:v1/apigateway.projects.locations.apis.list/parent": parent +"/apigateway:v1/apigateway.projects.locations.apis.patch": patch_project_location_api +"/apigateway:v1/apigateway.projects.locations.apis.patch/name": name +"/apigateway:v1/apigateway.projects.locations.apis.patch/updateMask": update_mask +"/apigateway:v1/apigateway.projects.locations.apis.setIamPolicy": set_project_location_api_iam_policy +"/apigateway:v1/apigateway.projects.locations.apis.setIamPolicy/resource": resource +"/apigateway:v1/apigateway.projects.locations.apis.testIamPermissions": test_project_location_api_iam_permissions +"/apigateway:v1/apigateway.projects.locations.apis.testIamPermissions/resource": resource +"/apigateway:v1/apigateway.projects.locations.gateways.create": create_project_location_gateway +"/apigateway:v1/apigateway.projects.locations.gateways.create/gatewayId": gateway_id +"/apigateway:v1/apigateway.projects.locations.gateways.create/parent": parent +"/apigateway:v1/apigateway.projects.locations.gateways.delete": delete_project_location_gateway +"/apigateway:v1/apigateway.projects.locations.gateways.delete/name": name +"/apigateway:v1/apigateway.projects.locations.gateways.get": get_project_location_gateway +"/apigateway:v1/apigateway.projects.locations.gateways.get/name": name +"/apigateway:v1/apigateway.projects.locations.gateways.getIamPolicy": get_project_location_gateway_iam_policy +"/apigateway:v1/apigateway.projects.locations.gateways.getIamPolicy/options.requestedPolicyVersion": options_requested_policy_version +"/apigateway:v1/apigateway.projects.locations.gateways.getIamPolicy/resource": resource +"/apigateway:v1/apigateway.projects.locations.gateways.list": list_project_location_gateways +"/apigateway:v1/apigateway.projects.locations.gateways.list/filter": filter +"/apigateway:v1/apigateway.projects.locations.gateways.list/orderBy": order_by +"/apigateway:v1/apigateway.projects.locations.gateways.list/pageSize": page_size +"/apigateway:v1/apigateway.projects.locations.gateways.list/pageToken": page_token +"/apigateway:v1/apigateway.projects.locations.gateways.list/parent": parent +"/apigateway:v1/apigateway.projects.locations.gateways.patch": patch_project_location_gateway +"/apigateway:v1/apigateway.projects.locations.gateways.patch/name": name +"/apigateway:v1/apigateway.projects.locations.gateways.patch/updateMask": update_mask +"/apigateway:v1/apigateway.projects.locations.gateways.setIamPolicy": set_project_location_gateway_iam_policy +"/apigateway:v1/apigateway.projects.locations.gateways.setIamPolicy/resource": resource +"/apigateway:v1/apigateway.projects.locations.gateways.testIamPermissions": test_project_location_gateway_iam_permissions +"/apigateway:v1/apigateway.projects.locations.gateways.testIamPermissions/resource": resource +"/apigateway:v1/apigateway.projects.locations.get": get_project_location +"/apigateway:v1/apigateway.projects.locations.get/name": name +"/apigateway:v1/apigateway.projects.locations.list": list_project_locations +"/apigateway:v1/apigateway.projects.locations.list/filter": filter +"/apigateway:v1/apigateway.projects.locations.list/name": name +"/apigateway:v1/apigateway.projects.locations.list/pageSize": page_size +"/apigateway:v1/apigateway.projects.locations.list/pageToken": page_token +"/apigateway:v1/apigateway.projects.locations.operations.cancel": cancel_project_location_operation +"/apigateway:v1/apigateway.projects.locations.operations.cancel/name": name +"/apigateway:v1/apigateway.projects.locations.operations.delete": delete_project_location_operation +"/apigateway:v1/apigateway.projects.locations.operations.delete/name": name +"/apigateway:v1/apigateway.projects.locations.operations.get": get_project_location_operation +"/apigateway:v1/apigateway.projects.locations.operations.get/name": name +"/apigateway:v1/apigateway.projects.locations.operations.list": list_project_location_operations +"/apigateway:v1/apigateway.projects.locations.operations.list/filter": filter +"/apigateway:v1/apigateway.projects.locations.operations.list/name": name +"/apigateway:v1/apigateway.projects.locations.operations.list/pageSize": page_size +"/apigateway:v1/apigateway.projects.locations.operations.list/pageToken": page_token +"/apigateway:v1/fields": fields +"/apigateway:v1/key": key +"/apigateway:v1/quotaUser": quota_user "/apigateway:v1alpha1/ApigatewayAuditConfig": apigateway_audit_config "/apigateway:v1alpha1/ApigatewayAuditConfig/auditLogConfigs": audit_log_configs "/apigateway:v1alpha1/ApigatewayAuditConfig/auditLogConfigs/audit_log_config": audit_log_config diff --git a/generated/google/apis/apigateway_v1.rb b/generated/google/apis/apigateway_v1.rb new file mode 100644 index 000000000..2ea916440 --- /dev/null +++ b/generated/google/apis/apigateway_v1.rb @@ -0,0 +1,34 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'google/apis/apigateway_v1/service.rb' +require 'google/apis/apigateway_v1/classes.rb' +require 'google/apis/apigateway_v1/representations.rb' + +module Google + module Apis + # API Gateway API + # + # + # + # @see https://cloud.google.com/api-gateway/docs + module ApigatewayV1 + VERSION = 'V1' + REVISION = '20201211' + + # View and manage your data across Google Cloud Platform services + AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' + end + end +end diff --git a/generated/google/apis/apigateway_v1/classes.rb b/generated/google/apis/apigateway_v1/classes.rb new file mode 100644 index 000000000..2941c2f29 --- /dev/null +++ b/generated/google/apis/apigateway_v1/classes.rb @@ -0,0 +1,1116 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'date' +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module ApigatewayV1 + + # An API that can be served by one or more Gateways. + class ApigatewayApi + include Google::Apis::Core::Hashable + + # Output only. Created time. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Optional. Display name. + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # Optional. Resource labels to represent user-provided metadata. Refer to cloud + # documentation on labels for more details. https://cloud.google.com/compute/ + # docs/labeling-resources + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # Optional. Immutable. The name of a Google Managed Service ( https://cloud. + # google.com/service-infrastructure/docs/glossary#managed). If not specified, a + # new Service will automatically be created in the same project as this API. + # Corresponds to the JSON property `managedService` + # @return [String] + attr_accessor :managed_service + + # Output only. Resource name of the API. Format: projects/`project`/locations/ + # global/apis/`api` + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Output only. State of the API. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # Output only. Updated time. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @create_time = args[:create_time] if args.key?(:create_time) + @display_name = args[:display_name] if args.key?(:display_name) + @labels = args[:labels] if args.key?(:labels) + @managed_service = args[:managed_service] if args.key?(:managed_service) + @name = args[:name] if args.key?(:name) + @state = args[:state] if args.key?(:state) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # An API Configuration is a combination of settings for both the Managed Service + # and Gateways serving this API Config. + class ApigatewayApiConfig + include Google::Apis::Core::Hashable + + # Output only. Created time. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Optional. Display name. + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # Immutable. The Google Cloud IAM Service Account that Gateways serving this + # config should use to authenticate to other services. This may either be the + # Service Account's email (``ACCOUNT_ID`@`PROJECT`.iam.gserviceaccount.com`) or + # its full resource name (`projects/`PROJECT`/accounts/`UNIQUE_ID``). This is + # most often used when the service is a GCP resource such as a Cloud Run Service + # or an IAP-secured service. + # Corresponds to the JSON property `gatewayServiceAccount` + # @return [String] + attr_accessor :gateway_service_account + + # Optional. gRPC service definition files. If specified, openapi_documents must + # not be included. + # Corresponds to the JSON property `grpcServices` + # @return [Array] + attr_accessor :grpc_services + + # Optional. Resource labels to represent user-provided metadata. Refer to cloud + # documentation on labels for more details. https://cloud.google.com/compute/ + # docs/labeling-resources + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # Optional. Service Configuration files. At least one must be included when + # using gRPC service definitions. See https://cloud.google.com/endpoints/docs/ + # grpc/grpc-service-config#service_configuration_overview for the expected file + # contents. If multiple files are specified, the files are merged with the + # following rules: * All singular scalar fields are merged using "last one wins" + # semantics in the order of the files uploaded. * Repeated fields are + # concatenated. * Singular embedded messages are merged using these rules for + # nested fields. + # Corresponds to the JSON property `managedServiceConfigs` + # @return [Array] + attr_accessor :managed_service_configs + + # Output only. Resource name of the API Config. Format: projects/`project`/ + # locations/global/apis/`api`/configs/`api_config` + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Optional. OpenAPI specification documents. If specified, grpc_services and + # managed_service_configs must not be included. + # Corresponds to the JSON property `openapiDocuments` + # @return [Array] + attr_accessor :openapi_documents + + # Output only. The ID of the associated Service Config ( https://cloud.google. + # com/service-infrastructure/docs/glossary#config). + # Corresponds to the JSON property `serviceConfigId` + # @return [String] + attr_accessor :service_config_id + + # Output only. State of the API Config. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # Output only. Updated time. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @create_time = args[:create_time] if args.key?(:create_time) + @display_name = args[:display_name] if args.key?(:display_name) + @gateway_service_account = args[:gateway_service_account] if args.key?(:gateway_service_account) + @grpc_services = args[:grpc_services] if args.key?(:grpc_services) + @labels = args[:labels] if args.key?(:labels) + @managed_service_configs = args[:managed_service_configs] if args.key?(:managed_service_configs) + @name = args[:name] if args.key?(:name) + @openapi_documents = args[:openapi_documents] if args.key?(:openapi_documents) + @service_config_id = args[:service_config_id] if args.key?(:service_config_id) + @state = args[:state] if args.key?(:state) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # A lightweight description of a file. + class ApigatewayApiConfigFile + include Google::Apis::Core::Hashable + + # The bytes that constitute the file. + # Corresponds to the JSON property `contents` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :contents + + # The file path (full or relative path). This is typically the path of the file + # when it is uploaded. + # Corresponds to the JSON property `path` + # @return [String] + attr_accessor :path + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @contents = args[:contents] if args.key?(:contents) + @path = args[:path] if args.key?(:path) + end + end + + # A gRPC service definition. + class ApigatewayApiConfigGrpcServiceDefinition + include Google::Apis::Core::Hashable + + # A lightweight description of a file. + # Corresponds to the JSON property `fileDescriptorSet` + # @return [Google::Apis::ApigatewayV1::ApigatewayApiConfigFile] + attr_accessor :file_descriptor_set + + # Optional. Uncompiled proto files associated with the descriptor set, used for + # display purposes (server-side compilation is not supported). These should + # match the inputs to 'protoc' command used to generate file_descriptor_set. + # Corresponds to the JSON property `source` + # @return [Array] + attr_accessor :source + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @file_descriptor_set = args[:file_descriptor_set] if args.key?(:file_descriptor_set) + @source = args[:source] if args.key?(:source) + end + end + + # An OpenAPI Specification Document describing an API. + class ApigatewayApiConfigOpenApiDocument + include Google::Apis::Core::Hashable + + # A lightweight description of a file. + # Corresponds to the JSON property `document` + # @return [Google::Apis::ApigatewayV1::ApigatewayApiConfigFile] + attr_accessor :document + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @document = args[:document] if args.key?(:document) + end + end + + # Specifies the audit configuration for a service. The configuration determines + # which permission types are logged, and what identities, if any, are exempted + # from logging. An AuditConfig must have one or more AuditLogConfigs. If there + # are AuditConfigs for both `allServices` and a specific service, the union of + # the two AuditConfigs is used for that service: the log_types specified in each + # AuditConfig are enabled, and the exempted_members in each AuditLogConfig are + # exempted. Example Policy with multiple AuditConfigs: ` "audit_configs": [ ` " + # service": "allServices", "audit_log_configs": [ ` "log_type": "DATA_READ", " + # exempted_members": [ "user:jose@example.com" ] `, ` "log_type": "DATA_WRITE" `, + # ` "log_type": "ADMIN_READ" ` ] `, ` "service": "sampleservice.googleapis.com", + # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE" + # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice, + # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also + # exempts jose@example.com from DATA_READ logging, and aliya@example.com from + # DATA_WRITE logging. + class ApigatewayAuditConfig + include Google::Apis::Core::Hashable + + # The configuration for logging of each type of permission. + # Corresponds to the JSON property `auditLogConfigs` + # @return [Array] + attr_accessor :audit_log_configs + + # Specifies a service that will be enabled for audit logging. For example, ` + # storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special + # value that covers all services. + # Corresponds to the JSON property `service` + # @return [String] + attr_accessor :service + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs) + @service = args[:service] if args.key?(:service) + end + end + + # Provides the configuration for logging a type of permissions. Example: ` " + # audit_log_configs": [ ` "log_type": "DATA_READ", "exempted_members": [ "user: + # jose@example.com" ] `, ` "log_type": "DATA_WRITE" ` ] ` This enables ' + # DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from + # DATA_READ logging. + class ApigatewayAuditLogConfig + include Google::Apis::Core::Hashable + + # Specifies the identities that do not cause logging for this type of permission. + # Follows the same format of Binding.members. + # Corresponds to the JSON property `exemptedMembers` + # @return [Array] + attr_accessor :exempted_members + + # The log type that this config enables. + # Corresponds to the JSON property `logType` + # @return [String] + attr_accessor :log_type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @exempted_members = args[:exempted_members] if args.key?(:exempted_members) + @log_type = args[:log_type] if args.key?(:log_type) + end + end + + # Associates `members` with a `role`. + class ApigatewayBinding + include Google::Apis::Core::Hashable + + # Represents a textual expression in the Common Expression Language (CEL) syntax. + # CEL is a C-like expression language. The syntax and semantics of CEL are + # documented at https://github.com/google/cel-spec. Example (Comparison): title: + # "Summary size limit" description: "Determines if a summary is less than 100 + # chars" expression: "document.summary.size() < 100" Example (Equality): title: " + # Requestor is owner" description: "Determines if requestor is the document + # owner" expression: "document.owner == request.auth.claims.email" Example ( + # Logic): title: "Public documents" description: "Determine whether the document + # should be publicly visible" expression: "document.type != 'private' && + # document.type != 'internal'" Example (Data Manipulation): title: "Notification + # string" description: "Create a notification string with a timestamp." + # expression: "'New message received at ' + string(document.create_time)" The + # exact variables and functions that may be referenced within an expression are + # determined by the service that evaluates it. See the service documentation for + # additional information. + # Corresponds to the JSON property `condition` + # @return [Google::Apis::ApigatewayV1::ApigatewayExpr] + attr_accessor :condition + + # Specifies the identities requesting access for a Cloud Platform resource. ` + # members` can have the following values: * `allUsers`: A special identifier + # that represents anyone who is on the internet; with or without a Google + # account. * `allAuthenticatedUsers`: A special identifier that represents + # anyone who is authenticated with a Google account or a service account. * ` + # user:`emailid``: An email address that represents a specific Google account. + # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email + # address that represents a service account. For example, `my-other-app@appspot. + # gserviceaccount.com`. * `group:`emailid``: An email address that represents a + # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid= + # `uniqueid``: An email address (plus unique identifier) representing a user + # that has been recently deleted. For example, `alice@example.com?uid= + # 123456789012345678901`. If the user is recovered, this value reverts to `user:` + # emailid`` and the recovered user retains the role in the binding. * `deleted: + # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a service account that has been recently deleted. For + # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + # If the service account is undeleted, this value reverts to `serviceAccount:` + # emailid`` and the undeleted service account retains the role in the binding. * + # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a Google group that has been recently deleted. For + # example, `admins@example.com?uid=123456789012345678901`. If the group is + # recovered, this value reverts to `group:`emailid`` and the recovered group + # retains the role in the binding. * `domain:`domain``: The G Suite domain ( + # primary) that represents all the users of that domain. For example, `google. + # com` or `example.com`. + # Corresponds to the JSON property `members` + # @return [Array] + attr_accessor :members + + # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor` + # , or `roles/owner`. + # Corresponds to the JSON property `role` + # @return [String] + attr_accessor :role + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @condition = args[:condition] if args.key?(:condition) + @members = args[:members] if args.key?(:members) + @role = args[:role] if args.key?(:role) + end + end + + # The request message for Operations.CancelOperation. + class ApigatewayCancelOperationRequest + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # Represents a textual expression in the Common Expression Language (CEL) syntax. + # CEL is a C-like expression language. The syntax and semantics of CEL are + # documented at https://github.com/google/cel-spec. Example (Comparison): title: + # "Summary size limit" description: "Determines if a summary is less than 100 + # chars" expression: "document.summary.size() < 100" Example (Equality): title: " + # Requestor is owner" description: "Determines if requestor is the document + # owner" expression: "document.owner == request.auth.claims.email" Example ( + # Logic): title: "Public documents" description: "Determine whether the document + # should be publicly visible" expression: "document.type != 'private' && + # document.type != 'internal'" Example (Data Manipulation): title: "Notification + # string" description: "Create a notification string with a timestamp." + # expression: "'New message received at ' + string(document.create_time)" The + # exact variables and functions that may be referenced within an expression are + # determined by the service that evaluates it. See the service documentation for + # additional information. + class ApigatewayExpr + include Google::Apis::Core::Hashable + + # Optional. Description of the expression. This is a longer text which describes + # the expression, e.g. when hovered over it in a UI. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Textual representation of an expression in Common Expression Language syntax. + # Corresponds to the JSON property `expression` + # @return [String] + attr_accessor :expression + + # Optional. String indicating the location of the expression for error reporting, + # e.g. a file name and a position in the file. + # Corresponds to the JSON property `location` + # @return [String] + attr_accessor :location + + # Optional. Title for the expression, i.e. a short string describing its purpose. + # This can be used e.g. in UIs which allow to enter the expression. + # Corresponds to the JSON property `title` + # @return [String] + attr_accessor :title + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @description = args[:description] if args.key?(:description) + @expression = args[:expression] if args.key?(:expression) + @location = args[:location] if args.key?(:location) + @title = args[:title] if args.key?(:title) + end + end + + # A Gateway is an API-aware HTTP proxy. It performs API-Method and/or API- + # Consumer specific actions based on an API Config such as authentication, + # policy enforcement, and backend selection. + class ApigatewayGateway + include Google::Apis::Core::Hashable + + # Required. Resource name of the API Config for this Gateway. Format: projects/` + # project`/locations/global/apis/`api`/configs/`apiConfig` + # Corresponds to the JSON property `apiConfig` + # @return [String] + attr_accessor :api_config + + # Output only. Created time. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Output only. The default API Gateway host name of the form ``gateway_id`-`hash` + # .`region_code`.gateway.dev`. + # Corresponds to the JSON property `defaultHostname` + # @return [String] + attr_accessor :default_hostname + + # Optional. Display name. + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # Optional. Resource labels to represent user-provided metadata. Refer to cloud + # documentation on labels for more details. https://cloud.google.com/compute/ + # docs/labeling-resources + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # Output only. Resource name of the Gateway. Format: projects/`project`/ + # locations/`location`/gateways/`gateway` + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Output only. The current state of the Gateway. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # Output only. Updated time. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @api_config = args[:api_config] if args.key?(:api_config) + @create_time = args[:create_time] if args.key?(:create_time) + @default_hostname = args[:default_hostname] if args.key?(:default_hostname) + @display_name = args[:display_name] if args.key?(:display_name) + @labels = args[:labels] if args.key?(:labels) + @name = args[:name] if args.key?(:name) + @state = args[:state] if args.key?(:state) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # Response message for ApiGatewayService.ListApiConfigs + class ApigatewayListApiConfigsResponse + include Google::Apis::Core::Hashable + + # API Configs. + # Corresponds to the JSON property `apiConfigs` + # @return [Array] + attr_accessor :api_configs + + # Next page token. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # Locations that could not be reached. + # Corresponds to the JSON property `unreachableLocations` + # @return [Array] + attr_accessor :unreachable_locations + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @api_configs = args[:api_configs] if args.key?(:api_configs) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @unreachable_locations = args[:unreachable_locations] if args.key?(:unreachable_locations) + end + end + + # Response message for ApiGatewayService.ListApis + class ApigatewayListApisResponse + include Google::Apis::Core::Hashable + + # APIs. + # Corresponds to the JSON property `apis` + # @return [Array] + attr_accessor :apis + + # Next page token. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # Locations that could not be reached. + # Corresponds to the JSON property `unreachableLocations` + # @return [Array] + attr_accessor :unreachable_locations + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @apis = args[:apis] if args.key?(:apis) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @unreachable_locations = args[:unreachable_locations] if args.key?(:unreachable_locations) + end + end + + # Response message for ApiGatewayService.ListGateways + class ApigatewayListGatewaysResponse + include Google::Apis::Core::Hashable + + # Gateways. + # Corresponds to the JSON property `gateways` + # @return [Array] + attr_accessor :gateways + + # Next page token. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # Locations that could not be reached. + # Corresponds to the JSON property `unreachableLocations` + # @return [Array] + attr_accessor :unreachable_locations + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @gateways = args[:gateways] if args.key?(:gateways) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @unreachable_locations = args[:unreachable_locations] if args.key?(:unreachable_locations) + end + end + + # The response message for Locations.ListLocations. + class ApigatewayListLocationsResponse + include Google::Apis::Core::Hashable + + # A list of locations that matches the specified filter in the request. + # Corresponds to the JSON property `locations` + # @return [Array] + attr_accessor :locations + + # The standard List next-page token. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @locations = args[:locations] if args.key?(:locations) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + end + end + + # The response message for Operations.ListOperations. + class ApigatewayListOperationsResponse + include Google::Apis::Core::Hashable + + # The standard List next-page token. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # A list of operations that matches the specified filter in the request. + # Corresponds to the JSON property `operations` + # @return [Array] + attr_accessor :operations + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @operations = args[:operations] if args.key?(:operations) + end + end + + # A resource that represents Google Cloud Platform location. + class ApigatewayLocation + include Google::Apis::Core::Hashable + + # The friendly name for this location, typically a nearby city name. For example, + # "Tokyo". + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # Cross-service attributes for the location. For example `"cloud.googleapis.com/ + # region": "us-east1"` + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # The canonical id for this location. For example: `"us-east1"`. + # Corresponds to the JSON property `locationId` + # @return [String] + attr_accessor :location_id + + # Service-specific metadata. For example the available capacity at the given + # location. + # Corresponds to the JSON property `metadata` + # @return [Hash] + attr_accessor :metadata + + # Resource name for the location, which may vary between implementations. For + # example: `"projects/example-project/locations/us-east1"` + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @display_name = args[:display_name] if args.key?(:display_name) + @labels = args[:labels] if args.key?(:labels) + @location_id = args[:location_id] if args.key?(:location_id) + @metadata = args[:metadata] if args.key?(:metadata) + @name = args[:name] if args.key?(:name) + end + end + + # This resource represents a long-running operation that is the result of a + # network API call. + class ApigatewayOperation + include Google::Apis::Core::Hashable + + # If the value is `false`, it means the operation is still in progress. If `true` + # , the operation is completed, and either `error` or `response` is available. + # Corresponds to the JSON property `done` + # @return [Boolean] + attr_accessor :done + alias_method :done?, :done + + # The `Status` type defines a logical error model that is suitable for different + # programming environments, including REST APIs and RPC APIs. It is used by [ + # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of + # data: error code, error message, and error details. You can find out more + # about this error model and how to work with it in the [API Design Guide](https: + # //cloud.google.com/apis/design/errors). + # Corresponds to the JSON property `error` + # @return [Google::Apis::ApigatewayV1::ApigatewayStatus] + attr_accessor :error + + # Service-specific metadata associated with the operation. It typically contains + # progress information and common metadata such as create time. Some services + # might not provide such metadata. Any method that returns a long-running + # operation should document the metadata type, if any. + # Corresponds to the JSON property `metadata` + # @return [Hash] + attr_accessor :metadata + + # The server-assigned name, which is only unique within the same service that + # originally returns it. If you use the default HTTP mapping, the `name` should + # be a resource name ending with `operations/`unique_id``. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The normal response of the operation in case of success. If the original + # method returns no data on success, such as `Delete`, the response is `google. + # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, + # the response should be the resource. For other methods, the response should + # have the type `XxxResponse`, where `Xxx` is the original method name. For + # example, if the original method name is `TakeSnapshot()`, the inferred + # response type is `TakeSnapshotResponse`. + # Corresponds to the JSON property `response` + # @return [Hash] + attr_accessor :response + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @done = args[:done] if args.key?(:done) + @error = args[:error] if args.key?(:error) + @metadata = args[:metadata] if args.key?(:metadata) + @name = args[:name] if args.key?(:name) + @response = args[:response] if args.key?(:response) + end + end + + # Represents the metadata of the long-running operation. + class ApigatewayOperationMetadata + include Google::Apis::Core::Hashable + + # Output only. API version used to start the operation. + # Corresponds to the JSON property `apiVersion` + # @return [String] + attr_accessor :api_version + + # Output only. The time the operation was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Output only. Diagnostics generated during processing of configuration source + # files. + # Corresponds to the JSON property `diagnostics` + # @return [Array] + attr_accessor :diagnostics + + # Output only. The time the operation finished running. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # Output only. Identifies whether the user has requested cancellation of the + # operation. Operations that have successfully been cancelled have Operation. + # error value with a google.rpc.Status.code of 1, corresponding to `Code. + # CANCELLED`. + # Corresponds to the JSON property `requestedCancellation` + # @return [Boolean] + attr_accessor :requested_cancellation + alias_method :requested_cancellation?, :requested_cancellation + + # Output only. Human-readable status of the operation, if any. + # Corresponds to the JSON property `statusMessage` + # @return [String] + attr_accessor :status_message + + # Output only. Server-defined resource path for the target of the operation. + # Corresponds to the JSON property `target` + # @return [String] + attr_accessor :target + + # Output only. Name of the verb executed by the operation. + # Corresponds to the JSON property `verb` + # @return [String] + attr_accessor :verb + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @api_version = args[:api_version] if args.key?(:api_version) + @create_time = args[:create_time] if args.key?(:create_time) + @diagnostics = args[:diagnostics] if args.key?(:diagnostics) + @end_time = args[:end_time] if args.key?(:end_time) + @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation) + @status_message = args[:status_message] if args.key?(:status_message) + @target = args[:target] if args.key?(:target) + @verb = args[:verb] if args.key?(:verb) + end + end + + # Diagnostic information from configuration processing. + class ApigatewayOperationMetadataDiagnostic + include Google::Apis::Core::Hashable + + # Location of the diagnostic. + # Corresponds to the JSON property `location` + # @return [String] + attr_accessor :location + + # The diagnostic message. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @location = args[:location] if args.key?(:location) + @message = args[:message] if args.key?(:message) + end + end + + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. A `Policy` is a collection of `bindings`. + # A `binding` binds one or more `members` to a single `role`. Members can be + # user accounts, service accounts, Google groups, and domains (such as G Suite). + # A `role` is a named list of permissions; each `role` can be an IAM predefined + # role or a user-created custom role. For some types of Google Cloud resources, + # a `binding` can also specify a `condition`, which is a logical expression that + # allows access to a resource only if the expression evaluates to `true`. A + # condition can add constraints based on attributes of the request, the resource, + # or both. To learn which resources support conditions in their IAM policies, + # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/ + # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/ + # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", " + # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@ + # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager. + # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` " + # title": "expirable access", "description": "Does not grant access after Sep + # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", ` + # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: - + # members: - user:mike@example.com - group:admins@example.com - domain:google. + # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/ + # resourcemanager.organizationAdmin - members: - user:eve@example.com role: + # roles/resourcemanager.organizationViewer condition: title: expirable access + # description: Does not grant access after Sep 2020 expression: request.time < + # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a + # description of IAM and its features, see the [IAM documentation](https://cloud. + # google.com/iam/docs/). + class ApigatewayPolicy + include Google::Apis::Core::Hashable + + # Specifies cloud audit logging configuration for this policy. + # Corresponds to the JSON property `auditConfigs` + # @return [Array] + attr_accessor :audit_configs + + # Associates a list of `members` to a `role`. Optionally, may specify a ` + # condition` that determines how and when the `bindings` are applied. Each of + # the `bindings` must contain at least one member. + # Corresponds to the JSON property `bindings` + # @return [Array] + attr_accessor :bindings + + # `etag` is used for optimistic concurrency control as a way to help prevent + # simultaneous updates of a policy from overwriting each other. It is strongly + # suggested that systems make use of the `etag` in the read-modify-write cycle + # to perform policy updates in order to avoid race conditions: An `etag` is + # returned in the response to `getIamPolicy`, and systems are expected to put + # that etag in the request to `setIamPolicy` to ensure that their change will be + # applied to the same version of the policy. **Important:** If you use IAM + # Conditions, you must include the `etag` field whenever you call `setIamPolicy`. + # If you omit this field, then IAM allows you to overwrite a version `3` policy + # with a version `1` policy, and all of the conditions in the version `3` policy + # are lost. + # Corresponds to the JSON property `etag` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :etag + + # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. + # Requests that specify an invalid value are rejected. Any operation that + # affects conditional role bindings must specify version `3`. This requirement + # applies to the following operations: * Getting a policy that includes a + # conditional role binding * Adding a conditional role binding to a policy * + # Changing a conditional role binding in a policy * Removing any role binding, + # with or without a condition, from a policy that includes conditions ** + # Important:** If you use IAM Conditions, you must include the `etag` field + # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you + # to overwrite a version `3` policy with a version `1` policy, and all of the + # conditions in the version `3` policy are lost. If a policy does not include + # any conditions, operations on that policy may specify any valid version or + # leave the field unset. To learn which resources support conditions in their + # IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/ + # conditions/resource-policies). + # Corresponds to the JSON property `version` + # @return [Fixnum] + attr_accessor :version + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @audit_configs = args[:audit_configs] if args.key?(:audit_configs) + @bindings = args[:bindings] if args.key?(:bindings) + @etag = args[:etag] if args.key?(:etag) + @version = args[:version] if args.key?(:version) + end + end + + # Request message for `SetIamPolicy` method. + class ApigatewaySetIamPolicyRequest + include Google::Apis::Core::Hashable + + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. A `Policy` is a collection of `bindings`. + # A `binding` binds one or more `members` to a single `role`. Members can be + # user accounts, service accounts, Google groups, and domains (such as G Suite). + # A `role` is a named list of permissions; each `role` can be an IAM predefined + # role or a user-created custom role. For some types of Google Cloud resources, + # a `binding` can also specify a `condition`, which is a logical expression that + # allows access to a resource only if the expression evaluates to `true`. A + # condition can add constraints based on attributes of the request, the resource, + # or both. To learn which resources support conditions in their IAM policies, + # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/ + # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/ + # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", " + # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@ + # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager. + # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` " + # title": "expirable access", "description": "Does not grant access after Sep + # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", ` + # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: - + # members: - user:mike@example.com - group:admins@example.com - domain:google. + # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/ + # resourcemanager.organizationAdmin - members: - user:eve@example.com role: + # roles/resourcemanager.organizationViewer condition: title: expirable access + # description: Does not grant access after Sep 2020 expression: request.time < + # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a + # description of IAM and its features, see the [IAM documentation](https://cloud. + # google.com/iam/docs/). + # Corresponds to the JSON property `policy` + # @return [Google::Apis::ApigatewayV1::ApigatewayPolicy] + attr_accessor :policy + + # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only + # the fields in the mask will be modified. If no mask is provided, the following + # default mask is used: `paths: "bindings, etag"` + # Corresponds to the JSON property `updateMask` + # @return [String] + attr_accessor :update_mask + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @policy = args[:policy] if args.key?(:policy) + @update_mask = args[:update_mask] if args.key?(:update_mask) + end + end + + # The `Status` type defines a logical error model that is suitable for different + # programming environments, including REST APIs and RPC APIs. It is used by [ + # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of + # data: error code, error message, and error details. You can find out more + # about this error model and how to work with it in the [API Design Guide](https: + # //cloud.google.com/apis/design/errors). + class ApigatewayStatus + include Google::Apis::Core::Hashable + + # The status code, which should be an enum value of google.rpc.Code. + # Corresponds to the JSON property `code` + # @return [Fixnum] + attr_accessor :code + + # A list of messages that carry the error details. There is a common set of + # message types for APIs to use. + # Corresponds to the JSON property `details` + # @return [Array>] + attr_accessor :details + + # A developer-facing error message, which should be in English. Any user-facing + # error message should be localized and sent in the google.rpc.Status.details + # field, or localized by the client. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] if args.key?(:code) + @details = args[:details] if args.key?(:details) + @message = args[:message] if args.key?(:message) + end + end + + # Request message for `TestIamPermissions` method. + class ApigatewayTestIamPermissionsRequest + include Google::Apis::Core::Hashable + + # The set of permissions to check for the `resource`. Permissions with wildcards + # (such as '*' or 'storage.*') are not allowed. For more information see [IAM + # Overview](https://cloud.google.com/iam/docs/overview#permissions). + # Corresponds to the JSON property `permissions` + # @return [Array] + attr_accessor :permissions + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @permissions = args[:permissions] if args.key?(:permissions) + end + end + + # Response message for `TestIamPermissions` method. + class ApigatewayTestIamPermissionsResponse + include Google::Apis::Core::Hashable + + # A subset of `TestPermissionsRequest.permissions` that the caller is allowed. + # Corresponds to the JSON property `permissions` + # @return [Array] + attr_accessor :permissions + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @permissions = args[:permissions] if args.key?(:permissions) + end + end + + # A generic empty message that you can re-use to avoid defining duplicated empty + # messages in your APIs. A typical example is to use it as the request or the + # response type of an API method. For instance: service Foo ` rpc Bar(google. + # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for + # `Empty` is empty JSON object ````. + class Empty + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + end + end +end diff --git a/generated/google/apis/apigateway_v1/representations.rb b/generated/google/apis/apigateway_v1/representations.rb new file mode 100644 index 000000000..e4f0afd8f --- /dev/null +++ b/generated/google/apis/apigateway_v1/representations.rb @@ -0,0 +1,442 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'date' +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module ApigatewayV1 + + class ApigatewayApi + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayApiConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayApiConfigFile + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayApiConfigGrpcServiceDefinition + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayApiConfigOpenApiDocument + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayAuditConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayAuditLogConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayBinding + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayCancelOperationRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayExpr + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayGateway + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayListApiConfigsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayListApisResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayListGatewaysResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayListLocationsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayListOperationsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayLocation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayOperation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayOperationMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayOperationMetadataDiagnostic + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayPolicy + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewaySetIamPolicyRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayStatus + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayTestIamPermissionsRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayTestIamPermissionsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Empty + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ApigatewayApi + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :create_time, as: 'createTime' + property :display_name, as: 'displayName' + hash :labels, as: 'labels' + property :managed_service, as: 'managedService' + property :name, as: 'name' + property :state, as: 'state' + property :update_time, as: 'updateTime' + end + end + + class ApigatewayApiConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :create_time, as: 'createTime' + property :display_name, as: 'displayName' + property :gateway_service_account, as: 'gatewayServiceAccount' + collection :grpc_services, as: 'grpcServices', class: Google::Apis::ApigatewayV1::ApigatewayApiConfigGrpcServiceDefinition, decorator: Google::Apis::ApigatewayV1::ApigatewayApiConfigGrpcServiceDefinition::Representation + + hash :labels, as: 'labels' + collection :managed_service_configs, as: 'managedServiceConfigs', class: Google::Apis::ApigatewayV1::ApigatewayApiConfigFile, decorator: Google::Apis::ApigatewayV1::ApigatewayApiConfigFile::Representation + + property :name, as: 'name' + collection :openapi_documents, as: 'openapiDocuments', class: Google::Apis::ApigatewayV1::ApigatewayApiConfigOpenApiDocument, decorator: Google::Apis::ApigatewayV1::ApigatewayApiConfigOpenApiDocument::Representation + + property :service_config_id, as: 'serviceConfigId' + property :state, as: 'state' + property :update_time, as: 'updateTime' + end + end + + class ApigatewayApiConfigFile + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :contents, :base64 => true, as: 'contents' + property :path, as: 'path' + end + end + + class ApigatewayApiConfigGrpcServiceDefinition + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :file_descriptor_set, as: 'fileDescriptorSet', class: Google::Apis::ApigatewayV1::ApigatewayApiConfigFile, decorator: Google::Apis::ApigatewayV1::ApigatewayApiConfigFile::Representation + + collection :source, as: 'source', class: Google::Apis::ApigatewayV1::ApigatewayApiConfigFile, decorator: Google::Apis::ApigatewayV1::ApigatewayApiConfigFile::Representation + + end + end + + class ApigatewayApiConfigOpenApiDocument + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :document, as: 'document', class: Google::Apis::ApigatewayV1::ApigatewayApiConfigFile, decorator: Google::Apis::ApigatewayV1::ApigatewayApiConfigFile::Representation + + end + end + + class ApigatewayAuditConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :audit_log_configs, as: 'auditLogConfigs', class: Google::Apis::ApigatewayV1::ApigatewayAuditLogConfig, decorator: Google::Apis::ApigatewayV1::ApigatewayAuditLogConfig::Representation + + property :service, as: 'service' + end + end + + class ApigatewayAuditLogConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :exempted_members, as: 'exemptedMembers' + property :log_type, as: 'logType' + end + end + + class ApigatewayBinding + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :condition, as: 'condition', class: Google::Apis::ApigatewayV1::ApigatewayExpr, decorator: Google::Apis::ApigatewayV1::ApigatewayExpr::Representation + + collection :members, as: 'members' + property :role, as: 'role' + end + end + + class ApigatewayCancelOperationRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class ApigatewayExpr + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :description, as: 'description' + property :expression, as: 'expression' + property :location, as: 'location' + property :title, as: 'title' + end + end + + class ApigatewayGateway + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :api_config, as: 'apiConfig' + property :create_time, as: 'createTime' + property :default_hostname, as: 'defaultHostname' + property :display_name, as: 'displayName' + hash :labels, as: 'labels' + property :name, as: 'name' + property :state, as: 'state' + property :update_time, as: 'updateTime' + end + end + + class ApigatewayListApiConfigsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :api_configs, as: 'apiConfigs', class: Google::Apis::ApigatewayV1::ApigatewayApiConfig, decorator: Google::Apis::ApigatewayV1::ApigatewayApiConfig::Representation + + property :next_page_token, as: 'nextPageToken' + collection :unreachable_locations, as: 'unreachableLocations' + end + end + + class ApigatewayListApisResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :apis, as: 'apis', class: Google::Apis::ApigatewayV1::ApigatewayApi, decorator: Google::Apis::ApigatewayV1::ApigatewayApi::Representation + + property :next_page_token, as: 'nextPageToken' + collection :unreachable_locations, as: 'unreachableLocations' + end + end + + class ApigatewayListGatewaysResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :gateways, as: 'gateways', class: Google::Apis::ApigatewayV1::ApigatewayGateway, decorator: Google::Apis::ApigatewayV1::ApigatewayGateway::Representation + + property :next_page_token, as: 'nextPageToken' + collection :unreachable_locations, as: 'unreachableLocations' + end + end + + class ApigatewayListLocationsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :locations, as: 'locations', class: Google::Apis::ApigatewayV1::ApigatewayLocation, decorator: Google::Apis::ApigatewayV1::ApigatewayLocation::Representation + + property :next_page_token, as: 'nextPageToken' + end + end + + class ApigatewayListOperationsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :next_page_token, as: 'nextPageToken' + collection :operations, as: 'operations', class: Google::Apis::ApigatewayV1::ApigatewayOperation, decorator: Google::Apis::ApigatewayV1::ApigatewayOperation::Representation + + end + end + + class ApigatewayLocation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :display_name, as: 'displayName' + hash :labels, as: 'labels' + property :location_id, as: 'locationId' + hash :metadata, as: 'metadata' + property :name, as: 'name' + end + end + + class ApigatewayOperation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :done, as: 'done' + property :error, as: 'error', class: Google::Apis::ApigatewayV1::ApigatewayStatus, decorator: Google::Apis::ApigatewayV1::ApigatewayStatus::Representation + + hash :metadata, as: 'metadata' + property :name, as: 'name' + hash :response, as: 'response' + end + end + + class ApigatewayOperationMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :api_version, as: 'apiVersion' + property :create_time, as: 'createTime' + collection :diagnostics, as: 'diagnostics', class: Google::Apis::ApigatewayV1::ApigatewayOperationMetadataDiagnostic, decorator: Google::Apis::ApigatewayV1::ApigatewayOperationMetadataDiagnostic::Representation + + property :end_time, as: 'endTime' + property :requested_cancellation, as: 'requestedCancellation' + property :status_message, as: 'statusMessage' + property :target, as: 'target' + property :verb, as: 'verb' + end + end + + class ApigatewayOperationMetadataDiagnostic + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :location, as: 'location' + property :message, as: 'message' + end + end + + class ApigatewayPolicy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :audit_configs, as: 'auditConfigs', class: Google::Apis::ApigatewayV1::ApigatewayAuditConfig, decorator: Google::Apis::ApigatewayV1::ApigatewayAuditConfig::Representation + + collection :bindings, as: 'bindings', class: Google::Apis::ApigatewayV1::ApigatewayBinding, decorator: Google::Apis::ApigatewayV1::ApigatewayBinding::Representation + + property :etag, :base64 => true, as: 'etag' + property :version, as: 'version' + end + end + + class ApigatewaySetIamPolicyRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :policy, as: 'policy', class: Google::Apis::ApigatewayV1::ApigatewayPolicy, decorator: Google::Apis::ApigatewayV1::ApigatewayPolicy::Representation + + property :update_mask, as: 'updateMask' + end + end + + class ApigatewayStatus + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :details, as: 'details' + property :message, as: 'message' + end + end + + class ApigatewayTestIamPermissionsRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :permissions, as: 'permissions' + end + end + + class ApigatewayTestIamPermissionsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :permissions, as: 'permissions' + end + end + + class Empty + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + end + end +end diff --git a/generated/google/apis/apigateway_v1/service.rb b/generated/google/apis/apigateway_v1/service.rb new file mode 100644 index 000000000..a8807b431 --- /dev/null +++ b/generated/google/apis/apigateway_v1/service.rb @@ -0,0 +1,1172 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module ApigatewayV1 + # API Gateway API + # + # + # + # @example + # require 'google/apis/apigateway_v1' + # + # Apigateway = Google::Apis::ApigatewayV1 # Alias the module + # service = Apigateway::ApigatewayService.new + # + # @see https://cloud.google.com/api-gateway/docs + class ApigatewayService < Google::Apis::Core::BaseService + # @return [String] + # API key. Your API key identifies your project and provides you with API access, + # quota, and reports. Required unless you provide an OAuth 2.0 token. + attr_accessor :key + + # @return [String] + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + attr_accessor :quota_user + + def initialize + super('https://apigateway.googleapis.com/', '') + @batch_path = 'batch' + end + + # Gets information about a location. + # @param [String] name + # Resource name for the location. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayLocation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayLocation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+name}', options) + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayLocation::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayLocation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists information about the supported locations for this service. + # @param [String] name + # The resource that owns the locations collection, if applicable. + # @param [String] filter + # The standard list filter. + # @param [Fixnum] page_size + # The standard list page size. + # @param [String] page_token + # The standard list page token. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayListLocationsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayListLocationsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_locations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+name}/locations', options) + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayListLocationsResponse::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayListLocationsResponse + command.params['name'] = name unless name.nil? + command.query['filter'] = filter unless filter.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Creates a new Api in a given project and location. + # @param [String] parent + # Required. Parent resource of the API, of the form: `projects/*/locations/ + # global` + # @param [Google::Apis::ApigatewayV1::ApigatewayApi] apigateway_api_object + # @param [String] api_id + # Required. Identifier to assign to the API. Must be unique within scope of the + # parent resource. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayOperation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayOperation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def create_project_location_api(parent, apigateway_api_object = nil, api_id: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+parent}/apis', options) + command.request_representation = Google::Apis::ApigatewayV1::ApigatewayApi::Representation + command.request_object = apigateway_api_object + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayOperation::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayOperation + command.params['parent'] = parent unless parent.nil? + command.query['apiId'] = api_id unless api_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deletes a single Api. + # @param [String] name + # Required. Resource name of the form: `projects/*/locations/global/apis/*` + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayOperation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayOperation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_project_location_api(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v1/{+name}', options) + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayOperation::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayOperation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets details of a single Api. + # @param [String] name + # Required. Resource name of the form: `projects/*/locations/global/apis/*` + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayApi] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayApi] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_api(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+name}', options) + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayApi::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayApi + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets the access control policy for a resource. Returns an empty policy if the + # resource exists and does not have a policy set. + # @param [String] resource + # REQUIRED: The resource for which the policy is being requested. See the + # operation documentation for the appropriate value for this field. + # @param [Fixnum] options_requested_policy_version + # Optional. The policy format version to be returned. Valid values are 0, 1, and + # 3. Requests specifying an invalid value will be rejected. Requests for + # policies with any conditional bindings must specify version 3. Policies + # without any conditional bindings may specify any valid value or leave the + # field unset. To learn which resources support conditions in their IAM policies, + # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/ + # resource-policies). + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayPolicy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayPolicy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_api_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+resource}:getIamPolicy', options) + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayPolicy::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayPolicy + command.params['resource'] = resource unless resource.nil? + command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists Apis in a given project and location. + # @param [String] parent + # Required. Parent resource of the API, of the form: `projects/*/locations/ + # global` + # @param [String] filter + # Filter. + # @param [String] order_by + # Order by parameters. + # @param [Fixnum] page_size + # Page size. + # @param [String] page_token + # Page token. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayListApisResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayListApisResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_location_apis(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+parent}/apis', options) + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayListApisResponse::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayListApisResponse + command.params['parent'] = parent unless parent.nil? + command.query['filter'] = filter unless filter.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Updates the parameters of a single Api. + # @param [String] name + # Output only. Resource name of the API. Format: projects/`project`/locations/ + # global/apis/`api` + # @param [Google::Apis::ApigatewayV1::ApigatewayApi] apigateway_api_object + # @param [String] update_mask + # Field mask is used to specify the fields to be overwritten in the Api resource + # by the update. The fields specified in the update_mask are relative to the + # resource, not the full request. A field will be overwritten if it is in the + # mask. If the user does not provide a mask then all fields will be overwritten. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayOperation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayOperation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def patch_project_location_api(name, apigateway_api_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:patch, 'v1/{+name}', options) + command.request_representation = Google::Apis::ApigatewayV1::ApigatewayApi::Representation + command.request_object = apigateway_api_object + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayOperation::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayOperation + command.params['name'] = name unless name.nil? + command.query['updateMask'] = update_mask unless update_mask.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Sets the access control policy on the specified resource. Replaces any + # existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and ` + # PERMISSION_DENIED` errors. + # @param [String] resource + # REQUIRED: The resource for which the policy is being specified. See the + # operation documentation for the appropriate value for this field. + # @param [Google::Apis::ApigatewayV1::ApigatewaySetIamPolicyRequest] apigateway_set_iam_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayPolicy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayPolicy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_project_location_api_iam_policy(resource, apigateway_set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', options) + command.request_representation = Google::Apis::ApigatewayV1::ApigatewaySetIamPolicyRequest::Representation + command.request_object = apigateway_set_iam_policy_request_object + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayPolicy::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayPolicy + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Returns permissions that a caller has on the specified resource. If the + # resource does not exist, this will return an empty set of permissions, not a ` + # NOT_FOUND` error. Note: This operation is designed to be used for building + # permission-aware UIs and command-line tools, not for authorization checking. + # This operation may "fail open" without warning. + # @param [String] resource + # REQUIRED: The resource for which the policy detail is being requested. See the + # operation documentation for the appropriate value for this field. + # @param [Google::Apis::ApigatewayV1::ApigatewayTestIamPermissionsRequest] apigateway_test_iam_permissions_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayTestIamPermissionsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayTestIamPermissionsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def test_project_location_api_iam_permissions(resource, apigateway_test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options) + command.request_representation = Google::Apis::ApigatewayV1::ApigatewayTestIamPermissionsRequest::Representation + command.request_object = apigateway_test_iam_permissions_request_object + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayTestIamPermissionsResponse::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayTestIamPermissionsResponse + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Creates a new ApiConfig in a given project and location. + # @param [String] parent + # Required. Parent resource of the API Config, of the form: `projects/*/ + # locations/global/apis/*` + # @param [Google::Apis::ApigatewayV1::ApigatewayApiConfig] apigateway_api_config_object + # @param [String] api_config_id + # Required. Identifier to assign to the API Config. Must be unique within scope + # of the parent resource. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayOperation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayOperation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def create_project_location_api_config(parent, apigateway_api_config_object = nil, api_config_id: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+parent}/configs', options) + command.request_representation = Google::Apis::ApigatewayV1::ApigatewayApiConfig::Representation + command.request_object = apigateway_api_config_object + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayOperation::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayOperation + command.params['parent'] = parent unless parent.nil? + command.query['apiConfigId'] = api_config_id unless api_config_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deletes a single ApiConfig. + # @param [String] name + # Required. Resource name of the form: `projects/*/locations/global/apis/*/ + # configs/*` + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayOperation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayOperation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_project_location_api_config(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v1/{+name}', options) + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayOperation::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayOperation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets details of a single ApiConfig. + # @param [String] name + # Required. Resource name of the form: `projects/*/locations/global/apis/*/ + # configs/*` + # @param [String] view + # Specifies which fields of the API Config are returned in the response. + # Defaults to `BASIC` view. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayApiConfig] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayApiConfig] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_api_config(name, view: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+name}', options) + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayApiConfig::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayApiConfig + command.params['name'] = name unless name.nil? + command.query['view'] = view unless view.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets the access control policy for a resource. Returns an empty policy if the + # resource exists and does not have a policy set. + # @param [String] resource + # REQUIRED: The resource for which the policy is being requested. See the + # operation documentation for the appropriate value for this field. + # @param [Fixnum] options_requested_policy_version + # Optional. The policy format version to be returned. Valid values are 0, 1, and + # 3. Requests specifying an invalid value will be rejected. Requests for + # policies with any conditional bindings must specify version 3. Policies + # without any conditional bindings may specify any valid value or leave the + # field unset. To learn which resources support conditions in their IAM policies, + # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/ + # resource-policies). + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayPolicy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayPolicy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_api_config_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+resource}:getIamPolicy', options) + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayPolicy::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayPolicy + command.params['resource'] = resource unless resource.nil? + command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists ApiConfigs in a given project and location. + # @param [String] parent + # Required. Parent resource of the API Config, of the form: `projects/*/ + # locations/global/apis/*` + # @param [String] filter + # Filter. + # @param [String] order_by + # Order by parameters. + # @param [Fixnum] page_size + # Page size. + # @param [String] page_token + # Page token. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayListApiConfigsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayListApiConfigsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_location_api_configs(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+parent}/configs', options) + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayListApiConfigsResponse::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayListApiConfigsResponse + command.params['parent'] = parent unless parent.nil? + command.query['filter'] = filter unless filter.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Updates the parameters of a single ApiConfig. + # @param [String] name + # Output only. Resource name of the API Config. Format: projects/`project`/ + # locations/global/apis/`api`/configs/`api_config` + # @param [Google::Apis::ApigatewayV1::ApigatewayApiConfig] apigateway_api_config_object + # @param [String] update_mask + # Field mask is used to specify the fields to be overwritten in the ApiConfig + # resource by the update. The fields specified in the update_mask are relative + # to the resource, not the full request. A field will be overwritten if it is in + # the mask. If the user does not provide a mask then all fields will be + # overwritten. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayOperation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayOperation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def patch_project_location_api_config(name, apigateway_api_config_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:patch, 'v1/{+name}', options) + command.request_representation = Google::Apis::ApigatewayV1::ApigatewayApiConfig::Representation + command.request_object = apigateway_api_config_object + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayOperation::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayOperation + command.params['name'] = name unless name.nil? + command.query['updateMask'] = update_mask unless update_mask.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Sets the access control policy on the specified resource. Replaces any + # existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and ` + # PERMISSION_DENIED` errors. + # @param [String] resource + # REQUIRED: The resource for which the policy is being specified. See the + # operation documentation for the appropriate value for this field. + # @param [Google::Apis::ApigatewayV1::ApigatewaySetIamPolicyRequest] apigateway_set_iam_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayPolicy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayPolicy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_project_location_api_config_iam_policy(resource, apigateway_set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', options) + command.request_representation = Google::Apis::ApigatewayV1::ApigatewaySetIamPolicyRequest::Representation + command.request_object = apigateway_set_iam_policy_request_object + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayPolicy::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayPolicy + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Returns permissions that a caller has on the specified resource. If the + # resource does not exist, this will return an empty set of permissions, not a ` + # NOT_FOUND` error. Note: This operation is designed to be used for building + # permission-aware UIs and command-line tools, not for authorization checking. + # This operation may "fail open" without warning. + # @param [String] resource + # REQUIRED: The resource for which the policy detail is being requested. See the + # operation documentation for the appropriate value for this field. + # @param [Google::Apis::ApigatewayV1::ApigatewayTestIamPermissionsRequest] apigateway_test_iam_permissions_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayTestIamPermissionsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayTestIamPermissionsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def test_project_location_api_config_iam_permissions(resource, apigateway_test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options) + command.request_representation = Google::Apis::ApigatewayV1::ApigatewayTestIamPermissionsRequest::Representation + command.request_object = apigateway_test_iam_permissions_request_object + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayTestIamPermissionsResponse::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayTestIamPermissionsResponse + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Creates a new Gateway in a given project and location. + # @param [String] parent + # Required. Parent resource of the Gateway, of the form: `projects/*/locations/*` + # @param [Google::Apis::ApigatewayV1::ApigatewayGateway] apigateway_gateway_object + # @param [String] gateway_id + # Required. Identifier to assign to the Gateway. Must be unique within scope of + # the parent resource. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayOperation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayOperation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def create_project_location_gateway(parent, apigateway_gateway_object = nil, gateway_id: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+parent}/gateways', options) + command.request_representation = Google::Apis::ApigatewayV1::ApigatewayGateway::Representation + command.request_object = apigateway_gateway_object + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayOperation::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayOperation + command.params['parent'] = parent unless parent.nil? + command.query['gatewayId'] = gateway_id unless gateway_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deletes a single Gateway. + # @param [String] name + # Required. Resource name of the form: `projects/*/locations/*/gateways/*` + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayOperation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayOperation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_project_location_gateway(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v1/{+name}', options) + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayOperation::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayOperation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets details of a single Gateway. + # @param [String] name + # Required. Resource name of the form: `projects/*/locations/*/gateways/*` + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayGateway] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayGateway] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_gateway(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+name}', options) + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayGateway::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayGateway + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets the access control policy for a resource. Returns an empty policy if the + # resource exists and does not have a policy set. + # @param [String] resource + # REQUIRED: The resource for which the policy is being requested. See the + # operation documentation for the appropriate value for this field. + # @param [Fixnum] options_requested_policy_version + # Optional. The policy format version to be returned. Valid values are 0, 1, and + # 3. Requests specifying an invalid value will be rejected. Requests for + # policies with any conditional bindings must specify version 3. Policies + # without any conditional bindings may specify any valid value or leave the + # field unset. To learn which resources support conditions in their IAM policies, + # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/ + # resource-policies). + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayPolicy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayPolicy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_gateway_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+resource}:getIamPolicy', options) + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayPolicy::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayPolicy + command.params['resource'] = resource unless resource.nil? + command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists Gateways in a given project and location. + # @param [String] parent + # Required. Parent resource of the Gateway, of the form: `projects/*/locations/*` + # @param [String] filter + # Filter. + # @param [String] order_by + # Order by parameters. + # @param [Fixnum] page_size + # Page size. + # @param [String] page_token + # Page token. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayListGatewaysResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayListGatewaysResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_location_gateways(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+parent}/gateways', options) + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayListGatewaysResponse::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayListGatewaysResponse + command.params['parent'] = parent unless parent.nil? + command.query['filter'] = filter unless filter.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Updates the parameters of a single Gateway. + # @param [String] name + # Output only. Resource name of the Gateway. Format: projects/`project`/ + # locations/`location`/gateways/`gateway` + # @param [Google::Apis::ApigatewayV1::ApigatewayGateway] apigateway_gateway_object + # @param [String] update_mask + # Field mask is used to specify the fields to be overwritten in the Gateway + # resource by the update. The fields specified in the update_mask are relative + # to the resource, not the full request. A field will be overwritten if it is in + # the mask. If the user does not provide a mask then all fields will be + # overwritten. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayOperation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayOperation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def patch_project_location_gateway(name, apigateway_gateway_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:patch, 'v1/{+name}', options) + command.request_representation = Google::Apis::ApigatewayV1::ApigatewayGateway::Representation + command.request_object = apigateway_gateway_object + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayOperation::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayOperation + command.params['name'] = name unless name.nil? + command.query['updateMask'] = update_mask unless update_mask.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Sets the access control policy on the specified resource. Replaces any + # existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and ` + # PERMISSION_DENIED` errors. + # @param [String] resource + # REQUIRED: The resource for which the policy is being specified. See the + # operation documentation for the appropriate value for this field. + # @param [Google::Apis::ApigatewayV1::ApigatewaySetIamPolicyRequest] apigateway_set_iam_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayPolicy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayPolicy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_project_location_gateway_iam_policy(resource, apigateway_set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', options) + command.request_representation = Google::Apis::ApigatewayV1::ApigatewaySetIamPolicyRequest::Representation + command.request_object = apigateway_set_iam_policy_request_object + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayPolicy::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayPolicy + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Returns permissions that a caller has on the specified resource. If the + # resource does not exist, this will return an empty set of permissions, not a ` + # NOT_FOUND` error. Note: This operation is designed to be used for building + # permission-aware UIs and command-line tools, not for authorization checking. + # This operation may "fail open" without warning. + # @param [String] resource + # REQUIRED: The resource for which the policy detail is being requested. See the + # operation documentation for the appropriate value for this field. + # @param [Google::Apis::ApigatewayV1::ApigatewayTestIamPermissionsRequest] apigateway_test_iam_permissions_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayTestIamPermissionsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayTestIamPermissionsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def test_project_location_gateway_iam_permissions(resource, apigateway_test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options) + command.request_representation = Google::Apis::ApigatewayV1::ApigatewayTestIamPermissionsRequest::Representation + command.request_object = apigateway_test_iam_permissions_request_object + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayTestIamPermissionsResponse::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayTestIamPermissionsResponse + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Starts asynchronous cancellation on a long-running operation. The server makes + # a best effort to cancel the operation, but success is not guaranteed. If the + # server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. + # Clients can use Operations.GetOperation or other methods to check whether the + # cancellation succeeded or whether the operation completed despite cancellation. + # On successful cancellation, the operation is not deleted; instead, it becomes + # an operation with an Operation.error value with a google.rpc.Status.code of 1, + # corresponding to `Code.CANCELLED`. + # @param [String] name + # The name of the operation resource to be cancelled. + # @param [Google::Apis::ApigatewayV1::ApigatewayCancelOperationRequest] apigateway_cancel_operation_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::Empty] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def cancel_project_location_operation(name, apigateway_cancel_operation_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+name}:cancel', options) + command.request_representation = Google::Apis::ApigatewayV1::ApigatewayCancelOperationRequest::Representation + command.request_object = apigateway_cancel_operation_request_object + command.response_representation = Google::Apis::ApigatewayV1::Empty::Representation + command.response_class = Google::Apis::ApigatewayV1::Empty + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deletes a long-running operation. This method indicates that the client is no + # longer interested in the operation result. It does not cancel the operation. + # If the server doesn't support this method, it returns `google.rpc.Code. + # UNIMPLEMENTED`. + # @param [String] name + # The name of the operation resource to be deleted. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::Empty] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_project_location_operation(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v1/{+name}', options) + command.response_representation = Google::Apis::ApigatewayV1::Empty::Representation + command.response_class = Google::Apis::ApigatewayV1::Empty + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets the latest state of a long-running operation. Clients can use this method + # to poll the operation result at intervals as recommended by the API service. + # @param [String] name + # The name of the operation resource. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayOperation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayOperation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_operation(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+name}', options) + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayOperation::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayOperation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists operations that match the specified filter in the request. If the server + # doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` + # binding allows API services to override the binding to use different resource + # name schemes, such as `users/*/operations`. To override the binding, API + # services can add a binding such as `"/v1/`name=users/*`/operations"` to their + # service configuration. For backwards compatibility, the default name includes + # the operations collection id, however overriding users must ensure the name + # binding is the parent resource, without the operations collection id. + # @param [String] name + # The name of the operation's parent resource. + # @param [String] filter + # The standard list filter. + # @param [Fixnum] page_size + # The standard list page size. + # @param [String] page_token + # The standard list page token. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ApigatewayV1::ApigatewayListOperationsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ApigatewayV1::ApigatewayListOperationsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_location_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+name}/operations', options) + command.response_representation = Google::Apis::ApigatewayV1::ApigatewayListOperationsResponse::Representation + command.response_class = Google::Apis::ApigatewayV1::ApigatewayListOperationsResponse + command.params['name'] = name unless name.nil? + command.query['filter'] = filter unless filter.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + protected + + def apply_command_defaults(command) + command.query['key'] = key unless key.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + end + end + end + end +end diff --git a/generated/google/apis/apigateway_v1/synth.metadata b/generated/google/apis/apigateway_v1/synth.metadata new file mode 100644 index 000000000..f1fedf467 --- /dev/null +++ b/generated/google/apis/apigateway_v1/synth.metadata @@ -0,0 +1,11 @@ +{ + "sources": [ + { + "git": { + "name": ".", + "remote": "https://github.com/googleapis/google-api-ruby-client.git", + "sha": "72fb5fbe606fec1962c4f3f195314600288b38d8" + } + } + ] +} \ No newline at end of file