# Copyright 2015 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. require 'google/apis/core/base_service' require 'google/apis/core/json_representation' require 'google/apis/core/hashable' require 'google/apis/errors' module Google module Apis module FirebaseV1beta1 # Firebase Management API # # The Firebase Management API enables programmatic setup and management of # Firebase projects, including a project's Firebase resources and Firebase apps. # # @example # require 'google/apis/firebase_v1beta1' # # Firebase = Google::Apis::FirebaseV1beta1 # Alias the module # service = Firebase::FirebaseManagementService.new # # @see https://firebase.google.com class FirebaseManagementService < Google::Apis::Core::BaseService # @return [String] # API key. Your API key identifies your project and provides you with API access, # quota, and reports. Required unless you provide an OAuth 2.0 token. attr_accessor :key # @return [String] # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. attr_accessor :quota_user def initialize super('https://firebase.googleapis.com/', '') @batch_path = 'batch' end # Lists each [Google Cloud Platform (GCP) `Project`] (https://cloud.google.com/ # resource-manager/reference/rest/v1/projects) that can have Firebase resources # added to it. A Project will only be listed if: - The caller has sufficient [ # Google IAM](https://cloud.google.com/iam) permissions to call AddFirebase. - # The Project is not already a FirebaseProject. - The Project is not in an # Organization which has policies that prevent Firebase resources from being # added. # @param [Fixnum] page_size # The maximum number of Projects to return in the response. The server may # return fewer than this value at its discretion. If no value is specified (or # too large a value is specified), the server will impose its own limit. This # value cannot be negative. # @param [String] page_token # Token returned from a previous call to `ListAvailableProjects` indicating # where in the set of Projects to resume listing. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::ListAvailableProjectsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::ListAvailableProjectsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_available_projects(page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/availableProjects', options) command.response_representation = Google::Apis::FirebaseV1beta1::ListAvailableProjectsResponse::Representation command.response_class = Google::Apis::FirebaseV1beta1::ListAvailableProjectsResponse command.query['pageSize'] = page_size unless page_size.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Gets the latest state of a long-running operation. Clients can use this method # to poll the operation result at intervals as recommended by the API service. # @param [String] name # The name of the operation resource. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_operation(name, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/{+name}', options) command.response_representation = Google::Apis::FirebaseV1beta1::Operation::Representation command.response_class = Google::Apis::FirebaseV1beta1::Operation command.params['name'] = name unless name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Adds Firebase resources to the specified existing [Google Cloud Platform (GCP) # `Project`] (https://cloud.google.com/resource-manager/reference/rest/v1/ # projects). Since a FirebaseProject is actually also a GCP `Project`, a ` # FirebaseProject` has the same underlying GCP identifiers (`projectNumber` and ` # projectId`). This allows for easy interop with Google APIs. The result of this # call is an [`Operation`](../../v1beta1/operations). Poll the `Operation` to # track the provisioning process by calling GetOperation until [`done`](../../ # v1beta1/operations#Operation.FIELDS.done) is `true`. When `done` is `true`, # the `Operation` has either succeeded or failed. If the `Operation` succeeded, # its [`response`](../../v1beta1/operations#Operation.FIELDS.response) is set to # a FirebaseProject; if the `Operation` failed, its [`error`](../../v1beta1/ # operations#Operation.FIELDS.error) is set to a google.rpc.Status. The ` # Operation` is automatically deleted after completion, so there is no need to # call DeleteOperation. This method does not modify any billing account # information on the underlying GCP `Project`. To call `AddFirebase`, a project # member or service account must have the following permissions (the IAM roles # of Editor and Owner contain these permissions): `firebase.projects.update`, ` # resourcemanager.projects.get`, `serviceusage.services.enable`, and ` # serviceusage.services.get`. # @param [String] project # The resource name of the GCP `Project` to which Firebase resources will be # added, in the format: projects/PROJECT_IDENTIFIER Refer to the ` # FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for # details about PROJECT_IDENTIFIER values. After calling `AddFirebase`, the # unique Project identifiers ( [`projectNumber`](https://cloud.google.com/ # resource-manager/reference/rest/v1/projects#Project.FIELDS.project_number) and # [`projectId`](https://cloud.google.com/resource-manager/reference/rest/v1/ # projects#Project.FIELDS.project_id)) of the underlying GCP `Project` are also # the identifiers of the FirebaseProject. # @param [Google::Apis::FirebaseV1beta1::AddFirebaseRequest] add_firebase_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_project_firebase(project, add_firebase_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1beta1/{+project}:addFirebase', options) command.request_representation = Google::Apis::FirebaseV1beta1::AddFirebaseRequest::Representation command.request_object = add_firebase_request_object command.response_representation = Google::Apis::FirebaseV1beta1::Operation::Representation command.response_class = Google::Apis::FirebaseV1beta1::Operation command.params['project'] = project unless project.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Links the specified FirebaseProject with an existing [Google Analytics account] # (http://www.google.com/analytics/). Using this call, you can either: - Specify # an `analyticsAccountId` to provision a new Google Analytics property within # the specified account and associate the new property with the `FirebaseProject` # . - Specify an existing `analyticsPropertyId` to associate the property with # the `FirebaseProject`. Note that when you call `AddGoogleAnalytics`: 1. The # first check determines if any existing data streams in the Google Analytics # property correspond to any existing Firebase Apps in the `FirebaseProject` ( # based on the `packageName` or `bundleId` associated with the data stream). # Then, as applicable, the data streams and apps are linked. Note that this auto- # linking only applies to `AndroidApps` and `IosApps`. 2. If no corresponding # data streams are found for the Firebase Apps, new data streams are provisioned # in the Google Analytics property for each of the Firebase Apps. Note that a # new data stream is always provisioned for a Web App even if it was previously # associated with a data stream in the Analytics property. Learn more about the # hierarchy and structure of Google Analytics accounts in the [Analytics # documentation](https://support.google.com/analytics/answer/9303323). The # result of this call is an [`Operation`](../../v1beta1/operations). Poll the ` # Operation` to track the provisioning process by calling GetOperation until [` # done`](../../v1beta1/operations#Operation.FIELDS.done) is `true`. When `done` # is `true`, the `Operation` has either succeeded or failed. If the `Operation` # succeeded, its [`response`](../../v1beta1/operations#Operation.FIELDS.response) # is set to an AnalyticsDetails; if the `Operation` failed, its [`error`](../../ # v1beta1/operations#Operation.FIELDS.error) is set to a google.rpc.Status. To # call `AddGoogleAnalytics`, a project member must be an Owner for the existing ` # FirebaseProject` and have the [`Edit` permission](https://support.google.com/ # analytics/answer/2884495) for the Google Analytics account. If the ` # FirebaseProject` already has Google Analytics enabled, and you call ` # AddGoogleAnalytics` using an `analyticsPropertyId` that's different from the # currently associated property, then the call will fail. Analytics may have # already been enabled in the Firebase console or by specifying `timeZone` and ` # regionCode` in the call to [`AddFirebase`](../../v1beta1/projects/addFirebase). # @param [String] parent # The resource name of the FirebaseProject to link to an existing Google # Analytics account, in the format: projects/PROJECT_IDENTIFIER Refer to the ` # FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for # details about PROJECT_IDENTIFIER values. # @param [Google::Apis::FirebaseV1beta1::AddGoogleAnalyticsRequest] add_google_analytics_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_project_google_analytics(parent, add_google_analytics_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1beta1/{+parent}:addGoogleAnalytics', options) command.request_representation = Google::Apis::FirebaseV1beta1::AddGoogleAnalyticsRequest::Representation command.request_object = add_google_analytics_request_object command.response_representation = Google::Apis::FirebaseV1beta1::Operation::Representation command.response_class = Google::Apis::FirebaseV1beta1::Operation command.params['parent'] = parent unless parent.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Gets the specified FirebaseProject. # @param [String] name # The resource name of the FirebaseProject, in the format: projects/ # PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects# # FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::FirebaseProject] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::FirebaseProject] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_project(name, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/{+name}', options) command.response_representation = Google::Apis::FirebaseV1beta1::FirebaseProject::Representation command.response_class = Google::Apis::FirebaseV1beta1::FirebaseProject command.params['name'] = name unless name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Gets the configuration artifact associated with the specified FirebaseProject, # which can be used by servers to simplify initialization. Typically, this # configuration is used with the Firebase Admin SDK [initializeApp](https:// # firebase.google.com/docs/admin/setup#initialize_the_sdk) command. # @param [String] name # The resource name of the FirebaseProject, in the format: projects/ # PROJECT_IDENTIFIER/adminSdkConfig Refer to the `FirebaseProject` [`name`](../ # projects#FirebaseProject.FIELDS.name) field for details about # PROJECT_IDENTIFIER values. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::AdminSdkConfig] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::AdminSdkConfig] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_project_admin_sdk_config(name, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/{+name}', options) command.response_representation = Google::Apis::FirebaseV1beta1::AdminSdkConfig::Representation command.response_class = Google::Apis::FirebaseV1beta1::AdminSdkConfig command.params['name'] = name unless name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Gets the Google Analytics details currently associated with the specified # FirebaseProject. If the `FirebaseProject` is not yet linked to Google # Analytics, then the response to `GetAnalyticsDetails` is `NOT_FOUND`. # @param [String] name # The resource name of the FirebaseProject, in the format: projects/ # PROJECT_IDENTIFIER/analyticsDetails Refer to the `FirebaseProject` [`name`](../ # projects#FirebaseProject.FIELDS.name) field for details about # PROJECT_IDENTIFIER values. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::AnalyticsDetails] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::AnalyticsDetails] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_project_analytics_details(name, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/{+name}', options) command.response_representation = Google::Apis::FirebaseV1beta1::AnalyticsDetails::Representation command.response_class = Google::Apis::FirebaseV1beta1::AnalyticsDetails command.params['name'] = name unless name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Lists each FirebaseProject accessible to the caller. The elements are returned # in no particular order, but they will be a consistent view of the Projects # when additional requests are made with a `pageToken`. This method is # eventually consistent with Project mutations, which means newly provisioned # Projects and recent modifications to existing Projects might not be reflected # in the set of Projects. The list will include only ACTIVE Projects. Use # GetFirebaseProject for consistent reads as well as for additional Project # details. # @param [Fixnum] page_size # The maximum number of Projects to return in the response. The server may # return fewer than this at its discretion. If no value is specified (or too # large a value is specified), the server will impose its own limit. This value # cannot be negative. # @param [String] page_token # Token returned from a previous call to `ListFirebaseProjects` indicating where # in the set of Projects to resume listing. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::ListFirebaseProjectsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::ListFirebaseProjectsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_projects(page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/projects', options) command.response_representation = Google::Apis::FirebaseV1beta1::ListFirebaseProjectsResponse::Representation command.response_class = Google::Apis::FirebaseV1beta1::ListFirebaseProjectsResponse command.query['pageSize'] = page_size unless page_size.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Updates the attributes of the specified FirebaseProject. All [query parameters] # (#query-parameters) are required. # @param [String] name # The resource name of the Project, in the format: projects/PROJECT_IDENTIFIER # PROJECT_IDENTIFIER: the Project's [`ProjectNumber`](../projects# # FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [`ProjectId`] # (../projects#FirebaseProject.FIELDS.project_id). Learn more about using # project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/ # cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response body # will be the `ProjectId`. # @param [Google::Apis::FirebaseV1beta1::FirebaseProject] firebase_project_object # @param [String] update_mask # Specifies which fields to update. If this list is empty, then no state will be # updated. Note that the fields `name`, `projectId`, and `projectNumber` are all # immutable. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::FirebaseProject] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::FirebaseProject] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_project(name, firebase_project_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:patch, 'v1beta1/{+name}', options) command.request_representation = Google::Apis::FirebaseV1beta1::FirebaseProject::Representation command.request_object = firebase_project_object command.response_representation = Google::Apis::FirebaseV1beta1::FirebaseProject::Representation command.response_class = Google::Apis::FirebaseV1beta1::FirebaseProject command.params['name'] = name unless name.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Unlinks the specified FirebaseProject from its Google Analytics account. This # call removes the association of the specified `FirebaseProject` with its # current Google Analytics property. However, this call does not delete the # Google Analytics resources, such as the Google Analytics property or any data # streams. These resources may be re-associated later to the `FirebaseProject` # by calling [`AddGoogleAnalytics`](../../v1beta1/projects/addGoogleAnalytics) # and specifying the same `analyticsPropertyId`. For Android Apps and iOS Apps, # this call re-links data streams with their corresponding apps. However, for # Web Apps, this call provisions a *new* data stream for each Web App. To call ` # RemoveAnalytics`, a project member must be an Owner for the `FirebaseProject`. # @param [String] parent # The resource name of the FirebaseProject to unlink from its Google Analytics # account, in the format: projects/PROJECT_IDENTIFIER Refer to the ` # FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for # details about PROJECT_IDENTIFIER values. # @param [Google::Apis::FirebaseV1beta1::RemoveAnalyticsRequest] remove_analytics_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::Empty] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::Empty] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_project_analytics(parent, remove_analytics_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1beta1/{+parent}:removeAnalytics', options) command.request_representation = Google::Apis::FirebaseV1beta1::RemoveAnalyticsRequest::Representation command.request_object = remove_analytics_request_object command.response_representation = Google::Apis::FirebaseV1beta1::Empty::Representation command.response_class = Google::Apis::FirebaseV1beta1::Empty command.params['parent'] = parent unless parent.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Lists all available Apps for the specified FirebaseProject. This is a # convenience method. Typically, interaction with an App should be done using # the platform-specific service, but some tool use-cases require a summary of # all known Apps (such as for App selector interfaces). # @param [String] parent # The parent FirebaseProject for which to list Apps, in the format: projects/ # PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects# # FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values. # @param [String] filter # A query string compatible with Google's [AIP-160](https://google.aip.dev/160) # standard. Use any of the following fields in a query: * [`app_id`](../projects. # apps#FirebaseAppInfo.FIELDS.app_id) * [`namespace`](../projects.apps# # FirebaseAppInfo.FIELDS.namespace) * [`platform`](../projects.apps# # FirebaseAppInfo.FIELDS.platform) We also support the following "virtual" # fields (fields which are not actually part of the returned resource object, # but can be queried as if they are pre-populated with specific values): * ` # sha1_hash`: This field is considered to be a repeated `string` field, # populated with the list of all SHA-1 certificate fingerprints registered with # the app. This list is empty if the app is not an Android app. * `sha256_hash`: # This field is considered to be a repeated `string` field, populated with the # list of all SHA-256 certificate fingerprints registered with the app. This # list is empty if the app is not an Android app. * `app_store_id`: This field # is considered to be a singular `string` field, populated with the Apple App # Store ID registered with the app. This field is empty if the app is not an iOS # app. * `team_id`: This field is considered to be a singular `string` field, # populated with the Apple team ID registered with the app. This field is empty # if the app is not an iOS app. # @param [Fixnum] page_size # The maximum number of Apps to return in the response. The server may return # fewer than this value at its discretion. If no value is specified (or too # large a value is specified), then the server will impose its own limit. This # value cannot be negative. # @param [String] page_token # Token returned from a previous call to `SearchFirebaseApps` indicating where # in the set of Apps to resume listing. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::SearchFirebaseAppsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::SearchFirebaseAppsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def search_project_apps(parent, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/{+parent}:searchApps', options) command.response_representation = Google::Apis::FirebaseV1beta1::SearchFirebaseAppsResponse::Representation command.response_class = Google::Apis::FirebaseV1beta1::SearchFirebaseAppsResponse command.params['parent'] = parent unless parent.nil? command.query['filter'] = filter unless filter.nil? command.query['pageSize'] = page_size unless page_size.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Requests the creation of a new AndroidApp in the specified FirebaseProject. # The result of this call is an `Operation` which can be used to track the # provisioning process. The `Operation` is automatically deleted after # completion, so there is no need to call `DeleteOperation`. # @param [String] parent # The resource name of the parent FirebaseProject in which to create an # AndroidApp, in the format: projects/PROJECT_IDENTIFIER/androidApps Refer to # the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field # for details about PROJECT_IDENTIFIER values. # @param [Google::Apis::FirebaseV1beta1::AndroidApp] android_app_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def create_project_android_app(parent, android_app_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1beta1/{+parent}/androidApps', options) command.request_representation = Google::Apis::FirebaseV1beta1::AndroidApp::Representation command.request_object = android_app_object command.response_representation = Google::Apis::FirebaseV1beta1::Operation::Representation command.response_class = Google::Apis::FirebaseV1beta1::Operation command.params['parent'] = parent unless parent.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Gets the specified AndroidApp. # @param [String] name # The resource name of the AndroidApp, in the format: projects/ # PROJECT_IDENTIFIER/androidApps/APP_ID Since an APP_ID is a unique identifier, # the Unique Resource from Sub-Collection access pattern may be used here, in # the format: projects/-/androidApps/APP_ID Refer to the `AndroidApp` [`name`](.. # /projects.androidApps#AndroidApp.FIELDS.name) field for details about # PROJECT_IDENTIFIER and APP_ID values. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::AndroidApp] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::AndroidApp] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_project_android_app(name, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/{+name}', options) command.response_representation = Google::Apis::FirebaseV1beta1::AndroidApp::Representation command.response_class = Google::Apis::FirebaseV1beta1::AndroidApp command.params['name'] = name unless name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Gets the configuration artifact associated with the specified AndroidApp. # @param [String] name # The resource name of the AndroidApp configuration to download, in the format: # projects/PROJECT_IDENTIFIER/androidApps/APP_ID/config Since an APP_ID is a # unique identifier, the Unique Resource from Sub-Collection access pattern may # be used here, in the format: projects/-/androidApps/APP_ID Refer to the ` # AndroidApp` [`name`](../projects.androidApps#AndroidApp.FIELDS.name) field for # details about PROJECT_IDENTIFIER and APP_ID values. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::AndroidAppConfig] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::AndroidAppConfig] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_project_android_app_config(name, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/{+name}', options) command.response_representation = Google::Apis::FirebaseV1beta1::AndroidAppConfig::Representation command.response_class = Google::Apis::FirebaseV1beta1::AndroidAppConfig command.params['name'] = name unless name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Lists each AndroidApp associated with the specified FirebaseProject. The # elements are returned in no particular order, but will be a consistent view of # the Apps when additional requests are made with a `pageToken`. # @param [String] parent # The resource name of the parent FirebaseProject for which to list each # associated AndroidApp, in the format: projects/PROJECT_IDENTIFIER /androidApps # Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS. # name) field for details about PROJECT_IDENTIFIER values. # @param [Fixnum] page_size # The maximum number of Apps to return in the response. The server may return # fewer than this at its discretion. If no value is specified (or too large a # value is specified), then the server will impose its own limit. # @param [String] page_token # Token returned from a previous call to `ListAndroidApps` indicating where in # the set of Apps to resume listing. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::ListAndroidAppsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::ListAndroidAppsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_project_android_apps(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/{+parent}/androidApps', options) command.response_representation = Google::Apis::FirebaseV1beta1::ListAndroidAppsResponse::Representation command.response_class = Google::Apis::FirebaseV1beta1::ListAndroidAppsResponse command.params['parent'] = parent unless parent.nil? command.query['pageSize'] = page_size unless page_size.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Updates the attributes of the specified AndroidApp. # @param [String] name # The resource name of the AndroidApp, in the format: projects/ # PROJECT_IDENTIFIER/androidApps/APP_ID * PROJECT_IDENTIFIER: the parent Project' # s [`ProjectNumber`](../projects#FirebaseProject.FIELDS.project_number) ***( # recommended)*** or its [`ProjectId`](../projects#FirebaseProject.FIELDS. # project_id). Learn more about using project identifiers in Google's [AIP 2510 # standard](https://google.aip.dev/cloud/2510). Note that the value for # PROJECT_IDENTIFIER in any response body will be the `ProjectId`. * APP_ID: the # globally unique, Firebase-assigned identifier for the App (see [`appId`](../ # projects.androidApps#AndroidApp.FIELDS.app_id)). # @param [Google::Apis::FirebaseV1beta1::AndroidApp] android_app_object # @param [String] update_mask # Specifies which fields to update. Note that the fields `name`, `app_id`, ` # project_id`, and `package_name` are all immutable. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::AndroidApp] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::AndroidApp] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_project_android_app(name, android_app_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:patch, 'v1beta1/{+name}', options) command.request_representation = Google::Apis::FirebaseV1beta1::AndroidApp::Representation command.request_object = android_app_object command.response_representation = Google::Apis::FirebaseV1beta1::AndroidApp::Representation command.response_class = Google::Apis::FirebaseV1beta1::AndroidApp command.params['name'] = name unless name.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Adds a ShaCertificate to the specified AndroidApp. # @param [String] parent # The resource name of the parent AndroidApp to which to add a ShaCertificate, # in the format: projects/PROJECT_IDENTIFIER/androidApps/ APP_ID Since an APP_ID # is a unique identifier, the Unique Resource from Sub-Collection access pattern # may be used here, in the format: projects/-/androidApps/APP_ID Refer to the ` # AndroidApp` [`name`](../projects.androidApps#AndroidApp.FIELDS.name) field for # details about PROJECT_IDENTIFIER and APP_ID values. # @param [Google::Apis::FirebaseV1beta1::ShaCertificate] sha_certificate_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::ShaCertificate] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::ShaCertificate] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def create_project_android_app_sha(parent, sha_certificate_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1beta1/{+parent}/sha', options) command.request_representation = Google::Apis::FirebaseV1beta1::ShaCertificate::Representation command.request_object = sha_certificate_object command.response_representation = Google::Apis::FirebaseV1beta1::ShaCertificate::Representation command.response_class = Google::Apis::FirebaseV1beta1::ShaCertificate command.params['parent'] = parent unless parent.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Removes a ShaCertificate from the specified AndroidApp. # @param [String] name # The resource name of the ShaCertificate to remove from the parent AndroidApp, # in the format: projects/PROJECT_IDENTIFIER/androidApps/APP_ID /sha/SHA_HASH # Refer to the `ShaCertificate` [`name`](../projects.androidApps.sha# # ShaCertificate.FIELDS.name) field for details about PROJECT_IDENTIFIER, APP_ID, # and SHA_HASH values. You can obtain the full resource name of the ` # ShaCertificate` from the response of [`ListShaCertificates`](../projects. # androidApps.sha/list) or the original [`CreateShaCertificate`](../projects. # androidApps.sha/create). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::Empty] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::Empty] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_project_android_app_sha(name, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:delete, 'v1beta1/{+name}', options) command.response_representation = Google::Apis::FirebaseV1beta1::Empty::Representation command.response_class = Google::Apis::FirebaseV1beta1::Empty command.params['name'] = name unless name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Lists the SHA-1 and SHA-256 certificates for the specified AndroidApp. # @param [String] parent # The resource name of the parent AndroidApp for which to list each associated # ShaCertificate, in the format: projects/PROJECT_IDENTIFIER /androidApps/APP_ID # Since an APP_ID is a unique identifier, the Unique Resource from Sub- # Collection access pattern may be used here, in the format: projects/-/ # androidApps/APP_ID Refer to the `AndroidApp` [`name`](../projects.androidApps# # AndroidApp.FIELDS.name) field for details about PROJECT_IDENTIFIER and APP_ID # values. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::ListShaCertificatesResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::ListShaCertificatesResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_project_android_app_shas(parent, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/{+parent}/sha', options) command.response_representation = Google::Apis::FirebaseV1beta1::ListShaCertificatesResponse::Representation command.response_class = Google::Apis::FirebaseV1beta1::ListShaCertificatesResponse command.params['parent'] = parent unless parent.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Lists the valid Google Cloud Platform (GCP) resource locations for the # specified Project (including a FirebaseProject). One of these locations can be # selected as the Project's [_default_ GCP resource location](https://firebase. # google.com/docs/projects/locations), which is the geographical location where # the Project's resources, such as Cloud Firestore, will be provisioned by # default. However, if the default GCP resource location has already been set # for the Project, then this setting cannot be changed. This call checks for any # possible [location restrictions](https://cloud.google.com/resource-manager/ # docs/organization-policy/defining-locations) for the specified Project and, # thus, might return a subset of all possible GCP resource locations. To list # all GCP resource locations (regardless of any restrictions), call the endpoint # without specifying a unique project identifier (that is, `/v1beta1/`parent= # projects/-`/listAvailableLocations`). To call `ListAvailableLocations` with a # specified project, a member must be at minimum a Viewer of the Project. Calls # without a specified project do not require any specific project permissions. # @param [String] parent # The FirebaseProject for which to list GCP resource locations, in the format: # projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../ # projects#FirebaseProject.FIELDS.name) field for details about # PROJECT_IDENTIFIER values. If no unique project identifier is specified (that # is, `projects/-`), the returned list does not take into account org-specific # or project-specific location restrictions. # @param [Fixnum] page_size # The maximum number of locations to return in the response. The server may # return fewer than this value at its discretion. If no value is specified (or # too large a value is specified), then the server will impose its own limit. # This value cannot be negative. # @param [String] page_token # Token returned from a previous call to `ListAvailableLocations` indicating # where in the list of locations to resume listing. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::ListAvailableLocationsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::ListAvailableLocationsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_project_available_locations(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/{+parent}/availableLocations', options) command.response_representation = Google::Apis::FirebaseV1beta1::ListAvailableLocationsResponse::Representation command.response_class = Google::Apis::FirebaseV1beta1::ListAvailableLocationsResponse command.params['parent'] = parent unless parent.nil? command.query['pageSize'] = page_size unless page_size.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Sets the default Google Cloud Platform (GCP) resource location for the # specified FirebaseProject. This method creates an App Engine application with # a [default Cloud Storage bucket](https://cloud.google.com/appengine/docs/ # standard/python/googlecloudstorageclient/setting-up-cloud-storage# # activating_a_cloud_storage_bucket), located in the specified [`locationId`](# # body.request_body.FIELDS.location_id). This location must be one of the # available [GCP resource locations](https://firebase.google.com/docs/projects/ # locations). After the default GCP resource location is finalized, or if it was # already set, it cannot be changed. The default GCP resource location for the # specified `FirebaseProject` might already be set because either the underlying # GCP `Project` already has an App Engine application or ` # FinalizeDefaultLocation` was previously called with a specified `locationId`. # Any new calls to `FinalizeDefaultLocation` with a *different* specified ` # locationId` will return a 409 error. The result of this call is an [`Operation` # ](../../v1beta1/operations), which can be used to track the provisioning # process. The [`response`](../../v1beta1/operations#Operation.FIELDS.response) # type of the `Operation` is google.protobuf.Empty. The `Operation` can be # polled by its `name` using GetOperation until `done` is true. When `done` is # true, the `Operation` has either succeeded or failed. If the `Operation` has # succeeded, its [`response`](../../v1beta1/operations#Operation.FIELDS.response) # will be set to a google.protobuf.Empty; if the `Operation` has failed, its ` # error` will be set to a google.rpc.Status. The `Operation` is automatically # deleted after completion, so there is no need to call DeleteOperation. All # fields listed in the [request body](#request-body) are required. To call ` # FinalizeDefaultLocation`, a member must be an Owner of the Project. # @param [String] parent # The resource name of the FirebaseProject for which the default GCP resource # location will be set, in the format: projects/PROJECT_IDENTIFIER Refer to the ` # FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for # details about PROJECT_IDENTIFIER values. # @param [Google::Apis::FirebaseV1beta1::FinalizeDefaultLocationRequest] finalize_default_location_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def finalize_default_location(parent, finalize_default_location_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1beta1/{+parent}/defaultLocation:finalize', options) command.request_representation = Google::Apis::FirebaseV1beta1::FinalizeDefaultLocationRequest::Representation command.request_object = finalize_default_location_request_object command.response_representation = Google::Apis::FirebaseV1beta1::Operation::Representation command.response_class = Google::Apis::FirebaseV1beta1::Operation command.params['parent'] = parent unless parent.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Requests the creation of a new IosApp in the specified FirebaseProject. The # result of this call is an `Operation` which can be used to track the # provisioning process. The `Operation` is automatically deleted after # completion, so there is no need to call `DeleteOperation`. # @param [String] parent # The resource name of the parent FirebaseProject in which to create an IosApp, # in the format: projects/PROJECT_IDENTIFIER/iosApps Refer to the ` # FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for # details about PROJECT_IDENTIFIER values. # @param [Google::Apis::FirebaseV1beta1::IosApp] ios_app_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def create_project_ios_app(parent, ios_app_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1beta1/{+parent}/iosApps', options) command.request_representation = Google::Apis::FirebaseV1beta1::IosApp::Representation command.request_object = ios_app_object command.response_representation = Google::Apis::FirebaseV1beta1::Operation::Representation command.response_class = Google::Apis::FirebaseV1beta1::Operation command.params['parent'] = parent unless parent.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Gets the specified IosApp. # @param [String] name # The resource name of the IosApp, in the format: projects/PROJECT_IDENTIFIER / # iosApps/APP_ID Since an APP_ID is a unique identifier, the Unique Resource # from Sub-Collection access pattern may be used here, in the format: projects/-/ # iosApps/APP_ID Refer to the `IosApp` [`name`](../projects.iosApps#IosApp. # FIELDS.name) field for details about PROJECT_IDENTIFIER and APP_ID values. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::IosApp] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::IosApp] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_project_ios_app(name, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/{+name}', options) command.response_representation = Google::Apis::FirebaseV1beta1::IosApp::Representation command.response_class = Google::Apis::FirebaseV1beta1::IosApp command.params['name'] = name unless name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Gets the configuration artifact associated with the specified IosApp. # @param [String] name # The resource name of the App configuration to download, in the format: # projects/PROJECT_IDENTIFIER/iosApps/APP_ID/config Since an APP_ID is a unique # identifier, the Unique Resource from Sub-Collection access pattern may be used # here, in the format: projects/-/iosApps/APP_ID Refer to the `IosApp` [`name`](. # ./projects.iosApps#IosApp.FIELDS.name) field for details about # PROJECT_IDENTIFIER and APP_ID values. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::IosAppConfig] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::IosAppConfig] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_project_ios_app_config(name, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/{+name}', options) command.response_representation = Google::Apis::FirebaseV1beta1::IosAppConfig::Representation command.response_class = Google::Apis::FirebaseV1beta1::IosAppConfig command.params['name'] = name unless name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Lists each IosApp associated with the specified FirebaseProject. The elements # are returned in no particular order, but will be a consistent view of the Apps # when additional requests are made with a `pageToken`. # @param [String] parent # The resource name of the parent FirebaseProject for which to list each # associated IosApp, in the format: projects/PROJECT_IDENTIFIER/iosApps Refer to # the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field # for details about PROJECT_IDENTIFIER values. # @param [Fixnum] page_size # The maximum number of Apps to return in the response. The server may return # fewer than this at its discretion. If no value is specified (or too large a # value is specified), the server will impose its own limit. # @param [String] page_token # Token returned from a previous call to `ListIosApps` indicating where in the # set of Apps to resume listing. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::ListIosAppsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::ListIosAppsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_project_ios_apps(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/{+parent}/iosApps', options) command.response_representation = Google::Apis::FirebaseV1beta1::ListIosAppsResponse::Representation command.response_class = Google::Apis::FirebaseV1beta1::ListIosAppsResponse command.params['parent'] = parent unless parent.nil? command.query['pageSize'] = page_size unless page_size.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Updates the attributes of the specified IosApp. # @param [String] name # The resource name of the IosApp, in the format: projects/PROJECT_IDENTIFIER / # iosApps/APP_ID * PROJECT_IDENTIFIER: the parent Project's [`ProjectNumber`](../ # projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [` # ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about # using project identifiers in Google's [AIP 2510 standard](https://google.aip. # dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response # body will be the `ProjectId`. * APP_ID: the globally unique, Firebase-assigned # identifier for the App (see [`appId`](../projects.iosApps#IosApp.FIELDS.app_id) # ). # @param [Google::Apis::FirebaseV1beta1::IosApp] ios_app_object # @param [String] update_mask # Specifies which fields to update. Note that the fields `name`, `appId`, ` # projectId`, and `bundleId` are all immutable. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::IosApp] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::IosApp] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_project_ios_app(name, ios_app_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:patch, 'v1beta1/{+name}', options) command.request_representation = Google::Apis::FirebaseV1beta1::IosApp::Representation command.request_object = ios_app_object command.response_representation = Google::Apis::FirebaseV1beta1::IosApp::Representation command.response_class = Google::Apis::FirebaseV1beta1::IosApp command.params['name'] = name unless name.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Requests the creation of a new WebApp in the specified FirebaseProject. The # result of this call is an `Operation` which can be used to track the # provisioning process. The `Operation` is automatically deleted after # completion, so there is no need to call `DeleteOperation`. # @param [String] parent # The resource name of the parent FirebaseProject in which to create a WebApp, # in the format: projects/PROJECT_IDENTIFIER/webApps Refer to the ` # FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for # details about PROJECT_IDENTIFIER values. # @param [Google::Apis::FirebaseV1beta1::WebApp] web_app_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def create_project_web_app(parent, web_app_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1beta1/{+parent}/webApps', options) command.request_representation = Google::Apis::FirebaseV1beta1::WebApp::Representation command.request_object = web_app_object command.response_representation = Google::Apis::FirebaseV1beta1::Operation::Representation command.response_class = Google::Apis::FirebaseV1beta1::Operation command.params['parent'] = parent unless parent.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Gets the specified WebApp. # @param [String] name # The resource name of the WebApp, in the format: projects/PROJECT_IDENTIFIER / # webApps/APP_ID Since an APP_ID is a unique identifier, the Unique Resource # from Sub-Collection access pattern may be used here, in the format: projects/-/ # webApps/APP_ID Refer to the `WebApp` [`name`](../projects.webApps#WebApp. # FIELDS.name) field for details about PROJECT_IDENTIFIER and APP_ID values. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::WebApp] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::WebApp] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_project_web_app(name, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/{+name}', options) command.response_representation = Google::Apis::FirebaseV1beta1::WebApp::Representation command.response_class = Google::Apis::FirebaseV1beta1::WebApp command.params['name'] = name unless name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Gets the configuration artifact associated with the specified WebApp. # @param [String] name # The resource name of the WebApp configuration to download, in the format: # projects/PROJECT_IDENTIFIER/webApps/APP_ID/config Since an APP_ID is a unique # identifier, the Unique Resource from Sub-Collection access pattern may be used # here, in the format: projects/-/webApps/APP_ID Refer to the `WebApp` [`name`](. # ./projects.webApps#WebApp.FIELDS.name) field for details about # PROJECT_IDENTIFIER and APP_ID values. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::WebAppConfig] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::WebAppConfig] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_project_web_app_config(name, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/{+name}', options) command.response_representation = Google::Apis::FirebaseV1beta1::WebAppConfig::Representation command.response_class = Google::Apis::FirebaseV1beta1::WebAppConfig command.params['name'] = name unless name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Lists each WebApp associated with the specified FirebaseProject. The elements # are returned in no particular order, but will be a consistent view of the Apps # when additional requests are made with a `pageToken`. # @param [String] parent # The resource name of the parent FirebaseProject for which to list each # associated WebApp, in the format: projects/PROJECT_IDENTIFIER/webApps Refer to # the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field # for details about PROJECT_IDENTIFIER values. # @param [Fixnum] page_size # The maximum number of Apps to return in the response. The server may return # fewer than this value at its discretion. If no value is specified (or too # large a value is specified), then the server will impose its own limit. # @param [String] page_token # Token returned from a previous call to `ListWebApps` indicating where in the # set of Apps to resume listing. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::ListWebAppsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::ListWebAppsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_project_web_apps(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/{+parent}/webApps', options) command.response_representation = Google::Apis::FirebaseV1beta1::ListWebAppsResponse::Representation command.response_class = Google::Apis::FirebaseV1beta1::ListWebAppsResponse command.params['parent'] = parent unless parent.nil? command.query['pageSize'] = page_size unless page_size.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Updates the attributes of the specified WebApp. # @param [String] name # The resource name of the WebApp, in the format: projects/PROJECT_IDENTIFIER / # webApps/APP_ID * PROJECT_IDENTIFIER: the parent Project's [`ProjectNumber`](../ # projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [` # ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about # using project identifiers in Google's [AIP 2510 standard](https://google.aip. # dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response # body will be the `ProjectId`. * APP_ID: the globally unique, Firebase-assigned # identifier for the App (see [`appId`](../projects.webApps#WebApp.FIELDS.app_id) # ). # @param [Google::Apis::FirebaseV1beta1::WebApp] web_app_object # @param [String] update_mask # Specifies which fields to update. Note that the fields `name`, `appId`, and ` # projectId` are all immutable. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::FirebaseV1beta1::WebApp] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::FirebaseV1beta1::WebApp] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_project_web_app(name, web_app_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:patch, 'v1beta1/{+name}', options) command.request_representation = Google::Apis::FirebaseV1beta1::WebApp::Representation command.request_object = web_app_object command.response_representation = Google::Apis::FirebaseV1beta1::WebApp::Representation command.response_class = Google::Apis::FirebaseV1beta1::WebApp command.params['name'] = name unless name.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end protected def apply_command_defaults(command) command.query['key'] = key unless key.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? end end end end end