Class: Google::Apis::FirebaserulesV1::FirebaseRulesService
- Inherits:
-
Core::BaseService
- Object
- Core::BaseService
- Google::Apis::FirebaserulesV1::FirebaseRulesService
- Defined in:
- generated/google/apis/firebaserules_v1/service.rb
Overview
Firebase Rules API
Creates and manages rules that determine when a Firebase Rules-enabled service should permit a request.
Instance Attribute Summary collapse
-
#key ⇒ String
API key.
-
#quota_user ⇒ String
Available to use for quota purposes for server-side applications.
Attributes inherited from Core::BaseService
#authorization, #base_path, #batch_path, #client, #client_options, #request_options, #root_url, #upload_path
Instance Method Summary collapse
-
#create_project_release(name, release_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::Release
Create a
Release. -
#create_project_ruleset(name, ruleset_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::Ruleset
Create a
RulesetfromSource. -
#delete_project_release(name, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::Empty
Delete a
Releaseby resource name. -
#delete_project_ruleset(name, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::Empty
Delete a
Rulesetby resource name. -
#get_project_release(name, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::Release
Get a
Releaseby name. -
#get_project_ruleset(name, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::Ruleset
Get a
Rulesetby name including the fullSourcecontents. -
#initialize ⇒ FirebaseRulesService
constructor
A new instance of FirebaseRulesService.
-
#list_project_releases(name, page_token: nil, page_size: nil, filter: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::ListReleasesResponse
List the
Releasevalues for a project. -
#list_project_rulesets(name, page_size: nil, filter: nil, page_token: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::ListRulesetsResponse
List
Rulesetmetadata only and optionally filter the results byRulesetname. -
#test_project_ruleset(name, test_ruleset_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::TestRulesetResponse
Test
Sourcefor syntactic and semantic correctness. -
#update_project_release(name, release_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::Release
Update a
Release.
Methods inherited from Core::BaseService
#batch, #batch_upload, #fetch_all, #http
Methods included from Core::Logging
Constructor Details
#initialize ⇒ FirebaseRulesService
Returns a new instance of FirebaseRulesService
46 47 48 49 |
# File 'generated/google/apis/firebaserules_v1/service.rb', line 46 def initialize super('https://firebaserules.googleapis.com/', '') @batch_path = 'batch' end |
Instance Attribute Details
#key ⇒ String
Returns 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.
39 40 41 |
# File 'generated/google/apis/firebaserules_v1/service.rb', line 39 def key @key end |
#quota_user ⇒ String
Returns 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.
44 45 46 |
# File 'generated/google/apis/firebaserules_v1/service.rb', line 44 def quota_user @quota_user end |
Instance Method Details
#create_project_release(name, release_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::Release
Create a Release.
Release names should reflect the developer's deployment practices. For
example, the release name may include the environment name, application
name, application version, or any other name meaningful to the developer.
Once a Release refers to a Ruleset, the rules can be enforced by
Firebase Rules-enabled services.
More than one Release may be 'live' concurrently. Consider the following
three Release names for projects/foo and the Ruleset to which they
refer.
Release Name | Ruleset Name
--------------------------------|-------------
projects/foo/releases/prod | projects/foo/rulesets/uuid123
projects/foo/releases/prod/beta | projects/foo/rulesets/uuid123
projects/foo/releases/prod/v23 | projects/foo/rulesets/uuid456
The table reflects the Ruleset rollout in progress. The prod and
prod/beta releases refer to the same Ruleset. However, prod/v23
refers to a new Ruleset. The Ruleset reference for a Release may be
updated using the UpdateRelease method.
295 296 297 298 299 300 301 302 303 304 305 |
# File 'generated/google/apis/firebaserules_v1/service.rb', line 295 def create_project_release(name, release_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1/{+name}/releases', ) command.request_representation = Google::Apis::FirebaserulesV1::Release::Representation command.request_object = release_object command.response_representation = Google::Apis::FirebaserulesV1::Release::Representation command.response_class = Google::Apis::FirebaserulesV1::Release 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 |
#create_project_ruleset(name, ruleset_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::Ruleset
Create a Ruleset from Source.
The Ruleset is given a unique generated name which is returned to the
caller. Source containing syntactic or semantics errors will result in an
error response indicating the first error encountered. For a detailed view
of Source issues, use TestRuleset.
244 245 246 247 248 249 250 251 252 253 254 |
# File 'generated/google/apis/firebaserules_v1/service.rb', line 244 def create_project_ruleset(name, ruleset_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1/{+name}/rulesets', ) command.request_representation = Google::Apis::FirebaserulesV1::Ruleset::Representation command.request_object = ruleset_object command.response_representation = Google::Apis::FirebaserulesV1::Ruleset::Representation command.response_class = Google::Apis::FirebaserulesV1::Ruleset 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 |
#delete_project_release(name, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::Empty
Delete a Release by resource name.
328 329 330 331 332 333 334 335 336 |
# File 'generated/google/apis/firebaserules_v1/service.rb', line 328 def delete_project_release(name, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:delete, 'v1/{+name}', ) command.response_representation = Google::Apis::FirebaserulesV1::Empty::Representation command.response_class = Google::Apis::FirebaserulesV1::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 |
#delete_project_ruleset(name, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::Empty
Delete a Ruleset by resource name.
If the Ruleset is referenced by a Release the operation will fail.
127 128 129 130 131 132 133 134 135 |
# File 'generated/google/apis/firebaserules_v1/service.rb', line 127 def delete_project_ruleset(name, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:delete, 'v1/{+name}', ) command.response_representation = Google::Apis::FirebaserulesV1::Empty::Representation command.response_class = Google::Apis::FirebaserulesV1::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 |
#get_project_release(name, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::Release
Get a Release by name.
359 360 361 362 363 364 365 366 367 |
# File 'generated/google/apis/firebaserules_v1/service.rb', line 359 def get_project_release(name, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1/{+name}', ) command.response_representation = Google::Apis::FirebaserulesV1::Release::Representation command.response_class = Google::Apis::FirebaserulesV1::Release 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 |
#get_project_ruleset(name, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::Ruleset
Get a Ruleset by name including the full Source contents.
158 159 160 161 162 163 164 165 166 |
# File 'generated/google/apis/firebaserules_v1/service.rb', line 158 def get_project_ruleset(name, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1/{+name}', ) command.response_representation = Google::Apis::FirebaserulesV1::Ruleset::Representation command.response_class = Google::Apis::FirebaserulesV1::Ruleset 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 |
#list_project_releases(name, page_token: nil, page_size: nil, filter: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::ListReleasesResponse
List the Release values for a project. This list may optionally be
filtered by Release name, Ruleset name, TestSuite name, or any
combination thereof.
420 421 422 423 424 425 426 427 428 429 430 431 |
# File 'generated/google/apis/firebaserules_v1/service.rb', line 420 def list_project_releases(name, page_token: nil, page_size: nil, filter: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1/{+name}/releases', ) command.response_representation = Google::Apis::FirebaserulesV1::ListReleasesResponse::Representation command.response_class = Google::Apis::FirebaserulesV1::ListReleasesResponse command.params['name'] = name unless name.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['pageSize'] = page_size unless page_size.nil? command.query['filter'] = filter unless filter.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#list_project_rulesets(name, page_size: nil, filter: nil, page_token: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::ListRulesetsResponse
List Ruleset metadata only and optionally filter the results by Ruleset
name.
The full Source contents of a Ruleset may be retrieved with
GetRuleset.
205 206 207 208 209 210 211 212 213 214 215 216 |
# File 'generated/google/apis/firebaserules_v1/service.rb', line 205 def list_project_rulesets(name, page_size: nil, filter: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1/{+name}/rulesets', ) command.response_representation = Google::Apis::FirebaserulesV1::ListRulesetsResponse::Representation command.response_class = Google::Apis::FirebaserulesV1::ListRulesetsResponse command.params['name'] = name unless name.nil? command.query['pageSize'] = page_size unless page_size.nil? command.query['filter'] = filter unless filter.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 |
#test_project_ruleset(name, test_ruleset_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::TestRulesetResponse
Test Source for syntactic and semantic correctness. Issues present, if
any, will be returned to the caller with a description, severity, and
source location.
The test method may be executed with Source or a Ruleset name.
Passing Source is useful for unit testing new rules. Passing a Ruleset
name is useful for regression testing an existing rule.
The following is an example of Source that permits users to upload images
to a bucket bearing their user id and matching the correct metadata:
Example
// Users are allowed to subscribe and unsubscribe to the blog.
service firebase.storage
match /users/userId/images/imageName
allow write: if userId == request.auth.uid
&& (imageName.matches('.png$')
|| imageName.matches('.jpg$'))
&& resource.mimeType.matches('^image/')
93 94 95 96 97 98 99 100 101 102 103 |
# File 'generated/google/apis/firebaserules_v1/service.rb', line 93 def test_project_ruleset(name, test_ruleset_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1/{+name}:test', ) command.request_representation = Google::Apis::FirebaserulesV1::TestRulesetRequest::Representation command.request_object = test_ruleset_request_object command.response_representation = Google::Apis::FirebaserulesV1::TestRulesetResponse::Representation command.response_class = Google::Apis::FirebaserulesV1::TestRulesetResponse 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 |
#update_project_release(name, release_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::FirebaserulesV1::Release
Update a Release.
Only updates to the ruleset_name and test_suite_name fields will be
honored. Release rename is not supported. To create a Release use the
CreateRelease method.
475 476 477 478 479 480 481 482 483 484 485 |
# File 'generated/google/apis/firebaserules_v1/service.rb', line 475 def update_project_release(name, release_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:put, 'v1/{+name}', ) command.request_representation = Google::Apis::FirebaserulesV1::Release::Representation command.request_object = release_object command.response_representation = Google::Apis::FirebaserulesV1::Release::Representation command.response_class = Google::Apis::FirebaserulesV1::Release 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 |