Skip to content

Commit e61a513

Browse files
fix!: [analytics-admin] delete BatchDeleteUserLinks, DeleteUserLink, BatchUpdateUserLinks, UpdateUserLink, BatchCreateUserLinks, CreateUserLink, AuditUserLinks, ListUserLinks, BatchGetUserLinks, GetUserLink from the Admin API v1 alp... (#4751)
* fix!: delete `BatchDeleteUserLinks`, `DeleteUserLink`, `BatchUpdateUserLinks`, `UpdateUserLink`, `BatchCreateUserLinks`, `CreateUserLink`, `AuditUserLinks`, `ListUserLinks`, `BatchGetUserLinks`, `GetUserLink` from the Admin API v1 alpha as per the announcement in https://bit.ly/46yBIDt feat: add `UpdateDataRedactionSettings`, `CreateRollupProperty`, `GetRollupPropertySourceLink`, `ListRollupPropertySourceLinks`, `CreateRollupPropertySourceLink`, `DeleteRollupPropertySourceLink`, `CreateSubproperty`, `CreateSubpropertyEventFilter`, `CreateSubpropertyEventFilter`, `ListSubpropertyEventFilters`, `UpdateSubpropertyEventFilter`, `DeleteSubpropertyEventFilter` methods to the Admin API v1 alpha feat: add `include_all_users`, `expand_groups` fields to `RunAccessReportRequest` feat: add `DataRedactionSettings`, `RollupPropertySourceLink`, `SubpropertyEventFilterCondition`, `SubpropertyEventFilterExpression`, `SubpropertyEventFilterExpressionList`, `SubpropertyEventFilterClause`, `SubpropertyEventFilter` types feat: add the `DATA_REDACTION_SETTINGS` option to the `ChangeHistoryResourceType` enum feat: add the `data_redaction_settings` field to the `ChangeHistoryResource.resource` oneof field PiperOrigin-RevId: 574877732 Source-Link: googleapis/googleapis@a3006dd Source-Link: googleapis/googleapis-gen@4eb740a Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWFuYWx5dGljcy1hZG1pbi8uT3dsQm90LnlhbWwiLCJoIjoiNGViNzQwYTRjZjIxYzEzZDEzNzM3YjM0ODhmYTRjNzUyZTEzYjc5ZCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent ed25f95 commit e61a513

26 files changed

Lines changed: 40416 additions & 36268 deletions

packages/google-analytics-admin/README.md

Lines changed: 10 additions & 0 deletions
Large diffs are not rendered by default.

packages/google-analytics-admin/protos/google/analytics/admin/v1alpha/analytics_admin.proto

Lines changed: 394 additions & 359 deletions
Large diffs are not rendered by default.

packages/google-analytics-admin/protos/google/analytics/admin/v1alpha/resources.proto

Lines changed: 61 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,9 @@ enum ChangeHistoryResourceType {
216216
// EnhancedMeasurementSettings resource
217217
ENHANCED_MEASUREMENT_SETTINGS = 24;
218218

219+
// DataRedactionSettings resource
220+
DATA_REDACTION_SETTINGS = 25;
221+
219222
// SKAdNetworkConversionValueSchema resource
220223
SKADNETWORK_CONVERSION_VALUE_SCHEMA = 26;
221224

@@ -379,8 +382,7 @@ message Property {
379382

380383
// Immutable. The property type for this Property resource. When creating a
381384
// property, if the type is "PROPERTY_TYPE_UNSPECIFIED", then
382-
// "ORDINARY_PROPERTY" will be implied. "SUBPROPERTY" and "ROLLUP_PROPERTY"
383-
// types cannot yet be created with the Google Analytics Admin API.
385+
// "ORDINARY_PROPERTY" will be implied.
384386
PropertyType property_type = 14 [(google.api.field_behavior) = IMMUTABLE];
385387

386388
// Output only. Time when the entity was originally created.
@@ -557,62 +559,6 @@ message DataStream {
557559
[(google.api.field_behavior) = OUTPUT_ONLY];
558560
}
559561

560-
// A resource message representing a user's permissions on an Account or
561-
// Property resource.
562-
message UserLink {
563-
option (google.api.resource) = {
564-
type: "analyticsadmin.googleapis.com/UserLink"
565-
pattern: "accounts/{account}/userLinks/{user_link}"
566-
pattern: "properties/{property}/userLinks/{user_link}"
567-
};
568-
569-
// Output only. Example format: properties/1234/userLinks/5678
570-
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
571-
572-
// Immutable. Email address of the user to link
573-
string email_address = 2 [(google.api.field_behavior) = IMMUTABLE];
574-
575-
// Roles directly assigned to this user for this account or property.
576-
//
577-
// Valid values:
578-
// predefinedRoles/viewer
579-
// predefinedRoles/analyst
580-
// predefinedRoles/editor
581-
// predefinedRoles/admin
582-
// predefinedRoles/no-cost-data
583-
// predefinedRoles/no-revenue-data
584-
//
585-
// Excludes roles that are inherited from a higher-level entity, group,
586-
// or organization admin role.
587-
//
588-
// A UserLink that is updated to have an empty list of direct_roles will be
589-
// deleted.
590-
repeated string direct_roles = 3;
591-
}
592-
593-
// Read-only resource used to summarize a principal's effective roles.
594-
message AuditUserLink {
595-
// Example format: properties/1234/userLinks/5678
596-
string name = 1;
597-
598-
// Email address of the linked user
599-
string email_address = 2;
600-
601-
// Roles directly assigned to this user for this entity.
602-
//
603-
// Format: predefinedRoles/viewer
604-
//
605-
// Excludes roles that are inherited from an account (if this is for a
606-
// property), group, or organization admin role.
607-
repeated string direct_roles = 3;
608-
609-
// Union of all permissions a user has at this account or property (includes
610-
// direct permissions, group-inherited permissions, etc.).
611-
//
612-
// Format: predefinedRoles/viewer
613-
repeated string effective_roles = 4;
614-
}
615-
616562
// A link between a GA4 property and a Firebase project.
617563
message FirebaseLink {
618564
option (google.api.resource) = {
@@ -1014,6 +960,9 @@ message ChangeHistoryChange {
1014960
// A snapshot of EnhancedMeasurementSettings resource in change history.
1015961
EnhancedMeasurementSettings enhanced_measurement_settings = 24;
1016962

963+
// A snapshot of DataRedactionSettings resource in change history.
964+
DataRedactionSettings data_redaction_settings = 25;
965+
1017966
// A snapshot of SKAdNetworkConversionValueSchema resource in change
1018967
// history.
1019968
SKAdNetworkConversionValueSchema skadnetwork_conversion_value_schema = 26;
@@ -1814,6 +1763,39 @@ message ConnectedSiteTag {
18141763
string tag_id = 2 [(google.api.field_behavior) = REQUIRED];
18151764
}
18161765

1766+
// Settings for client-side data redaction. Singleton resource under a Web
1767+
// Stream.
1768+
message DataRedactionSettings {
1769+
option (google.api.resource) = {
1770+
type: "analyticsadmin.googleapis.com/DataRedactionSettings"
1771+
pattern: "properties/{property}/dataStreams/{data_stream}/dataRedactionSettings"
1772+
};
1773+
1774+
// Output only. Name of this Data Redaction Settings resource.
1775+
// Format:
1776+
// properties/{property_id}/dataStreams/{data_stream}/dataRedactionSettings
1777+
// Example: "properties/1000/dataStreams/2000/dataRedactionSettings"
1778+
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
1779+
1780+
// If enabled, any event parameter or user property values that look like an
1781+
// email will be redacted.
1782+
bool email_redaction_enabled = 2;
1783+
1784+
// Query Parameter redaction removes the key and value portions of a
1785+
// query parameter if it is in the configured set of query parameters.
1786+
//
1787+
// If enabled, URL query replacement logic will be run for the Stream. Any
1788+
// query parameters defined in query_parameter_keys will be redacted.
1789+
bool query_parameter_redaction_enabled = 3;
1790+
1791+
// The query parameter keys to apply redaction logic to if present in the URL.
1792+
// Query parameter matching is case-insensitive.
1793+
//
1794+
// Must contain at least one element if query_parameter_replacement_enabled
1795+
// is true. Keys cannot contain commas.
1796+
repeated string query_parameter_keys = 4;
1797+
}
1798+
18171799
// A link between a GA4 Property and an AdSense for Content ad client.
18181800
message AdSenseLink {
18191801
option (google.api.resource) = {
@@ -1830,3 +1812,24 @@ message AdSenseLink {
18301812
// Example format: "ca-pub-1234567890"
18311813
string ad_client_code = 2 [(google.api.field_behavior) = IMMUTABLE];
18321814
}
1815+
1816+
// A link that references a source property under the parent rollup property.
1817+
message RollupPropertySourceLink {
1818+
option (google.api.resource) = {
1819+
type: "analyticsadmin.googleapis.com/RollupPropertySourceLink"
1820+
pattern: "properties/{property}/rollupPropertySourceLinks/{rollup_property_source_link}"
1821+
plural: "rollupPropertySourceLinks"
1822+
singular: "rollupPropertySourceLink"
1823+
};
1824+
1825+
// Output only. Resource name of this RollupPropertySourceLink.
1826+
// Format:
1827+
// 'properties/{property_id}/rollupPropertySourceLinks/{rollup_property_source_link}'
1828+
// Format: 'properties/123/rollupPropertySourceLinks/456'
1829+
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
1830+
1831+
// Immutable. Resource name of the source property.
1832+
// Format: properties/{property_id}
1833+
// Example: "properties/789"
1834+
string source_property = 2 [(google.api.field_behavior) = IMMUTABLE];
1835+
}
Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
// Copyright 2023 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
syntax = "proto3";
16+
17+
package google.analytics.admin.v1alpha;
18+
19+
import "google/api/field_behavior.proto";
20+
import "google/api/resource.proto";
21+
22+
option go_package = "cloud.google.com/go/analytics/admin/apiv1alpha/adminpb;adminpb";
23+
option java_multiple_files = true;
24+
option java_outer_classname = "SubpropertyEventFilterProto";
25+
option java_package = "com.google.analytics.admin.v1alpha";
26+
27+
// A specific filter expression
28+
message SubpropertyEventFilterCondition {
29+
// A filter for a string-type dimension that matches a particular pattern.
30+
message StringFilter {
31+
// How the filter will be used to determine a match.
32+
enum MatchType {
33+
// Match type unknown or not specified.
34+
MATCH_TYPE_UNSPECIFIED = 0;
35+
36+
// Exact match of the string value.
37+
EXACT = 1;
38+
39+
// Begins with the string value.
40+
BEGINS_WITH = 2;
41+
42+
// Ends with the string value.
43+
ENDS_WITH = 3;
44+
45+
// Contains the string value.
46+
CONTAINS = 4;
47+
48+
// Full regular expression matches with the string value.
49+
FULL_REGEXP = 5;
50+
51+
// Partial regular expression matches with the string value.
52+
PARTIAL_REGEXP = 6;
53+
}
54+
55+
// Required. The match type for the string filter.
56+
MatchType match_type = 1 [(google.api.field_behavior) = REQUIRED];
57+
58+
// Required. The string value used for the matching.
59+
string value = 2 [(google.api.field_behavior) = REQUIRED];
60+
61+
// Optional. If true, the string value is case sensitive. If false, the
62+
// match is case-insensitive.
63+
bool case_sensitive = 3 [(google.api.field_behavior) = OPTIONAL];
64+
}
65+
66+
oneof one_filter {
67+
// A filter for null values.
68+
bool null_filter = 2;
69+
70+
// A filter for a string-type dimension that matches a particular pattern.
71+
StringFilter string_filter = 3;
72+
}
73+
74+
// Required. The field that is being filtered.
75+
string field_name = 1 [(google.api.field_behavior) = REQUIRED];
76+
}
77+
78+
// A logical expression of Subproperty event filters.
79+
message SubpropertyEventFilterExpression {
80+
// The expression applied to a filter.
81+
oneof expr {
82+
// A list of expressions to OR’ed together. Must only contain
83+
// not_expression or filter_condition expressions.
84+
SubpropertyEventFilterExpressionList or_group = 1;
85+
86+
// A filter expression to be NOT'ed (inverted, complemented). It can only
87+
// include a filter. This cannot be set on the top level
88+
// SubpropertyEventFilterExpression.
89+
SubpropertyEventFilterExpression not_expression = 2;
90+
91+
// Creates a filter that matches a specific event. This cannot be set on the
92+
// top level SubpropertyEventFilterExpression.
93+
SubpropertyEventFilterCondition filter_condition = 3;
94+
}
95+
}
96+
97+
// A list of Subproperty event filter expressions.
98+
message SubpropertyEventFilterExpressionList {
99+
// Required. Unordered list. A list of Subproperty event filter expressions
100+
repeated SubpropertyEventFilterExpression filter_expressions = 1 [
101+
(google.api.field_behavior) = REQUIRED,
102+
(google.api.field_behavior) = UNORDERED_LIST
103+
];
104+
}
105+
106+
// A clause for defining a filter. A filter may be inclusive (events satisfying
107+
// the filter clause are included in the subproperty's data) or exclusive
108+
// (events satisfying the filter clause are excluded from the subproperty's
109+
// data).
110+
message SubpropertyEventFilterClause {
111+
// Specifies whether this is an include or exclude filter clause.
112+
enum FilterClauseType {
113+
// Filter clause type unknown or not specified.
114+
FILTER_CLAUSE_TYPE_UNSPECIFIED = 0;
115+
116+
// Events will be included in the Sub property if the filter clause is met.
117+
INCLUDE = 1;
118+
119+
// Events will be excluded from the Sub property if the filter clause is
120+
// met.
121+
EXCLUDE = 2;
122+
}
123+
124+
// Required. The type for the filter clause.
125+
FilterClauseType filter_clause_type = 1
126+
[(google.api.field_behavior) = REQUIRED];
127+
128+
// Required. The logical expression for what events are sent to the
129+
// subproperty.
130+
SubpropertyEventFilterExpression filter_expression = 2
131+
[(google.api.field_behavior) = REQUIRED];
132+
}
133+
134+
// A resource message representing a GA4 Subproperty event filter.
135+
message SubpropertyEventFilter {
136+
option (google.api.resource) = {
137+
type: "analyticsadmin.googleapis.com/SubpropertyEventFilter"
138+
pattern: "properties/{property}/subpropertyEventFilters/{sub_property_event_filter}"
139+
plural: "subpropertyEventFilters"
140+
singular: "subpropertyEventFilter"
141+
};
142+
143+
// Output only. Format:
144+
// properties/{ordinary_property_id}/subpropertyEventFilters/{sub_property_event_filter}
145+
// Example: properties/1234/subpropertyEventFilters/5678
146+
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
147+
148+
// Immutable. Resource name of the Subproperty that uses this filter.
149+
optional string apply_to_property = 2
150+
[(google.api.field_behavior) = IMMUTABLE];
151+
152+
// Required. Unordered list. Filter clauses that define the
153+
// SubpropertyEventFilter. All clauses are AND'ed together to determine what
154+
// data is sent to the subproperty.
155+
repeated SubpropertyEventFilterClause filter_clauses = 3 [
156+
(google.api.field_behavior) = REQUIRED,
157+
(google.api.field_behavior) = UNORDERED_LIST
158+
];
159+
}

0 commit comments

Comments
 (0)