├── .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 |
--------------------------------------------------------------------------------