apis = $apis; } /** * @return Api[] */ public function getApis() { return $this->apis; } /** * Configuration aspects. This is a repeated field to allow multiple aspects * to be configured. The kind field in each ConfigAspect specifies the type of * aspect. The spec field contains the configuration for that aspect. The * schema for the spec field is defined by the backend service owners. * * @param Aspect[] $aspects */ public function setAspects($aspects) { $this->aspects = $aspects; } /** * @return Aspect[] */ public function getAspects() { return $this->aspects; } /** * Auth configuration. * * @param Authentication $authentication */ public function setAuthentication(Authentication $authentication) { $this->authentication = $authentication; } /** * @return Authentication */ public function getAuthentication() { return $this->authentication; } /** * API backend configuration. * * @param Backend $backend */ public function setBackend(Backend $backend) { $this->backend = $backend; } /** * @return Backend */ public function getBackend() { return $this->backend; } /** * Billing configuration. * * @param Billing $billing */ public function setBilling(Billing $billing) { $this->billing = $billing; } /** * @return Billing */ public function getBilling() { return $this->billing; } /** * Obsolete. Do not use. This field has no semantic meaning. The service * config compiler always sets this field to `3`. * * @param string $configVersion */ public function setConfigVersion($configVersion) { $this->configVersion = $configVersion; } /** * @return string */ public function getConfigVersion() { return $this->configVersion; } /** * Context configuration. * * @param Context $context */ public function setContext(Context $context) { $this->context = $context; } /** * @return Context */ public function getContext() { return $this->context; } /** * Configuration for the service control plane. * * @param Control $control */ public function setControl(Control $control) { $this->control = $control; } /** * @return Control */ public function getControl() { return $this->control; } /** * Custom error configuration. * * @param CustomError $customError */ public function setCustomError(CustomError $customError) { $this->customError = $customError; } /** * @return CustomError */ public function getCustomError() { return $this->customError; } /** * Additional API documentation. * * @param Documentation $documentation */ public function setDocumentation(Documentation $documentation) { $this->documentation = $documentation; } /** * @return Documentation */ public function getDocumentation() { return $this->documentation; } /** * Configuration for network endpoints. If this is empty, then an endpoint * with the same name as the service is automatically generated to service all * defined APIs. * * @param Endpoint[] $endpoints */ public function setEndpoints($endpoints) { $this->endpoints = $endpoints; } /** * @return Endpoint[] */ public function getEndpoints() { return $this->endpoints; } /** * A list of all enum types included in this API service. Enums referenced * directly or indirectly by the `apis` are automatically included. Enums * which are not referenced but shall be included should be listed here by * name by the configuration author. Example: enums: - name: * google.someapi.v1.SomeEnum * * @param Enum[] $enums */ public function setEnums($enums) { $this->enums = $enums; } /** * @return Enum[] */ public function getEnums() { return $this->enums; } /** * HTTP configuration. * * @param Http $http */ public function setHttp(Http $http) { $this->http = $http; } /** * @return Http */ public function getHttp() { return $this->http; } /** * A unique ID for a specific instance of this message, typically assigned by * the client for tracking purpose. Must be no longer than 63 characters and * only lower case letters, digits, '.', '_' and '-' are allowed. If empty, * the server may choose to generate one instead. * * @param string $id */ public function setId($id) { $this->id = $id; } /** * @return string */ public function getId() { return $this->id; } /** * Logging configuration. * * @param Logging $logging */ public function setLogging(Logging $logging) { $this->logging = $logging; } /** * @return Logging */ public function getLogging() { return $this->logging; } /** * Defines the logs used by this service. * * @param LogDescriptor[] $logs */ public function setLogs($logs) { $this->logs = $logs; } /** * @return LogDescriptor[] */ public function getLogs() { return $this->logs; } /** * Defines the metrics used by this service. * * @param MetricDescriptor[] $metrics */ public function setMetrics($metrics) { $this->metrics = $metrics; } /** * @return MetricDescriptor[] */ public function getMetrics() { return $this->metrics; } /** * Defines the monitored resources used by this service. This is required by * the Service.monitoring and Service.logging configurations. * * @param MonitoredResourceDescriptor[] $monitoredResources */ public function setMonitoredResources($monitoredResources) { $this->monitoredResources = $monitoredResources; } /** * @return MonitoredResourceDescriptor[] */ public function getMonitoredResources() { return $this->monitoredResources; } /** * Monitoring configuration. * * @param Monitoring $monitoring */ public function setMonitoring(Monitoring $monitoring) { $this->monitoring = $monitoring; } /** * @return Monitoring */ public function getMonitoring() { return $this->monitoring; } /** * The service name, which is a DNS-like logical identifier for the service, * such as `calendar.googleapis.com`. The service name typically goes through * DNS verification to make sure the owner of the service also owns the DNS * name. * * @param string $name */ public function setName($name) { $this->name = $name; } /** * @return string */ public function getName() { return $this->name; } /** * The Google project that owns this service. * * @param string $producerProjectId */ public function setProducerProjectId($producerProjectId) { $this->producerProjectId = $producerProjectId; } /** * @return string */ public function getProducerProjectId() { return $this->producerProjectId; } /** * Settings for [Google Cloud Client * libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) * generated from APIs defined as protocol buffers. * * @param Publishing $publishing */ public function setPublishing(Publishing $publishing) { $this->publishing = $publishing; } /** * @return Publishing */ public function getPublishing() { return $this->publishing; } /** * Quota configuration. * * @param Quota $quota */ public function setQuota(Quota $quota) { $this->quota = $quota; } /** * @return Quota */ public function getQuota() { return $this->quota; } /** * Output only. The source information for this configuration if available. * * @param SourceInfo $sourceInfo */ public function setSourceInfo(SourceInfo $sourceInfo) { $this->sourceInfo = $sourceInfo; } /** * @return SourceInfo */ public function getSourceInfo() { return $this->sourceInfo; } /** * System parameter configuration. * * @param SystemParameters $systemParameters */ public function setSystemParameters(SystemParameters $systemParameters) { $this->systemParameters = $systemParameters; } /** * @return SystemParameters */ public function getSystemParameters() { return $this->systemParameters; } /** * A list of all proto message types included in this API service. It serves * similar purpose as [google.api.Service.types], except that these types are * not needed by user-defined APIs. Therefore, they will not show up in the * generated discovery doc. This field should only be used to define system * APIs in ESF. * * @param Type[] $systemTypes */ public function setSystemTypes($systemTypes) { $this->systemTypes = $systemTypes; } /** * @return Type[] */ public function getSystemTypes() { return $this->systemTypes; } /** * The product title for this service, it is the name displayed in Google * Cloud Console. * * @param string $title */ public function setTitle($title) { $this->title = $title; } /** * @return string */ public function getTitle() { return $this->title; } /** * A list of all proto message types included in this API service. Types * referenced directly or indirectly by the `apis` are automatically included. * Messages which are not referenced but shall be included, such as types used * by the `google.protobuf.Any` type, should be listed here by name by the * configuration author. Example: types: - name: google.protobuf.Int32 * * @param Type[] $types */ public function setTypes($types) { $this->types = $types; } /** * @return Type[] */ public function getTypes() { return $this->types; } /** * Configuration controlling usage of this service. * * @param Usage $usage */ public function setUsage(Usage $usage) { $this->usage = $usage; } /** * @return Usage */ public function getUsage() { return $this->usage; } } // Adding a class alias for backwards compatibility with the previous class name. class_alias(Service::class, 'Google_Service_ServiceNetworking_Service');