firebaserules
packageThis package is not in the latest version of its module.
Details
Validgo.mod file
The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go.
Redistributable license
Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed.
Tagged version
Modules with tagged versions give importers more predictable builds.
Stable version
When a project reaches major version v1 it is considered stable.
- Learn more about best practices
Repository
Links
Documentation¶
Overview¶
Package firebaserules provides access to the Firebase Rules API.
For product documentation, see:https://firebase.google.com/docs/storage/security
Library status¶
These client libraries are officially supported by Google. However, thislibrary is considered complete and is in maintenance mode. This meansthat we will address critical bugs and security issues but will not addany new features.
When possible, we recommend using our newer[Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)that are still actively being worked and iterated on.
Creating a client¶
Usage example:
import "google.golang.org/api/firebaserules/v1"...ctx := context.Background()firebaserulesService, err := firebaserules.NewService(ctx)
In this example, Google Application Default Credentials are used forauthentication. For information on how to create and obtain ApplicationDefault Credentials, seehttps://developers.google.com/identity/protocols/application-default-credentials.
Other authentication options¶
By default, all available scopes (see "Constants") are used to authenticate.To restrict scopes, usegoogle.golang.org/api/option.WithScopes:
firebaserulesService, err := firebaserules.NewService(ctx, option.WithScopes(firebaserules.FirebaseReadonlyScope))
To use an API key for authentication (note: some APIs do not support APIkeys), usegoogle.golang.org/api/option.WithAPIKey:
firebaserulesService, err := firebaserules.NewService(ctx, option.WithAPIKey("AIza..."))To use an OAuth token (e.g., a user token obtained via a three-legged OAuthflow, usegoogle.golang.org/api/option.WithTokenSource:
config := &oauth2.Config{...}// ...token, err := config.Exchange(ctx, ...)firebaserulesService, err := firebaserules.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))Seegoogle.golang.org/api/option.ClientOption for details on options.
Index¶
- Constants
- type Arg
- type Empty
- type ExpressionReport
- type File
- type FunctionCall
- type FunctionMock
- type GetReleaseExecutableResponse
- type Issue
- type ListReleasesResponse
- type ListRulesetsResponse
- type Metadata
- type ProjectsReleasesCreateCall
- func (c *ProjectsReleasesCreateCall) Context(ctx context.Context) *ProjectsReleasesCreateCall
- func (c *ProjectsReleasesCreateCall) Do(opts ...googleapi.CallOption) (*Release, error)
- func (c *ProjectsReleasesCreateCall) Fields(s ...googleapi.Field) *ProjectsReleasesCreateCall
- func (c *ProjectsReleasesCreateCall) Header() http.Header
- type ProjectsReleasesDeleteCall
- func (c *ProjectsReleasesDeleteCall) Context(ctx context.Context) *ProjectsReleasesDeleteCall
- func (c *ProjectsReleasesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error)
- func (c *ProjectsReleasesDeleteCall) Fields(s ...googleapi.Field) *ProjectsReleasesDeleteCall
- func (c *ProjectsReleasesDeleteCall) Header() http.Header
- type ProjectsReleasesGetCall
- func (c *ProjectsReleasesGetCall) Context(ctx context.Context) *ProjectsReleasesGetCall
- func (c *ProjectsReleasesGetCall) Do(opts ...googleapi.CallOption) (*Release, error)
- func (c *ProjectsReleasesGetCall) Fields(s ...googleapi.Field) *ProjectsReleasesGetCall
- func (c *ProjectsReleasesGetCall) Header() http.Header
- func (c *ProjectsReleasesGetCall) IfNoneMatch(entityTag string) *ProjectsReleasesGetCall
- type ProjectsReleasesGetExecutableCall
- func (c *ProjectsReleasesGetExecutableCall) Context(ctx context.Context) *ProjectsReleasesGetExecutableCall
- func (c *ProjectsReleasesGetExecutableCall) Do(opts ...googleapi.CallOption) (*GetReleaseExecutableResponse, error)
- func (c *ProjectsReleasesGetExecutableCall) ExecutableVersion(executableVersion string) *ProjectsReleasesGetExecutableCall
- func (c *ProjectsReleasesGetExecutableCall) Fields(s ...googleapi.Field) *ProjectsReleasesGetExecutableCall
- func (c *ProjectsReleasesGetExecutableCall) Header() http.Header
- func (c *ProjectsReleasesGetExecutableCall) IfNoneMatch(entityTag string) *ProjectsReleasesGetExecutableCall
- type ProjectsReleasesListCall
- func (c *ProjectsReleasesListCall) Context(ctx context.Context) *ProjectsReleasesListCall
- func (c *ProjectsReleasesListCall) Do(opts ...googleapi.CallOption) (*ListReleasesResponse, error)
- func (c *ProjectsReleasesListCall) Fields(s ...googleapi.Field) *ProjectsReleasesListCall
- func (c *ProjectsReleasesListCall) Filter(filter string) *ProjectsReleasesListCall
- func (c *ProjectsReleasesListCall) Header() http.Header
- func (c *ProjectsReleasesListCall) IfNoneMatch(entityTag string) *ProjectsReleasesListCall
- func (c *ProjectsReleasesListCall) PageSize(pageSize int64) *ProjectsReleasesListCall
- func (c *ProjectsReleasesListCall) PageToken(pageToken string) *ProjectsReleasesListCall
- func (c *ProjectsReleasesListCall) Pages(ctx context.Context, f func(*ListReleasesResponse) error) error
- type ProjectsReleasesPatchCall
- func (c *ProjectsReleasesPatchCall) Context(ctx context.Context) *ProjectsReleasesPatchCall
- func (c *ProjectsReleasesPatchCall) Do(opts ...googleapi.CallOption) (*Release, error)
- func (c *ProjectsReleasesPatchCall) Fields(s ...googleapi.Field) *ProjectsReleasesPatchCall
- func (c *ProjectsReleasesPatchCall) Header() http.Header
- type ProjectsReleasesService
- func (r *ProjectsReleasesService) Create(name string, release *Release) *ProjectsReleasesCreateCall
- func (r *ProjectsReleasesService) Delete(name string) *ProjectsReleasesDeleteCall
- func (r *ProjectsReleasesService) Get(name string) *ProjectsReleasesGetCall
- func (r *ProjectsReleasesService) GetExecutable(name string) *ProjectsReleasesGetExecutableCall
- func (r *ProjectsReleasesService) List(name string) *ProjectsReleasesListCall
- func (r *ProjectsReleasesService) Patch(name string, updatereleaserequest *UpdateReleaseRequest) *ProjectsReleasesPatchCall
- type ProjectsRulesetsCreateCall
- func (c *ProjectsRulesetsCreateCall) Context(ctx context.Context) *ProjectsRulesetsCreateCall
- func (c *ProjectsRulesetsCreateCall) Do(opts ...googleapi.CallOption) (*Ruleset, error)
- func (c *ProjectsRulesetsCreateCall) Fields(s ...googleapi.Field) *ProjectsRulesetsCreateCall
- func (c *ProjectsRulesetsCreateCall) Header() http.Header
- type ProjectsRulesetsDeleteCall
- func (c *ProjectsRulesetsDeleteCall) Context(ctx context.Context) *ProjectsRulesetsDeleteCall
- func (c *ProjectsRulesetsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error)
- func (c *ProjectsRulesetsDeleteCall) Fields(s ...googleapi.Field) *ProjectsRulesetsDeleteCall
- func (c *ProjectsRulesetsDeleteCall) Header() http.Header
- type ProjectsRulesetsGetCall
- func (c *ProjectsRulesetsGetCall) Context(ctx context.Context) *ProjectsRulesetsGetCall
- func (c *ProjectsRulesetsGetCall) Do(opts ...googleapi.CallOption) (*Ruleset, error)
- func (c *ProjectsRulesetsGetCall) Fields(s ...googleapi.Field) *ProjectsRulesetsGetCall
- func (c *ProjectsRulesetsGetCall) Header() http.Header
- func (c *ProjectsRulesetsGetCall) IfNoneMatch(entityTag string) *ProjectsRulesetsGetCall
- type ProjectsRulesetsListCall
- func (c *ProjectsRulesetsListCall) Context(ctx context.Context) *ProjectsRulesetsListCall
- func (c *ProjectsRulesetsListCall) Do(opts ...googleapi.CallOption) (*ListRulesetsResponse, error)
- func (c *ProjectsRulesetsListCall) Fields(s ...googleapi.Field) *ProjectsRulesetsListCall
- func (c *ProjectsRulesetsListCall) Filter(filter string) *ProjectsRulesetsListCall
- func (c *ProjectsRulesetsListCall) Header() http.Header
- func (c *ProjectsRulesetsListCall) IfNoneMatch(entityTag string) *ProjectsRulesetsListCall
- func (c *ProjectsRulesetsListCall) PageSize(pageSize int64) *ProjectsRulesetsListCall
- func (c *ProjectsRulesetsListCall) PageToken(pageToken string) *ProjectsRulesetsListCall
- func (c *ProjectsRulesetsListCall) Pages(ctx context.Context, f func(*ListRulesetsResponse) error) error
- type ProjectsRulesetsService
- func (r *ProjectsRulesetsService) Create(name string, ruleset *Ruleset) *ProjectsRulesetsCreateCall
- func (r *ProjectsRulesetsService) Delete(name string) *ProjectsRulesetsDeleteCall
- func (r *ProjectsRulesetsService) Get(name string) *ProjectsRulesetsGetCall
- func (r *ProjectsRulesetsService) List(name string) *ProjectsRulesetsListCall
- type ProjectsService
- type ProjectsTestCall
- type Release
- type Result
- type Ruleset
- type Service
- type Source
- type SourcePosition
- type TestCase
- type TestResult
- type TestRulesetRequest
- type TestRulesetResponse
- type TestSuite
- type UpdateReleaseRequest
- type ValueCount
- type VisitedExpression
Constants¶
const (// See, edit, configure, and delete your Google Cloud data and see the email// address for your Google Account.CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"// View and administer all your Firebase data and settingsFirebaseScope = "https://www.googleapis.com/auth/firebase"// View all your Firebase data and settingsFirebaseReadonlyScope = "https://www.googleapis.com/auth/firebase.readonly")
OAuth2 scopes used by this API.
Variables¶
This section is empty.
Functions¶
This section is empty.
Types¶
typeArg¶
type Arg struct {// AnyValue: Argument matches any value provided.AnyValue *Empty `json:"anyValue,omitempty"`// ExactValue: Argument exactly matches value provided.ExactValue interface{} `json:"exactValue,omitempty"`// ForceSendFields is a list of field names (e.g. "AnyValue") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "AnyValue") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}Arg: Arg matchers for the mock function.
func (Arg)MarshalJSON¶
typeEmpty¶
type Empty struct {// ServerResponse contains the HTTP response code and headers from the server.googleapi.ServerResponse `json:"-"`}Empty: A generic empty message that you can re-use to avoid definingduplicated empty messages in your APIs. A typical example is to use it asthe request or the response type of an API method. For instance: service Foo{ rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
typeExpressionReport¶added inv0.15.0
type ExpressionReport struct {// Children: SubexpressionsChildren []*ExpressionReport `json:"children,omitempty"`// SourcePosition: Position of expression in original rules source.SourcePosition *SourcePosition `json:"sourcePosition,omitempty"`// Values: Values that this expression evaluated to when encountered.Values []*ValueCount `json:"values,omitempty"`// ForceSendFields is a list of field names (e.g. "Children") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Children") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}ExpressionReport: Describes where in a file an expression is found and whatit was evaluated to over the course of its use.
func (ExpressionReport)MarshalJSON¶added inv0.15.0
func (sExpressionReport) MarshalJSON() ([]byte,error)
typeFile¶
type File struct {// Content: Required. Textual Content.Contentstring `json:"content,omitempty"`// Fingerprint: Fingerprint (e.g. github sha) associated with the `File`.Fingerprintstring `json:"fingerprint,omitempty"`// Name: Required. File name.Namestring `json:"name,omitempty"`// ForceSendFields is a list of field names (e.g. "Content") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Content") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}File: `File` containing source content.
func (File)MarshalJSON¶
typeFunctionCall¶
type FunctionCall struct {// Args: The arguments that were provided to the function.Args []interface{} `json:"args,omitempty"`// Function: Name of the function invoked.Functionstring `json:"function,omitempty"`// ForceSendFields is a list of field names (e.g. "Args") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Args") to include in API requests// with the JSON null value. By default, fields with empty values are omitted// from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}FunctionCall: Represents a service-defined function call that was invokedduring test execution.
func (FunctionCall)MarshalJSON¶
func (sFunctionCall) MarshalJSON() ([]byte,error)
typeFunctionMock¶
type FunctionMock struct {// Args: The list of `Arg` values to match. The order in which the arguments// are provided is the order in which they must appear in the function// invocation.Args []*Arg `json:"args,omitempty"`// Function: The name of the function. The function name must match one// provided by a service declaration.Functionstring `json:"function,omitempty"`// Result: The mock result of the function call.Result *Result `json:"result,omitempty"`// ForceSendFields is a list of field names (e.g. "Args") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Args") to include in API requests// with the JSON null value. By default, fields with empty values are omitted// from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}FunctionMock: Mock function definition. Mocks must refer to a functiondeclared by the target service. The type of the function args and resultwill be inferred at test time. If either the arg or result values are notcompatible with function type declaration, the request will be consideredinvalid. More than one `FunctionMock` may be provided for a given functionname so long as the `Arg` matchers are distinct. There may be only onefunction for a given overload where all `Arg` values are `Arg.any_value`.
func (FunctionMock)MarshalJSON¶
func (sFunctionMock) MarshalJSON() ([]byte,error)
typeGetReleaseExecutableResponse¶
type GetReleaseExecutableResponse struct {// Executable: Executable view of the `Ruleset` referenced by the `Release`.Executablestring `json:"executable,omitempty"`// ExecutableVersion: The Rules runtime version of the executable.//// Possible values:// "RELEASE_EXECUTABLE_VERSION_UNSPECIFIED" - Executable format unspecified.// Defaults to FIREBASE_RULES_EXECUTABLE_V1// "FIREBASE_RULES_EXECUTABLE_V1" - Firebase Rules syntax 'rules2' executable// versions: Custom AST for use with Java clients.// "FIREBASE_RULES_EXECUTABLE_V2" - CEL-based executable for use with C++// clients.ExecutableVersionstring `json:"executableVersion,omitempty"`// Language: `Language` used to generate the executable bytes.//// Possible values:// "LANGUAGE_UNSPECIFIED" - Language unspecified. Defaults to FIREBASE_RULES.// "FIREBASE_RULES" - Firebase Rules language.// "EVENT_FLOW_TRIGGERS" - Event Flow triggers.Languagestring `json:"language,omitempty"`// RulesetName: `Ruleset` name associated with the `Release` executable.RulesetNamestring `json:"rulesetName,omitempty"`// SyncTime: Optional, indicates the freshness of the result. The response is// guaranteed to be the latest within an interval up to the sync_time// (inclusive).SyncTimestring `json:"syncTime,omitempty"`// UpdateTime: Timestamp for the most recent `Release.update_time`.UpdateTimestring `json:"updateTime,omitempty"`// ServerResponse contains the HTTP response code and headers from the server.googleapi.ServerResponse `json:"-"`// ForceSendFields is a list of field names (e.g. "Executable") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Executable") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}GetReleaseExecutableResponse: The response forFirebaseRulesService.GetReleaseExecutable
func (GetReleaseExecutableResponse)MarshalJSON¶
func (sGetReleaseExecutableResponse) MarshalJSON() ([]byte,error)
typeIssue¶
type Issue struct {// Description: Short error description.Descriptionstring `json:"description,omitempty"`// Severity: The severity of the issue.//// Possible values:// "SEVERITY_UNSPECIFIED" - An unspecified severity.// "DEPRECATION" - Deprecation issue for statements and method that may no// longer be supported or maintained.// "WARNING" - Warnings such as: unused variables.// "ERROR" - Errors such as: unmatched curly braces or variable redefinition.Severitystring `json:"severity,omitempty"`// SourcePosition: Position of the issue in the `Source`.SourcePosition *SourcePosition `json:"sourcePosition,omitempty"`// ForceSendFields is a list of field names (e.g. "Description") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Description") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}Issue: Issues include warnings, errors, and deprecation notices.
func (Issue)MarshalJSON¶
typeListReleasesResponse¶
type ListReleasesResponse struct {// NextPageToken: The pagination token to retrieve the next page of results. If// the value is empty, no further results remain.NextPageTokenstring `json:"nextPageToken,omitempty"`// Releases: List of `Release` instances.Releases []*Release `json:"releases,omitempty"`// ServerResponse contains the HTTP response code and headers from the server.googleapi.ServerResponse `json:"-"`// ForceSendFields is a list of field names (e.g. "NextPageToken") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "NextPageToken") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}ListReleasesResponse: The response for FirebaseRulesService.ListReleases.
func (ListReleasesResponse)MarshalJSON¶
func (sListReleasesResponse) MarshalJSON() ([]byte,error)
typeListRulesetsResponse¶
type ListRulesetsResponse struct {// NextPageToken: The pagination token to retrieve the next page of results. If// the value is empty, no further results remain.NextPageTokenstring `json:"nextPageToken,omitempty"`// Rulesets: List of `Ruleset` instances.Rulesets []*Ruleset `json:"rulesets,omitempty"`// ServerResponse contains the HTTP response code and headers from the server.googleapi.ServerResponse `json:"-"`// ForceSendFields is a list of field names (e.g. "NextPageToken") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "NextPageToken") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}ListRulesetsResponse: The response for FirebaseRulesService.ListRulesets.
func (ListRulesetsResponse)MarshalJSON¶
func (sListRulesetsResponse) MarshalJSON() ([]byte,error)
typeMetadata¶added inv0.15.0
type Metadata struct {// Services: Services that this ruleset has declarations for (e.g.,// "cloud.firestore"). There may be 0+ of these.Services []string `json:"services,omitempty"`// ForceSendFields is a list of field names (e.g. "Services") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Services") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}Metadata: Metadata for a Ruleset.
func (Metadata)MarshalJSON¶added inv0.15.0
typeProjectsReleasesCreateCall¶
type ProjectsReleasesCreateCall struct {// contains filtered or unexported fields}func (*ProjectsReleasesCreateCall)Context¶
func (c *ProjectsReleasesCreateCall) Context(ctxcontext.Context) *ProjectsReleasesCreateCall
Context sets the context to be used in this call's Do method.
func (*ProjectsReleasesCreateCall)Do¶
func (c *ProjectsReleasesCreateCall) Do(opts ...googleapi.CallOption) (*Release,error)
Do executes the "firebaserules.projects.releases.create" call.Any non-2xx status code is an error. Response headers are in either*Release.ServerResponse.Header or (if a response was returned at all) inerror.(*googleapi.Error).Header. Use googleapi.IsNotModified to checkwhether the returned error was because http.StatusNotModified was returned.
func (*ProjectsReleasesCreateCall)Fields¶
func (c *ProjectsReleasesCreateCall) Fields(s ...googleapi.Field) *ProjectsReleasesCreateCall
Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.
func (*ProjectsReleasesCreateCall)Header¶
func (c *ProjectsReleasesCreateCall) Header()http.Header
Header returns a http.Header that can be modified by the caller to addheaders to the request.
typeProjectsReleasesDeleteCall¶
type ProjectsReleasesDeleteCall struct {// contains filtered or unexported fields}func (*ProjectsReleasesDeleteCall)Context¶
func (c *ProjectsReleasesDeleteCall) Context(ctxcontext.Context) *ProjectsReleasesDeleteCall
Context sets the context to be used in this call's Do method.
func (*ProjectsReleasesDeleteCall)Do¶
func (c *ProjectsReleasesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty,error)
Do executes the "firebaserules.projects.releases.delete" call.Any non-2xx status code is an error. Response headers are in either*Empty.ServerResponse.Header or (if a response was returned at all) inerror.(*googleapi.Error).Header. Use googleapi.IsNotModified to checkwhether the returned error was because http.StatusNotModified was returned.
func (*ProjectsReleasesDeleteCall)Fields¶
func (c *ProjectsReleasesDeleteCall) Fields(s ...googleapi.Field) *ProjectsReleasesDeleteCall
Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.
func (*ProjectsReleasesDeleteCall)Header¶
func (c *ProjectsReleasesDeleteCall) Header()http.Header
Header returns a http.Header that can be modified by the caller to addheaders to the request.
typeProjectsReleasesGetCall¶
type ProjectsReleasesGetCall struct {// contains filtered or unexported fields}func (*ProjectsReleasesGetCall)Context¶
func (c *ProjectsReleasesGetCall) Context(ctxcontext.Context) *ProjectsReleasesGetCall
Context sets the context to be used in this call's Do method.
func (*ProjectsReleasesGetCall)Do¶
func (c *ProjectsReleasesGetCall) Do(opts ...googleapi.CallOption) (*Release,error)
Do executes the "firebaserules.projects.releases.get" call.Any non-2xx status code is an error. Response headers are in either*Release.ServerResponse.Header or (if a response was returned at all) inerror.(*googleapi.Error).Header. Use googleapi.IsNotModified to checkwhether the returned error was because http.StatusNotModified was returned.
func (*ProjectsReleasesGetCall)Fields¶
func (c *ProjectsReleasesGetCall) Fields(s ...googleapi.Field) *ProjectsReleasesGetCall
Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.
func (*ProjectsReleasesGetCall)Header¶
func (c *ProjectsReleasesGetCall) Header()http.Header
Header returns a http.Header that can be modified by the caller to addheaders to the request.
func (*ProjectsReleasesGetCall)IfNoneMatch¶
func (c *ProjectsReleasesGetCall) IfNoneMatch(entityTagstring) *ProjectsReleasesGetCall
IfNoneMatch sets an optional parameter which makes the operation fail if theobject's ETag matches the given value. This is useful for getting updatesonly after the object has changed since the last request.
typeProjectsReleasesGetExecutableCall¶
type ProjectsReleasesGetExecutableCall struct {// contains filtered or unexported fields}func (*ProjectsReleasesGetExecutableCall)Context¶
func (c *ProjectsReleasesGetExecutableCall) Context(ctxcontext.Context) *ProjectsReleasesGetExecutableCall
Context sets the context to be used in this call's Do method.
func (*ProjectsReleasesGetExecutableCall)Do¶
func (c *ProjectsReleasesGetExecutableCall) Do(opts ...googleapi.CallOption) (*GetReleaseExecutableResponse,error)
Do executes the "firebaserules.projects.releases.getExecutable" call.Any non-2xx status code is an error. Response headers are in either*GetReleaseExecutableResponse.ServerResponse.Header or (if a response wasreturned at all) in error.(*googleapi.Error).Header. Usegoogleapi.IsNotModified to check whether the returned error was becausehttp.StatusNotModified was returned.
func (*ProjectsReleasesGetExecutableCall)ExecutableVersion¶
func (c *ProjectsReleasesGetExecutableCall) ExecutableVersion(executableVersionstring) *ProjectsReleasesGetExecutableCall
ExecutableVersion sets the optional parameter "executableVersion": Therequested runtime executable version. Defaults toFIREBASE_RULES_EXECUTABLE_V1.
Possible values:
"RELEASE_EXECUTABLE_VERSION_UNSPECIFIED" - Executable format unspecified.
Defaults to FIREBASE_RULES_EXECUTABLE_V1
"FIREBASE_RULES_EXECUTABLE_V1" - Firebase Rules syntax 'rules2' executable
versions: Custom AST for use with Java clients.
"FIREBASE_RULES_EXECUTABLE_V2" - CEL-based executable for use with C++
clients.
func (*ProjectsReleasesGetExecutableCall)Fields¶
func (c *ProjectsReleasesGetExecutableCall) Fields(s ...googleapi.Field) *ProjectsReleasesGetExecutableCall
Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.
func (*ProjectsReleasesGetExecutableCall)Header¶
func (c *ProjectsReleasesGetExecutableCall) Header()http.Header
Header returns a http.Header that can be modified by the caller to addheaders to the request.
func (*ProjectsReleasesGetExecutableCall)IfNoneMatch¶
func (c *ProjectsReleasesGetExecutableCall) IfNoneMatch(entityTagstring) *ProjectsReleasesGetExecutableCall
IfNoneMatch sets an optional parameter which makes the operation fail if theobject's ETag matches the given value. This is useful for getting updatesonly after the object has changed since the last request.
typeProjectsReleasesListCall¶
type ProjectsReleasesListCall struct {// contains filtered or unexported fields}func (*ProjectsReleasesListCall)Context¶
func (c *ProjectsReleasesListCall) Context(ctxcontext.Context) *ProjectsReleasesListCall
Context sets the context to be used in this call's Do method.
func (*ProjectsReleasesListCall)Do¶
func (c *ProjectsReleasesListCall) Do(opts ...googleapi.CallOption) (*ListReleasesResponse,error)
Do executes the "firebaserules.projects.releases.list" call.Any non-2xx status code is an error. Response headers are in either*ListReleasesResponse.ServerResponse.Header or (if a response was returnedat all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified tocheck whether the returned error was because http.StatusNotModified wasreturned.
func (*ProjectsReleasesListCall)Fields¶
func (c *ProjectsReleasesListCall) Fields(s ...googleapi.Field) *ProjectsReleasesListCall
Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.
func (*ProjectsReleasesListCall)Filter¶
func (c *ProjectsReleasesListCall) Filter(filterstring) *ProjectsReleasesListCall
Filter sets the optional parameter "filter": `Release` filter. The listmethod supports filters with restrictions on the `Release.name`, and`Release.ruleset_name`. Example 1: A filter of 'name=prod*' might return`Release`s with names within 'projects/foo' prefixed with 'prod': Name ->Ruleset Name: * projects/foo/releases/prod -> projects/foo/rulesets/uuid1234* projects/foo/releases/prod/v1 -> projects/foo/rulesets/uuid1234 *projects/foo/releases/prod/v2 -> projects/foo/rulesets/uuid8888 Example 2: Afilter of `name=prod* ruleset_name=uuid1234` would return only `Release`instances for 'projects/foo' with names prefixed with 'prod' referring tothe same `Ruleset` name of 'uuid1234': Name -> Ruleset Name: *projects/foo/releases/prod -> projects/foo/rulesets/1234 *projects/foo/releases/prod/v1 -> projects/foo/rulesets/1234 In the examples,the filter parameters refer to the search filters are relative to theproject. Fully qualified prefixed may also be used.
func (*ProjectsReleasesListCall)Header¶
func (c *ProjectsReleasesListCall) Header()http.Header
Header returns a http.Header that can be modified by the caller to addheaders to the request.
func (*ProjectsReleasesListCall)IfNoneMatch¶
func (c *ProjectsReleasesListCall) IfNoneMatch(entityTagstring) *ProjectsReleasesListCall
IfNoneMatch sets an optional parameter which makes the operation fail if theobject's ETag matches the given value. This is useful for getting updatesonly after the object has changed since the last request.
func (*ProjectsReleasesListCall)PageSize¶
func (c *ProjectsReleasesListCall) PageSize(pageSizeint64) *ProjectsReleasesListCall
PageSize sets the optional parameter "pageSize": Page size to load. Maximumof 100. Defaults to 10. Note: `page_size` is just a hint and the service maychoose to load fewer than `page_size` results due to the size of the output.To traverse all of the releases, the caller should iterate until the`page_token` on the response is empty.
func (*ProjectsReleasesListCall)PageToken¶
func (c *ProjectsReleasesListCall) PageToken(pageTokenstring) *ProjectsReleasesListCall
PageToken sets the optional parameter "pageToken": Next page token for thenext batch of `Release` instances.
func (*ProjectsReleasesListCall)Pages¶
func (c *ProjectsReleasesListCall) Pages(ctxcontext.Context, f func(*ListReleasesResponse)error)error
Pages invokes f for each page of results.A non-nil error returned from f will halt the iteration.The provided context supersedes any context provided to the Context method.
typeProjectsReleasesPatchCall¶
type ProjectsReleasesPatchCall struct {// contains filtered or unexported fields}func (*ProjectsReleasesPatchCall)Context¶
func (c *ProjectsReleasesPatchCall) Context(ctxcontext.Context) *ProjectsReleasesPatchCall
Context sets the context to be used in this call's Do method.
func (*ProjectsReleasesPatchCall)Do¶
func (c *ProjectsReleasesPatchCall) Do(opts ...googleapi.CallOption) (*Release,error)
Do executes the "firebaserules.projects.releases.patch" call.Any non-2xx status code is an error. Response headers are in either*Release.ServerResponse.Header or (if a response was returned at all) inerror.(*googleapi.Error).Header. Use googleapi.IsNotModified to checkwhether the returned error was because http.StatusNotModified was returned.
func (*ProjectsReleasesPatchCall)Fields¶
func (c *ProjectsReleasesPatchCall) Fields(s ...googleapi.Field) *ProjectsReleasesPatchCall
Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.
func (*ProjectsReleasesPatchCall)Header¶
func (c *ProjectsReleasesPatchCall) Header()http.Header
Header returns a http.Header that can be modified by the caller to addheaders to the request.
typeProjectsReleasesService¶
type ProjectsReleasesService struct {// contains filtered or unexported fields}funcNewProjectsReleasesService¶
func NewProjectsReleasesService(s *Service) *ProjectsReleasesService
func (*ProjectsReleasesService)Create¶
func (r *ProjectsReleasesService) Create(namestring, release *Release) *ProjectsReleasesCreateCall
Create: Create a `Release`. Release names should reflect the developer'sdeployment practices. For example, the release name may include theenvironment name, application name, application version, or any other namemeaningful to the developer. Once a `Release` refers to a `Ruleset`, therules 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 relationships reflect a `Ruleset` rolloutin 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.
- name: Resource name for the project which owns this `Release`. Format:`projects/{project_id}`.
func (*ProjectsReleasesService)Delete¶
func (r *ProjectsReleasesService) Delete(namestring) *ProjectsReleasesDeleteCall
Delete: Delete a `Release` by resource name.
- name: Resource name for the `Release` to delete. Format:`projects/{project_id}/releases/{release_id}`.
func (*ProjectsReleasesService)Get¶
func (r *ProjectsReleasesService) Get(namestring) *ProjectsReleasesGetCall
Get: Get a `Release` by name.
- name: Resource name of the `Release`. Format:`projects/{project_id}/releases/{release_id}`.
func (*ProjectsReleasesService)GetExecutable¶
func (r *ProjectsReleasesService) GetExecutable(namestring) *ProjectsReleasesGetExecutableCall
GetExecutable: Get the `Release` executable to use when enforcing rules.
- name: Resource name of the `Release`. Format:`projects/{project_id}/releases/{release_id}`.
func (*ProjectsReleasesService)List¶
func (r *ProjectsReleasesService) List(namestring) *ProjectsReleasesListCall
List: List the `Release` values for a project. This list may optionally befiltered by `Release` name, `Ruleset` name, `TestSuite` name, or anycombination thereof.
- name: Resource name for the project. Format: `projects/{project_id}`.
func (*ProjectsReleasesService)Patch¶
func (r *ProjectsReleasesService) Patch(namestring, updatereleaserequest *UpdateReleaseRequest) *ProjectsReleasesPatchCall
Patch: Update a `Release` via PATCH. Only updates to `ruleset_name` will behonored. `Release` rename is not supported. To create a `Release` use theCreateRelease method.
- name: Resource name for the project which owns this `Release`. Format:`projects/{project_id}`.
typeProjectsRulesetsCreateCall¶
type ProjectsRulesetsCreateCall struct {// contains filtered or unexported fields}func (*ProjectsRulesetsCreateCall)Context¶
func (c *ProjectsRulesetsCreateCall) Context(ctxcontext.Context) *ProjectsRulesetsCreateCall
Context sets the context to be used in this call's Do method.
func (*ProjectsRulesetsCreateCall)Do¶
func (c *ProjectsRulesetsCreateCall) Do(opts ...googleapi.CallOption) (*Ruleset,error)
Do executes the "firebaserules.projects.rulesets.create" call.Any non-2xx status code is an error. Response headers are in either*Ruleset.ServerResponse.Header or (if a response was returned at all) inerror.(*googleapi.Error).Header. Use googleapi.IsNotModified to checkwhether the returned error was because http.StatusNotModified was returned.
func (*ProjectsRulesetsCreateCall)Fields¶
func (c *ProjectsRulesetsCreateCall) Fields(s ...googleapi.Field) *ProjectsRulesetsCreateCall
Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.
func (*ProjectsRulesetsCreateCall)Header¶
func (c *ProjectsRulesetsCreateCall) Header()http.Header
Header returns a http.Header that can be modified by the caller to addheaders to the request.
typeProjectsRulesetsDeleteCall¶
type ProjectsRulesetsDeleteCall struct {// contains filtered or unexported fields}func (*ProjectsRulesetsDeleteCall)Context¶
func (c *ProjectsRulesetsDeleteCall) Context(ctxcontext.Context) *ProjectsRulesetsDeleteCall
Context sets the context to be used in this call's Do method.
func (*ProjectsRulesetsDeleteCall)Do¶
func (c *ProjectsRulesetsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty,error)
Do executes the "firebaserules.projects.rulesets.delete" call.Any non-2xx status code is an error. Response headers are in either*Empty.ServerResponse.Header or (if a response was returned at all) inerror.(*googleapi.Error).Header. Use googleapi.IsNotModified to checkwhether the returned error was because http.StatusNotModified was returned.
func (*ProjectsRulesetsDeleteCall)Fields¶
func (c *ProjectsRulesetsDeleteCall) Fields(s ...googleapi.Field) *ProjectsRulesetsDeleteCall
Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.
func (*ProjectsRulesetsDeleteCall)Header¶
func (c *ProjectsRulesetsDeleteCall) Header()http.Header
Header returns a http.Header that can be modified by the caller to addheaders to the request.
typeProjectsRulesetsGetCall¶
type ProjectsRulesetsGetCall struct {// contains filtered or unexported fields}func (*ProjectsRulesetsGetCall)Context¶
func (c *ProjectsRulesetsGetCall) Context(ctxcontext.Context) *ProjectsRulesetsGetCall
Context sets the context to be used in this call's Do method.
func (*ProjectsRulesetsGetCall)Do¶
func (c *ProjectsRulesetsGetCall) Do(opts ...googleapi.CallOption) (*Ruleset,error)
Do executes the "firebaserules.projects.rulesets.get" call.Any non-2xx status code is an error. Response headers are in either*Ruleset.ServerResponse.Header or (if a response was returned at all) inerror.(*googleapi.Error).Header. Use googleapi.IsNotModified to checkwhether the returned error was because http.StatusNotModified was returned.
func (*ProjectsRulesetsGetCall)Fields¶
func (c *ProjectsRulesetsGetCall) Fields(s ...googleapi.Field) *ProjectsRulesetsGetCall
Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.
func (*ProjectsRulesetsGetCall)Header¶
func (c *ProjectsRulesetsGetCall) Header()http.Header
Header returns a http.Header that can be modified by the caller to addheaders to the request.
func (*ProjectsRulesetsGetCall)IfNoneMatch¶
func (c *ProjectsRulesetsGetCall) IfNoneMatch(entityTagstring) *ProjectsRulesetsGetCall
IfNoneMatch sets an optional parameter which makes the operation fail if theobject's ETag matches the given value. This is useful for getting updatesonly after the object has changed since the last request.
typeProjectsRulesetsListCall¶
type ProjectsRulesetsListCall struct {// contains filtered or unexported fields}func (*ProjectsRulesetsListCall)Context¶
func (c *ProjectsRulesetsListCall) Context(ctxcontext.Context) *ProjectsRulesetsListCall
Context sets the context to be used in this call's Do method.
func (*ProjectsRulesetsListCall)Do¶
func (c *ProjectsRulesetsListCall) Do(opts ...googleapi.CallOption) (*ListRulesetsResponse,error)
Do executes the "firebaserules.projects.rulesets.list" call.Any non-2xx status code is an error. Response headers are in either*ListRulesetsResponse.ServerResponse.Header or (if a response was returnedat all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified tocheck whether the returned error was because http.StatusNotModified wasreturned.
func (*ProjectsRulesetsListCall)Fields¶
func (c *ProjectsRulesetsListCall) Fields(s ...googleapi.Field) *ProjectsRulesetsListCall
Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.
func (*ProjectsRulesetsListCall)Filter¶
func (c *ProjectsRulesetsListCall) Filter(filterstring) *ProjectsRulesetsListCall
Filter sets the optional parameter "filter": `Ruleset` filter. The listmethod supports filters with restrictions on `Ruleset.name`. Filters on`Ruleset.create_time` should use the `date` function which parses stringsthat conform to theRFC 3339 date/time specifications. Example: `create_time> date("2017-01-01T00:00:00Z") AND name=UUID-*`
func (*ProjectsRulesetsListCall)Header¶
func (c *ProjectsRulesetsListCall) Header()http.Header
Header returns a http.Header that can be modified by the caller to addheaders to the request.
func (*ProjectsRulesetsListCall)IfNoneMatch¶
func (c *ProjectsRulesetsListCall) IfNoneMatch(entityTagstring) *ProjectsRulesetsListCall
IfNoneMatch sets an optional parameter which makes the operation fail if theobject's ETag matches the given value. This is useful for getting updatesonly after the object has changed since the last request.
func (*ProjectsRulesetsListCall)PageSize¶
func (c *ProjectsRulesetsListCall) PageSize(pageSizeint64) *ProjectsRulesetsListCall
PageSize sets the optional parameter "pageSize": Page size to load. Maximumof 100. Defaults to 10. Note: `page_size` is just a hint and the service maychoose to load less than `page_size` due to the size of the output. Totraverse all of the releases, caller should iterate until the `page_token`is empty.
func (*ProjectsRulesetsListCall)PageToken¶
func (c *ProjectsRulesetsListCall) PageToken(pageTokenstring) *ProjectsRulesetsListCall
PageToken sets the optional parameter "pageToken": Next page token forloading the next batch of `Ruleset` instances.
func (*ProjectsRulesetsListCall)Pages¶
func (c *ProjectsRulesetsListCall) Pages(ctxcontext.Context, f func(*ListRulesetsResponse)error)error
Pages invokes f for each page of results.A non-nil error returned from f will halt the iteration.The provided context supersedes any context provided to the Context method.
typeProjectsRulesetsService¶
type ProjectsRulesetsService struct {// contains filtered or unexported fields}funcNewProjectsRulesetsService¶
func NewProjectsRulesetsService(s *Service) *ProjectsRulesetsService
func (*ProjectsRulesetsService)Create¶
func (r *ProjectsRulesetsService) Create(namestring, ruleset *Ruleset) *ProjectsRulesetsCreateCall
Create: Create a `Ruleset` from `Source`. The `Ruleset` is given a uniquegenerated name which is returned to the caller. `Source` containingsyntactic or semantics errors will result in an error response indicatingthe first error encountered. For a detailed view of `Source` issues, useTestRuleset.
- name: Resource name for Project which owns this `Ruleset`. Format:`projects/{project_id}`.
func (*ProjectsRulesetsService)Delete¶
func (r *ProjectsRulesetsService) Delete(namestring) *ProjectsRulesetsDeleteCall
Delete: Delete a `Ruleset` by resource name. If the `Ruleset` is referencedby a `Release` the operation will fail.
- name: Resource name for the ruleset to delete. Format:`projects/{project_id}/rulesets/{ruleset_id}`.
func (*ProjectsRulesetsService)Get¶
func (r *ProjectsRulesetsService) Get(namestring) *ProjectsRulesetsGetCall
Get: Get a `Ruleset` by name including the full `Source` contents.
- name: Resource name for the ruleset to get. Format:`projects/{project_id}/rulesets/{ruleset_id}`.
func (*ProjectsRulesetsService)List¶
func (r *ProjectsRulesetsService) List(namestring) *ProjectsRulesetsListCall
List: List `Ruleset` metadata only and optionally filter the results by`Ruleset` name. The full `Source` contents of a `Ruleset` may be retrievedwith GetRuleset.
- name: Resource name for the project. Format: `projects/{project_id}`.
typeProjectsService¶
type ProjectsService struct {Releases *ProjectsReleasesServiceRulesets *ProjectsRulesetsService// contains filtered or unexported fields}funcNewProjectsService¶
func NewProjectsService(s *Service) *ProjectsService
func (*ProjectsService)Test¶
func (r *ProjectsService) Test(namestring, testrulesetrequest *TestRulesetRequest) *ProjectsTestCall
Test: Test `Source` for syntactic and semantic correctness. Issues present,if any, will be returned to the caller with a description, severity, andsource 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 imagesto 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} { allowwrite: if userId == request.auth.uid && (imageName.matches('*.png$') ||imageName.matches('*.jpg$')) && resource.mimeType.matches('^image/') } }
- name: Tests may either provide `source` or a `Ruleset` resource name. Fortests against `source`, the resource name must refer to the project:Format: `projects/{project_id}` For tests against a `Ruleset`, this mustbe the `Ruleset` resource name: Format:`projects/{project_id}/rulesets/{ruleset_id}`.
typeProjectsTestCall¶
type ProjectsTestCall struct {// contains filtered or unexported fields}func (*ProjectsTestCall)Context¶
func (c *ProjectsTestCall) Context(ctxcontext.Context) *ProjectsTestCall
Context sets the context to be used in this call's Do method.
func (*ProjectsTestCall)Do¶
func (c *ProjectsTestCall) Do(opts ...googleapi.CallOption) (*TestRulesetResponse,error)
Do executes the "firebaserules.projects.test" call.Any non-2xx status code is an error. Response headers are in either*TestRulesetResponse.ServerResponse.Header or (if a response was returned atall) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified tocheck whether the returned error was because http.StatusNotModified wasreturned.
func (*ProjectsTestCall)Fields¶
func (c *ProjectsTestCall) Fields(s ...googleapi.Field) *ProjectsTestCall
Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.
func (*ProjectsTestCall)Header¶
func (c *ProjectsTestCall) Header()http.Header
Header returns a http.Header that can be modified by the caller to addheaders to the request.
typeRelease¶
type Release struct {// CreateTime: Output only. Time the release was created.CreateTimestring `json:"createTime,omitempty"`// Name: Required. Format: `projects/{project_id}/releases/{release_id}`Namestring `json:"name,omitempty"`// RulesetName: Required. Name of the `Ruleset` referred to by this `Release`.// The `Ruleset` must exist for the `Release` to be created.RulesetNamestring `json:"rulesetName,omitempty"`// UpdateTime: Output only. Time the release was updated.UpdateTimestring `json:"updateTime,omitempty"`// ServerResponse contains the HTTP response code and headers from the server.googleapi.ServerResponse `json:"-"`// ForceSendFields is a list of field names (e.g. "CreateTime") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "CreateTime") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}Release: `Release` is a named reference to a `Ruleset`. Once a `Release`refers to a `Ruleset`, rules-enabled services will be able to enforce the`Ruleset`.
func (Release)MarshalJSON¶
typeResult¶
type Result struct {// Undefined: The result is undefined, meaning the result could not be// computed.Undefined *Empty `json:"undefined,omitempty"`// Value: The result is an actual value. The type of the value must match that// of the type declared by the service.Value interface{} `json:"value,omitempty"`// ForceSendFields is a list of field names (e.g. "Undefined") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Undefined") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}Result: Possible result values from the function mock invocation.
func (Result)MarshalJSON¶
typeRuleset¶
type Ruleset struct {// AttachmentPoint: Immutable. Intended resource to which this Ruleset should// be released. May be left blank to signify the resource associated with the// default release. Expected format:// firestore.googleapis.com/projects//databases/AttachmentPointstring `json:"attachmentPoint,omitempty"`// CreateTime: Output only. Time the `Ruleset` was created.CreateTimestring `json:"createTime,omitempty"`// Metadata: Output only. The metadata for this ruleset.Metadata *Metadata `json:"metadata,omitempty"`// Name: Output only. Name of the `Ruleset`. The ruleset_id is auto generated// by the service. Format: `projects/{project_id}/rulesets/{ruleset_id}`Namestring `json:"name,omitempty"`// Source: Required. `Source` for the `Ruleset`.Source *Source `json:"source,omitempty"`// ServerResponse contains the HTTP response code and headers from the server.googleapi.ServerResponse `json:"-"`// ForceSendFields is a list of field names (e.g. "AttachmentPoint") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "AttachmentPoint") to include in// API requests with the JSON null value. By default, fields with empty values// are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}Ruleset: `Ruleset` is an immutable copy of `Source` with a globally uniqueidentifier and a creation time.
func (Ruleset)MarshalJSON¶
typeService¶
type Service struct {BasePathstring// API endpoint base URLUserAgentstring// optional additional User-Agent fragmentProjects *ProjectsService// contains filtered or unexported fields} funcNewdeprecated
New creates a new Service. It uses the provided http.Client for requests.
Deprecated: please use NewService instead.To provide a custom HTTP client, use option.WithHTTPClient.If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
funcNewService¶added inv0.3.0
NewService creates a new Service.
typeSource¶
type Source struct {// Files: Required. `File` set constituting the `Source` bundle.Files []*File `json:"files,omitempty"`// ForceSendFields is a list of field names (e.g. "Files") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Files") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}Source: `Source` is one or more `File` messages comprising a logical set ofrules.
func (Source)MarshalJSON¶
typeSourcePosition¶
type SourcePosition struct {// Column: First column on the source line associated with the source fragment.Columnint64 `json:"column,omitempty"`// CurrentOffset: Start position relative to the beginning of the file.CurrentOffsetint64 `json:"currentOffset,omitempty"`// EndOffset: End position relative to the beginning of the file.EndOffsetint64 `json:"endOffset,omitempty"`// FileName: Name of the `File`.FileNamestring `json:"fileName,omitempty"`// Line: Line number of the source fragment. 1-based.Lineint64 `json:"line,omitempty"`// ForceSendFields is a list of field names (e.g. "Column") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Column") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}SourcePosition: Position in the `Source` content including its line, columnnumber, and an index of the `File` in the `Source` message. Used for debugpurposes.
func (SourcePosition)MarshalJSON¶
func (sSourcePosition) MarshalJSON() ([]byte,error)
typeTestCase¶
type TestCase struct {// Expectation: Test expectation.//// Possible values:// "EXPECTATION_UNSPECIFIED" - Unspecified expectation.// "ALLOW" - Expect an allowed result.// "DENY" - Expect a denied result.Expectationstring `json:"expectation,omitempty"`// ExpressionReportLevel: Specifies what should be included in the response.//// Possible values:// "LEVEL_UNSPECIFIED" - No level has been specified. Defaults to "NONE"// behavior.// "NONE" - Do not include any additional information.// "FULL" - Include detailed reporting on expressions evaluated.// "VISITED" - Only include the expressions that were visited during// evaluation.ExpressionReportLevelstring `json:"expressionReportLevel,omitempty"`// FunctionMocks: Optional function mocks for service-defined functions. If not// set, any service defined function is expected to return an error, which may// or may not influence the test outcome.FunctionMocks []*FunctionMock `json:"functionMocks,omitempty"`// PathEncoding: Specifies whether paths (such as request.path) are encoded and// how.//// Possible values:// "ENCODING_UNSPECIFIED" - No encoding has been specified. Defaults to// "URL_ENCODED" behavior.// "URL_ENCODED" - Treats path segments as URL encoded but with non-encoded// separators ("/"). This is the default behavior.// "PLAIN" - Treats total path as non-URL encoded e.g. raw.PathEncodingstring `json:"pathEncoding,omitempty"`// Request: Request context. The exact format of the request context is// service-dependent. See the appropriate service documentation for information// about the supported fields and types on the request. Minimally, all services// support the following fields and types: Request field | Type// ---------------|----------------- auth.uid | `string` auth.token | `map`// headers | `map` method | `string` params | `map` path | `string` time |// `google.protobuf.Timestamp` If the request value is not well-formed for the// service, the request will be rejected as an invalid argument.Request interface{} `json:"request,omitempty"`// Resource: Optional resource value as it appears in persistent storage before// the request is fulfilled. The resource type depends on the `request.path`// value.Resource interface{} `json:"resource,omitempty"`// ForceSendFields is a list of field names (e.g. "Expectation") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Expectation") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}TestCase: `TestCase` messages provide the request context and an expectationas to whether the given context will be allowed or denied. Test cases mayspecify the `request`, `resource`, and `function_mocks` to mock a functioncall to a service-provided function. The `request` object represents contextpresent at request-time. The `resource` is the value of the target resourceas it appears in persistent storage before the request is executed.
func (TestCase)MarshalJSON¶
typeTestResult¶
type TestResult struct {// DebugMessages: Debug messages related to test execution issues encountered// during evaluation. Debug messages may be related to too many or too few// invocations of function mocks or to runtime errors that occur during// evaluation. For example: “`Unable to read variable [name: "resource"]“`DebugMessages []string `json:"debugMessages,omitempty"`// ErrorPosition: Position in the `Source` or `Ruleset` where the principle// runtime error occurs. Evaluation of an expression may result in an error.// Rules are deny by default, so a `DENY` expectation when an error is// generated is valid. When there is a `DENY` with an error, the// `SourcePosition` is returned. E.g. `error_position { line: 19 column: 37 }`ErrorPosition *SourcePosition `json:"errorPosition,omitempty"`// ExpressionReports: The mapping from expression in the ruleset AST to the// values they were evaluated to. Partially-nested to mirror AST structure.// Note that this field is actually tracking expressions and not permission// statements in contrast to the "visited_expressions" field above. Literal// expressions are omitted.ExpressionReports []*ExpressionReport `json:"expressionReports,omitempty"`// FunctionCalls: The set of function calls made to service-defined methods.// Function calls are included in the order in which they are encountered// during evaluation, are provided for both mocked and unmocked functions, and// included on the response regardless of the test `state`.FunctionCalls []*FunctionCall `json:"functionCalls,omitempty"`// State: State of the test.//// Possible values:// "STATE_UNSPECIFIED" - Test state is not set.// "SUCCESS" - Test is a success.// "FAILURE" - Test is a failure.Statestring `json:"state,omitempty"`// VisitedExpressions: The set of visited permission expressions for a given// test. This returns the positions and evaluation results of all visited// permission expressions which were relevant to the test case, e.g. “` match// /path { allow read if: } “` For a detailed report of the intermediate// evaluation states, see the `expression_reports` fieldVisitedExpressions []*VisitedExpression `json:"visitedExpressions,omitempty"`// ForceSendFields is a list of field names (e.g. "DebugMessages") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "DebugMessages") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}TestResult: Test result message containing the state of the test as well asa description and source position for test failures.
func (TestResult)MarshalJSON¶
func (sTestResult) MarshalJSON() ([]byte,error)
typeTestRulesetRequest¶
type TestRulesetRequest struct {// Source: Optional. Optional `Source` to be checked for correctness. This// field must not be set when the resource name refers to a `Ruleset`.Source *Source `json:"source,omitempty"`// TestSuite: Required. The tests to execute against the `Source`. When// `Source` is provided inline, the test cases will only be run if the `Source`// is syntactically and semantically valid. Inline `TestSuite` to run.TestSuite *TestSuite `json:"testSuite,omitempty"`// ForceSendFields is a list of field names (e.g. "Source") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Source") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}TestRulesetRequest: The request for FirebaseRulesService.TestRuleset.
func (TestRulesetRequest)MarshalJSON¶
func (sTestRulesetRequest) MarshalJSON() ([]byte,error)
typeTestRulesetResponse¶
type TestRulesetResponse struct {// Issues: Syntactic and semantic `Source` issues of varying severity. Issues// of `ERROR` severity will prevent tests from executing.Issues []*Issue `json:"issues,omitempty"`// TestResults: The set of test results given the test cases in the// `TestSuite`. The results will appear in the same order as the test cases// appear in the `TestSuite`.TestResults []*TestResult `json:"testResults,omitempty"`// ServerResponse contains the HTTP response code and headers from the server.googleapi.ServerResponse `json:"-"`// ForceSendFields is a list of field names (e.g. "Issues") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Issues") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}TestRulesetResponse: The response for FirebaseRulesService.TestRuleset.
func (TestRulesetResponse)MarshalJSON¶
func (sTestRulesetResponse) MarshalJSON() ([]byte,error)
typeTestSuite¶
type TestSuite struct {// TestCases: Collection of test cases associated with the `TestSuite`.TestCases []*TestCase `json:"testCases,omitempty"`// ForceSendFields is a list of field names (e.g. "TestCases") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "TestCases") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}TestSuite: `TestSuite` is a collection of `TestCase` instances that validatethe logical correctness of a `Ruleset`. The `TestSuite` may be referencedin-line within a `TestRuleset` invocation or as part of a `Release` objectas a pre-release check.
func (TestSuite)MarshalJSON¶
typeUpdateReleaseRequest¶
type UpdateReleaseRequest struct {// Release: Required. `Release` to update.Release *Release `json:"release,omitempty"`// UpdateMask: Optional. Specifies which fields to update.UpdateMaskstring `json:"updateMask,omitempty"`// ForceSendFields is a list of field names (e.g. "Release") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Release") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}UpdateReleaseRequest: The request for FirebaseRulesService.UpdateRelease.
func (UpdateReleaseRequest)MarshalJSON¶
func (sUpdateReleaseRequest) MarshalJSON() ([]byte,error)
typeValueCount¶added inv0.15.0
type ValueCount struct {// Count: The amount of times that expression returned.Countint64 `json:"count,omitempty"`// Value: The return value of the expressionValue interface{} `json:"value,omitempty"`// ForceSendFields is a list of field names (e.g. "Count") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Count") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}ValueCount: Tuple for how many times an Expression was evaluated to aparticular ExpressionValue.
func (ValueCount)MarshalJSON¶added inv0.15.0
func (sValueCount) MarshalJSON() ([]byte,error)
typeVisitedExpression¶
type VisitedExpression struct {// SourcePosition: Position in the `Source` or `Ruleset` where an expression// was visited.SourcePosition *SourcePosition `json:"sourcePosition,omitempty"`// Value: The evaluated value for the visited expression, e.g. true/falseValue interface{} `json:"value,omitempty"`// ForceSendFields is a list of field names (e.g. "SourcePosition") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "SourcePosition") to include in// API requests with the JSON null value. By default, fields with empty values// are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}VisitedExpression: Store the position and access outcome for an expressionvisited in rules.
func (VisitedExpression)MarshalJSON¶
func (sVisitedExpression) MarshalJSON() ([]byte,error)