├── .allstar └── binary_artifacts.yaml ├── .bazeliskrc ├── .bazelrc ├── .githooks └── pre-commit ├── .github ├── CODEOWNERS ├── bazel-test.sh ├── conventional-commit-lint.yaml ├── release-please.yml ├── release-trigger.yml ├── snippet-bot.yml └── workflows │ ├── bazel_example.yml │ ├── lint.yml │ ├── phpunit.yml │ └── release-checks.yaml ├── .gitignore ├── .gitmodules ├── BUILD.bazel ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── DEVELOPMENT.md ├── LICENSE ├── README.md ├── SECURITY.md ├── WORKSPACE.bazel ├── bazel_example ├── BUILD.bazel ├── WORKSPACE.bazel ├── example-gapic.yaml ├── example-grpc-service-config.json ├── example-service.yaml └── example.proto ├── build_proto.sh ├── cloudbuild-test.yaml ├── composer.json ├── generated ├── GPBMetadata │ ├── Compliance.php │ ├── Gapic │ │ └── Metadata │ │ │ └── GapicMetadata.php │ ├── Google │ │ ├── Api │ │ │ └── Routing.php │ │ └── Cloud │ │ │ └── ExtendedOperations.php │ ├── Grpc │ │ └── ServiceConfig │ │ │ └── ServiceConfig.php │ ├── Plugin.php │ ├── Tests │ │ └── Integration │ │ │ └── Compliance.php │ └── Validation │ │ └── Intjson.php ├── Google │ ├── Api │ │ ├── RoutingParameter.php │ │ └── RoutingRule.php │ ├── Cloud │ │ └── OperationResponseMapping.php │ ├── Gapic │ │ └── Metadata │ │ │ ├── GapicMetadata.php │ │ │ ├── GapicMetadata │ │ │ ├── MethodList.php │ │ │ ├── ServiceAsClient.php │ │ │ └── ServiceForTransport.php │ │ │ ├── GapicMetadata_MethodList.php │ │ │ ├── GapicMetadata_ServiceAsClient.php │ │ │ └── GapicMetadata_ServiceForTransport.php │ ├── LongRunning │ │ ├── CancelOperationRequest.php │ │ ├── DeleteOperationRequest.php │ │ ├── GetOperationRequest.php │ │ ├── ListOperationsRequest.php │ │ ├── ListOperationsResponse.php │ │ ├── Operation.php │ │ ├── OperationInfo.php │ │ └── WaitOperationRequest.php │ ├── Protobuf │ │ └── Compiler │ │ │ ├── CodeGeneratorRequest.php │ │ │ ├── CodeGeneratorResponse.php │ │ │ ├── CodeGeneratorResponse │ │ │ ├── Feature.php │ │ │ └── File.php │ │ │ ├── CodeGeneratorResponse_Feature.php │ │ │ ├── CodeGeneratorResponse_File.php │ │ │ └── Version.php │ └── Validation │ │ ├── Intjson │ │ └── Numbers.php │ │ └── Showcase │ │ └── V1beta1 │ │ ├── ComplianceData.php │ │ ├── ComplianceData │ │ └── LifeKingdom.php │ │ ├── ComplianceDataChild.php │ │ ├── ComplianceDataGrandchild.php │ │ ├── ComplianceData_LifeKingdom.php │ │ ├── ComplianceGroup.php │ │ ├── ComplianceSuite.php │ │ ├── Continent.php │ │ ├── RepeatRequest.php │ │ └── RepeatResponse.php └── Grpc │ └── Service_config │ ├── CdsConfig.php │ ├── EdsLoadBalancingPolicyConfig.php │ ├── GrpcLbConfig.php │ ├── LoadBalancingConfig.php │ ├── LrsLoadBalancingPolicyConfig.php │ ├── LrsLoadBalancingPolicyConfig │ └── Locality.php │ ├── LrsLoadBalancingPolicyConfig_Locality.php │ ├── MethodConfig.php │ ├── MethodConfig │ ├── HedgingPolicy.php │ ├── Name.php │ └── RetryPolicy.php │ ├── MethodConfig_HedgingPolicy.php │ ├── MethodConfig_Name.php │ ├── MethodConfig_RetryPolicy.php │ ├── PickFirstConfig.php │ ├── PriorityLoadBalancingPolicyConfig.php │ ├── PriorityLoadBalancingPolicyConfig │ └── Child.php │ ├── PriorityLoadBalancingPolicyConfig_Child.php │ ├── RoundRobinConfig.php │ ├── ServiceConfig.php │ ├── ServiceConfig │ ├── HealthCheckConfig.php │ ├── LoadBalancingPolicy.php │ └── RetryThrottlingPolicy.php │ ├── ServiceConfig_HealthCheckConfig.php │ ├── ServiceConfig_LoadBalancingPolicy.php │ ├── ServiceConfig_RetryThrottlingPolicy.php │ ├── WeightedTargetLoadBalancingPolicyConfig.php │ ├── WeightedTargetLoadBalancingPolicyConfig │ └── Target.php │ ├── WeightedTargetLoadBalancingPolicyConfig_Target.php │ └── XdsConfig.php ├── phpstan.neon.dist ├── phpunit.xml.dist ├── plugin.proto ├── psalm.xml ├── renovate.json ├── repositories.bzl ├── rules_php_gapic ├── BUILD.bazel ├── php.bzl ├── php_gapic.bzl ├── php_gapic_pkg.bzl ├── php_repo.bzl ├── private │ └── utils.bzl └── resources │ ├── composer.phar │ ├── php-8.1.13_linux_x86_64.tar.gz │ └── readme.md ├── rules_php_test └── integration_test.bzl ├── scripts └── run_protoc_plugin.sh ├── src ├── Ast │ ├── AST.php │ ├── Expression.php │ ├── HasAccess.php │ ├── HasPhpDoc.php │ ├── PhpBlock.php │ ├── PhpClass.php │ ├── PhpClassMember.php │ ├── PhpComment.php │ ├── PhpConstant.php │ ├── PhpDoc.php │ ├── PhpFile.php │ ├── PhpFunction.php │ ├── PhpMethod.php │ ├── PhpParam.php │ ├── PhpProperty.php │ ├── ShouldNotApplySemicolonInterface.php │ └── Variable.php ├── CodeGenerator.php ├── Collections │ ├── Equality.php │ ├── EqualityHelper.php │ ├── Map.php │ ├── Set.php │ └── Vector.php ├── Generation │ ├── BuildMethodFragmentGenerator.php │ ├── EmptyClientGenerator.php │ ├── EmulatorSupportGenerator.php │ ├── EnumConstantGenerator.php │ ├── FieldDetails.php │ ├── GapicClientExamplesGenerator.php │ ├── GapicClientGenerator.php │ ├── GapicClientV2Generator.php │ ├── GapicMetadataGenerator.php │ ├── MethodDetails.php │ ├── OneofWrapperGenerator.php │ ├── ResourceDetails.php │ ├── ResourcePart.php │ ├── ResourcePatternDetails.php │ ├── ResourcesGenerator.php │ ├── ServiceDetails.php │ ├── SnippetDetails.php │ ├── SnippetDetailsV2.php │ ├── SnippetGenerator.php │ ├── SourceFileContext.php │ ├── TestNameValueProducer.php │ ├── UnitTestsGenerator.php │ └── UnitTestsV2Generator.php ├── Main.php ├── PostProcessor │ ├── FragmentInjectionProcessor.php │ ├── Main.php │ ├── PostProcessor.php │ └── ProcessorInterface.php └── Utils │ ├── CustomOptions.php │ ├── ExplicitPagination.php │ ├── Formatter.php │ ├── GapicYamlConfig.php │ ├── GrpcServiceConfig.php │ ├── Helpers.php │ ├── MigrationMode.php │ ├── ProtoAugmenter.php │ ├── ProtoCatalog.php │ ├── ProtoHelpers.php │ ├── ResolvedType.php │ ├── ServiceYamlConfig.php │ ├── Transport.php │ └── Type.php ├── tests ├── Integration │ ├── BUILD.bazel │ ├── apis │ │ ├── compute_small │ │ │ └── v1 │ │ │ │ ├── compute_small.proto │ │ │ │ └── compute_small_v1.yaml │ │ ├── dataproc │ │ │ └── v1 │ │ │ │ └── dataproc_gapic.yaml │ │ ├── iam │ │ │ └── v1 │ │ │ │ ├── iam_api.yaml │ │ │ │ └── iam_gapic.yaml │ │ ├── kms │ │ │ └── v1 │ │ │ │ ├── cloudkms_grpc_service_config.json │ │ │ │ ├── cloudkms_test_mixins_v1.yaml │ │ │ │ ├── resources.proto │ │ │ │ └── service.proto │ │ ├── redis │ │ │ └── v1 │ │ │ │ └── redis_gapic.yaml │ │ └── videointelligence │ │ │ └── v1 │ │ │ └── videointelligence_v1.yaml │ └── goldens │ │ ├── asset │ │ ├── BUILD.bazel │ │ ├── samples │ │ │ └── V1 │ │ │ │ └── AssetServiceClient │ │ │ │ ├── analyze_iam_policy.php │ │ │ │ ├── analyze_iam_policy_longrunning.php │ │ │ │ ├── analyze_move.php │ │ │ │ ├── analyze_org_policies.php │ │ │ │ ├── analyze_org_policy_governed_assets.php │ │ │ │ ├── analyze_org_policy_governed_containers.php │ │ │ │ ├── batch_get_assets_history.php │ │ │ │ ├── batch_get_effective_iam_policies.php │ │ │ │ ├── create_feed.php │ │ │ │ ├── create_saved_query.php │ │ │ │ ├── delete_feed.php │ │ │ │ ├── delete_saved_query.php │ │ │ │ ├── export_assets.php │ │ │ │ ├── get_feed.php │ │ │ │ ├── get_saved_query.php │ │ │ │ ├── list_assets.php │ │ │ │ ├── list_feeds.php │ │ │ │ ├── list_saved_queries.php │ │ │ │ ├── query_assets.php │ │ │ │ ├── search_all_iam_policies.php │ │ │ │ ├── search_all_resources.php │ │ │ │ ├── update_feed.php │ │ │ │ └── update_saved_query.php │ │ ├── src │ │ │ └── V1 │ │ │ │ ├── AssetServiceClient.php │ │ │ │ ├── Gapic │ │ │ │ └── AssetServiceGapicClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ ├── asset_service_client_config.json │ │ │ │ ├── asset_service_descriptor_config.php │ │ │ │ └── asset_service_rest_client_config.php │ │ └── tests │ │ │ └── Unit │ │ │ └── V1 │ │ │ └── AssetServiceClientTest.php │ │ ├── compute_small │ │ ├── BUILD.bazel │ │ ├── samples │ │ │ └── V1 │ │ │ │ ├── AddressesClient │ │ │ │ ├── aggregated_list.php │ │ │ │ ├── delete.php │ │ │ │ ├── insert.php │ │ │ │ └── list.php │ │ │ │ ├── RegionOperationsClient │ │ │ │ └── get.php │ │ │ │ └── SubnetworksClient │ │ │ │ └── list_usable.php │ │ ├── src │ │ │ └── V1 │ │ │ │ ├── AddressesClient.php │ │ │ │ ├── Enums │ │ │ │ ├── Address │ │ │ │ │ ├── AddressType.php │ │ │ │ │ ├── IpVersion.php │ │ │ │ │ ├── NetworkTier.php │ │ │ │ │ ├── Purpose.php │ │ │ │ │ └── Status.php │ │ │ │ ├── Operation │ │ │ │ │ └── Status.php │ │ │ │ ├── UsableSubnetwork │ │ │ │ │ ├── Ipv6AccessType.php │ │ │ │ │ ├── Purpose.php │ │ │ │ │ ├── Role.php │ │ │ │ │ └── StackType.php │ │ │ │ ├── Warning │ │ │ │ │ └── Code.php │ │ │ │ └── Warnings │ │ │ │ │ └── Code.php │ │ │ │ ├── Gapic │ │ │ │ ├── AddressesGapicClient.php │ │ │ │ ├── RegionOperationsGapicClient.php │ │ │ │ └── SubnetworksGapicClient.php │ │ │ │ ├── RegionOperationsClient.php │ │ │ │ ├── SubnetworksClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ ├── addresses_client_config.json │ │ │ │ ├── addresses_descriptor_config.php │ │ │ │ ├── addresses_rest_client_config.php │ │ │ │ ├── region_operations_client_config.json │ │ │ │ ├── region_operations_descriptor_config.php │ │ │ │ ├── region_operations_rest_client_config.php │ │ │ │ ├── subnetworks_client_config.json │ │ │ │ ├── subnetworks_descriptor_config.php │ │ │ │ └── subnetworks_rest_client_config.php │ │ └── tests │ │ │ └── Unit │ │ │ └── V1 │ │ │ ├── AddressesClientTest.php │ │ │ ├── RegionOperationsClientTest.php │ │ │ └── SubnetworksClientTest.php │ │ ├── container │ │ ├── BUILD.bazel │ │ ├── samples │ │ │ └── V1 │ │ │ │ └── ClusterManagerClient │ │ │ │ ├── cancel_operation.php │ │ │ │ ├── check_autopilot_compatibility.php │ │ │ │ ├── complete_ip_rotation.php │ │ │ │ ├── complete_node_pool_upgrade.php │ │ │ │ ├── create_cluster.php │ │ │ │ ├── create_node_pool.php │ │ │ │ ├── delete_cluster.php │ │ │ │ ├── delete_node_pool.php │ │ │ │ ├── get_cluster.php │ │ │ │ ├── get_json_web_keys.php │ │ │ │ ├── get_node_pool.php │ │ │ │ ├── get_operation.php │ │ │ │ ├── get_server_config.php │ │ │ │ ├── list_clusters.php │ │ │ │ ├── list_node_pools.php │ │ │ │ ├── list_operations.php │ │ │ │ ├── list_usable_subnetworks.php │ │ │ │ ├── rollback_node_pool_upgrade.php │ │ │ │ ├── set_addons_config.php │ │ │ │ ├── set_labels.php │ │ │ │ ├── set_legacy_abac.php │ │ │ │ ├── set_locations.php │ │ │ │ ├── set_logging_service.php │ │ │ │ ├── set_maintenance_policy.php │ │ │ │ ├── set_master_auth.php │ │ │ │ ├── set_monitoring_service.php │ │ │ │ ├── set_network_policy.php │ │ │ │ ├── set_node_pool_autoscaling.php │ │ │ │ ├── set_node_pool_management.php │ │ │ │ ├── set_node_pool_size.php │ │ │ │ ├── start_ip_rotation.php │ │ │ │ ├── update_cluster.php │ │ │ │ ├── update_master.php │ │ │ │ └── update_node_pool.php │ │ ├── src │ │ │ └── V1 │ │ │ │ ├── ClusterManagerClient.php │ │ │ │ ├── Gapic │ │ │ │ └── ClusterManagerGapicClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ ├── cluster_manager_client_config.json │ │ │ │ ├── cluster_manager_descriptor_config.php │ │ │ │ └── cluster_manager_rest_client_config.php │ │ └── tests │ │ │ └── Unit │ │ │ └── V1 │ │ │ └── ClusterManagerClientTest.php │ │ ├── dataproc │ │ ├── BUILD.bazel │ │ ├── samples │ │ │ └── V1 │ │ │ │ ├── AutoscalingPolicyServiceClient │ │ │ │ ├── create_autoscaling_policy.php │ │ │ │ ├── delete_autoscaling_policy.php │ │ │ │ ├── get_autoscaling_policy.php │ │ │ │ ├── get_iam_policy.php │ │ │ │ ├── list_autoscaling_policies.php │ │ │ │ ├── set_iam_policy.php │ │ │ │ ├── test_iam_permissions.php │ │ │ │ └── update_autoscaling_policy.php │ │ │ │ ├── BatchControllerClient │ │ │ │ ├── create_batch.php │ │ │ │ ├── delete_batch.php │ │ │ │ ├── get_batch.php │ │ │ │ ├── get_iam_policy.php │ │ │ │ ├── list_batches.php │ │ │ │ ├── set_iam_policy.php │ │ │ │ └── test_iam_permissions.php │ │ │ │ ├── ClusterControllerClient │ │ │ │ ├── create_cluster.php │ │ │ │ ├── delete_cluster.php │ │ │ │ ├── diagnose_cluster.php │ │ │ │ ├── get_cluster.php │ │ │ │ ├── get_iam_policy.php │ │ │ │ ├── list_clusters.php │ │ │ │ ├── set_iam_policy.php │ │ │ │ ├── start_cluster.php │ │ │ │ ├── stop_cluster.php │ │ │ │ ├── test_iam_permissions.php │ │ │ │ └── update_cluster.php │ │ │ │ ├── JobControllerClient │ │ │ │ ├── cancel_job.php │ │ │ │ ├── delete_job.php │ │ │ │ ├── get_iam_policy.php │ │ │ │ ├── get_job.php │ │ │ │ ├── list_jobs.php │ │ │ │ ├── set_iam_policy.php │ │ │ │ ├── submit_job.php │ │ │ │ ├── submit_job_as_operation.php │ │ │ │ ├── test_iam_permissions.php │ │ │ │ └── update_job.php │ │ │ │ ├── NodeGroupControllerClient │ │ │ │ ├── create_node_group.php │ │ │ │ ├── get_iam_policy.php │ │ │ │ ├── get_node_group.php │ │ │ │ ├── resize_node_group.php │ │ │ │ ├── set_iam_policy.php │ │ │ │ └── test_iam_permissions.php │ │ │ │ ├── SessionControllerClient │ │ │ │ ├── create_session.php │ │ │ │ ├── delete_session.php │ │ │ │ ├── get_iam_policy.php │ │ │ │ ├── get_session.php │ │ │ │ ├── list_sessions.php │ │ │ │ ├── set_iam_policy.php │ │ │ │ ├── terminate_session.php │ │ │ │ └── test_iam_permissions.php │ │ │ │ ├── SessionTemplateControllerClient │ │ │ │ ├── create_session_template.php │ │ │ │ ├── delete_session_template.php │ │ │ │ ├── get_iam_policy.php │ │ │ │ ├── get_session_template.php │ │ │ │ ├── list_session_templates.php │ │ │ │ ├── set_iam_policy.php │ │ │ │ ├── test_iam_permissions.php │ │ │ │ └── update_session_template.php │ │ │ │ └── WorkflowTemplateServiceClient │ │ │ │ ├── create_workflow_template.php │ │ │ │ ├── delete_workflow_template.php │ │ │ │ ├── get_iam_policy.php │ │ │ │ ├── get_workflow_template.php │ │ │ │ ├── instantiate_inline_workflow_template.php │ │ │ │ ├── instantiate_workflow_template.php │ │ │ │ ├── list_workflow_templates.php │ │ │ │ ├── set_iam_policy.php │ │ │ │ ├── test_iam_permissions.php │ │ │ │ └── update_workflow_template.php │ │ ├── src │ │ │ └── V1 │ │ │ │ ├── AutoscalingPolicyServiceClient.php │ │ │ │ ├── BatchControllerClient.php │ │ │ │ ├── ClusterControllerClient.php │ │ │ │ ├── Gapic │ │ │ │ ├── AutoscalingPolicyServiceGapicClient.php │ │ │ │ ├── BatchControllerGapicClient.php │ │ │ │ ├── ClusterControllerGapicClient.php │ │ │ │ ├── JobControllerGapicClient.php │ │ │ │ ├── NodeGroupControllerGapicClient.php │ │ │ │ ├── SessionControllerGapicClient.php │ │ │ │ ├── SessionTemplateControllerGapicClient.php │ │ │ │ └── WorkflowTemplateServiceGapicClient.php │ │ │ │ ├── JobControllerClient.php │ │ │ │ ├── NodeGroupControllerClient.php │ │ │ │ ├── SessionControllerClient.php │ │ │ │ ├── SessionTemplateControllerClient.php │ │ │ │ ├── WorkflowTemplateServiceClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ ├── autoscaling_policy_service_client_config.json │ │ │ │ ├── autoscaling_policy_service_descriptor_config.php │ │ │ │ ├── autoscaling_policy_service_rest_client_config.php │ │ │ │ ├── batch_controller_client_config.json │ │ │ │ ├── batch_controller_descriptor_config.php │ │ │ │ ├── batch_controller_rest_client_config.php │ │ │ │ ├── cluster_controller_client_config.json │ │ │ │ ├── cluster_controller_descriptor_config.php │ │ │ │ ├── cluster_controller_rest_client_config.php │ │ │ │ ├── job_controller_client_config.json │ │ │ │ ├── job_controller_descriptor_config.php │ │ │ │ ├── job_controller_rest_client_config.php │ │ │ │ ├── node_group_controller_client_config.json │ │ │ │ ├── node_group_controller_descriptor_config.php │ │ │ │ ├── node_group_controller_rest_client_config.php │ │ │ │ ├── session_controller_client_config.json │ │ │ │ ├── session_controller_descriptor_config.php │ │ │ │ ├── session_controller_rest_client_config.php │ │ │ │ ├── session_template_controller_client_config.json │ │ │ │ ├── session_template_controller_descriptor_config.php │ │ │ │ ├── session_template_controller_rest_client_config.php │ │ │ │ ├── workflow_template_service_client_config.json │ │ │ │ ├── workflow_template_service_descriptor_config.php │ │ │ │ └── workflow_template_service_rest_client_config.php │ │ └── tests │ │ │ └── Unit │ │ │ └── V1 │ │ │ ├── AutoscalingPolicyServiceClientTest.php │ │ │ ├── BatchControllerClientTest.php │ │ │ ├── ClusterControllerClientTest.php │ │ │ ├── JobControllerClientTest.php │ │ │ ├── NodeGroupControllerClientTest.php │ │ │ ├── SessionControllerClientTest.php │ │ │ ├── SessionTemplateControllerClientTest.php │ │ │ └── WorkflowTemplateServiceClientTest.php │ │ ├── functions │ │ ├── BUILD.bazel │ │ ├── fragments │ │ │ └── Google │ │ │ │ └── Cloud │ │ │ │ └── Functions │ │ │ │ └── V1 │ │ │ │ ├── CallFunctionRequest.build.txt │ │ │ │ ├── CreateFunctionRequest.build.txt │ │ │ │ ├── DeleteFunctionRequest.build.txt │ │ │ │ ├── GetFunctionRequest.build.txt │ │ │ │ └── UpdateFunctionRequest.build.txt │ │ ├── samples │ │ │ └── V1 │ │ │ │ └── CloudFunctionsServiceClient │ │ │ │ ├── call_function.php │ │ │ │ ├── create_function.php │ │ │ │ ├── delete_function.php │ │ │ │ ├── generate_download_url.php │ │ │ │ ├── generate_upload_url.php │ │ │ │ ├── get_function.php │ │ │ │ ├── get_iam_policy.php │ │ │ │ ├── list_functions.php │ │ │ │ ├── set_iam_policy.php │ │ │ │ ├── test_iam_permissions.php │ │ │ │ └── update_function.php │ │ ├── src │ │ │ └── V1 │ │ │ │ ├── Client │ │ │ │ └── CloudFunctionsServiceClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ ├── cloud_functions_service_client_config.json │ │ │ │ ├── cloud_functions_service_descriptor_config.php │ │ │ │ └── cloud_functions_service_rest_client_config.php │ │ └── tests │ │ │ └── Unit │ │ │ └── V1 │ │ │ └── Client │ │ │ └── CloudFunctionsServiceClientTest.php │ │ ├── iam │ │ ├── BUILD.bazel │ │ ├── samples │ │ │ └── V1 │ │ │ │ └── IAMPolicyClient │ │ │ │ ├── get_iam_policy.php │ │ │ │ ├── set_iam_policy.php │ │ │ │ └── test_iam_permissions.php │ │ ├── src │ │ │ └── V1 │ │ │ │ ├── Gapic │ │ │ │ └── IAMPolicyGapicClient.php │ │ │ │ ├── IAMPolicyClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ ├── iam_policy_client_config.json │ │ │ │ ├── iam_policy_descriptor_config.php │ │ │ │ └── iam_policy_rest_client_config.php │ │ └── tests │ │ │ └── Unit │ │ │ └── V1 │ │ │ └── IAMPolicyClientTest.php │ │ ├── kms │ │ ├── BUILD.bazel │ │ ├── samples │ │ │ └── V1 │ │ │ │ └── KeyManagementServiceClient │ │ │ │ ├── asymmetric_decrypt.php │ │ │ │ ├── asymmetric_sign.php │ │ │ │ ├── create_crypto_key.php │ │ │ │ ├── create_crypto_key_version.php │ │ │ │ ├── create_import_job.php │ │ │ │ ├── create_key_ring.php │ │ │ │ ├── decrypt.php │ │ │ │ ├── destroy_crypto_key_version.php │ │ │ │ ├── encrypt.php │ │ │ │ ├── get_crypto_key.php │ │ │ │ ├── get_crypto_key_version.php │ │ │ │ ├── get_iam_policy.php │ │ │ │ ├── get_import_job.php │ │ │ │ ├── get_key_ring.php │ │ │ │ ├── get_location.php │ │ │ │ ├── get_public_key.php │ │ │ │ ├── import_crypto_key_version.php │ │ │ │ ├── list_crypto_key_versions.php │ │ │ │ ├── list_crypto_keys.php │ │ │ │ ├── list_import_jobs.php │ │ │ │ ├── list_key_rings.php │ │ │ │ ├── list_locations.php │ │ │ │ ├── restore_crypto_key_version.php │ │ │ │ ├── set_iam_policy.php │ │ │ │ ├── test_iam_permissions.php │ │ │ │ ├── update_crypto_key.php │ │ │ │ ├── update_crypto_key_primary_version.php │ │ │ │ └── update_crypto_key_version.php │ │ ├── src │ │ │ └── V1 │ │ │ │ ├── Gapic │ │ │ │ └── KeyManagementServiceGapicClient.php │ │ │ │ ├── KeyManagementServiceClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ ├── key_management_service_client_config.json │ │ │ │ ├── key_management_service_descriptor_config.php │ │ │ │ └── key_management_service_rest_client_config.php │ │ └── tests │ │ │ └── Unit │ │ │ └── V1 │ │ │ └── KeyManagementServiceClientTest.php │ │ ├── logging │ │ ├── BUILD.bazel │ │ ├── samples │ │ │ └── V2 │ │ │ │ ├── ConfigServiceV2Client │ │ │ │ ├── copy_log_entries.php │ │ │ │ ├── create_bucket.php │ │ │ │ ├── create_bucket_async.php │ │ │ │ ├── create_exclusion.php │ │ │ │ ├── create_link.php │ │ │ │ ├── create_sink.php │ │ │ │ ├── create_view.php │ │ │ │ ├── delete_bucket.php │ │ │ │ ├── delete_exclusion.php │ │ │ │ ├── delete_link.php │ │ │ │ ├── delete_sink.php │ │ │ │ ├── delete_view.php │ │ │ │ ├── get_bucket.php │ │ │ │ ├── get_cmek_settings.php │ │ │ │ ├── get_exclusion.php │ │ │ │ ├── get_link.php │ │ │ │ ├── get_settings.php │ │ │ │ ├── get_sink.php │ │ │ │ ├── get_view.php │ │ │ │ ├── list_buckets.php │ │ │ │ ├── list_exclusions.php │ │ │ │ ├── list_links.php │ │ │ │ ├── list_sinks.php │ │ │ │ ├── list_views.php │ │ │ │ ├── undelete_bucket.php │ │ │ │ ├── update_bucket.php │ │ │ │ ├── update_bucket_async.php │ │ │ │ ├── update_cmek_settings.php │ │ │ │ ├── update_exclusion.php │ │ │ │ ├── update_settings.php │ │ │ │ ├── update_sink.php │ │ │ │ └── update_view.php │ │ │ │ ├── LoggingServiceV2Client │ │ │ │ ├── delete_log.php │ │ │ │ ├── list_log_entries.php │ │ │ │ ├── list_logs.php │ │ │ │ ├── list_monitored_resource_descriptors.php │ │ │ │ ├── tail_log_entries.php │ │ │ │ └── write_log_entries.php │ │ │ │ └── MetricsServiceV2Client │ │ │ │ ├── create_log_metric.php │ │ │ │ ├── delete_log_metric.php │ │ │ │ ├── get_log_metric.php │ │ │ │ ├── list_log_metrics.php │ │ │ │ └── update_log_metric.php │ │ ├── src │ │ │ └── V2 │ │ │ │ ├── ConfigServiceV2Client.php │ │ │ │ ├── Gapic │ │ │ │ ├── ConfigServiceV2GapicClient.php │ │ │ │ ├── LoggingServiceV2GapicClient.php │ │ │ │ └── MetricsServiceV2GapicClient.php │ │ │ │ ├── LoggingServiceV2Client.php │ │ │ │ ├── MetricsServiceV2Client.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ ├── config_service_v2_client_config.json │ │ │ │ ├── config_service_v2_descriptor_config.php │ │ │ │ ├── config_service_v2_rest_client_config.php │ │ │ │ ├── logging_service_v2_client_config.json │ │ │ │ ├── logging_service_v2_descriptor_config.php │ │ │ │ ├── logging_service_v2_rest_client_config.php │ │ │ │ ├── metrics_service_v2_client_config.json │ │ │ │ ├── metrics_service_v2_descriptor_config.php │ │ │ │ └── metrics_service_v2_rest_client_config.php │ │ └── tests │ │ │ └── Unit │ │ │ └── V2 │ │ │ ├── ConfigServiceV2ClientTest.php │ │ │ ├── LoggingServiceV2ClientTest.php │ │ │ └── MetricsServiceV2ClientTest.php │ │ ├── redis │ │ ├── BUILD.bazel │ │ ├── fragments │ │ │ └── Google │ │ │ │ └── Cloud │ │ │ │ └── Redis │ │ │ │ └── V1 │ │ │ │ ├── CreateInstanceRequest.build.txt │ │ │ │ ├── DeleteInstanceRequest.build.txt │ │ │ │ ├── ExportInstanceRequest.build.txt │ │ │ │ ├── FailoverInstanceRequest.build.txt │ │ │ │ ├── GetInstanceAuthStringRequest.build.txt │ │ │ │ ├── GetInstanceRequest.build.txt │ │ │ │ ├── ImportInstanceRequest.build.txt │ │ │ │ ├── ListInstancesRequest.build.txt │ │ │ │ ├── RescheduleMaintenanceRequest.build.txt │ │ │ │ ├── UpdateInstanceRequest.build.txt │ │ │ │ └── UpgradeInstanceRequest.build.txt │ │ ├── samples │ │ │ └── V1 │ │ │ │ └── CloudRedisClient │ │ │ │ ├── create_instance.php │ │ │ │ ├── delete_instance.php │ │ │ │ ├── export_instance.php │ │ │ │ ├── failover_instance.php │ │ │ │ ├── get_instance.php │ │ │ │ ├── get_instance_auth_string.php │ │ │ │ ├── get_location.php │ │ │ │ ├── import_instance.php │ │ │ │ ├── list_instances.php │ │ │ │ ├── list_locations.php │ │ │ │ ├── reschedule_maintenance.php │ │ │ │ ├── update_instance.php │ │ │ │ └── upgrade_instance.php │ │ ├── src │ │ │ └── V1 │ │ │ │ ├── Client │ │ │ │ └── CloudRedisClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ ├── cloud_redis_client_config.json │ │ │ │ └── cloud_redis_descriptor_config.php │ │ └── tests │ │ │ └── Unit │ │ │ └── V1 │ │ │ └── Client │ │ │ └── CloudRedisClientTest.php │ │ ├── retail │ │ ├── BUILD.bazel │ │ ├── samples │ │ │ └── V2alpha │ │ │ │ ├── AnalyticsServiceClient │ │ │ │ └── export_analytics_metrics.php │ │ │ │ ├── CatalogServiceClient │ │ │ │ ├── add_catalog_attribute.php │ │ │ │ ├── batch_remove_catalog_attributes.php │ │ │ │ ├── get_attributes_config.php │ │ │ │ ├── get_completion_config.php │ │ │ │ ├── get_default_branch.php │ │ │ │ ├── list_catalogs.php │ │ │ │ ├── remove_catalog_attribute.php │ │ │ │ ├── replace_catalog_attribute.php │ │ │ │ ├── set_default_branch.php │ │ │ │ ├── update_attributes_config.php │ │ │ │ ├── update_catalog.php │ │ │ │ └── update_completion_config.php │ │ │ │ ├── CompletionServiceClient │ │ │ │ ├── complete_query.php │ │ │ │ └── import_completion_data.php │ │ │ │ ├── ControlServiceClient │ │ │ │ ├── create_control.php │ │ │ │ ├── delete_control.php │ │ │ │ ├── get_control.php │ │ │ │ ├── list_controls.php │ │ │ │ └── update_control.php │ │ │ │ ├── MerchantCenterAccountLinkServiceClient │ │ │ │ ├── create_merchant_center_account_link.php │ │ │ │ ├── delete_merchant_center_account_link.php │ │ │ │ └── list_merchant_center_account_links.php │ │ │ │ ├── ModelServiceClient │ │ │ │ ├── create_model.php │ │ │ │ ├── delete_model.php │ │ │ │ ├── get_model.php │ │ │ │ ├── list_models.php │ │ │ │ ├── pause_model.php │ │ │ │ ├── resume_model.php │ │ │ │ ├── tune_model.php │ │ │ │ └── update_model.php │ │ │ │ ├── PredictionServiceClient │ │ │ │ └── predict.php │ │ │ │ ├── ProductServiceClient │ │ │ │ ├── add_fulfillment_places.php │ │ │ │ ├── add_local_inventories.php │ │ │ │ ├── create_product.php │ │ │ │ ├── delete_product.php │ │ │ │ ├── get_product.php │ │ │ │ ├── import_products.php │ │ │ │ ├── list_products.php │ │ │ │ ├── purge_products.php │ │ │ │ ├── remove_fulfillment_places.php │ │ │ │ ├── remove_local_inventories.php │ │ │ │ ├── set_inventory.php │ │ │ │ └── update_product.php │ │ │ │ ├── SearchServiceClient │ │ │ │ └── search.php │ │ │ │ ├── ServingConfigServiceClient │ │ │ │ ├── add_control.php │ │ │ │ ├── create_serving_config.php │ │ │ │ ├── delete_serving_config.php │ │ │ │ ├── get_serving_config.php │ │ │ │ ├── list_serving_configs.php │ │ │ │ ├── remove_control.php │ │ │ │ └── update_serving_config.php │ │ │ │ └── UserEventServiceClient │ │ │ │ ├── collect_user_event.php │ │ │ │ ├── import_user_events.php │ │ │ │ ├── purge_user_events.php │ │ │ │ ├── rejoin_user_events.php │ │ │ │ └── write_user_event.php │ │ ├── src │ │ │ └── V2alpha │ │ │ │ ├── AnalyticsServiceClient.php │ │ │ │ ├── CatalogServiceClient.php │ │ │ │ ├── CompletionServiceClient.php │ │ │ │ ├── ControlServiceClient.php │ │ │ │ ├── Gapic │ │ │ │ ├── AnalyticsServiceGapicClient.php │ │ │ │ ├── CatalogServiceGapicClient.php │ │ │ │ ├── CompletionServiceGapicClient.php │ │ │ │ ├── ControlServiceGapicClient.php │ │ │ │ ├── MerchantCenterAccountLinkServiceGapicClient.php │ │ │ │ ├── ModelServiceGapicClient.php │ │ │ │ ├── PredictionServiceGapicClient.php │ │ │ │ ├── ProductServiceGapicClient.php │ │ │ │ ├── SearchServiceGapicClient.php │ │ │ │ ├── ServingConfigServiceGapicClient.php │ │ │ │ └── UserEventServiceGapicClient.php │ │ │ │ ├── MerchantCenterAccountLinkServiceClient.php │ │ │ │ ├── ModelServiceClient.php │ │ │ │ ├── PredictionServiceClient.php │ │ │ │ ├── ProductServiceClient.php │ │ │ │ ├── SearchServiceClient.php │ │ │ │ ├── ServingConfigServiceClient.php │ │ │ │ ├── UserEventServiceClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ ├── analytics_service_client_config.json │ │ │ │ ├── analytics_service_descriptor_config.php │ │ │ │ ├── analytics_service_rest_client_config.php │ │ │ │ ├── catalog_service_client_config.json │ │ │ │ ├── catalog_service_descriptor_config.php │ │ │ │ ├── catalog_service_rest_client_config.php │ │ │ │ ├── completion_service_client_config.json │ │ │ │ ├── completion_service_descriptor_config.php │ │ │ │ ├── completion_service_rest_client_config.php │ │ │ │ ├── control_service_client_config.json │ │ │ │ ├── control_service_descriptor_config.php │ │ │ │ ├── control_service_rest_client_config.php │ │ │ │ ├── merchant_center_account_link_service_client_config.json │ │ │ │ ├── merchant_center_account_link_service_descriptor_config.php │ │ │ │ ├── merchant_center_account_link_service_rest_client_config.php │ │ │ │ ├── model_service_client_config.json │ │ │ │ ├── model_service_descriptor_config.php │ │ │ │ ├── model_service_rest_client_config.php │ │ │ │ ├── prediction_service_client_config.json │ │ │ │ ├── prediction_service_descriptor_config.php │ │ │ │ ├── prediction_service_rest_client_config.php │ │ │ │ ├── product_service_client_config.json │ │ │ │ ├── product_service_descriptor_config.php │ │ │ │ ├── product_service_rest_client_config.php │ │ │ │ ├── search_service_client_config.json │ │ │ │ ├── search_service_descriptor_config.php │ │ │ │ ├── search_service_rest_client_config.php │ │ │ │ ├── serving_config_service_client_config.json │ │ │ │ ├── serving_config_service_descriptor_config.php │ │ │ │ ├── serving_config_service_rest_client_config.php │ │ │ │ ├── user_event_service_client_config.json │ │ │ │ ├── user_event_service_descriptor_config.php │ │ │ │ └── user_event_service_rest_client_config.php │ │ └── tests │ │ │ └── Unit │ │ │ └── V2alpha │ │ │ ├── AnalyticsServiceClientTest.php │ │ │ ├── CatalogServiceClientTest.php │ │ │ ├── CompletionServiceClientTest.php │ │ │ ├── ControlServiceClientTest.php │ │ │ ├── MerchantCenterAccountLinkServiceClientTest.php │ │ │ ├── ModelServiceClientTest.php │ │ │ ├── PredictionServiceClientTest.php │ │ │ ├── ProductServiceClientTest.php │ │ │ ├── SearchServiceClientTest.php │ │ │ ├── ServingConfigServiceClientTest.php │ │ │ └── UserEventServiceClientTest.php │ │ ├── securitycenter │ │ ├── BUILD.bazel │ │ ├── fragments │ │ │ └── Google │ │ │ │ └── Cloud │ │ │ │ └── SecurityCenter │ │ │ │ └── V1 │ │ │ │ ├── BulkMuteFindingsRequest.build.txt │ │ │ │ ├── CreateBigQueryExportRequest.build.txt │ │ │ │ ├── CreateFindingRequest.build.txt │ │ │ │ ├── CreateMuteConfigRequest.build.txt │ │ │ │ ├── CreateNotificationConfigRequest.build.txt │ │ │ │ ├── CreateSecurityHealthAnalyticsCustomModuleRequest.build.txt │ │ │ │ ├── CreateSourceRequest.build.txt │ │ │ │ ├── DeleteBigQueryExportRequest.build.txt │ │ │ │ ├── DeleteMuteConfigRequest.build.txt │ │ │ │ ├── DeleteNotificationConfigRequest.build.txt │ │ │ │ ├── DeleteSecurityHealthAnalyticsCustomModuleRequest.build.txt │ │ │ │ ├── GetBigQueryExportRequest.build.txt │ │ │ │ ├── GetEffectiveSecurityHealthAnalyticsCustomModuleRequest.build.txt │ │ │ │ ├── GetMuteConfigRequest.build.txt │ │ │ │ ├── GetNotificationConfigRequest.build.txt │ │ │ │ ├── GetOrganizationSettingsRequest.build.txt │ │ │ │ ├── GetSecurityHealthAnalyticsCustomModuleRequest.build.txt │ │ │ │ ├── GetSourceRequest.build.txt │ │ │ │ ├── GroupFindingsRequest.build.txt │ │ │ │ ├── ListBigQueryExportsRequest.build.txt │ │ │ │ ├── ListDescendantSecurityHealthAnalyticsCustomModulesRequest.build.txt │ │ │ │ ├── ListEffectiveSecurityHealthAnalyticsCustomModulesRequest.build.txt │ │ │ │ ├── ListMuteConfigsRequest.build.txt │ │ │ │ ├── ListNotificationConfigsRequest.build.txt │ │ │ │ ├── ListSecurityHealthAnalyticsCustomModulesRequest.build.txt │ │ │ │ ├── ListSourcesRequest.build.txt │ │ │ │ ├── RunAssetDiscoveryRequest.build.txt │ │ │ │ ├── SetFindingStateRequest.build.txt │ │ │ │ ├── SetMuteRequest.build.txt │ │ │ │ ├── SimulateSecurityHealthAnalyticsCustomModuleRequest.build.txt │ │ │ │ ├── UpdateBigQueryExportRequest.build.txt │ │ │ │ ├── UpdateExternalSystemRequest.build.txt │ │ │ │ ├── UpdateFindingRequest.build.txt │ │ │ │ ├── UpdateMuteConfigRequest.build.txt │ │ │ │ ├── UpdateNotificationConfigRequest.build.txt │ │ │ │ ├── UpdateOrganizationSettingsRequest.build.txt │ │ │ │ ├── UpdateSecurityHealthAnalyticsCustomModuleRequest.build.txt │ │ │ │ ├── UpdateSecurityMarksRequest.build.txt │ │ │ │ └── UpdateSourceRequest.build.txt │ │ ├── samples │ │ │ └── V1 │ │ │ │ └── SecurityCenterClient │ │ │ │ ├── bulk_mute_findings.php │ │ │ │ ├── create_big_query_export.php │ │ │ │ ├── create_finding.php │ │ │ │ ├── create_mute_config.php │ │ │ │ ├── create_notification_config.php │ │ │ │ ├── create_security_health_analytics_custom_module.php │ │ │ │ ├── create_source.php │ │ │ │ ├── delete_big_query_export.php │ │ │ │ ├── delete_mute_config.php │ │ │ │ ├── delete_notification_config.php │ │ │ │ ├── delete_security_health_analytics_custom_module.php │ │ │ │ ├── get_big_query_export.php │ │ │ │ ├── get_effective_security_health_analytics_custom_module.php │ │ │ │ ├── get_iam_policy.php │ │ │ │ ├── get_mute_config.php │ │ │ │ ├── get_notification_config.php │ │ │ │ ├── get_organization_settings.php │ │ │ │ ├── get_security_health_analytics_custom_module.php │ │ │ │ ├── get_source.php │ │ │ │ ├── group_assets.php │ │ │ │ ├── group_findings.php │ │ │ │ ├── list_assets.php │ │ │ │ ├── list_big_query_exports.php │ │ │ │ ├── list_descendant_security_health_analytics_custom_modules.php │ │ │ │ ├── list_effective_security_health_analytics_custom_modules.php │ │ │ │ ├── list_findings.php │ │ │ │ ├── list_mute_configs.php │ │ │ │ ├── list_notification_configs.php │ │ │ │ ├── list_security_health_analytics_custom_modules.php │ │ │ │ ├── list_sources.php │ │ │ │ ├── run_asset_discovery.php │ │ │ │ ├── set_finding_state.php │ │ │ │ ├── set_iam_policy.php │ │ │ │ ├── set_mute.php │ │ │ │ ├── simulate_security_health_analytics_custom_module.php │ │ │ │ ├── test_iam_permissions.php │ │ │ │ ├── update_big_query_export.php │ │ │ │ ├── update_external_system.php │ │ │ │ ├── update_finding.php │ │ │ │ ├── update_mute_config.php │ │ │ │ ├── update_notification_config.php │ │ │ │ ├── update_organization_settings.php │ │ │ │ ├── update_security_health_analytics_custom_module.php │ │ │ │ ├── update_security_marks.php │ │ │ │ └── update_source.php │ │ ├── src │ │ │ └── V1 │ │ │ │ ├── Client │ │ │ │ └── SecurityCenterClient.php │ │ │ │ ├── Gapic │ │ │ │ └── SecurityCenterGapicClient.php │ │ │ │ ├── SecurityCenterClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ ├── security_center_client_config.json │ │ │ │ ├── security_center_descriptor_config.php │ │ │ │ └── security_center_rest_client_config.php │ │ └── tests │ │ │ └── Unit │ │ │ └── V1 │ │ │ ├── Client │ │ │ └── SecurityCenterClientTest.php │ │ │ └── SecurityCenterClientTest.php │ │ ├── spanner │ │ ├── BUILD.bazel │ │ ├── fragments │ │ │ └── Google │ │ │ │ └── Cloud │ │ │ │ └── Spanner │ │ │ │ └── Admin │ │ │ │ └── Database │ │ │ │ └── V1 │ │ │ │ ├── CopyBackupRequest.build.txt │ │ │ │ ├── CreateBackupRequest.build.txt │ │ │ │ ├── CreateDatabaseRequest.build.txt │ │ │ │ ├── DeleteBackupRequest.build.txt │ │ │ │ ├── DropDatabaseRequest.build.txt │ │ │ │ ├── GetBackupRequest.build.txt │ │ │ │ ├── GetDatabaseDdlRequest.build.txt │ │ │ │ ├── GetDatabaseRequest.build.txt │ │ │ │ ├── ListBackupOperationsRequest.build.txt │ │ │ │ ├── ListBackupsRequest.build.txt │ │ │ │ ├── ListDatabaseOperationsRequest.build.txt │ │ │ │ ├── ListDatabaseRolesRequest.build.txt │ │ │ │ ├── ListDatabasesRequest.build.txt │ │ │ │ ├── RestoreDatabaseRequest.build.txt │ │ │ │ ├── UpdateBackupRequest.build.txt │ │ │ │ ├── UpdateDatabaseDdlRequest.build.txt │ │ │ │ └── UpdateDatabaseRequest.build.txt │ │ ├── samples │ │ │ └── V1 │ │ │ │ └── DatabaseAdminClient │ │ │ │ ├── copy_backup.php │ │ │ │ ├── create_backup.php │ │ │ │ ├── create_database.php │ │ │ │ ├── delete_backup.php │ │ │ │ ├── drop_database.php │ │ │ │ ├── get_backup.php │ │ │ │ ├── get_database.php │ │ │ │ ├── get_database_ddl.php │ │ │ │ ├── get_iam_policy.php │ │ │ │ ├── list_backup_operations.php │ │ │ │ ├── list_backups.php │ │ │ │ ├── list_database_operations.php │ │ │ │ ├── list_database_roles.php │ │ │ │ ├── list_databases.php │ │ │ │ ├── restore_database.php │ │ │ │ ├── set_iam_policy.php │ │ │ │ ├── test_iam_permissions.php │ │ │ │ ├── update_backup.php │ │ │ │ ├── update_database.php │ │ │ │ └── update_database_ddl.php │ │ ├── src │ │ │ └── V1 │ │ │ │ ├── Client │ │ │ │ └── DatabaseAdminClient.php │ │ │ │ ├── DatabaseAdminClient.php │ │ │ │ ├── Gapic │ │ │ │ └── DatabaseAdminGapicClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ ├── database_admin_client_config.json │ │ │ │ ├── database_admin_descriptor_config.php │ │ │ │ └── database_admin_rest_client_config.php │ │ └── tests │ │ │ └── Unit │ │ │ └── V1 │ │ │ ├── Client │ │ │ └── DatabaseAdminClientTest.php │ │ │ └── DatabaseAdminClientTest.php │ │ ├── speech │ │ ├── BUILD.bazel │ │ ├── samples │ │ │ └── V1 │ │ │ │ ├── AdaptationClient │ │ │ │ ├── create_custom_class.php │ │ │ │ ├── create_phrase_set.php │ │ │ │ ├── delete_custom_class.php │ │ │ │ ├── delete_phrase_set.php │ │ │ │ ├── get_custom_class.php │ │ │ │ ├── get_phrase_set.php │ │ │ │ ├── list_custom_classes.php │ │ │ │ ├── list_phrase_set.php │ │ │ │ ├── update_custom_class.php │ │ │ │ └── update_phrase_set.php │ │ │ │ └── SpeechClient │ │ │ │ ├── long_running_recognize.php │ │ │ │ ├── recognize.php │ │ │ │ └── streaming_recognize.php │ │ ├── src │ │ │ └── V1 │ │ │ │ ├── AdaptationClient.php │ │ │ │ ├── Gapic │ │ │ │ ├── AdaptationGapicClient.php │ │ │ │ └── SpeechGapicClient.php │ │ │ │ ├── SpeechClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ ├── adaptation_client_config.json │ │ │ │ ├── adaptation_descriptor_config.php │ │ │ │ ├── adaptation_rest_client_config.php │ │ │ │ ├── speech_client_config.json │ │ │ │ ├── speech_descriptor_config.php │ │ │ │ └── speech_rest_client_config.php │ │ └── tests │ │ │ └── Unit │ │ │ └── V1 │ │ │ ├── AdaptationClientTest.php │ │ │ └── SpeechClientTest.php │ │ ├── talent │ │ ├── BUILD.bazel │ │ ├── samples │ │ │ └── V4beta1 │ │ │ │ ├── CompanyServiceClient │ │ │ │ ├── create_company.php │ │ │ │ ├── delete_company.php │ │ │ │ ├── get_company.php │ │ │ │ ├── list_companies.php │ │ │ │ └── update_company.php │ │ │ │ ├── CompletionClient │ │ │ │ └── complete_query.php │ │ │ │ ├── EventServiceClient │ │ │ │ └── create_client_event.php │ │ │ │ ├── JobServiceClient │ │ │ │ ├── batch_create_jobs.php │ │ │ │ ├── batch_delete_jobs.php │ │ │ │ ├── batch_update_jobs.php │ │ │ │ ├── create_job.php │ │ │ │ ├── delete_job.php │ │ │ │ ├── get_job.php │ │ │ │ ├── list_jobs.php │ │ │ │ ├── search_jobs.php │ │ │ │ ├── search_jobs_for_alert.php │ │ │ │ └── update_job.php │ │ │ │ └── TenantServiceClient │ │ │ │ ├── create_tenant.php │ │ │ │ ├── delete_tenant.php │ │ │ │ ├── get_tenant.php │ │ │ │ ├── list_tenants.php │ │ │ │ └── update_tenant.php │ │ ├── src │ │ │ └── V4beta1 │ │ │ │ ├── CompanyServiceClient.php │ │ │ │ ├── CompletionClient.php │ │ │ │ ├── EventServiceClient.php │ │ │ │ ├── Gapic │ │ │ │ ├── CompanyServiceGapicClient.php │ │ │ │ ├── CompletionGapicClient.php │ │ │ │ ├── EventServiceGapicClient.php │ │ │ │ ├── JobServiceGapicClient.php │ │ │ │ └── TenantServiceGapicClient.php │ │ │ │ ├── JobServiceClient.php │ │ │ │ ├── TenantServiceClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ ├── company_service_client_config.json │ │ │ │ ├── company_service_descriptor_config.php │ │ │ │ ├── company_service_rest_client_config.php │ │ │ │ ├── completion_client_config.json │ │ │ │ ├── completion_descriptor_config.php │ │ │ │ ├── completion_rest_client_config.php │ │ │ │ ├── event_service_client_config.json │ │ │ │ ├── event_service_descriptor_config.php │ │ │ │ ├── event_service_rest_client_config.php │ │ │ │ ├── job_service_client_config.json │ │ │ │ ├── job_service_descriptor_config.php │ │ │ │ ├── job_service_rest_client_config.php │ │ │ │ ├── tenant_service_client_config.json │ │ │ │ ├── tenant_service_descriptor_config.php │ │ │ │ └── tenant_service_rest_client_config.php │ │ └── tests │ │ │ └── Unit │ │ │ └── V4beta1 │ │ │ ├── CompanyServiceClientTest.php │ │ │ ├── CompletionClientTest.php │ │ │ ├── EventServiceClientTest.php │ │ │ ├── JobServiceClientTest.php │ │ │ └── TenantServiceClientTest.php │ │ └── videointelligence │ │ ├── BUILD.bazel │ │ ├── samples │ │ └── V1 │ │ │ └── VideoIntelligenceServiceClient │ │ │ └── annotate_video.php │ │ ├── src │ │ └── V1 │ │ │ ├── Gapic │ │ │ └── VideoIntelligenceServiceGapicClient.php │ │ │ ├── VideoIntelligenceServiceClient.php │ │ │ ├── gapic_metadata.json │ │ │ └── resources │ │ │ ├── video_intelligence_service_client_config.json │ │ │ ├── video_intelligence_service_descriptor_config.php │ │ │ └── video_intelligence_service_rest_client_config.php │ │ └── tests │ │ └── Unit │ │ └── V1 │ │ └── VideoIntelligenceServiceClientTest.php ├── Tools │ ├── ConfigLoader.php │ ├── GeneratorUtils.php │ ├── JsonComparer.php │ ├── PhpClassComparer.php │ ├── PhpComparerMain.php │ ├── PhpConfigComparer.php │ ├── ProtoLoader.php │ └── SourceComparer.php ├── Unit │ ├── Ast │ │ ├── ASTTest.php │ │ └── PhpDocTest.php │ ├── Collections │ │ ├── MapTest.php │ │ ├── SetTest.php │ │ └── VectorTest.php │ ├── Generation │ │ └── TestNameValueProducerTest.php │ ├── PostProcessor │ │ └── FragmentInjectionProcessorTest.php │ ├── ProtoTests │ │ ├── AllTypes │ │ │ ├── all-types.proto │ │ │ └── all-types_gapic.yaml │ │ ├── Basic │ │ │ ├── basic.proto │ │ │ ├── basic_service.yaml │ │ │ └── out │ │ │ │ ├── samples │ │ │ │ └── BasicClient │ │ │ │ │ ├── a_method.php │ │ │ │ │ └── method_with_args.php │ │ │ │ ├── src │ │ │ │ ├── Client │ │ │ │ │ └── BasicClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ │ ├── basic_client_config.json │ │ │ │ │ ├── basic_descriptor_config.php │ │ │ │ │ └── basic_rest_client_config.php │ │ │ │ └── tests │ │ │ │ └── Unit │ │ │ │ └── Client │ │ │ │ └── BasicClientTest.php │ │ ├── BasicAutoPopulation │ │ │ ├── basic-auto-population.proto │ │ │ ├── basic-auto-population_gapic.yaml │ │ │ ├── basic-auto-population_service.yaml │ │ │ └── out │ │ │ │ ├── samples │ │ │ │ └── BasicAutoPopulationClient │ │ │ │ │ ├── create_foo.php │ │ │ │ │ └── get_foo.php │ │ │ │ ├── src │ │ │ │ ├── BasicAutoPopulationClient.php │ │ │ │ ├── Gapic │ │ │ │ │ └── BasicAutoPopulationGapicClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ │ ├── basic_auto_population_client_config.json │ │ │ │ │ ├── basic_auto_population_descriptor_config.php │ │ │ │ │ └── basic_auto_population_rest_client_config.php │ │ │ │ └── tests │ │ │ │ └── Unit │ │ │ │ └── BasicAutoPopulationClientTest.php │ │ ├── BasicBidiStreaming │ │ │ ├── basic-bidi-streaming.proto │ │ │ ├── basic-bidi-streaming_gapic.yaml │ │ │ └── out │ │ │ │ ├── samples │ │ │ │ └── BasicBidiStreamingClient │ │ │ │ │ ├── method_bidi.php │ │ │ │ │ └── method_empty.php │ │ │ │ ├── src │ │ │ │ ├── BasicBidiStreamingClient.php │ │ │ │ ├── Gapic │ │ │ │ │ └── BasicBidiStreamingGapicClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ │ ├── basic_bidi_streaming_client_config.json │ │ │ │ │ ├── basic_bidi_streaming_descriptor_config.php │ │ │ │ │ └── basic_bidi_streaming_rest_client_config.php │ │ │ │ └── tests │ │ │ │ └── Unit │ │ │ │ └── BasicBidiStreamingClientTest.php │ │ ├── BasicClientStreaming │ │ │ ├── basic-client-streaming.proto │ │ │ ├── basic-client-streaming_gapic.yaml │ │ │ └── out │ │ │ │ ├── samples │ │ │ │ └── BasicClientStreamingClient │ │ │ │ │ ├── method_client.php │ │ │ │ │ └── method_empty.php │ │ │ │ ├── src │ │ │ │ ├── BasicClientStreamingClient.php │ │ │ │ ├── Gapic │ │ │ │ │ └── BasicClientStreamingGapicClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ │ ├── basic_client_streaming_client_config.json │ │ │ │ │ ├── basic_client_streaming_descriptor_config.php │ │ │ │ │ └── basic_client_streaming_rest_client_config.php │ │ │ │ └── tests │ │ │ │ └── Unit │ │ │ │ └── BasicClientStreamingClientTest.php │ │ ├── BasicDiregapic │ │ │ ├── library_rest.proto │ │ │ ├── library_rest_service.yaml │ │ │ └── out │ │ │ │ ├── samples │ │ │ │ └── LibraryClient │ │ │ │ │ ├── add_comments.php │ │ │ │ │ ├── add_tag.php │ │ │ │ │ ├── archive_books.php │ │ │ │ │ ├── create_book.php │ │ │ │ │ ├── create_inventory.php │ │ │ │ │ ├── create_shelf.php │ │ │ │ │ ├── delete_book.php │ │ │ │ │ ├── delete_shelf.php │ │ │ │ │ ├── find_related_books.php │ │ │ │ │ ├── get_big_book.php │ │ │ │ │ ├── get_big_nothing.php │ │ │ │ │ ├── get_book.php │ │ │ │ │ ├── get_book_from_absolutely_anywhere.php │ │ │ │ │ ├── get_book_from_anywhere.php │ │ │ │ │ ├── get_book_from_archive.php │ │ │ │ │ ├── get_shelf.php │ │ │ │ │ ├── list_aggregated_shelves.php │ │ │ │ │ ├── list_books.php │ │ │ │ │ ├── list_shelves.php │ │ │ │ │ ├── list_strings.php │ │ │ │ │ ├── long_running_archive_books.php │ │ │ │ │ ├── merge_shelves.php │ │ │ │ │ ├── move_book.php │ │ │ │ │ ├── move_books.php │ │ │ │ │ ├── private_list_shelves.php │ │ │ │ │ ├── publish_series.php │ │ │ │ │ ├── save_book.php │ │ │ │ │ ├── update_book.php │ │ │ │ │ └── update_book_index.php │ │ │ │ ├── src │ │ │ │ ├── Enums │ │ │ │ │ ├── BookResponse │ │ │ │ │ │ └── Rating.php │ │ │ │ │ ├── Comment │ │ │ │ │ │ └── Stage.php │ │ │ │ │ ├── PublishSeriesRequest │ │ │ │ │ │ └── Genre.php │ │ │ │ │ ├── SomeMessage │ │ │ │ │ │ └── Alignment.php │ │ │ │ │ ├── SomeMessage2 │ │ │ │ │ │ ├── Alignment.php │ │ │ │ │ │ └── SomeMessage3 │ │ │ │ │ │ │ └── Alignment.php │ │ │ │ │ └── TopLevelEnum.php │ │ │ │ ├── Gapic │ │ │ │ │ └── LibraryGapicClient.php │ │ │ │ ├── LibraryClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ │ ├── library_client_config.json │ │ │ │ │ ├── library_descriptor_config.php │ │ │ │ │ └── library_rest_client_config.php │ │ │ │ └── tests │ │ │ │ └── Unit │ │ │ │ └── LibraryClientTest.php │ │ ├── BasicExplicitPaginated │ │ │ ├── basic-explicit-paginated.proto │ │ │ ├── basic-explicit-paginated_gapic.yaml │ │ │ ├── basic-explicit-paginated_service.yaml │ │ │ └── out │ │ │ │ ├── samples │ │ │ │ └── BasicExplicitPaginatedClient │ │ │ │ │ └── method_explicit_paginated.php │ │ │ │ ├── src │ │ │ │ ├── BasicExplicitPaginatedClient.php │ │ │ │ ├── Client │ │ │ │ │ └── BasicExplicitPaginatedClient.php │ │ │ │ ├── Gapic │ │ │ │ │ └── BasicExplicitPaginatedGapicClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ │ ├── basic_explicit_paginated_client_config.json │ │ │ │ │ ├── basic_explicit_paginated_descriptor_config.php │ │ │ │ │ └── basic_explicit_paginated_rest_client_config.php │ │ │ │ └── tests │ │ │ │ └── Unit │ │ │ │ ├── BasicExplicitPaginatedClientTest.php │ │ │ │ └── Client │ │ │ │ └── BasicExplicitPaginatedClientTest.php │ │ ├── BasicGrpcOnly │ │ │ ├── basic-grpc-only.proto │ │ │ ├── basic_grpc_only_service.yaml │ │ │ └── out │ │ │ │ ├── src │ │ │ │ ├── Client │ │ │ │ │ └── BasicGrpcOnlyClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ │ ├── basic_grpc_only_client_config.json │ │ │ │ │ └── basic_grpc_only_descriptor_config.php │ │ │ │ └── tests │ │ │ │ └── Unit │ │ │ │ └── Client │ │ │ │ └── BasicGrpcOnlyClientTest.php │ │ ├── BasicLro │ │ │ ├── basic-lro.proto │ │ │ ├── basic-lro_gapic.yaml │ │ │ ├── basic-lro_service.yaml │ │ │ └── out │ │ │ │ ├── samples │ │ │ │ └── BasicLroClient │ │ │ │ │ ├── method1.php │ │ │ │ │ ├── method_non_lro1.php │ │ │ │ │ └── method_non_lro2.php │ │ │ │ ├── src │ │ │ │ ├── BasicLroClient.php │ │ │ │ ├── Gapic │ │ │ │ │ └── BasicLroGapicClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ │ ├── basic_lro_client_config.json │ │ │ │ │ ├── basic_lro_descriptor_config.php │ │ │ │ │ └── basic_lro_rest_client_config.php │ │ │ │ └── tests │ │ │ │ └── Unit │ │ │ │ └── BasicLroClientTest.php │ │ ├── BasicOneof │ │ │ ├── basic-oneof.proto │ │ │ ├── basic-oneof_gapic.yaml │ │ │ └── out │ │ │ │ ├── samples │ │ │ │ └── BasicOneofClient │ │ │ │ │ └── a_method.php │ │ │ │ ├── src │ │ │ │ ├── BasicOneofClient.php │ │ │ │ ├── Gapic │ │ │ │ │ └── BasicOneofGapicClient.php │ │ │ │ ├── Request │ │ │ │ │ └── SupplementaryDataOneof.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ │ ├── basic_oneof_client_config.json │ │ │ │ │ ├── basic_oneof_descriptor_config.php │ │ │ │ │ └── basic_oneof_rest_client_config.php │ │ │ │ └── tests │ │ │ │ └── Unit │ │ │ │ └── BasicOneofClientTest.php │ │ ├── BasicOneofNew │ │ │ ├── basic-oneof-new.proto │ │ │ ├── basic-oneof-new_gapic.yaml │ │ │ └── out │ │ │ │ ├── samples │ │ │ │ └── BasicOneofNewClient │ │ │ │ │ └── a_method.php │ │ │ │ ├── src │ │ │ │ ├── Client │ │ │ │ │ └── BasicOneofNewClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ │ ├── basic_oneof_new_client_config.json │ │ │ │ │ ├── basic_oneof_new_descriptor_config.php │ │ │ │ │ └── basic_oneof_new_rest_client_config.php │ │ │ │ └── tests │ │ │ │ └── Unit │ │ │ │ └── Client │ │ │ │ └── BasicOneofNewClientTest.php │ │ ├── BasicPaginated │ │ │ ├── basic-paginated.proto │ │ │ ├── basic-paginated_gapic.yaml │ │ │ ├── basic-paginated_service.yaml │ │ │ └── out │ │ │ │ ├── samples │ │ │ │ └── BasicPaginatedClient │ │ │ │ │ └── method_paginated.php │ │ │ │ ├── src │ │ │ │ ├── BasicPaginatedClient.php │ │ │ │ ├── Gapic │ │ │ │ │ └── BasicPaginatedGapicClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ │ ├── basic_paginated_client_config.json │ │ │ │ │ ├── basic_paginated_descriptor_config.php │ │ │ │ │ └── basic_paginated_rest_client_config.php │ │ │ │ └── tests │ │ │ │ └── Unit │ │ │ │ └── BasicPaginatedClientTest.php │ │ ├── BasicServerStreaming │ │ │ ├── basic-server-streaming.proto │ │ │ ├── basic-server-streaming_gapic.yaml │ │ │ └── out │ │ │ │ ├── samples │ │ │ │ └── BasicServerStreamingClient │ │ │ │ │ ├── method_empty.php │ │ │ │ │ └── method_server.php │ │ │ │ ├── src │ │ │ │ ├── Client │ │ │ │ │ └── BasicServerStreamingClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ │ ├── basic_server_streaming_client_config.json │ │ │ │ │ ├── basic_server_streaming_descriptor_config.php │ │ │ │ │ └── basic_server_streaming_rest_client_config.php │ │ │ │ └── tests │ │ │ │ └── Unit │ │ │ │ └── Client │ │ │ │ └── BasicServerStreamingClientTest.php │ │ ├── ClientTest.php │ │ ├── CustomLro │ │ │ ├── custom_lro.proto │ │ │ ├── custom_lro.yaml │ │ │ └── out │ │ │ │ ├── samples │ │ │ │ ├── CustomLroClient │ │ │ │ │ └── create_foo.php │ │ │ │ └── CustomLroOperationsClient │ │ │ │ │ ├── cancel.php │ │ │ │ │ ├── delete.php │ │ │ │ │ └── get.php │ │ │ │ ├── src │ │ │ │ ├── CustomLroClient.php │ │ │ │ ├── CustomLroOperationsClient.php │ │ │ │ ├── Enums │ │ │ │ │ └── CustomOperationResponse │ │ │ │ │ │ └── Status.php │ │ │ │ ├── Gapic │ │ │ │ │ ├── CustomLroGapicClient.php │ │ │ │ │ └── CustomLroOperationsGapicClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ │ ├── custom_lro_client_config.json │ │ │ │ │ ├── custom_lro_descriptor_config.php │ │ │ │ │ ├── custom_lro_operations_client_config.json │ │ │ │ │ ├── custom_lro_operations_descriptor_config.php │ │ │ │ │ ├── custom_lro_operations_rest_client_config.php │ │ │ │ │ └── custom_lro_rest_client_config.php │ │ │ │ └── tests │ │ │ │ └── Unit │ │ │ │ ├── CustomLroClientTest.php │ │ │ │ └── CustomLroOperationsClientTest.php │ │ ├── CustomLroNew │ │ │ ├── custom_lro_new.proto │ │ │ ├── custom_lro_new.yaml │ │ │ └── out │ │ │ │ ├── fragments │ │ │ │ └── Testing │ │ │ │ │ └── CustomLroNew │ │ │ │ │ └── GetOperationRequest.build.txt │ │ │ │ ├── samples │ │ │ │ ├── CustomLroClient │ │ │ │ │ └── create_foo.php │ │ │ │ └── CustomLroOperationsClient │ │ │ │ │ ├── cancel.php │ │ │ │ │ ├── delete.php │ │ │ │ │ └── get.php │ │ │ │ ├── src │ │ │ │ ├── Client │ │ │ │ │ ├── CustomLroClient.php │ │ │ │ │ └── CustomLroOperationsClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ │ ├── custom_lro_client_config.json │ │ │ │ │ ├── custom_lro_descriptor_config.php │ │ │ │ │ ├── custom_lro_operations_client_config.json │ │ │ │ │ ├── custom_lro_operations_descriptor_config.php │ │ │ │ │ ├── custom_lro_operations_rest_client_config.php │ │ │ │ │ └── custom_lro_rest_client_config.php │ │ │ │ └── tests │ │ │ │ └── Unit │ │ │ │ └── Client │ │ │ │ ├── CustomLroClientTest.php │ │ │ │ └── CustomLroOperationsClientTest.php │ │ ├── DeprecatedService │ │ │ ├── deprecated_service.proto │ │ │ ├── deprecated_service.yaml │ │ │ └── out │ │ │ │ ├── samples │ │ │ │ └── DeprecatedServiceClient │ │ │ │ │ ├── fast_fibonacci.php │ │ │ │ │ └── slow_fibonacci.php │ │ │ │ ├── src │ │ │ │ ├── DeprecatedServiceClient.php │ │ │ │ ├── Gapic │ │ │ │ │ └── DeprecatedServiceGapicClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ │ ├── deprecated_service_client_config.json │ │ │ │ │ ├── deprecated_service_descriptor_config.php │ │ │ │ │ └── deprecated_service_rest_client_config.php │ │ │ │ └── tests │ │ │ │ └── Unit │ │ │ │ └── DeprecatedServiceClientTest.php │ │ ├── DiregapicPaginated │ │ │ ├── diregapic-paginated.proto │ │ │ ├── diregapic-paginated_gapic.yaml │ │ │ ├── diregapic-paginated_service.yaml │ │ │ └── out │ │ │ │ ├── samples │ │ │ │ └── HeuristicPaginationClientClient │ │ │ │ │ ├── list_method.php │ │ │ │ │ ├── map_method.php │ │ │ │ │ ├── multiple_list_method.php │ │ │ │ │ └── non_paginated_method.php │ │ │ │ ├── src │ │ │ │ ├── Client │ │ │ │ │ └── HeuristicPaginationClientClient.php │ │ │ │ ├── Gapic │ │ │ │ │ └── HeuristicPaginationClientGapicClient.php │ │ │ │ ├── HeuristicPaginationClientClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ │ ├── heuristic_pagination_client_client_config.json │ │ │ │ │ ├── heuristic_pagination_client_descriptor_config.php │ │ │ │ │ └── heuristic_pagination_client_rest_client_config.php │ │ │ │ └── tests │ │ │ │ └── Unit │ │ │ │ ├── Client │ │ │ │ └── HeuristicPaginationClientClientTest.php │ │ │ │ └── HeuristicPaginationClientClientTest.php │ │ ├── DisableSnippets │ │ │ ├── disable_snippets.proto │ │ │ ├── disable_snippets_gapic.yaml │ │ │ └── out │ │ │ │ ├── src │ │ │ │ ├── DisableSnippetsClient.php │ │ │ │ ├── Gapic │ │ │ │ │ └── DisableSnippetsGapicClient.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ │ ├── disable_snippets_client_config.json │ │ │ │ │ ├── disable_snippets_descriptor_config.php │ │ │ │ │ └── disable_snippets_rest_client_config.php │ │ │ │ └── tests │ │ │ │ └── Unit │ │ │ │ └── DisableSnippetsClientTest.php │ │ ├── GoldenUpdateMain.php │ │ ├── GrpcServiceConfig │ │ │ ├── grpc-service-config.json │ │ │ ├── grpc-service-config.yaml │ │ │ ├── grpc-service-config1.proto │ │ │ ├── grpc-service-config2.proto │ │ │ ├── grpc-service-config_gapic.yaml │ │ │ └── out │ │ │ │ ├── samples │ │ │ │ └── GrpcServiceConfigWithRetry1Client │ │ │ │ │ ├── method1_a.php │ │ │ │ │ ├── method1_b_lro.php │ │ │ │ │ ├── method1_bidi_streaming.php │ │ │ │ │ ├── method1_c_service_level_retry.php │ │ │ │ │ ├── method1_d_timeout_only_retry.php │ │ │ │ │ └── method1_server_streaming.php │ │ │ │ ├── src │ │ │ │ ├── Gapic │ │ │ │ │ └── GrpcServiceConfigWithRetry1GapicClient.php │ │ │ │ ├── GrpcServiceConfigWithRetry1Client.php │ │ │ │ ├── gapic_metadata.json │ │ │ │ └── resources │ │ │ │ │ ├── grpc_service_config_with_retry1_client_config.json │ │ │ │ │ ├── grpc_service_config_with_retry1_descriptor_config.php │ │ │ │ │ └── grpc_service_config_with_retry1_rest_client_config.php │ │ │ │ └── tests │ │ │ │ └── Unit │ │ │ │ └── GrpcServiceConfigWithRetry1ClientTest.php │ │ ├── GrpcServiceConfigVision │ │ │ ├── geometry.proto │ │ │ ├── image_annotator.proto │ │ │ ├── product_search.proto │ │ │ ├── product_search_service.proto │ │ │ ├── text_annotation.proto │ │ │ ├── vision_gapic.yaml │ │ │ ├── vision_grpc_service_config.json │ │ │ ├── vision_v1.yaml │ │ │ └── web_detection.proto │ │ ├── Keywords │ │ │ ├── keywords.proto │ │ │ └── keywords_gapic.yaml │ │ ├── ProtoDocs │ │ │ ├── proto-docs.proto │ │ │ └── proto-docs_gapic.yaml │ │ ├── ProtoTest.php │ │ ├── ResourceNames │ │ │ ├── out │ │ │ │ ├── samples │ │ │ │ │ └── ResourceNamesClient │ │ │ │ │ │ ├── file_level_child_type_ref_method.php │ │ │ │ │ │ ├── file_level_type_ref_method.php │ │ │ │ │ │ ├── multi_pattern_method.php │ │ │ │ │ │ ├── nested_reference_method.php │ │ │ │ │ │ ├── single_pattern_method.php │ │ │ │ │ │ ├── wildcard_child_reference_method.php │ │ │ │ │ │ ├── wildcard_method.php │ │ │ │ │ │ ├── wildcard_multi_method.php │ │ │ │ │ │ └── wildcard_reference_method.php │ │ │ │ ├── src │ │ │ │ │ ├── Client │ │ │ │ │ │ └── ResourceNamesClient.php │ │ │ │ │ ├── Gapic │ │ │ │ │ │ └── ResourceNamesGapicClient.php │ │ │ │ │ ├── ResourceNamesClient.php │ │ │ │ │ ├── gapic_metadata.json │ │ │ │ │ └── resources │ │ │ │ │ │ ├── resource_names_client_config.json │ │ │ │ │ │ ├── resource_names_descriptor_config.php │ │ │ │ │ │ └── resource_names_rest_client_config.php │ │ │ │ └── tests │ │ │ │ │ └── Unit │ │ │ │ │ ├── Client │ │ │ │ │ └── ResourceNamesClientTest.php │ │ │ │ │ └── ResourceNamesClientTest.php │ │ │ ├── resource-names.proto │ │ │ └── resource-names_gapic.yaml │ │ ├── RoutingHeaders │ │ │ ├── out │ │ │ │ ├── samples │ │ │ │ │ └── RoutingHeadersClient │ │ │ │ │ │ ├── delete_method.php │ │ │ │ │ │ ├── get_method.php │ │ │ │ │ │ ├── get_no_placeholders_method.php │ │ │ │ │ │ ├── get_no_template_method.php │ │ │ │ │ │ ├── nested_method.php │ │ │ │ │ │ ├── nested_multi_method.php │ │ │ │ │ │ ├── ordering_method.php │ │ │ │ │ │ ├── patch_method.php │ │ │ │ │ │ ├── post_method.php │ │ │ │ │ │ ├── put_method.php │ │ │ │ │ │ ├── routing_rule_with_out_parameters.php │ │ │ │ │ │ └── routing_rule_with_parameters.php │ │ │ │ ├── src │ │ │ │ │ ├── Client │ │ │ │ │ │ └── RoutingHeadersClient.php │ │ │ │ │ ├── Gapic │ │ │ │ │ │ └── RoutingHeadersGapicClient.php │ │ │ │ │ ├── RoutingHeadersClient.php │ │ │ │ │ ├── gapic_metadata.json │ │ │ │ │ └── resources │ │ │ │ │ │ ├── routing_headers_client_config.json │ │ │ │ │ │ ├── routing_headers_descriptor_config.php │ │ │ │ │ │ └── routing_headers_rest_client_config.php │ │ │ │ └── tests │ │ │ │ │ └── Unit │ │ │ │ │ ├── Client │ │ │ │ │ └── RoutingHeadersClientTest.php │ │ │ │ │ └── RoutingHeadersClientTest.php │ │ │ ├── routing-headers.proto │ │ │ └── routing-headers_gapic.yaml │ │ └── UnitGoldenUpdater.php │ ├── Tools │ │ ├── JsonComparerTest.php │ │ ├── PhpClassComparerTest.php │ │ └── SourceComparerTest.php │ ├── Utils │ │ ├── HelpersTest.php │ │ ├── ProtoHelpersTest.php │ │ ├── TypeTest.php │ │ ├── catalog.proto │ │ ├── comments.proto │ │ ├── custom_options.proto │ │ └── example.proto │ └── autoload.php └── scripts │ ├── run_bazel_tests.sh │ └── run_bazel_updates.sh ├── tools └── protoc ├── validation ├── DefaultValuesValidator.php ├── GapicDifferMain.php ├── IntJsonValidator.php ├── compliance.proto └── intjson.proto └── version.txt /.allstar/binary_artifacts.yaml: -------------------------------------------------------------------------------- 1 | # Ignore reason: These artifacts are used in tests to both run the test and 2 | # generate baseline files. 3 | ignorePaths: 4 | - tools/protoc 5 | -------------------------------------------------------------------------------- /.bazeliskrc: -------------------------------------------------------------------------------- 1 | # See https://github.com/bazelbuild/bazelisk 2 | USE_BAZEL_VERSION=6.3.0 -------------------------------------------------------------------------------- /.bazelrc: -------------------------------------------------------------------------------- 1 | build --protocopt=--experimental_allow_proto3_optional 2 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Code owners file. 2 | # This file controls who is tagged for review for any given pull request. 3 | # 4 | # For syntax help see: 5 | # https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners#codeowners-syntax 6 | 7 | * @googleapis/yoshi-php @googleapis/actools-php 8 | -------------------------------------------------------------------------------- /.github/conventional-commit-lint.yaml: -------------------------------------------------------------------------------- 1 | always_check_pr_title: true 2 | 3 | -------------------------------------------------------------------------------- /.github/release-please.yml: -------------------------------------------------------------------------------- 1 | releaseType: simple 2 | handleGHRelease: true 3 | primaryBranch: main 4 | -------------------------------------------------------------------------------- /.github/release-trigger.yml: -------------------------------------------------------------------------------- 1 | enabled: true 2 | multiScmName: gapic-generator-php 3 | -------------------------------------------------------------------------------- /.github/snippet-bot.yml: -------------------------------------------------------------------------------- 1 | aggregateChecks: false 2 | alwaysCreateStatusCheck: false 3 | ignoreFiles: 4 | - src/** 5 | - tests/** 6 | -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- 1 | name: Lint 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | pull_request: 8 | branches: 9 | - main 10 | 11 | jobs: 12 | style: 13 | name: PHP Style Check 14 | uses: GoogleCloudPlatform/php-tools/.github/workflows/code-standards.yml@main 15 | with: 16 | path: src 17 | 18 | static-analysis: 19 | name: PHPStan Static Analysis 20 | uses: GoogleCloudPlatform/php-tools/.github/workflows/static-analysis.yml@main 21 | with: 22 | autoload-file: tests/Unit/autoload.php 23 | -------------------------------------------------------------------------------- /.github/workflows/phpunit.yml: -------------------------------------------------------------------------------- 1 | name: PhpUnit tests 2 | 3 | on: 4 | push: 5 | branches: [ main ] 6 | pull_request: 7 | branches: [ main ] 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - name: Checkout code 15 | uses: actions/checkout@v5 16 | with: 17 | submodules: 'recursive' 18 | 19 | - name: Install PHP 20 | uses: shivammathur/setup-php@v2 21 | with: 22 | php-version: '8.1' 23 | 24 | - name: Install dependencies 25 | run: | 26 | composer install --prefer-dist --no-progress --no-suggest; 27 | composer dump-autoload; 28 | 29 | - name: Run tests 30 | run: USE_TOOLS_PROTOC=true ./vendor/bin/phpunit --bootstrap tests/Unit/autoload.php tests/Unit 31 | -------------------------------------------------------------------------------- /.github/workflows/release-checks.yaml: -------------------------------------------------------------------------------- 1 | name: Release Checks 2 | on: 3 | pull_request: 4 | types: [opened, synchronize, reopened] 5 | branches: ['main'] 6 | permissions: 7 | contents: read 8 | jobs: 9 | next-release-label-check: 10 | name: Check for "next release" label 11 | uses: GoogleCloudPlatform/php-tools/.github/workflows/release-checks.yml@main 12 | if: github.event.pull_request.user.login == 'release-please[bot]' 13 | with: 14 | next-release-label-check: false 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | vendor/ 2 | bazel-* 3 | MODULE.bazel.lock 4 | MODULE.bazel 5 | 6 | # PHP 7 | .php_cs.cache 8 | composer.lock 9 | .php-cs-fixer.cache 10 | .phpunit.result.cache 11 | 12 | # Vim 13 | *.sw* 14 | *.vim 15 | 16 | # VS Code 17 | .vscode 18 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "googleapis"] 2 | path = googleapis 3 | url = https://github.com/googleapis/googleapis 4 | [submodule "protobuf"] 5 | path = protobuf 6 | url = https://github.com/protocolbuffers/protobuf.git 7 | [submodule "grpc-proto"] 8 | path = grpc-proto 9 | url = https://github.com/grpc/grpc-proto 10 | -------------------------------------------------------------------------------- /BUILD.bazel: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Google LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # https://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # How to Contribute 2 | 3 | We'd love to accept your patches and contributions to this project. There are 4 | just a few small guidelines you need to follow. 5 | 6 | ## Contributor License Agreement 7 | 8 | Contributions to this project must be accompanied by a Contributor License 9 | Agreement. You (or your employer) retain the copyright to your contribution, 10 | this simply gives us permission to use and redistribute your contributions as 11 | part of the project. Head over to to see 12 | your current agreements on file or to sign a new one. 13 | 14 | You generally only need to submit a CLA once, so if you've already submitted one 15 | (even if it was for a different project), you probably don't need to do it 16 | again. 17 | 18 | ## Code reviews 19 | 20 | All submissions, including submissions by project members, require review. We 21 | use GitHub pull requests for this purpose. Consult 22 | [GitHub Help](https://help.github.com/articles/about-pull-requests/) for more 23 | information on using pull requests. 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # API Client Generator for PHP 2 | 3 | This repository will contain the source code of a client library generator for 4 | APIs specified by 5 | [Protocol Buffers](https://developers.google.com/protocol-buffers/), such as 6 | those used inside Google. It works from an annotated Protocol Buffer description 7 | and generates a client library in PHP. 8 | 9 | ## Developing 10 | 11 | Follow the steps in [DEVELOPMENT](DEVELOPMENT.md) for building and testing the 12 | generator. 13 | 14 | ## Contributing 15 | 16 | Contributions to this library are always welcome and highly encouraged. 17 | 18 | See the [CONTRIBUTING](CONTRIBUTING.md) documentation for more information on 19 | how to get started. 20 | 21 | ## Versioning 22 | 23 | This library is currently a _preview_ with no guarantees of stability or 24 | support. Please get involved and let us know if you find it useful and we'll 25 | work towards a stable version. 26 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | To report a security issue, please use [g.co/vulnz](https://g.co/vulnz). 4 | 5 | The Google Security Team will respond within 5 working days of your report on g.co/vulnz. 6 | 7 | We use g.co/vulnz for our intake, and do coordination and disclosure here using GitHub Security Advisory to privately discuss and fix the issue. 8 | -------------------------------------------------------------------------------- /bazel_example/example-gapic.yaml: -------------------------------------------------------------------------------- 1 | type: com.google.api.codegen.ConfigProto 2 | config_schema_version: 2.0.0 3 | language_settings: 4 | php: 5 | package_name: Example 6 | 7 | interfaces: 8 | - name: example.Example 9 | methods: 10 | - name: LroMethod 11 | long_running: 12 | initial_poll_delay_millis: 42042 13 | poll_delay_multiplier: 1.5 14 | max_poll_delay_millis: 45000 15 | total_poll_timeout_millis: 86400000 16 | -------------------------------------------------------------------------------- /bazel_example/example-grpc-service-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "method_config": [ 3 | { 4 | "name": [ 5 | { 6 | "service": "example.Example", 7 | "method": "ExampleMethod" 8 | } 9 | ], 10 | "timeout": "942s", 11 | "retry_policy": { 12 | "max_attempts": 99, 13 | "initial_backoff": "1s", 14 | "max_backoff": "142s", 15 | "backoff_multiplier": 1.0, 16 | "retryable_status_codes": [ "UNAVAILABLE", "DEADLINE_EXCEEDED" ] 17 | } 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /bazel_example/example-service.yaml: -------------------------------------------------------------------------------- 1 | type: google.api.Service 2 | config_version: 3 3 | 4 | backend: 5 | rules: 6 | - selector: 'example.Example.ExampleMethodRetryServiceYaml' 7 | deadline: 4242.0 8 | -------------------------------------------------------------------------------- /build_proto.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Build PHP code from protos; for protos where PHP files are not currently available. 4 | 5 | p="protoc" 6 | if [[ ! -z ${USE_TOOLS_PROTOC+x} ]]; then 7 | p="./tools/protoc" 8 | fi 9 | 10 | $p -I./protobuf/src -I./googleapis -I./grpc-proto --php_out=./src ./grpc-proto/grpc/service_config/service_config.proto 11 | $p --php_out=./src ./plugin.proto 12 | -------------------------------------------------------------------------------- /cloudbuild-test.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2025 Google LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | timeout: 7200s # 2 hours 16 | 17 | steps: 18 | 19 | - id: googleapis-test 20 | name: gcr.io/gapic-images/googleapis:prod 21 | entrypoint: "/workspace/.github/bazel-test.sh" 22 | waitFor: ["-"] 23 | args: 24 | - $REVISION_ID 25 | 26 | options: 27 | logging: CLOUD_LOGGING_ONLY 28 | machineType: 'E2_HIGHCPU_32' -------------------------------------------------------------------------------- /generated/GPBMetadata/Compliance.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googleapis/gapic-generator-php/e667743b337385a8c7e0f8b167f3748c06f24f21/generated/GPBMetadata/Compliance.php -------------------------------------------------------------------------------- /generated/GPBMetadata/Google/Api/Routing.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googleapis/gapic-generator-php/e667743b337385a8c7e0f8b167f3748c06f24f21/generated/GPBMetadata/Google/Api/Routing.php -------------------------------------------------------------------------------- /generated/GPBMetadata/Google/Cloud/ExtendedOperations.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googleapis/gapic-generator-php/e667743b337385a8c7e0f8b167f3748c06f24f21/generated/GPBMetadata/Google/Cloud/ExtendedOperations.php -------------------------------------------------------------------------------- /generated/GPBMetadata/Validation/Intjson.php: -------------------------------------------------------------------------------- 1 | internalAddGeneratedFile(hex2bin( 18 | "0aaf010a1876616c69646174696f6e2f696e746a736f6e2e70726f746f1207696e746a736f6e22640a074e756d62657273120d0a056c6162656c18012001280912100a087369676e6564363418022001280312120a0a756e7369676e6564363418032001280412100a087369676e6564333218042001280512120a0a756e7369676e6564333218052001280d421cca0219476f6f676c655c56616c69646174696f6e5c496e746a736f6e620670726f746f33" 19 | ), true); 20 | 21 | static::$is_initialized = true; 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /generated/Google/Gapic/Metadata/GapicMetadata_MethodList.php: -------------------------------------------------------------------------------- 1 | grpc.service_config.PickFirstConfig 15 | */ 16 | class PickFirstConfig extends \Google\Protobuf\Internal\Message 17 | { 18 | 19 | /** 20 | * Constructor. 21 | * 22 | * @param array $data { 23 | * Optional. Data for populating the Message object. 24 | * 25 | * } 26 | */ 27 | public function __construct($data = NULL) { 28 | \GPBMetadata\Grpc\ServiceConfig\ServiceConfig::initOnce(); 29 | parent::__construct($data); 30 | } 31 | 32 | } 33 | 34 | -------------------------------------------------------------------------------- /generated/Grpc/Service_config/PriorityLoadBalancingPolicyConfig_Child.php: -------------------------------------------------------------------------------- 1 | grpc.service_config.RoundRobinConfig 15 | */ 16 | class RoundRobinConfig extends \Google\Protobuf\Internal\Message 17 | { 18 | 19 | /** 20 | * Constructor. 21 | * 22 | * @param array $data { 23 | * Optional. Data for populating the Message object. 24 | * 25 | * } 26 | */ 27 | public function __construct($data = NULL) { 28 | \GPBMetadata\Grpc\ServiceConfig\ServiceConfig::initOnce(); 29 | parent::__construct($data); 30 | } 31 | 32 | } 33 | 34 | -------------------------------------------------------------------------------- /generated/Grpc/Service_config/ServiceConfig_HealthCheckConfig.php: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | */src 11 | src 12 | 13 | 14 | 15 | 16 | ./tests/Unit 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /psalm.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "config:base", 4 | ":disableDependencyDashboard", 5 | ":preserveSemverRanges" 6 | ], 7 | "labels": ["automerge"] 8 | } 9 | -------------------------------------------------------------------------------- /rules_php_gapic/BUILD.bazel: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Google LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # https://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | load(":php.bzl", "php_binary") 16 | 17 | php_binary( 18 | name = "php_gapic_generator_binary", 19 | entry_point = "src/Main.php", 20 | php_composer_install = "@php_gapic_generator_composer_install//:install", 21 | visibility = ["//visibility:public"], 22 | working_directory_flag_name = "side_loaded_root_dir", 23 | ) 24 | 25 | php_binary( 26 | name = "php_post_processor_binary", 27 | entry_point = "src/PostProcessor/Main.php", 28 | php_composer_install = "@php_gapic_generator_composer_install//:install", 29 | visibility = ["//visibility:public"], 30 | working_directory_flag_name = "base_dir", 31 | ) 32 | -------------------------------------------------------------------------------- /rules_php_gapic/resources/composer.phar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googleapis/gapic-generator-php/e667743b337385a8c7e0f8b167f3748c06f24f21/rules_php_gapic/resources/composer.phar -------------------------------------------------------------------------------- /rules_php_gapic/resources/php-8.1.13_linux_x86_64.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googleapis/gapic-generator-php/e667743b337385a8c7e0f8b167f3748c06f24f21/rules_php_gapic/resources/php-8.1.13_linux_x86_64.tar.gz -------------------------------------------------------------------------------- /scripts/run_protoc_plugin.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # This runs the protoc plugin in a similar way to how it is run using the bazel rules 3 | php src/Main.php 4 | -------------------------------------------------------------------------------- /src/Ast/PhpClassMember.php: -------------------------------------------------------------------------------- 1 | comment->toCode(true); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/Ast/ShouldNotApplySemicolonInterface.php: -------------------------------------------------------------------------------- 1 | name = $name; 27 | } 28 | 29 | public function toCode(): string 30 | { 31 | return '$' . $this->name; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/Collections/Equality.php: -------------------------------------------------------------------------------- 1 | The path to the expanded archive of generated code.\n"); 28 | print(" --base_dir The path of the current working dir to use as a base.\n"); 29 | print("\n"); 30 | exit(1); 31 | } 32 | 33 | // Add new options to the second list as "flag_name:". 34 | $opts = getopt('', ['input:', 'base_dir:']); 35 | if (!isset($opts['input'])) { 36 | showUsageAndExit(); 37 | } 38 | 39 | PostProcessor::process($opts); 40 | -------------------------------------------------------------------------------- /src/PostProcessor/ProcessorInterface.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'google.cloud.compute.v1.RegionOperations' => [], 26 | ], 27 | ]; 28 | -------------------------------------------------------------------------------- /tests/Integration/goldens/compute_small/src/V1/resources/subnetworks_client_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "interfaces": { 3 | "google.cloud.compute.v1.Subnetworks": { 4 | "retry_codes": { 5 | "idempotent": [ 6 | "DEADLINE_EXCEEDED", 7 | "UNAVAILABLE" 8 | ], 9 | "non_idempotent": [] 10 | }, 11 | "retry_params": { 12 | "default": { 13 | "initial_retry_delay_millis": 100, 14 | "retry_delay_multiplier": 1.3, 15 | "max_retry_delay_millis": 60000, 16 | "initial_rpc_timeout_millis": 20000, 17 | "rpc_timeout_multiplier": 1.0, 18 | "max_rpc_timeout_millis": 20000, 19 | "total_timeout_millis": 600000 20 | } 21 | }, 22 | "methods": { 23 | "ListUsable": { 24 | "timeout_millis": 60000, 25 | "retry_codes_name": "idempotent", 26 | "retry_params_name": "default" 27 | } 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /tests/Integration/goldens/container/BUILD.bazel: -------------------------------------------------------------------------------- 1 | package(default_visibility = ["//visibility:public"]) 2 | 3 | filegroup( 4 | name = "goldens_files", 5 | srcs = glob([ 6 | "*/**/*.php", 7 | "*/**/*.json", 8 | "*/**/*.build.txt", 9 | ]), 10 | ) 11 | -------------------------------------------------------------------------------- /tests/Integration/goldens/container/src/V1/ClusterManagerClient.php: -------------------------------------------------------------------------------- 1 | setName($name) 15 | ->setData($data); 16 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/functions/fragments/Google/Cloud/Functions/V1/CreateFunctionRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $location Required. The project and location in which the function should be created, 4 | * specified in the format `projects/*/locations/*` 5 | * Please see {@see CloudFunctionsServiceClient::locationName()} for help formatting this field. 6 | * @param \Google\Cloud\Functions\V1\CloudFunction $function Required. Function to be created. 7 | * 8 | * @return \Google\Cloud\Functions\V1\CreateFunctionRequest 9 | * 10 | * @experimental 11 | */ 12 | public static function build(string $location, \Google\Cloud\Functions\V1\CloudFunction $function): self 13 | { 14 | return (new self()) 15 | ->setLocation($location) 16 | ->setFunction($function); 17 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/functions/fragments/Google/Cloud/Functions/V1/DeleteFunctionRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. The name of the function which should be deleted. Please see 4 | * {@see CloudFunctionsServiceClient::cloudFunctionName()} for help formatting this field. 5 | * 6 | * @return \Google\Cloud\Functions\V1\DeleteFunctionRequest 7 | * 8 | * @experimental 9 | */ 10 | public static function build(string $name): self 11 | { 12 | return (new self()) 13 | ->setName($name); 14 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/functions/fragments/Google/Cloud/Functions/V1/GetFunctionRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. The name of the function which details should be obtained. Please see 4 | * {@see CloudFunctionsServiceClient::cloudFunctionName()} for help formatting this field. 5 | * 6 | * @return \Google\Cloud\Functions\V1\GetFunctionRequest 7 | * 8 | * @experimental 9 | */ 10 | public static function build(string $name): self 11 | { 12 | return (new self()) 13 | ->setName($name); 14 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/functions/fragments/Google/Cloud/Functions/V1/UpdateFunctionRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param \Google\Cloud\Functions\V1\CloudFunction $function Required. New version of the function. 4 | * 5 | * @return \Google\Cloud\Functions\V1\UpdateFunctionRequest 6 | * 7 | * @experimental 8 | */ 9 | public static function build(\Google\Cloud\Functions\V1\CloudFunction $function): self 10 | { 11 | return (new self()) 12 | ->setFunction($function); 13 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/iam/BUILD.bazel: -------------------------------------------------------------------------------- 1 | package(default_visibility = ["//visibility:public"]) 2 | 3 | filegroup( 4 | name = "goldens_files", 5 | srcs = glob([ 6 | "*/**/*.php", 7 | "*/**/*.json", 8 | "*/**/*.build.txt", 9 | ]), 10 | ) 11 | -------------------------------------------------------------------------------- /tests/Integration/goldens/iam/src/V1/IAMPolicyClient.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'google.iam.v1.IAMPolicy' => [], 26 | ], 27 | ]; 28 | -------------------------------------------------------------------------------- /tests/Integration/goldens/kms/BUILD.bazel: -------------------------------------------------------------------------------- 1 | package(default_visibility = ["//visibility:public"]) 2 | 3 | filegroup( 4 | name = "goldens_files", 5 | srcs = glob([ 6 | "*/**/*.php", 7 | "*/**/*.json", 8 | "*/**/*.build.txt", 9 | ]), 10 | ) 11 | -------------------------------------------------------------------------------- /tests/Integration/goldens/logging/BUILD.bazel: -------------------------------------------------------------------------------- 1 | package(default_visibility = ["//visibility:public"]) 2 | 3 | filegroup( 4 | name = "goldens_files", 5 | srcs = glob([ 6 | "*/**/*.php", 7 | "*/**/*.json", 8 | "*/**/*.build.txt", 9 | ]), 10 | ) 11 | -------------------------------------------------------------------------------- /tests/Integration/goldens/logging/src/V2/ConfigServiceV2Client.php: -------------------------------------------------------------------------------- 1 | setName($name); 16 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/redis/fragments/Google/Cloud/Redis/V1/ExportInstanceRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. Redis instance resource name using the form: 4 | * `projects/{project_id}/locations/{location_id}/instances/{instance_id}` 5 | * where `location_id` refers to a GCP region. 6 | * @param \Google\Cloud\Redis\V1\OutputConfig $outputConfig Required. Specify data to be exported. 7 | * 8 | * @return \Google\Cloud\Redis\V1\ExportInstanceRequest 9 | * 10 | * @experimental 11 | */ 12 | public static function build(string $name, \Google\Cloud\Redis\V1\OutputConfig $outputConfig): self 13 | { 14 | return (new self()) 15 | ->setName($name) 16 | ->setOutputConfig($outputConfig); 17 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/redis/fragments/Google/Cloud/Redis/V1/FailoverInstanceRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. Redis instance resource name using the form: 4 | * `projects/{project_id}/locations/{location_id}/instances/{instance_id}` 5 | * where `location_id` refers to a GCP region. Please see 6 | * {@see CloudRedisClient::instanceName()} for help formatting this field. 7 | * @param int $dataProtectionMode Optional. Available data protection modes that the user can choose. If it's 8 | * unspecified, data protection mode will be LIMITED_DATA_LOSS by default. 9 | * For allowed values, use constants defined on {@see \Google\Cloud\Redis\V1\FailoverInstanceRequest\DataProtectionMode} 10 | * 11 | * @return \Google\Cloud\Redis\V1\FailoverInstanceRequest 12 | * 13 | * @experimental 14 | */ 15 | public static function build(string $name, int $dataProtectionMode): self 16 | { 17 | return (new self()) 18 | ->setName($name) 19 | ->setDataProtectionMode($dataProtectionMode); 20 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/redis/fragments/Google/Cloud/Redis/V1/GetInstanceAuthStringRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. Redis instance resource name using the form: 4 | * `projects/{project_id}/locations/{location_id}/instances/{instance_id}` 5 | * where `location_id` refers to a GCP region. Please see 6 | * {@see CloudRedisClient::instanceName()} for help formatting this field. 7 | * 8 | * @return \Google\Cloud\Redis\V1\GetInstanceAuthStringRequest 9 | * 10 | * @experimental 11 | */ 12 | public static function build(string $name): self 13 | { 14 | return (new self()) 15 | ->setName($name); 16 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/redis/fragments/Google/Cloud/Redis/V1/GetInstanceRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. Redis instance resource name using the form: 4 | * `projects/{project_id}/locations/{location_id}/instances/{instance_id}` 5 | * where `location_id` refers to a GCP region. Please see 6 | * {@see CloudRedisClient::instanceName()} for help formatting this field. 7 | * 8 | * @return \Google\Cloud\Redis\V1\GetInstanceRequest 9 | * 10 | * @experimental 11 | */ 12 | public static function build(string $name): self 13 | { 14 | return (new self()) 15 | ->setName($name); 16 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/redis/fragments/Google/Cloud/Redis/V1/ImportInstanceRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. Redis instance resource name using the form: 4 | * `projects/{project_id}/locations/{location_id}/instances/{instance_id}` 5 | * where `location_id` refers to a GCP region. 6 | * @param \Google\Cloud\Redis\V1\InputConfig $inputConfig Required. Specify data to be imported. 7 | * 8 | * @return \Google\Cloud\Redis\V1\ImportInstanceRequest 9 | * 10 | * @experimental 11 | */ 12 | public static function build(string $name, \Google\Cloud\Redis\V1\InputConfig $inputConfig): self 13 | { 14 | return (new self()) 15 | ->setName($name) 16 | ->setInputConfig($inputConfig); 17 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/redis/fragments/Google/Cloud/Redis/V1/ListInstancesRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $parent Required. The resource name of the instance location using the form: 4 | * `projects/{project_id}/locations/{location_id}` 5 | * where `location_id` refers to a GCP region. Please see 6 | * {@see CloudRedisClient::locationName()} for help formatting this field. 7 | * 8 | * @return \Google\Cloud\Redis\V1\ListInstancesRequest 9 | * 10 | * @experimental 11 | */ 12 | public static function build(string $parent): self 13 | { 14 | return (new self()) 15 | ->setParent($parent); 16 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/redis/fragments/Google/Cloud/Redis/V1/UpgradeInstanceRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. Redis instance resource name using the form: 4 | * `projects/{project_id}/locations/{location_id}/instances/{instance_id}` 5 | * where `location_id` refers to a GCP region. Please see 6 | * {@see CloudRedisClient::instanceName()} for help formatting this field. 7 | * @param string $redisVersion Required. Specifies the target version of Redis software to upgrade to. 8 | * 9 | * @return \Google\Cloud\Redis\V1\UpgradeInstanceRequest 10 | * 11 | * @experimental 12 | */ 13 | public static function build(string $name, string $redisVersion): self 14 | { 15 | return (new self()) 16 | ->setName($name) 17 | ->setRedisVersion($redisVersion); 18 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/retail/BUILD.bazel: -------------------------------------------------------------------------------- 1 | package(default_visibility = ["//visibility:public"]) 2 | 3 | filegroup( 4 | name = "goldens_files", 5 | srcs = glob([ 6 | "*/**/*.php", 7 | "*/**/*.json", 8 | "*/**/*.build.txt", 9 | ]), 10 | ) 11 | -------------------------------------------------------------------------------- /tests/Integration/goldens/retail/src/V2alpha/resources/prediction_service_descriptor_config.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'google.cloud.retail.v2alpha.PredictionService' => [], 26 | ], 27 | ]; 28 | -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/BUILD.bazel: -------------------------------------------------------------------------------- 1 | package(default_visibility = ["//visibility:public"]) 2 | 3 | filegroup( 4 | name = "goldens_files", 5 | srcs = glob([ 6 | "*/**/*.php", 7 | "*/**/*.json", 8 | "*/**/*.build.txt", 9 | ]), 10 | ) 11 | -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/BulkMuteFindingsRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $parent Required. The parent, at which bulk action needs to be applied. Its format 4 | * is "organizations/[organization_id]", "folders/[folder_id]", 5 | * "projects/[project_id]". 6 | * 7 | * @return \Google\Cloud\SecurityCenter\V1\BulkMuteFindingsRequest 8 | * 9 | * @experimental 10 | */ 11 | public static function build(string $parent): self 12 | { 13 | return (new self()) 14 | ->setParent($parent); 15 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/CreateSourceRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $parent Required. Resource name of the new source's parent. Its format should be 4 | * "organizations/[organization_id]". Please see 5 | * {@see SecurityCenterClient::organizationName()} for help formatting this field. 6 | * @param \Google\Cloud\SecurityCenter\V1\Source $source Required. The Source being created, only the display_name and description 7 | * will be used. All other fields will be ignored. 8 | * 9 | * @return \Google\Cloud\SecurityCenter\V1\CreateSourceRequest 10 | * 11 | * @experimental 12 | */ 13 | public static function build(string $parent, \Google\Cloud\SecurityCenter\V1\Source $source): self 14 | { 15 | return (new self()) 16 | ->setParent($parent) 17 | ->setSource($source); 18 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/DeleteBigQueryExportRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. The name of the BigQuery export to delete. Its format is 4 | * organizations/{organization}/bigQueryExports/{export_id}, 5 | * folders/{folder}/bigQueryExports/{export_id}, or 6 | * projects/{project}/bigQueryExports/{export_id} 7 | * Please see {@see SecurityCenterClient::bigQueryExportName()} for help formatting this field. 8 | * 9 | * @return \Google\Cloud\SecurityCenter\V1\DeleteBigQueryExportRequest 10 | * 11 | * @experimental 12 | */ 13 | public static function build(string $name): self 14 | { 15 | return (new self()) 16 | ->setName($name); 17 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/DeleteMuteConfigRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. Name of the mute config to delete. Its format is 4 | * organizations/{organization}/muteConfigs/{config_id}, 5 | * folders/{folder}/muteConfigs/{config_id}, or 6 | * projects/{project}/muteConfigs/{config_id} 7 | * Please see {@see SecurityCenterClient::muteConfigName()} for help formatting this field. 8 | * 9 | * @return \Google\Cloud\SecurityCenter\V1\DeleteMuteConfigRequest 10 | * 11 | * @experimental 12 | */ 13 | public static function build(string $name): self 14 | { 15 | return (new self()) 16 | ->setName($name); 17 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/DeleteNotificationConfigRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. Name of the notification config to delete. Its format is 4 | * "organizations/[organization_id]/notificationConfigs/[config_id]", 5 | * "folders/[folder_id]/notificationConfigs/[config_id]", 6 | * or "projects/[project_id]/notificationConfigs/[config_id]". Please see 7 | * {@see SecurityCenterClient::notificationConfigName()} for help formatting this field. 8 | * 9 | * @return \Google\Cloud\SecurityCenter\V1\DeleteNotificationConfigRequest 10 | * 11 | * @experimental 12 | */ 13 | public static function build(string $name): self 14 | { 15 | return (new self()) 16 | ->setName($name); 17 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/DeleteSecurityHealthAnalyticsCustomModuleRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. Name of the custom module to delete. Its format is 4 | * "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", 5 | * "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", 6 | * or 7 | * "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" 8 | * Please see {@see SecurityCenterClient::securityHealthAnalyticsCustomModuleName()} for help formatting this field. 9 | * 10 | * @return \Google\Cloud\SecurityCenter\V1\DeleteSecurityHealthAnalyticsCustomModuleRequest 11 | * 12 | * @experimental 13 | */ 14 | public static function build(string $name): self 15 | { 16 | return (new self()) 17 | ->setName($name); 18 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/GetBigQueryExportRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. Name of the BigQuery export to retrieve. Its format is 4 | * organizations/{organization}/bigQueryExports/{export_id}, 5 | * folders/{folder}/bigQueryExports/{export_id}, or 6 | * projects/{project}/bigQueryExports/{export_id} 7 | * Please see {@see SecurityCenterClient::bigQueryExportName()} for help formatting this field. 8 | * 9 | * @return \Google\Cloud\SecurityCenter\V1\GetBigQueryExportRequest 10 | * 11 | * @experimental 12 | */ 13 | public static function build(string $name): self 14 | { 15 | return (new self()) 16 | ->setName($name); 17 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/GetEffectiveSecurityHealthAnalyticsCustomModuleRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. Name of the effective custom module to get. Its format is 4 | * "organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", 5 | * "folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", 6 | * or 7 | * "projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}" 8 | * Please see {@see SecurityCenterClient::effectiveSecurityHealthAnalyticsCustomModuleName()} for help formatting this field. 9 | * 10 | * @return \Google\Cloud\SecurityCenter\V1\GetEffectiveSecurityHealthAnalyticsCustomModuleRequest 11 | * 12 | * @experimental 13 | */ 14 | public static function build(string $name): self 15 | { 16 | return (new self()) 17 | ->setName($name); 18 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/GetMuteConfigRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. Name of the mute config to retrieve. Its format is 4 | * organizations/{organization}/muteConfigs/{config_id}, 5 | * folders/{folder}/muteConfigs/{config_id}, or 6 | * projects/{project}/muteConfigs/{config_id} 7 | * Please see {@see SecurityCenterClient::muteConfigName()} for help formatting this field. 8 | * 9 | * @return \Google\Cloud\SecurityCenter\V1\GetMuteConfigRequest 10 | * 11 | * @experimental 12 | */ 13 | public static function build(string $name): self 14 | { 15 | return (new self()) 16 | ->setName($name); 17 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/GetNotificationConfigRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. Name of the notification config to get. Its format is 4 | * "organizations/[organization_id]/notificationConfigs/[config_id]", 5 | * "folders/[folder_id]/notificationConfigs/[config_id]", 6 | * or "projects/[project_id]/notificationConfigs/[config_id]". Please see 7 | * {@see SecurityCenterClient::notificationConfigName()} for help formatting this field. 8 | * 9 | * @return \Google\Cloud\SecurityCenter\V1\GetNotificationConfigRequest 10 | * 11 | * @experimental 12 | */ 13 | public static function build(string $name): self 14 | { 15 | return (new self()) 16 | ->setName($name); 17 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/GetOrganizationSettingsRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. Name of the organization to get organization settings for. Its 4 | * format is "organizations/[organization_id]/organizationSettings". Please see 5 | * {@see SecurityCenterClient::organizationSettingsName()} for help formatting this field. 6 | * 7 | * @return \Google\Cloud\SecurityCenter\V1\GetOrganizationSettingsRequest 8 | * 9 | * @experimental 10 | */ 11 | public static function build(string $name): self 12 | { 13 | return (new self()) 14 | ->setName($name); 15 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/GetSecurityHealthAnalyticsCustomModuleRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. Name of the custom module to get. Its format is 4 | * "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", 5 | * "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", 6 | * or 7 | * "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" 8 | * Please see {@see SecurityCenterClient::securityHealthAnalyticsCustomModuleName()} for help formatting this field. 9 | * 10 | * @return \Google\Cloud\SecurityCenter\V1\GetSecurityHealthAnalyticsCustomModuleRequest 11 | * 12 | * @experimental 13 | */ 14 | public static function build(string $name): self 15 | { 16 | return (new self()) 17 | ->setName($name); 18 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/GetSourceRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. Relative resource name of the source. Its format is 4 | * "organizations/[organization_id]/source/[source_id]". Please see 5 | * {@see SecurityCenterClient::sourceName()} for help formatting this field. 6 | * 7 | * @return \Google\Cloud\SecurityCenter\V1\GetSourceRequest 8 | * 9 | * @experimental 10 | */ 11 | public static function build(string $name): self 12 | { 13 | return (new self()) 14 | ->setName($name); 15 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/ListBigQueryExportsRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $parent Required. The parent, which owns the collection of BigQuery exports. Its 4 | * format is "organizations/[organization_id]", "folders/[folder_id]", 5 | * "projects/[project_id]". Please see 6 | * {@see SecurityCenterClient::projectName()} for help formatting this field. 7 | * 8 | * @return \Google\Cloud\SecurityCenter\V1\ListBigQueryExportsRequest 9 | * 10 | * @experimental 11 | */ 12 | public static function build(string $parent): self 13 | { 14 | return (new self()) 15 | ->setParent($parent); 16 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/ListDescendantSecurityHealthAnalyticsCustomModulesRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $parent Required. Name of parent to list descendant custom modules. Its format is 4 | * "organizations/{organization}/securityHealthAnalyticsSettings", 5 | * "folders/{folder}/securityHealthAnalyticsSettings", or 6 | * "projects/{project}/securityHealthAnalyticsSettings" 7 | * Please see {@see SecurityCenterClient::securityHealthAnalyticsSettingsName()} for help formatting this field. 8 | * 9 | * @return \Google\Cloud\SecurityCenter\V1\ListDescendantSecurityHealthAnalyticsCustomModulesRequest 10 | * 11 | * @experimental 12 | */ 13 | public static function build(string $parent): self 14 | { 15 | return (new self()) 16 | ->setParent($parent); 17 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/ListEffectiveSecurityHealthAnalyticsCustomModulesRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $parent Required. Name of parent to list effective custom modules. Its format is 4 | * "organizations/{organization}/securityHealthAnalyticsSettings", 5 | * "folders/{folder}/securityHealthAnalyticsSettings", or 6 | * "projects/{project}/securityHealthAnalyticsSettings" 7 | * Please see {@see SecurityCenterClient::securityHealthAnalyticsSettingsName()} for help formatting this field. 8 | * 9 | * @return \Google\Cloud\SecurityCenter\V1\ListEffectiveSecurityHealthAnalyticsCustomModulesRequest 10 | * 11 | * @experimental 12 | */ 13 | public static function build(string $parent): self 14 | { 15 | return (new self()) 16 | ->setParent($parent); 17 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/ListMuteConfigsRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $parent Required. The parent, which owns the collection of mute configs. Its format 4 | * is "organizations/[organization_id]", "folders/[folder_id]", 5 | * "projects/[project_id]". Please see 6 | * {@see SecurityCenterClient::projectName()} for help formatting this field. 7 | * 8 | * @return \Google\Cloud\SecurityCenter\V1\ListMuteConfigsRequest 9 | * 10 | * @experimental 11 | */ 12 | public static function build(string $parent): self 13 | { 14 | return (new self()) 15 | ->setParent($parent); 16 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/ListNotificationConfigsRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $parent Required. The name of the parent in which to list the notification 4 | * configurations. Its format is "organizations/[organization_id]", 5 | * "folders/[folder_id]", or "projects/[project_id]". Please see 6 | * {@see SecurityCenterClient::projectName()} for help formatting this field. 7 | * 8 | * @return \Google\Cloud\SecurityCenter\V1\ListNotificationConfigsRequest 9 | * 10 | * @experimental 11 | */ 12 | public static function build(string $parent): self 13 | { 14 | return (new self()) 15 | ->setParent($parent); 16 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/ListSecurityHealthAnalyticsCustomModulesRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $parent Required. Name of parent to list custom modules. Its format is 4 | * "organizations/{organization}/securityHealthAnalyticsSettings", 5 | * "folders/{folder}/securityHealthAnalyticsSettings", or 6 | * "projects/{project}/securityHealthAnalyticsSettings" 7 | * Please see {@see SecurityCenterClient::securityHealthAnalyticsSettingsName()} for help formatting this field. 8 | * 9 | * @return \Google\Cloud\SecurityCenter\V1\ListSecurityHealthAnalyticsCustomModulesRequest 10 | * 11 | * @experimental 12 | */ 13 | public static function build(string $parent): self 14 | { 15 | return (new self()) 16 | ->setParent($parent); 17 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/ListSourcesRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $parent Required. Resource name of the parent of sources to list. Its format should 4 | * be "organizations/[organization_id]", "folders/[folder_id]", or 5 | * "projects/[project_id]". Please see 6 | * {@see SecurityCenterClient::projectName()} for help formatting this field. 7 | * 8 | * @return \Google\Cloud\SecurityCenter\V1\ListSourcesRequest 9 | * 10 | * @experimental 11 | */ 12 | public static function build(string $parent): self 13 | { 14 | return (new self()) 15 | ->setParent($parent); 16 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/RunAssetDiscoveryRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $parent Required. Name of the organization to run asset discovery for. Its format 4 | * is "organizations/[organization_id]". Please see 5 | * {@see SecurityCenterClient::organizationName()} for help formatting this field. 6 | * 7 | * @return \Google\Cloud\SecurityCenter\V1\RunAssetDiscoveryRequest 8 | * 9 | * @experimental 10 | */ 11 | public static function build(string $parent): self 12 | { 13 | return (new self()) 14 | ->setParent($parent); 15 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/SetMuteRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. The [relative resource 4 | * name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) 5 | * of the finding. Example: 6 | * "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", 7 | * "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", 8 | * "projects/{project_id}/sources/{source_id}/findings/{finding_id}". Please see 9 | * {@see SecurityCenterClient::findingName()} for help formatting this field. 10 | * @param int $mute Required. The desired state of the Mute. 11 | * For allowed values, use constants defined on {@see \Google\Cloud\SecurityCenter\V1\Finding\Mute} 12 | * 13 | * @return \Google\Cloud\SecurityCenter\V1\SetMuteRequest 14 | * 15 | * @experimental 16 | */ 17 | public static function build(string $name, int $mute): self 18 | { 19 | return (new self()) 20 | ->setName($name) 21 | ->setMute($mute); 22 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/UpdateBigQueryExportRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param \Google\Cloud\SecurityCenter\V1\BigQueryExport $bigQueryExport Required. The BigQuery export being updated. 4 | * @param \Google\Protobuf\FieldMask $updateMask The list of fields to be updated. 5 | * If empty all mutable fields will be updated. 6 | * 7 | * @return \Google\Cloud\SecurityCenter\V1\UpdateBigQueryExportRequest 8 | * 9 | * @experimental 10 | */ 11 | public static function build(\Google\Cloud\SecurityCenter\V1\BigQueryExport $bigQueryExport, \Google\Protobuf\FieldMask $updateMask): self 12 | { 13 | return (new self()) 14 | ->setBigQueryExport($bigQueryExport) 15 | ->setUpdateMask($updateMask); 16 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/UpdateExternalSystemRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param \Google\Cloud\SecurityCenter\V1\ExternalSystem $externalSystem Required. The external system resource to update. 4 | * @param \Google\Protobuf\FieldMask $updateMask The FieldMask to use when updating the external system resource. 5 | * 6 | * If empty all mutable fields will be updated. 7 | * 8 | * @return \Google\Cloud\SecurityCenter\V1\UpdateExternalSystemRequest 9 | * 10 | * @experimental 11 | */ 12 | public static function build(\Google\Cloud\SecurityCenter\V1\ExternalSystem $externalSystem, \Google\Protobuf\FieldMask $updateMask): self 13 | { 14 | return (new self()) 15 | ->setExternalSystem($externalSystem) 16 | ->setUpdateMask($updateMask); 17 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/UpdateFindingRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param \Google\Cloud\SecurityCenter\V1\Finding $finding Required. The finding resource to update or create if it does not already 4 | * exist. parent, security_marks, and update_time will be ignored. 5 | * 6 | * In the case of creation, the finding id portion of the name must be 7 | * alphanumeric and less than or equal to 32 characters and greater than 0 8 | * characters in length. 9 | * 10 | * @return \Google\Cloud\SecurityCenter\V1\UpdateFindingRequest 11 | * 12 | * @experimental 13 | */ 14 | public static function build(\Google\Cloud\SecurityCenter\V1\Finding $finding): self 15 | { 16 | return (new self()) 17 | ->setFinding($finding); 18 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/UpdateMuteConfigRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param \Google\Cloud\SecurityCenter\V1\MuteConfig $muteConfig Required. The mute config being updated. 4 | * @param \Google\Protobuf\FieldMask $updateMask The list of fields to be updated. 5 | * If empty all mutable fields will be updated. 6 | * 7 | * @return \Google\Cloud\SecurityCenter\V1\UpdateMuteConfigRequest 8 | * 9 | * @experimental 10 | */ 11 | public static function build(\Google\Cloud\SecurityCenter\V1\MuteConfig $muteConfig, \Google\Protobuf\FieldMask $updateMask): self 12 | { 13 | return (new self()) 14 | ->setMuteConfig($muteConfig) 15 | ->setUpdateMask($updateMask); 16 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/UpdateOrganizationSettingsRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param \Google\Cloud\SecurityCenter\V1\OrganizationSettings $organizationSettings Required. The organization settings resource to update. 4 | * 5 | * @return \Google\Cloud\SecurityCenter\V1\UpdateOrganizationSettingsRequest 6 | * 7 | * @experimental 8 | */ 9 | public static function build(\Google\Cloud\SecurityCenter\V1\OrganizationSettings $organizationSettings): self 10 | { 11 | return (new self()) 12 | ->setOrganizationSettings($organizationSettings); 13 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/UpdateSecurityHealthAnalyticsCustomModuleRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param \Google\Cloud\SecurityCenter\V1\SecurityHealthAnalyticsCustomModule $securityHealthAnalyticsCustomModule Required. The SecurityHealthAnalytics custom module to update. 4 | * @param \Google\Protobuf\FieldMask $updateMask The list of fields to update. 5 | * 6 | * @return \Google\Cloud\SecurityCenter\V1\UpdateSecurityHealthAnalyticsCustomModuleRequest 7 | * 8 | * @experimental 9 | */ 10 | public static function build(\Google\Cloud\SecurityCenter\V1\SecurityHealthAnalyticsCustomModule $securityHealthAnalyticsCustomModule, \Google\Protobuf\FieldMask $updateMask): self 11 | { 12 | return (new self()) 13 | ->setSecurityHealthAnalyticsCustomModule($securityHealthAnalyticsCustomModule) 14 | ->setUpdateMask($updateMask); 15 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/UpdateSecurityMarksRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param \Google\Cloud\SecurityCenter\V1\SecurityMarks $securityMarks Required. The security marks resource to update. 4 | * 5 | * @return \Google\Cloud\SecurityCenter\V1\UpdateSecurityMarksRequest 6 | * 7 | * @experimental 8 | */ 9 | public static function build(\Google\Cloud\SecurityCenter\V1\SecurityMarks $securityMarks): self 10 | { 11 | return (new self()) 12 | ->setSecurityMarks($securityMarks); 13 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/securitycenter/fragments/Google/Cloud/SecurityCenter/V1/UpdateSourceRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param \Google\Cloud\SecurityCenter\V1\Source $source Required. The source resource to update. 4 | * 5 | * @return \Google\Cloud\SecurityCenter\V1\UpdateSourceRequest 6 | * 7 | * @experimental 8 | */ 9 | public static function build(\Google\Cloud\SecurityCenter\V1\Source $source): self 10 | { 11 | return (new self()) 12 | ->setSource($source); 13 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/spanner/BUILD.bazel: -------------------------------------------------------------------------------- 1 | package(default_visibility = ["//visibility:public"]) 2 | 3 | filegroup( 4 | name = "goldens_files", 5 | srcs = glob([ 6 | "*/**/*.php", 7 | "*/**/*.json", 8 | "*/**/*.build.txt", 9 | ]), 10 | ) 11 | -------------------------------------------------------------------------------- /tests/Integration/goldens/spanner/fragments/Google/Cloud/Spanner/Admin/Database/V1/CreateDatabaseRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $parent Required. The name of the instance that will serve the new database. 4 | * Values are of the form `projects//instances/`. Please see 5 | * {@see DatabaseAdminClient::instanceName()} for help formatting this field. 6 | * @param string $createStatement Required. A `CREATE DATABASE` statement, which specifies the ID of the 7 | * new database. The database ID must conform to the regular expression 8 | * `[a-z][a-z0-9_\-]*[a-z0-9]` and be between 2 and 30 characters in length. 9 | * If the database ID is a reserved word or if it contains a hyphen, the 10 | * database ID must be enclosed in backticks (`` ` ``). 11 | * 12 | * @return \Google\Cloud\Spanner\Admin\Database\V1\CreateDatabaseRequest 13 | * 14 | * @experimental 15 | */ 16 | public static function build(string $parent, string $createStatement): self 17 | { 18 | return (new self()) 19 | ->setParent($parent) 20 | ->setCreateStatement($createStatement); 21 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/spanner/fragments/Google/Cloud/Spanner/Admin/Database/V1/DeleteBackupRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. Name of the backup to delete. 4 | * Values are of the form 5 | * `projects//instances//backups/`. Please see 6 | * {@see DatabaseAdminClient::backupName()} for help formatting this field. 7 | * 8 | * @return \Google\Cloud\Spanner\Admin\Database\V1\DeleteBackupRequest 9 | * 10 | * @experimental 11 | */ 12 | public static function build(string $name): self 13 | { 14 | return (new self()) 15 | ->setName($name); 16 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/spanner/fragments/Google/Cloud/Spanner/Admin/Database/V1/DropDatabaseRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $database Required. The database to be dropped. Please see 4 | * {@see DatabaseAdminClient::databaseName()} for help formatting this field. 5 | * 6 | * @return \Google\Cloud\Spanner\Admin\Database\V1\DropDatabaseRequest 7 | * 8 | * @experimental 9 | */ 10 | public static function build(string $database): self 11 | { 12 | return (new self()) 13 | ->setDatabase($database); 14 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/spanner/fragments/Google/Cloud/Spanner/Admin/Database/V1/GetBackupRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. Name of the backup. 4 | * Values are of the form 5 | * `projects//instances//backups/`. Please see 6 | * {@see DatabaseAdminClient::backupName()} for help formatting this field. 7 | * 8 | * @return \Google\Cloud\Spanner\Admin\Database\V1\GetBackupRequest 9 | * 10 | * @experimental 11 | */ 12 | public static function build(string $name): self 13 | { 14 | return (new self()) 15 | ->setName($name); 16 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/spanner/fragments/Google/Cloud/Spanner/Admin/Database/V1/GetDatabaseDdlRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $database Required. The database whose schema we wish to get. 4 | * Values are of the form 5 | * `projects//instances//databases/` 6 | * Please see {@see DatabaseAdminClient::databaseName()} for help formatting this field. 7 | * 8 | * @return \Google\Cloud\Spanner\Admin\Database\V1\GetDatabaseDdlRequest 9 | * 10 | * @experimental 11 | */ 12 | public static function build(string $database): self 13 | { 14 | return (new self()) 15 | ->setDatabase($database); 16 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/spanner/fragments/Google/Cloud/Spanner/Admin/Database/V1/GetDatabaseRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $name Required. The name of the requested database. Values are of the form 4 | * `projects//instances//databases/`. Please see 5 | * {@see DatabaseAdminClient::databaseName()} for help formatting this field. 6 | * 7 | * @return \Google\Cloud\Spanner\Admin\Database\V1\GetDatabaseRequest 8 | * 9 | * @experimental 10 | */ 11 | public static function build(string $name): self 12 | { 13 | return (new self()) 14 | ->setName($name); 15 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/spanner/fragments/Google/Cloud/Spanner/Admin/Database/V1/ListBackupOperationsRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $parent Required. The instance of the backup operations. Values are of 4 | * the form `projects//instances/`. Please see 5 | * {@see DatabaseAdminClient::instanceName()} for help formatting this field. 6 | * 7 | * @return \Google\Cloud\Spanner\Admin\Database\V1\ListBackupOperationsRequest 8 | * 9 | * @experimental 10 | */ 11 | public static function build(string $parent): self 12 | { 13 | return (new self()) 14 | ->setParent($parent); 15 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/spanner/fragments/Google/Cloud/Spanner/Admin/Database/V1/ListBackupsRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $parent Required. The instance to list backups from. Values are of the 4 | * form `projects//instances/`. Please see 5 | * {@see DatabaseAdminClient::instanceName()} for help formatting this field. 6 | * 7 | * @return \Google\Cloud\Spanner\Admin\Database\V1\ListBackupsRequest 8 | * 9 | * @experimental 10 | */ 11 | public static function build(string $parent): self 12 | { 13 | return (new self()) 14 | ->setParent($parent); 15 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/spanner/fragments/Google/Cloud/Spanner/Admin/Database/V1/ListDatabaseOperationsRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $parent Required. The instance of the database operations. 4 | * Values are of the form `projects//instances/`. Please see 5 | * {@see DatabaseAdminClient::instanceName()} for help formatting this field. 6 | * 7 | * @return \Google\Cloud\Spanner\Admin\Database\V1\ListDatabaseOperationsRequest 8 | * 9 | * @experimental 10 | */ 11 | public static function build(string $parent): self 12 | { 13 | return (new self()) 14 | ->setParent($parent); 15 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/spanner/fragments/Google/Cloud/Spanner/Admin/Database/V1/ListDatabaseRolesRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $parent Required. The database whose roles should be listed. 4 | * Values are of the form 5 | * `projects//instances//databases//databaseRoles`. Please see 6 | * {@see DatabaseAdminClient::databaseName()} for help formatting this field. 7 | * 8 | * @return \Google\Cloud\Spanner\Admin\Database\V1\ListDatabaseRolesRequest 9 | * 10 | * @experimental 11 | */ 12 | public static function build(string $parent): self 13 | { 14 | return (new self()) 15 | ->setParent($parent); 16 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/spanner/fragments/Google/Cloud/Spanner/Admin/Database/V1/ListDatabasesRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $parent Required. The instance whose databases should be listed. 4 | * Values are of the form `projects//instances/`. Please see 5 | * {@see DatabaseAdminClient::instanceName()} for help formatting this field. 6 | * 7 | * @return \Google\Cloud\Spanner\Admin\Database\V1\ListDatabasesRequest 8 | * 9 | * @experimental 10 | */ 11 | public static function build(string $parent): self 12 | { 13 | return (new self()) 14 | ->setParent($parent); 15 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/spanner/fragments/Google/Cloud/Spanner/Admin/Database/V1/UpdateDatabaseDdlRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $database Required. The database to update. Please see 4 | * {@see DatabaseAdminClient::databaseName()} for help formatting this field. 5 | * @param string[] $statements Required. DDL statements to be applied to the database. 6 | * 7 | * @return \Google\Cloud\Spanner\Admin\Database\V1\UpdateDatabaseDdlRequest 8 | * 9 | * @experimental 10 | */ 11 | public static function build(string $database, array $statements): self 12 | { 13 | return (new self()) 14 | ->setDatabase($database) 15 | ->setStatements($statements); 16 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/spanner/fragments/Google/Cloud/Spanner/Admin/Database/V1/UpdateDatabaseRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param \Google\Cloud\Spanner\Admin\Database\V1\Database $database Required. The database to update. 4 | * The `name` field of the database is of the form 5 | * `projects//instances//databases/`. 6 | * @param \Google\Protobuf\FieldMask $updateMask Required. The list of fields to update. Currently, only 7 | * `enable_drop_protection` field can be updated. 8 | * 9 | * @return \Google\Cloud\Spanner\Admin\Database\V1\UpdateDatabaseRequest 10 | * 11 | * @experimental 12 | */ 13 | public static function build(\Google\Cloud\Spanner\Admin\Database\V1\Database $database, \Google\Protobuf\FieldMask $updateMask): self 14 | { 15 | return (new self()) 16 | ->setDatabase($database) 17 | ->setUpdateMask($updateMask); 18 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/speech/BUILD.bazel: -------------------------------------------------------------------------------- 1 | package(default_visibility = ["//visibility:public"]) 2 | 3 | filegroup( 4 | name = "goldens_files", 5 | srcs = glob([ 6 | "*/**/*.php", 7 | "*/**/*.json", 8 | "*/**/*.build.txt", 9 | ]), 10 | ) 11 | -------------------------------------------------------------------------------- /tests/Integration/goldens/speech/src/V1/AdaptationClient.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'google.cloud.talent.v4beta1.Completion' => [], 26 | ], 27 | ]; 28 | -------------------------------------------------------------------------------- /tests/Integration/goldens/talent/src/V4beta1/resources/event_service_descriptor_config.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'google.cloud.talent.v4beta1.EventService' => [], 26 | ], 27 | ]; 28 | -------------------------------------------------------------------------------- /tests/Integration/goldens/videointelligence/BUILD.bazel: -------------------------------------------------------------------------------- 1 | package(default_visibility = ["//visibility:public"]) 2 | 3 | filegroup( 4 | name = "goldens_files", 5 | srcs = glob([ 6 | "*/**/*.php", 7 | "*/**/*.json", 8 | "*/**/*.build.txt", 9 | ]), 10 | ) 11 | -------------------------------------------------------------------------------- /tests/Integration/goldens/videointelligence/src/V1/gapic_metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "schema": "1.0", 3 | "comment": "This file maps proto services\/RPCs to the corresponding library clients\/methods", 4 | "language": "php", 5 | "protoPackage": "google.cloud.videointelligence.v1", 6 | "libraryPackage": "Google\\Cloud\\VideoIntelligence\\V1", 7 | "services": { 8 | "VideoIntelligenceService": { 9 | "clients": { 10 | "grpc": { 11 | "libraryClient": "VideoIntelligenceServiceGapicClient", 12 | "rpcs": { 13 | "AnnotateVideo": { 14 | "methods": [ 15 | "annotateVideo" 16 | ] 17 | } 18 | } 19 | } 20 | } 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /tests/Integration/goldens/videointelligence/src/V1/resources/video_intelligence_service_client_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "interfaces": { 3 | "google.cloud.videointelligence.v1.VideoIntelligenceService": { 4 | "retry_codes": { 5 | "idempotent": [ 6 | "DEADLINE_EXCEEDED", 7 | "UNAVAILABLE" 8 | ], 9 | "non_idempotent": [] 10 | }, 11 | "retry_params": { 12 | "default": { 13 | "initial_retry_delay_millis": 100, 14 | "retry_delay_multiplier": 1.3, 15 | "max_retry_delay_millis": 60000, 16 | "initial_rpc_timeout_millis": 20000, 17 | "rpc_timeout_multiplier": 1.0, 18 | "max_rpc_timeout_millis": 20000, 19 | "total_timeout_millis": 600000 20 | } 21 | }, 22 | "methods": { 23 | "AnnotateVideo": { 24 | "timeout_millis": 60000, 25 | "retry_codes_name": "non_idempotent", 26 | "retry_params_name": "default" 27 | } 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /tests/Tools/ConfigLoader.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'testing.basic.Basic' => [ 26 | 'AMethod' => [ 27 | 'callType' => \Google\ApiCore\Call::UNARY_CALL, 28 | 'responseType' => 'Testing\Basic\Response', 29 | ], 30 | 'MethodWithArgs' => [ 31 | 'callType' => \Google\ApiCore\Call::UNARY_CALL, 32 | 'responseType' => 'Testing\Basic\Response', 33 | ], 34 | ], 35 | ], 36 | ]; 37 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/Basic/out/src/resources/basic_rest_client_config.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'testing.basic.Basic' => [ 26 | 'AMethod' => [ 27 | 'method' => 'post', 28 | 'uriTemplate' => '/path:aMethod', 29 | 'body' => '*', 30 | ], 31 | 'MethodWithArgs' => [ 32 | 'method' => 'post', 33 | 'uriTemplate' => '/path:methodWithArgs', 34 | 'body' => '*', 35 | ], 36 | ], 37 | ], 38 | 'numericEnums' => true, 39 | ]; 40 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicAutoPopulation/basic-auto-population.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package testing.basicautopopulation; 4 | 5 | option php_namespace = "Testing\\BasicAutoPopulation"; 6 | 7 | import "google/api/annotations.proto"; 8 | import "google/api/client.proto"; 9 | import "google/api/field_behavior.proto"; 10 | import "google/api/field_info.proto"; 11 | 12 | service BasicAutoPopulation { 13 | option (google.api.default_host) = "autopopulation.example.com"; 14 | option (google.api.oauth_scopes) = "scope1,scope2"; 15 | 16 | rpc CreateFoo(Request) returns (Response) { 17 | option (google.api.http) = { 18 | post: "/foo" 19 | body: "*" 20 | }; 21 | } 22 | rpc GetFoo(Request) returns (Response) { 23 | option (google.api.http) = { 24 | get: "/foo" 25 | }; 26 | } 27 | } 28 | 29 | // a_field has no docs, to test that fields without docs 30 | // are generated correctly. 31 | message Request { 32 | string a_field = 1 [(google.api.field_behavior) = REQUIRED]; 33 | 34 | // A unique identifier for this request. 35 | string request_id = 5 [ 36 | (google.api.field_behavior) = OPTIONAL, 37 | (google.api.field_info).format = UUID4 38 | ]; 39 | } 40 | 41 | message Response {} 42 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicAutoPopulation/basic-auto-population_gapic.yaml: -------------------------------------------------------------------------------- 1 | type: com.google.api.codegen.ConfigProto 2 | config_schema_version: 2.0.0 3 | language_settings: 4 | php: 5 | package_name: Testing\BasicAutoPopulation 6 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicAutoPopulation/basic-auto-population_service.yaml: -------------------------------------------------------------------------------- 1 | type: google.api.Service 2 | config_version: 3 3 | 4 | apis: 5 | - name: testing.basicautopopulation.BasicAutoPopulation 6 | 7 | title: Basic Auto Population Service 8 | 9 | name: testing.basicautopopulation.BasicAutoPopulation 10 | 11 | authentication: 12 | rules: 13 | - selector: 'testing.basicautopopulation.BasicAutoPopulation.*' 14 | oauth: 15 | canonical_scopes: |- 16 | scope1, 17 | scope2 18 | 19 | publishing: 20 | method_settings: 21 | - selector: testing.basicautopopulation.BasicAutoPopulation.CreateFoo 22 | auto_populated_fields: 23 | - request_id 24 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicAutoPopulation/out/src/gapic_metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "schema": "1.0", 3 | "comment": "This file maps proto services\/RPCs to the corresponding library clients\/methods", 4 | "language": "php", 5 | "protoPackage": "testing.basicautopopulation", 6 | "libraryPackage": "Testing\\BasicAutoPopulation", 7 | "services": { 8 | "BasicAutoPopulation": { 9 | "clients": { 10 | "grpc": { 11 | "libraryClient": "BasicAutoPopulationGapicClient", 12 | "rpcs": { 13 | "CreateFoo": { 14 | "methods": [ 15 | "createFoo" 16 | ] 17 | }, 18 | "GetFoo": { 19 | "methods": [ 20 | "getFoo" 21 | ] 22 | } 23 | } 24 | } 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicAutoPopulation/out/src/resources/basic_auto_population_descriptor_config.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'testing.basicautopopulation.BasicAutoPopulation' => [ 26 | 'CreateFoo' => [ 27 | 'autoPopulatedFields' => [ 28 | 'requestId' => \Google\Api\FieldInfo\Format::UUID4, 29 | ], 30 | ], 31 | ], 32 | ], 33 | ]; 34 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicBidiStreaming/basic-bidi-streaming.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package testing.basicbidistreaming; 4 | 5 | option php_namespace = "Testing\\BasicBidiStreaming"; 6 | 7 | import "google/api/client.proto"; 8 | import "google/api/field_behavior.proto"; 9 | 10 | service BasicBidiStreaming { 11 | option (google.api.default_host) = "bidi.example.com"; 12 | 13 | rpc MethodBidi(stream Request) returns(stream Response); 14 | 15 | rpc MethodEmpty(stream EmptyRequest) returns(stream Response); 16 | } 17 | 18 | message Request { 19 | int32 a_number = 1 [(google.api.field_behavior) = REQUIRED]; 20 | string a_string = 2; 21 | } 22 | 23 | message EmptyRequest { 24 | } 25 | 26 | message Response { 27 | } 28 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicBidiStreaming/basic-bidi-streaming_gapic.yaml: -------------------------------------------------------------------------------- 1 | type: com.google.api.codegen.ConfigProto 2 | config_schema_version: 2.0.0 3 | language_settings: 4 | php: 5 | package_name: Testing\BasicBidiStreaming 6 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicBidiStreaming/out/src/gapic_metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "schema": "1.0", 3 | "comment": "This file maps proto services\/RPCs to the corresponding library clients\/methods", 4 | "language": "php", 5 | "protoPackage": "testing.basicbidistreaming", 6 | "libraryPackage": "Testing\\BasicBidiStreaming", 7 | "services": { 8 | "BasicBidiStreaming": { 9 | "clients": { 10 | "grpc": { 11 | "libraryClient": "BasicBidiStreamingGapicClient", 12 | "rpcs": { 13 | "MethodBidi": { 14 | "methods": [ 15 | "methodBidi" 16 | ] 17 | }, 18 | "MethodEmpty": { 19 | "methods": [ 20 | "methodEmpty" 21 | ] 22 | } 23 | } 24 | } 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicBidiStreaming/out/src/resources/basic_bidi_streaming_client_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "interfaces": { 3 | "testing.basicbidistreaming.BasicBidiStreaming": { 4 | "retry_codes": { 5 | "idempotent": [ 6 | "DEADLINE_EXCEEDED", 7 | "UNAVAILABLE" 8 | ], 9 | "non_idempotent": [] 10 | }, 11 | "retry_params": { 12 | "default": { 13 | "initial_retry_delay_millis": 100, 14 | "retry_delay_multiplier": 1.3, 15 | "max_retry_delay_millis": 60000, 16 | "initial_rpc_timeout_millis": 20000, 17 | "rpc_timeout_multiplier": 1.0, 18 | "max_rpc_timeout_millis": 20000, 19 | "total_timeout_millis": 600000 20 | } 21 | }, 22 | "methods": { 23 | "MethodBidi": { 24 | "timeout_millis": 60000 25 | }, 26 | "MethodEmpty": { 27 | "timeout_millis": 60000 28 | } 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicBidiStreaming/out/src/resources/basic_bidi_streaming_descriptor_config.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'testing.basicbidistreaming.BasicBidiStreaming' => [ 26 | 'MethodBidi' => [ 27 | 'grpcStreaming' => [ 28 | 'grpcStreamingType' => 'BidiStreaming', 29 | ], 30 | ], 31 | 'MethodEmpty' => [ 32 | 'grpcStreaming' => [ 33 | 'grpcStreamingType' => 'BidiStreaming', 34 | ], 35 | ], 36 | ], 37 | ], 38 | ]; 39 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicBidiStreaming/out/src/resources/basic_bidi_streaming_rest_client_config.php: -------------------------------------------------------------------------------- 1 | [], 25 | 'numericEnums' => true, 26 | ]; 27 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicClientStreaming/basic-client-streaming.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package testing.basicclientstreaming; 4 | 5 | option php_namespace = "Testing\\BasicClientStreaming"; 6 | 7 | import "google/api/client.proto"; 8 | import "google/api/field_behavior.proto"; 9 | 10 | service BasicClientStreaming { 11 | option (google.api.default_host) = "clientstreaming.example.com"; 12 | 13 | rpc MethodClient(stream Request) returns(Response); 14 | 15 | rpc MethodEmpty(stream EmptyRequest) returns(Response); 16 | } 17 | 18 | message Request { 19 | int32 a_number = 1 [(google.api.field_behavior) = REQUIRED]; 20 | string a_string = 2; 21 | } 22 | 23 | message EmptyRequest { 24 | } 25 | 26 | message Response { 27 | } 28 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicClientStreaming/basic-client-streaming_gapic.yaml: -------------------------------------------------------------------------------- 1 | type: com.google.api.codegen.ConfigProto 2 | config_schema_version: 2.0.0 3 | language_settings: 4 | php: 5 | package_name: Testing\BasicClientStreaming 6 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicClientStreaming/out/src/gapic_metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "schema": "1.0", 3 | "comment": "This file maps proto services\/RPCs to the corresponding library clients\/methods", 4 | "language": "php", 5 | "protoPackage": "testing.basicclientstreaming", 6 | "libraryPackage": "Testing\\BasicClientStreaming", 7 | "services": { 8 | "BasicClientStreaming": { 9 | "clients": { 10 | "grpc": { 11 | "libraryClient": "BasicClientStreamingGapicClient", 12 | "rpcs": { 13 | "MethodClient": { 14 | "methods": [ 15 | "methodClient" 16 | ] 17 | }, 18 | "MethodEmpty": { 19 | "methods": [ 20 | "methodEmpty" 21 | ] 22 | } 23 | } 24 | } 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicClientStreaming/out/src/resources/basic_client_streaming_client_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "interfaces": { 3 | "testing.basicclientstreaming.BasicClientStreaming": { 4 | "retry_codes": { 5 | "idempotent": [ 6 | "DEADLINE_EXCEEDED", 7 | "UNAVAILABLE" 8 | ], 9 | "non_idempotent": [] 10 | }, 11 | "retry_params": { 12 | "default": { 13 | "initial_retry_delay_millis": 100, 14 | "retry_delay_multiplier": 1.3, 15 | "max_retry_delay_millis": 60000, 16 | "initial_rpc_timeout_millis": 20000, 17 | "rpc_timeout_multiplier": 1.0, 18 | "max_rpc_timeout_millis": 20000, 19 | "total_timeout_millis": 600000 20 | } 21 | }, 22 | "methods": { 23 | "MethodClient": { 24 | "timeout_millis": 60000 25 | }, 26 | "MethodEmpty": { 27 | "timeout_millis": 60000 28 | } 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicClientStreaming/out/src/resources/basic_client_streaming_rest_client_config.php: -------------------------------------------------------------------------------- 1 | [], 25 | 'numericEnums' => true, 26 | ]; 27 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicDiregapic/library_rest_service.yaml: -------------------------------------------------------------------------------- 1 | type: google.api.Service 2 | config_version: 1 3 | name: library-example.googleapis.com:1234 4 | title: Google Example Library API 5 | 6 | # Included protobuf APIs 7 | apis: 8 | - name: google.example.library.v1.Library 9 | 10 | # Documentation section 11 | documentation: 12 | summary: 13 | A simple Google Example Library API. 14 | 15 | # Auth section 16 | authentication: 17 | rules: 18 | - selector: '*' 19 | oauth: 20 | canonical_scopes: https://www.googleapis.com/auth/library, 21 | https://www.googleapis.com/auth/cloud-platform 22 | 23 | # Backend section 24 | backend: 25 | rules: 26 | - selector: google.example.library.v1.Library.CreateShelf 27 | deadline: 1.0 28 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicDiregapic/out/src/Enums/BookResponse/Rating.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'testing.basicexplicitpaginated.BasicExplicitPaginated' => [ 26 | 'MethodExplicitPaginated' => [ 27 | 'method' => 'post', 28 | 'uriTemplate' => '/path:methodExplicitPaginated', 29 | 'body' => '*', 30 | ], 31 | ], 32 | ], 33 | 'numericEnums' => true, 34 | ]; 35 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicGrpcOnly/basic-grpc-only.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package testing.basicgrpconly; 4 | 5 | // php_namespace option not included; to test generating namespace from proto package. 6 | 7 | import "google/api/annotations.proto"; 8 | import "google/api/client.proto"; 9 | import "google/api/field_behavior.proto"; 10 | 11 | // This is a basicGrpcOnly service. 12 | service BasicGrpcOnly { 13 | option (google.api.default_host) = "basicgrpconly.example.com"; 14 | } 15 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicGrpcOnly/basic_grpc_only_service.yaml: -------------------------------------------------------------------------------- 1 | type: google.api.Service 2 | config_version: 3 3 | 4 | authentication: 5 | rules: 6 | - selector: 'testing.basicGrpcOnly.BasicGrpcOnly.*' 7 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicGrpcOnly/out/src/gapic_metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "schema": "1.0", 3 | "comment": "This file maps proto services\/RPCs to the corresponding library clients\/methods", 4 | "language": "php", 5 | "protoPackage": "testing.basicgrpconly", 6 | "libraryPackage": "Testing\\Basicgrpconly", 7 | "services": { 8 | "BasicGrpcOnly": { 9 | "clients": { 10 | "grpc": { 11 | "libraryClient": "BasicGrpcOnlyGapicClient" 12 | } 13 | } 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicGrpcOnly/out/src/resources/basic_grpc_only_client_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "interfaces": { 3 | "testing.basicgrpconly.BasicGrpcOnly": { 4 | "retry_codes": { 5 | "idempotent": [ 6 | "DEADLINE_EXCEEDED", 7 | "UNAVAILABLE" 8 | ], 9 | "non_idempotent": [] 10 | }, 11 | "retry_params": { 12 | "default": { 13 | "initial_retry_delay_millis": 100, 14 | "retry_delay_multiplier": 1.3, 15 | "max_retry_delay_millis": 60000, 16 | "initial_rpc_timeout_millis": 20000, 17 | "rpc_timeout_multiplier": 1.0, 18 | "max_rpc_timeout_millis": 20000, 19 | "total_timeout_millis": 600000 20 | } 21 | }, 22 | "methods": [] 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicGrpcOnly/out/src/resources/basic_grpc_only_descriptor_config.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'testing.basicgrpconly.BasicGrpcOnly' => [], 26 | ], 27 | ]; 28 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicLro/basic-lro_gapic.yaml: -------------------------------------------------------------------------------- 1 | type: com.google.api.codegen.ConfigProto 2 | config_schema_version: 2.0.0 3 | language_settings: 4 | php: 5 | package_name: Testing\BasicLro 6 | 7 | # Having "long-running" defined here alters the ordering of emitted RPC methods. 8 | interfaces: 9 | - name: testing.basiclro.BasicLro 10 | methods: 11 | - name: Method1 12 | long_running: 13 | initial_poll_delay_millis: 20000 14 | poll_delay_multiplier: 1.5 15 | max_poll_delay_millis: 45000 16 | total_poll_timeout_millis: 86400000 17 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicLro/basic-lro_service.yaml: -------------------------------------------------------------------------------- 1 | type: google.api.Service 2 | config_version: 3 3 | 4 | authentication: 5 | rules: 6 | - selector: 'testing.basiclro.BasicLro.*' 7 | oauth: 8 | canonical_scopes: |- 9 | scope1, 10 | scope2 11 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicLro/out/src/BasicLroClient.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'testing.basiconeof.BasicOneof' => [], 26 | ], 27 | ]; 28 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicOneof/out/src/resources/basic_oneof_rest_client_config.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'testing.basiconeof.BasicOneof' => [ 26 | 'AMethod' => [ 27 | 'method' => 'post', 28 | 'uriTemplate' => '/path:aMethod', 29 | 'body' => '*', 30 | ], 31 | ], 32 | ], 33 | 'numericEnums' => true, 34 | ]; 35 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicOneofNew/basic-oneof-new_gapic.yaml: -------------------------------------------------------------------------------- 1 | type: google.api.Service 2 | config_version: 3 3 | 4 | authentication: 5 | rules: 6 | - selector: 'testing.basic.BasicOneof.*' 7 | oauth: 8 | canonical_scopes: |- 9 | scope1, 10 | scope2 11 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicOneofNew/out/src/gapic_metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "schema": "1.0", 3 | "comment": "This file maps proto services\/RPCs to the corresponding library clients\/methods", 4 | "language": "php", 5 | "protoPackage": "testing.basiconeofnew", 6 | "libraryPackage": "Testing\\BasicOneofNew", 7 | "services": { 8 | "BasicOneofNew": { 9 | "clients": { 10 | "grpc": { 11 | "libraryClient": "BasicOneofNewGapicClient", 12 | "rpcs": { 13 | "AMethod": { 14 | "methods": [ 15 | "aMethod" 16 | ] 17 | } 18 | } 19 | } 20 | } 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicOneofNew/out/src/resources/basic_oneof_new_client_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "interfaces": { 3 | "testing.basiconeofnew.BasicOneofNew": { 4 | "retry_codes": { 5 | "idempotent": [ 6 | "DEADLINE_EXCEEDED", 7 | "UNAVAILABLE" 8 | ], 9 | "non_idempotent": [] 10 | }, 11 | "retry_params": { 12 | "default": { 13 | "initial_retry_delay_millis": 100, 14 | "retry_delay_multiplier": 1.3, 15 | "max_retry_delay_millis": 60000, 16 | "initial_rpc_timeout_millis": 20000, 17 | "rpc_timeout_multiplier": 1.0, 18 | "max_rpc_timeout_millis": 20000, 19 | "total_timeout_millis": 600000 20 | } 21 | }, 22 | "methods": { 23 | "AMethod": { 24 | "timeout_millis": 60000, 25 | "retry_codes_name": "non_idempotent", 26 | "retry_params_name": "default" 27 | } 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicOneofNew/out/src/resources/basic_oneof_new_descriptor_config.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'testing.basiconeofnew.BasicOneofNew' => [ 26 | 'AMethod' => [ 27 | 'callType' => \Google\ApiCore\Call::UNARY_CALL, 28 | 'responseType' => 'Testing\BasicOneofNew\Response', 29 | ], 30 | ], 31 | ], 32 | ]; 33 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicOneofNew/out/src/resources/basic_oneof_new_rest_client_config.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'testing.basiconeofnew.BasicOneofNew' => [ 26 | 'AMethod' => [ 27 | 'method' => 'post', 28 | 'uriTemplate' => '/path:aMethod', 29 | 'body' => '*', 30 | ], 31 | ], 32 | ], 33 | 'numericEnums' => true, 34 | ]; 35 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicPaginated/basic-paginated_gapic.yaml: -------------------------------------------------------------------------------- 1 | type: com.google.api.codegen.ConfigProto 2 | config_schema_version: 2.0.0 3 | language_settings: 4 | php: 5 | package_name: Testing\BasicPaginated 6 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicPaginated/basic-paginated_service.yaml: -------------------------------------------------------------------------------- 1 | type: google.api.Service 2 | config_version: 3 3 | 4 | authentication: 5 | rules: 6 | - selector: 'testing.basicpaginated.BasicPaginated.*' 7 | oauth: 8 | canonical_scopes: |- 9 | scope1, 10 | scope2 11 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicPaginated/out/src/gapic_metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "schema": "1.0", 3 | "comment": "This file maps proto services\/RPCs to the corresponding library clients\/methods", 4 | "language": "php", 5 | "protoPackage": "testing.basicpaginated", 6 | "libraryPackage": "Testing\\BasicPaginated", 7 | "services": { 8 | "BasicPaginated": { 9 | "clients": { 10 | "grpc": { 11 | "libraryClient": "BasicPaginatedGapicClient", 12 | "rpcs": { 13 | "MethodPaginated": { 14 | "methods": [ 15 | "methodPaginated" 16 | ] 17 | } 18 | } 19 | } 20 | } 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicPaginated/out/src/resources/basic_paginated_client_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "interfaces": { 3 | "testing.basicpaginated.BasicPaginated": { 4 | "retry_codes": { 5 | "idempotent": [ 6 | "DEADLINE_EXCEEDED", 7 | "UNAVAILABLE" 8 | ], 9 | "non_idempotent": [] 10 | }, 11 | "retry_params": { 12 | "default": { 13 | "initial_retry_delay_millis": 100, 14 | "retry_delay_multiplier": 1.3, 15 | "max_retry_delay_millis": 60000, 16 | "initial_rpc_timeout_millis": 20000, 17 | "rpc_timeout_multiplier": 1.0, 18 | "max_rpc_timeout_millis": 20000, 19 | "total_timeout_millis": 600000 20 | } 21 | }, 22 | "methods": { 23 | "MethodPaginated": { 24 | "timeout_millis": 60000, 25 | "retry_codes_name": "non_idempotent", 26 | "retry_params_name": "default" 27 | } 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicPaginated/out/src/resources/basic_paginated_rest_client_config.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'testing.basicpaginated.BasicPaginated' => [ 26 | 'MethodPaginated' => [ 27 | 'method' => 'post', 28 | 'uriTemplate' => '/path:methodPaginated', 29 | 'body' => '*', 30 | ], 31 | ], 32 | ], 33 | 'numericEnums' => true, 34 | ]; 35 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicServerStreaming/basic-server-streaming.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package testing.basicserverstreaming; 4 | 5 | option php_namespace = "Testing\\BasicServerStreaming"; 6 | 7 | import "google/api/annotations.proto"; 8 | import "google/api/client.proto"; 9 | import "google/api/field_behavior.proto"; 10 | 11 | service BasicServerStreaming { 12 | option (google.api.default_host) = "serverstreaming.example.com"; 13 | 14 | rpc MethodServer(Request) returns(stream Response) { 15 | option (google.api.http) = { 16 | post: "/path:serverStreaming" 17 | body: "*" 18 | }; 19 | }; 20 | 21 | rpc MethodEmpty(EmptyRequest) returns(stream Response); 22 | } 23 | 24 | message Request { 25 | int32 a_number = 1 [(google.api.field_behavior) = REQUIRED]; 26 | string a_string = 2; 27 | } 28 | 29 | message EmptyRequest { 30 | } 31 | 32 | message Response { 33 | } 34 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicServerStreaming/basic-server-streaming_gapic.yaml: -------------------------------------------------------------------------------- 1 | type: com.google.api.codegen.ConfigProto 2 | config_schema_version: 2.0.0 3 | language_settings: 4 | php: 5 | package_name: Testing\BasicServerStreaming 6 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicServerStreaming/out/src/gapic_metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "schema": "1.0", 3 | "comment": "This file maps proto services\/RPCs to the corresponding library clients\/methods", 4 | "language": "php", 5 | "protoPackage": "testing.basicserverstreaming", 6 | "libraryPackage": "Testing\\BasicServerStreaming", 7 | "services": { 8 | "BasicServerStreaming": { 9 | "clients": { 10 | "grpc": { 11 | "libraryClient": "BasicServerStreamingGapicClient", 12 | "rpcs": { 13 | "MethodEmpty": { 14 | "methods": [ 15 | "methodEmpty" 16 | ] 17 | }, 18 | "MethodServer": { 19 | "methods": [ 20 | "methodServer" 21 | ] 22 | } 23 | } 24 | } 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicServerStreaming/out/src/resources/basic_server_streaming_client_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "interfaces": { 3 | "testing.basicserverstreaming.BasicServerStreaming": { 4 | "retry_codes": { 5 | "idempotent": [ 6 | "DEADLINE_EXCEEDED", 7 | "UNAVAILABLE" 8 | ], 9 | "non_idempotent": [] 10 | }, 11 | "retry_params": { 12 | "default": { 13 | "initial_retry_delay_millis": 100, 14 | "retry_delay_multiplier": 1.3, 15 | "max_retry_delay_millis": 60000, 16 | "initial_rpc_timeout_millis": 20000, 17 | "rpc_timeout_multiplier": 1.0, 18 | "max_rpc_timeout_millis": 20000, 19 | "total_timeout_millis": 600000 20 | } 21 | }, 22 | "methods": { 23 | "MethodEmpty": { 24 | "timeout_millis": 60000 25 | }, 26 | "MethodServer": { 27 | "timeout_millis": 60000 28 | } 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/BasicServerStreaming/out/src/resources/basic_server_streaming_rest_client_config.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'testing.basicserverstreaming.BasicServerStreaming' => [ 26 | 'MethodServer' => [ 27 | 'method' => 'post', 28 | 'uriTemplate' => '/path:serverStreaming', 29 | 'body' => '*', 30 | ], 31 | ], 32 | ], 33 | 'numericEnums' => true, 34 | ]; 35 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/CustomLro/custom_lro.yaml: -------------------------------------------------------------------------------- 1 | type: google.api.Service 2 | config_version: 1 3 | name: customlro.example.com 4 | title: Custom LRO Example API 5 | 6 | # Included protobuf APIs 7 | apis: 8 | - name: testing.customlro.CustomLro 9 | - name: testing.customlro.CustomLroOperations 10 | 11 | # Documentation section 12 | documentation: 13 | summary: 14 | A simple Custom LRO Example API. 15 | 16 | # Auth section 17 | authentication: 18 | rules: 19 | - selector: '*' 20 | oauth: 21 | canonical_scopes: scope1, 22 | scope2 23 | 24 | # Backend section 25 | backend: 26 | rules: 27 | - selector: testing.customlro.CustomLro.CreateFoo 28 | deadline: 1.0 29 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/CustomLro/out/src/CustomLroClient.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'testing.customlro.CustomLroOperations' => [], 26 | ], 27 | ]; 28 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/CustomLroNew/custom_lro_new.yaml: -------------------------------------------------------------------------------- 1 | type: google.api.Service 2 | config_version: 1 3 | name: customlro.example.com 4 | title: Custom LRO Example API 5 | 6 | # Included protobuf APIs 7 | apis: 8 | - name: testing.customlro.CustomLro 9 | - name: testing.customlro.CustomLroOperations 10 | 11 | # Documentation section 12 | documentation: 13 | summary: 14 | A simple Custom LRO Example API. 15 | 16 | # Auth section 17 | authentication: 18 | rules: 19 | - selector: '*' 20 | oauth: 21 | canonical_scopes: scope1, 22 | scope2 23 | 24 | # Backend section 25 | backend: 26 | rules: 27 | - selector: testing.customlro.CustomLro.CreateFoo 28 | deadline: 1.0 29 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/CustomLroNew/out/fragments/Testing/CustomLroNew/GetOperationRequest.build.txt: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param string $project Project ID for this request. 4 | * @param string $region Name of the region for this request. 5 | * @param string $foo The foo from the initial request. 6 | * @param string $operation Name of the Operations resource to return. 7 | * 8 | * @return \Testing\CustomLroNew\GetOperationRequest 9 | * 10 | * @experimental 11 | */ 12 | public static function build(string $project, string $region, string $foo, string $operation): self 13 | { 14 | return (new self()) 15 | ->setProject($project) 16 | ->setRegion($region) 17 | ->setFoo($foo) 18 | ->setOperation($operation); 19 | } -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/CustomLroNew/out/src/resources/custom_lro_client_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "interfaces": { 3 | "testing.customlronew.CustomLro": { 4 | "retry_codes": { 5 | "idempotent": [ 6 | "DEADLINE_EXCEEDED", 7 | "UNAVAILABLE" 8 | ], 9 | "non_idempotent": [] 10 | }, 11 | "retry_params": { 12 | "default": { 13 | "initial_retry_delay_millis": 100, 14 | "retry_delay_multiplier": 1.3, 15 | "max_retry_delay_millis": 60000, 16 | "initial_rpc_timeout_millis": 20000, 17 | "rpc_timeout_multiplier": 1.0, 18 | "max_rpc_timeout_millis": 20000, 19 | "total_timeout_millis": 600000 20 | } 21 | }, 22 | "methods": { 23 | "CreateFoo": { 24 | "timeout_millis": 60000, 25 | "retry_codes_name": "non_idempotent", 26 | "retry_params_name": "default" 27 | } 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/DeprecatedService/deprecated_service.yaml: -------------------------------------------------------------------------------- 1 | type: google.api.Service 2 | config_version: 3 3 | 4 | authentication: 5 | rules: 6 | - selector: 'testing.deprecated.DeprecatedService.*' 7 | oauth: 8 | canonical_scopes: |- 9 | scope1, 10 | scope2 11 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/DeprecatedService/out/src/gapic_metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "schema": "1.0", 3 | "comment": "This file maps proto services\/RPCs to the corresponding library clients\/methods", 4 | "language": "php", 5 | "protoPackage": "testing.deprecated_service", 6 | "libraryPackage": "Testing\\Deprecated", 7 | "services": { 8 | "DeprecatedService": { 9 | "clients": { 10 | "grpc": { 11 | "libraryClient": "DeprecatedServiceGapicClient", 12 | "rpcs": { 13 | "FastFibonacci": { 14 | "methods": [ 15 | "fastFibonacci" 16 | ] 17 | }, 18 | "SlowFibonacci": { 19 | "methods": [ 20 | "slowFibonacci" 21 | ] 22 | } 23 | } 24 | } 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/DeprecatedService/out/src/resources/deprecated_service_descriptor_config.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'testing.deprecated_service.DeprecatedService' => [], 26 | ], 27 | ]; 28 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/DeprecatedService/out/src/resources/deprecated_service_rest_client_config.php: -------------------------------------------------------------------------------- 1 | [], 25 | 'numericEnums' => true, 26 | ]; 27 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/DiregapicPaginated/diregapic-paginated_gapic.yaml: -------------------------------------------------------------------------------- 1 | type: com.google.api.codegen.ConfigProto 2 | config_schema_version: 2.0.0 3 | language_settings: 4 | php: 5 | package_name: Testing\DiregapicPaginated 6 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/DiregapicPaginated/diregapic-paginated_service.yaml: -------------------------------------------------------------------------------- 1 | type: google.api.Service 2 | config_version: 3 3 | 4 | authentication: 5 | rules: 6 | - selector: 'testing.diregapic.BasicPaginated.*' 7 | oauth: 8 | canonical_scopes: |- 9 | scope1, 10 | scope2 11 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/DisableSnippets/disable_snippets.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package testing.disablesnippets; 4 | 5 | import "google/api/annotations.proto"; 6 | import "google/api/client.proto"; 7 | import "google/api/field_behavior.proto"; 8 | 9 | option php_namespace = "Testing\\DisableSnippets"; 10 | 11 | service DisableSnippets { 12 | option (google.api.default_host) = "disablesnippets.example.com"; 13 | 14 | rpc Method1(Request) returns (Response) { 15 | option (google.api.http) = { 16 | post: "/path:method1" 17 | body: "*" 18 | }; 19 | } 20 | } 21 | 22 | message Request { 23 | string test_field = 1 [(google.api.field_behavior) = REQUIRED]; 24 | } 25 | 26 | message Response { 27 | } 28 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/DisableSnippets/disable_snippets_gapic.yaml: -------------------------------------------------------------------------------- 1 | type: com.google.api.codegen.ConfigProto 2 | config_schema_version: 2.0.0 3 | language_settings: 4 | php: 5 | package_name: Testing\DisableSnippets 6 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/DisableSnippets/out/src/gapic_metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "schema": "1.0", 3 | "comment": "This file maps proto services\/RPCs to the corresponding library clients\/methods", 4 | "language": "php", 5 | "protoPackage": "testing.disablesnippets", 6 | "libraryPackage": "Testing\\DisableSnippets", 7 | "services": { 8 | "DisableSnippets": { 9 | "clients": { 10 | "grpc": { 11 | "libraryClient": "DisableSnippetsGapicClient", 12 | "rpcs": { 13 | "Method1": { 14 | "methods": [ 15 | "method1" 16 | ] 17 | } 18 | } 19 | } 20 | } 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/DisableSnippets/out/src/resources/disable_snippets_client_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "interfaces": { 3 | "testing.disablesnippets.DisableSnippets": { 4 | "retry_codes": { 5 | "idempotent": [ 6 | "DEADLINE_EXCEEDED", 7 | "UNAVAILABLE" 8 | ], 9 | "non_idempotent": [] 10 | }, 11 | "retry_params": { 12 | "default": { 13 | "initial_retry_delay_millis": 100, 14 | "retry_delay_multiplier": 1.3, 15 | "max_retry_delay_millis": 60000, 16 | "initial_rpc_timeout_millis": 20000, 17 | "rpc_timeout_multiplier": 1.0, 18 | "max_rpc_timeout_millis": 20000, 19 | "total_timeout_millis": 600000 20 | } 21 | }, 22 | "methods": { 23 | "Method1": { 24 | "timeout_millis": 60000, 25 | "retry_codes_name": "non_idempotent", 26 | "retry_params_name": "default" 27 | } 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/DisableSnippets/out/src/resources/disable_snippets_descriptor_config.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'testing.disablesnippets.DisableSnippets' => [], 26 | ], 27 | ]; 28 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/DisableSnippets/out/src/resources/disable_snippets_rest_client_config.php: -------------------------------------------------------------------------------- 1 | [ 25 | 'testing.disablesnippets.DisableSnippets' => [ 26 | 'Method1' => [ 27 | 'method' => 'post', 28 | 'uriTemplate' => '/path:method1', 29 | 'body' => '*', 30 | ], 31 | ], 32 | ], 33 | 'numericEnums' => true, 34 | ]; 35 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/GrpcServiceConfig/grpc-service-config.yaml: -------------------------------------------------------------------------------- 1 | type: google.api.Service 2 | config_version: 3 -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/GrpcServiceConfig/grpc-service-config2.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package testing.grpcserviceconfig; 4 | 5 | option php_namespace = "Testing\\GrpcServiceConfig"; 6 | 7 | import "google/api/annotations.proto"; 8 | import "google/api/client.proto"; 9 | 10 | service GrpcServiceConfigWithRetry2 { 11 | option (google.api.default_host) = "grpcserviceconfig.example.com"; 12 | 13 | rpc Method2A(Request2) returns (Response2) { 14 | option (google.api.http) = { 15 | post: "/path:method2A" 16 | body: "*" 17 | }; 18 | }; 19 | } 20 | 21 | message Request2 { 22 | } 23 | 24 | message Response2 { 25 | } 26 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/GrpcServiceConfig/grpc-service-config_gapic.yaml: -------------------------------------------------------------------------------- 1 | type: com.google.api.codegen.ConfigProto 2 | config_schema_version: 2.0.0 3 | language_settings: 4 | php: 5 | package_name: Testing\GrpcServiceConfig 6 | # List one of the two interfaces here, as this influences the generated json rest config. 7 | interfaces: 8 | - name: testing.grpcserviceconfig.GrpcServiceConfigWithRetry2 9 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/GrpcServiceConfigVision/vision_v1.yaml: -------------------------------------------------------------------------------- 1 | type: google.api.Service 2 | config_version: 3 3 | name: vision.googleapis.com 4 | title: Cloud Vision API 5 | 6 | authentication: 7 | rules: 8 | - selector: 'tests.ProtoTests.GrpcServiceConfigVision.ImageAnnotator.*' 9 | oauth: 10 | canonical_scopes: |- 11 | https://www.googleapis.com/auth/cloud-platform, 12 | https://www.googleapis.com/auth/cloud-vision 13 | - selector: 'tests.ProtoTests.GrpcServiceConfigVision.ProductSearch.*' 14 | oauth: 15 | canonical_scopes: |- 16 | https://www.googleapis.com/auth/cloud-platform, 17 | https://www.googleapis.com/auth/cloud-vision 18 | - selector: 'google.longrunning.Operations.*' 19 | oauth: 20 | canonical_scopes: |- 21 | https://www.googleapis.com/auth/cloud-platform, 22 | https://www.googleapis.com/auth/cloud-vision 23 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/Keywords/keywords.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package testing.keywords; 4 | 5 | option php_namespace = "Testing\\Keywords"; 6 | 7 | import "google/api/annotations.proto"; 8 | import "google/api/client.proto"; 9 | import "google/api/resource.proto"; 10 | 11 | service Keywords { 12 | option (google.api.default_host) = "keywords.example.com"; 13 | 14 | rpc Method1(Request) returns(Response) { 15 | option (google.api.http) = { 16 | post: "/path:method1" 17 | body: "*" 18 | }; 19 | } 20 | 21 | rpc Method2(Resource) returns(Response) { 22 | option (google.api.http) = { 23 | post: "/path:method2" 24 | body: "*" 25 | }; 26 | } 27 | } 28 | 29 | message Resource { 30 | option (google.api.resource) = { 31 | type: "keywords.example.com/Resource" 32 | pattern: "items/{item_id}" 33 | name_field: "while" 34 | }; 35 | string while = 1; 36 | } 37 | 38 | message Request { 39 | string function = 1 [(google.api.resource_reference).type = "keywords.example.com/Resource"]; 40 | int32 switch = 2; 41 | string request = 3; // Also check a field named the same as the enclosing message. 42 | } 43 | 44 | message Response{ 45 | } 46 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/Keywords/keywords_gapic.yaml: -------------------------------------------------------------------------------- 1 | type: com.google.api.codegen.ConfigProto 2 | config_schema_version: 2.0.0 3 | language_settings: 4 | php: 5 | package_name: Testing\Keywords 6 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/ProtoDocs/proto-docs.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package testing.protodocs; 4 | 5 | option php_namespace = "Testing\\ProtoDocs"; 6 | 7 | import "google/api/annotations.proto"; 8 | import "google/api/client.proto"; 9 | import "google/api/field_behavior.proto"; 10 | 11 | // Doc lines 12 | // before service 13 | service ProtoDocs { 14 | option (google.api.default_host) = "protodocs.example.com"; 15 | 16 | // Doc lines 17 | // before method 18 | rpc Method1(Request) returns(Response) { 19 | option (google.api.http) = { 20 | post: "/path:method1" 21 | body: "*" 22 | }; 23 | } 24 | // and after method. 25 | 26 | } 27 | // and after service. 28 | 29 | message Request { 30 | // Single Doc line before field. 31 | string field1 = 1; 32 | 33 | // Multiple doc lines 34 | // before a field. 35 | string field2 = 2; 36 | 37 | string field3 = 3; // Doc after field on same line. 38 | 39 | string field4 = 4; 40 | // Doc single line after field. 41 | 42 | string field5 = 5; 43 | // Multiple doc lines 44 | // after field. 45 | 46 | // Doc lines 47 | // before 48 | string field6 = 6; 49 | // and after 50 | // field. 51 | 52 | // Doc lines before, 53 | string field7 = 7; // and together with, 54 | // and after the field. 55 | } 56 | 57 | message Response { 58 | } 59 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/ProtoDocs/proto-docs_gapic.yaml: -------------------------------------------------------------------------------- 1 | type: com.google.api.codegen.ConfigProto 2 | config_schema_version: 2.0.0 3 | language_settings: 4 | php: 5 | package_name: Testing\ProtoDocs 6 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/ResourceNames/resource-names_gapic.yaml: -------------------------------------------------------------------------------- 1 | type: com.google.api.codegen.ConfigProto 2 | config_schema_version: 2.0.0 3 | language_settings: 4 | php: 5 | package_name: Testing\ResourceNames 6 | -------------------------------------------------------------------------------- /tests/Unit/ProtoTests/RoutingHeaders/routing-headers_gapic.yaml: -------------------------------------------------------------------------------- 1 | type: com.google.api.codegen.ConfigProto 2 | config_schema_version: 2.0.0 3 | language_settings: 4 | php: 5 | package_name: Testing\RoutingHeaders 6 | -------------------------------------------------------------------------------- /tests/Unit/Utils/HelpersTest.php: -------------------------------------------------------------------------------- 1 | assertEquals($expectedString, Helpers::prependDot($testString)); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /tests/Unit/Utils/TypeTest.php: -------------------------------------------------------------------------------- 1 | assertTrue($type->isClass()); 30 | $this->assertEquals('A\\B', $type->getNamespace()); 31 | $this->assertEquals('MyType', $type->name); 32 | $this->assertEquals('\\A\\B\\MyType', $type->getFullname()); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /tests/Unit/Utils/catalog.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | // Test proto for reading source comments 4 | package foo; 5 | 6 | // Svc 1 7 | // Svc 2 8 | service Svc { 9 | // Method 1 10 | // Method 2 11 | rpc AMethod(Msg) returns(Msg); 12 | } 13 | 14 | // Msg 1 15 | // Msg 2 16 | message Msg { 17 | // Inner 1 18 | // Inner 2 19 | message InnerMsg { 20 | // Inner field 1 21 | // Inner field 2 22 | int32 a_number = 1; 23 | } 24 | 25 | // Field 1 26 | // Field 2 27 | string a_string = 1; 28 | 29 | // Inner enum 30 | enum InnerEnm { 31 | INNER_ENM1 = 0; 32 | INNER_ENM2 = 1; 33 | } 34 | } 35 | 36 | // Enum 37 | enum Enm { 38 | ENM_1 = 0; 39 | ENM_2 = 1; 40 | } 41 | -------------------------------------------------------------------------------- /tests/Unit/Utils/comments.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | // Test proto for reading source comments 4 | 5 | // Svc 1 6 | // Svc 2 7 | service Svc { 8 | // Method 1 9 | // Method 2 10 | rpc AMethod(Msg) returns(Msg); 11 | } 12 | 13 | // Msg 1 14 | // Msg 2 15 | message Msg { 16 | // Inner 1 17 | // Inner 2 18 | message InnerMsg { 19 | // Inner field 1 20 | // Inner field 2 21 | int32 a_number = 1; 22 | } 23 | 24 | // Field 1 25 | // Field 2 26 | string a_string = 1; 27 | } 28 | -------------------------------------------------------------------------------- /tests/Unit/Utils/custom_options.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | // Test proto for reading custom options 4 | 5 | import "google/protobuf/descriptor.proto"; 6 | 7 | extend google.protobuf.FileOptions { 8 | int32 int_option = 2000; 9 | string string_option = 2001; 10 | repeated int32 repeated_int_option = 2002; 11 | repeated string repeated_string_option = 2003; 12 | } 13 | 14 | option (int_option) = 42; 15 | option (string_option) = "stringy"; 16 | option (repeated_int_option) = 8; 17 | option (repeated_int_option) = 9; 18 | option (repeated_int_option) = 10; 19 | option (repeated_string_option) = "s1"; 20 | option (repeated_string_option) = "s2"; 21 | -------------------------------------------------------------------------------- /tests/scripts/run_bazel_tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Usage: ./run_bazel_tests.sh 4 | 5 | # This runs the bazel test commands, ex: 6 | # bazel test //tests/Integration:asset && \ 7 | # bazel test //tests/Integration:compute_small 8 | # etc 9 | 10 | echo "Running bazel tests" 11 | 12 | BAZELISK_CMD="bazelisk" 13 | 14 | $BAZELISK_CMD test //tests/Integration:asset && \ 15 | $BAZELISK_CMD test //tests/Integration:compute_small && \ 16 | $BAZELISK_CMD test //tests/Integration:container && \ 17 | $BAZELISK_CMD test //tests/Integration:dataproc && \ 18 | $BAZELISK_CMD test //tests/Integration:functions && \ 19 | $BAZELISK_CMD test //tests/Integration:kms && \ 20 | $BAZELISK_CMD test //tests/Integration:iam && \ 21 | $BAZELISK_CMD test //tests/Integration:logging && \ 22 | $BAZELISK_CMD test //tests/Integration:redis && \ 23 | $BAZELISK_CMD test //tests/Integration:retail && \ 24 | $BAZELISK_CMD test //tests/Integration:speech && \ 25 | $BAZELISK_CMD test //tests/Integration:securitycenter && \ 26 | $BAZELISK_CMD test //tests/Integration:talent && \ 27 | $BAZELISK_CMD test //tests/Integration:videointelligence 28 | -------------------------------------------------------------------------------- /tools/protoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/googleapis/gapic-generator-php/e667743b337385a8c7e0f8b167f3748c06f24f21/tools/protoc -------------------------------------------------------------------------------- /validation/intjson.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2021 Google LLC 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // https://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | // Forked from 16 | // https://github.com/vchudnov-g/intjson/blob/main/proto/intjson.proto 17 | // PHP sources generated with 18 | // protoc --php_out=/path/to/outdir validation/intjson.proto 19 | 20 | syntax = "proto3"; 21 | 22 | option php_namespace = "Google\\Validation\\Intjson"; 23 | package intjson; 24 | 25 | message Numbers { 26 | string label = 1; 27 | int64 signed64 = 2; 28 | uint64 unsigned64 = 3; 29 | int32 signed32 = 4; 30 | uint32 unsigned32 = 5; 31 | } 32 | -------------------------------------------------------------------------------- /version.txt: -------------------------------------------------------------------------------- 1 | 1.20.1 2 | --------------------------------------------------------------------------------