diff options
| author | n1c00o <git.n1c00o@gmail.com> | 2022-10-12 18:05:45 +0200 | 
|---|---|---|
| committer | n1c00o <git.n1c00o@gmail.com> | 2022-10-12 18:05:45 +0200 | 
| commit | 9bcf3fedd50bd6c8dfef1673482d9b61fab49cd0 (patch) | |
| tree | 45f3b754ece09b90bde859bc6e7eae4d3c31a848 /third_party/googleapis/google/analytics/admin/v1beta/analytics_admin.proto | |
| parent | 2e1a2ee3d6c12d8367cbbe005fe7dcf8d253d9ac (diff) | |
Revendor correctly googleapis
Diffstat (limited to 'third_party/googleapis/google/analytics/admin/v1beta/analytics_admin.proto')
| -rw-r--r-- | third_party/googleapis/google/analytics/admin/v1beta/analytics_admin.proto | 1333 | 
1 files changed, 1333 insertions, 0 deletions
diff --git a/third_party/googleapis/google/analytics/admin/v1beta/analytics_admin.proto b/third_party/googleapis/google/analytics/admin/v1beta/analytics_admin.proto new file mode 100644 index 0000000..7e80f73 --- /dev/null +++ b/third_party/googleapis/google/analytics/admin/v1beta/analytics_admin.proto @@ -0,0 +1,1333 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +//     http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.analytics.admin.v1beta; + +import "google/analytics/admin/v1beta/resources.proto"; +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "google.golang.org/genproto/googleapis/analytics/admin/v1beta;admin"; +option java_multiple_files = true; +option java_outer_classname = "AnalyticsAdminProto"; +option java_package = "com.google.analytics.admin.v1beta"; + +// Service Interface for the Analytics Admin API (GA4). +service AnalyticsAdminService { +  option (google.api.default_host) = "analyticsadmin.googleapis.com"; +  option (google.api.oauth_scopes) = +      "https://www.googleapis.com/auth/analytics.edit," +      "https://www.googleapis.com/auth/analytics.readonly"; + +  // Lookup for a single Account. +  rpc GetAccount(GetAccountRequest) returns (Account) { +    option (google.api.http) = { +      get: "/v1beta/{name=accounts/*}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Returns all accounts accessible by the caller. +  // +  // Note that these accounts might not currently have GA4 properties. +  // Soft-deleted (ie: "trashed") accounts are excluded by default. +  // Returns an empty list if no relevant accounts are found. +  rpc ListAccounts(ListAccountsRequest) returns (ListAccountsResponse) { +    option (google.api.http) = { +      get: "/v1beta/accounts" +    }; +  } + +  // Marks target Account as soft-deleted (ie: "trashed") and returns it. +  // +  // This API does not have a method to restore soft-deleted accounts. +  // However, they can be restored using the Trash Can UI. +  // +  // If the accounts are not restored before the expiration time, the account +  // and all child resources (eg: Properties, GoogleAdsLinks, Streams, +  // UserLinks) will be permanently purged. +  // https://support.google.com/analytics/answer/6154772 +  // +  // Returns an error if the target is not found. +  rpc DeleteAccount(DeleteAccountRequest) returns (google.protobuf.Empty) { +    option (google.api.http) = { +      delete: "/v1beta/{name=accounts/*}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Updates an account. +  rpc UpdateAccount(UpdateAccountRequest) returns (Account) { +    option (google.api.http) = { +      patch: "/v1beta/{account.name=accounts/*}" +      body: "account" +    }; +    option (google.api.method_signature) = "account,update_mask"; +  } + +  // Requests a ticket for creating an account. +  rpc ProvisionAccountTicket(ProvisionAccountTicketRequest) returns (ProvisionAccountTicketResponse) { +    option (google.api.http) = { +      post: "/v1beta/accounts:provisionAccountTicket" +      body: "*" +    }; +  } + +  // Returns summaries of all accounts accessible by the caller. +  rpc ListAccountSummaries(ListAccountSummariesRequest) returns (ListAccountSummariesResponse) { +    option (google.api.http) = { +      get: "/v1beta/accountSummaries" +    }; +  } + +  // Lookup for a single "GA4" Property. +  rpc GetProperty(GetPropertyRequest) returns (Property) { +    option (google.api.http) = { +      get: "/v1beta/{name=properties/*}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Returns child Properties under the specified parent Account. +  // +  // Only "GA4" properties will be returned. +  // Properties will be excluded if the caller does not have access. +  // Soft-deleted (ie: "trashed") properties are excluded by default. +  // Returns an empty list if no relevant properties are found. +  rpc ListProperties(ListPropertiesRequest) returns (ListPropertiesResponse) { +    option (google.api.http) = { +      get: "/v1beta/properties" +    }; +  } + +  // Creates an "GA4" property with the specified location and attributes. +  rpc CreateProperty(CreatePropertyRequest) returns (Property) { +    option (google.api.http) = { +      post: "/v1beta/properties" +      body: "property" +    }; +    option (google.api.method_signature) = "property"; +  } + +  // Marks target Property as soft-deleted (ie: "trashed") and returns it. +  // +  // This API does not have a method to restore soft-deleted properties. +  // However, they can be restored using the Trash Can UI. +  // +  // If the properties are not restored before the expiration time, the Property +  // and all child resources (eg: GoogleAdsLinks, Streams, UserLinks) +  // will be permanently purged. +  // https://support.google.com/analytics/answer/6154772 +  // +  // Returns an error if the target is not found, or is not an GA4 Property. +  rpc DeleteProperty(DeletePropertyRequest) returns (Property) { +    option (google.api.http) = { +      delete: "/v1beta/{name=properties/*}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Updates a property. +  rpc UpdateProperty(UpdatePropertyRequest) returns (Property) { +    option (google.api.http) = { +      patch: "/v1beta/{property.name=properties/*}" +      body: "property" +    }; +    option (google.api.method_signature) = "property,update_mask"; +  } + +  // Creates a FirebaseLink. +  // +  // Properties can have at most one FirebaseLink. +  rpc CreateFirebaseLink(CreateFirebaseLinkRequest) returns (FirebaseLink) { +    option (google.api.http) = { +      post: "/v1beta/{parent=properties/*}/firebaseLinks" +      body: "firebase_link" +    }; +    option (google.api.method_signature) = "parent,firebase_link"; +  } + +  // Deletes a FirebaseLink on a property +  rpc DeleteFirebaseLink(DeleteFirebaseLinkRequest) returns (google.protobuf.Empty) { +    option (google.api.http) = { +      delete: "/v1beta/{name=properties/*/firebaseLinks/*}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Lists FirebaseLinks on a property. +  // Properties can have at most one FirebaseLink. +  rpc ListFirebaseLinks(ListFirebaseLinksRequest) returns (ListFirebaseLinksResponse) { +    option (google.api.http) = { +      get: "/v1beta/{parent=properties/*}/firebaseLinks" +    }; +    option (google.api.method_signature) = "parent"; +  } + +  // Creates a GoogleAdsLink. +  rpc CreateGoogleAdsLink(CreateGoogleAdsLinkRequest) returns (GoogleAdsLink) { +    option (google.api.http) = { +      post: "/v1beta/{parent=properties/*}/googleAdsLinks" +      body: "google_ads_link" +    }; +    option (google.api.method_signature) = "parent,google_ads_link"; +  } + +  // Updates a GoogleAdsLink on a property +  rpc UpdateGoogleAdsLink(UpdateGoogleAdsLinkRequest) returns (GoogleAdsLink) { +    option (google.api.http) = { +      patch: "/v1beta/{google_ads_link.name=properties/*/googleAdsLinks/*}" +      body: "google_ads_link" +    }; +    option (google.api.method_signature) = "google_ads_link,update_mask"; +  } + +  // Deletes a GoogleAdsLink on a property +  rpc DeleteGoogleAdsLink(DeleteGoogleAdsLinkRequest) returns (google.protobuf.Empty) { +    option (google.api.http) = { +      delete: "/v1beta/{name=properties/*/googleAdsLinks/*}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Lists GoogleAdsLinks on a property. +  rpc ListGoogleAdsLinks(ListGoogleAdsLinksRequest) returns (ListGoogleAdsLinksResponse) { +    option (google.api.http) = { +      get: "/v1beta/{parent=properties/*}/googleAdsLinks" +    }; +    option (google.api.method_signature) = "parent"; +  } + +  // Get data sharing settings on an account. +  // Data sharing settings are singletons. +  rpc GetDataSharingSettings(GetDataSharingSettingsRequest) returns (DataSharingSettings) { +    option (google.api.http) = { +      get: "/v1beta/{name=accounts/*/dataSharingSettings}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Lookup for a single "GA4" MeasurementProtocolSecret. +  rpc GetMeasurementProtocolSecret(GetMeasurementProtocolSecretRequest) returns (MeasurementProtocolSecret) { +    option (google.api.http) = { +      get: "/v1beta/{name=properties/*/dataStreams/*/measurementProtocolSecrets/*}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Returns child MeasurementProtocolSecrets under the specified parent +  // Property. +  rpc ListMeasurementProtocolSecrets(ListMeasurementProtocolSecretsRequest) returns (ListMeasurementProtocolSecretsResponse) { +    option (google.api.http) = { +      get: "/v1beta/{parent=properties/*/dataStreams/*}/measurementProtocolSecrets" +    }; +    option (google.api.method_signature) = "parent"; +  } + +  // Creates a measurement protocol secret. +  rpc CreateMeasurementProtocolSecret(CreateMeasurementProtocolSecretRequest) returns (MeasurementProtocolSecret) { +    option (google.api.http) = { +      post: "/v1beta/{parent=properties/*/dataStreams/*}/measurementProtocolSecrets" +      body: "measurement_protocol_secret" +    }; +    option (google.api.method_signature) = "parent,measurement_protocol_secret"; +  } + +  // Deletes target MeasurementProtocolSecret. +  rpc DeleteMeasurementProtocolSecret(DeleteMeasurementProtocolSecretRequest) returns (google.protobuf.Empty) { +    option (google.api.http) = { +      delete: "/v1beta/{name=properties/*/dataStreams/*/measurementProtocolSecrets/*}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Updates a measurement protocol secret. +  rpc UpdateMeasurementProtocolSecret(UpdateMeasurementProtocolSecretRequest) returns (MeasurementProtocolSecret) { +    option (google.api.http) = { +      patch: "/v1beta/{measurement_protocol_secret.name=properties/*/dataStreams/*/measurementProtocolSecrets/*}" +      body: "measurement_protocol_secret" +    }; +    option (google.api.method_signature) = "measurement_protocol_secret,update_mask"; +  } + +  // Acknowledges the terms of user data collection for the specified property. +  // +  // This acknowledgement must be completed (either in the Google Analytics UI +  // or via this API) before MeasurementProtocolSecret resources may be created. +  rpc AcknowledgeUserDataCollection(AcknowledgeUserDataCollectionRequest) returns (AcknowledgeUserDataCollectionResponse) { +    option (google.api.http) = { +      post: "/v1beta/{property=properties/*}:acknowledgeUserDataCollection" +      body: "*" +    }; +  } + +  // Searches through all changes to an account or its children given the +  // specified set of filters. +  rpc SearchChangeHistoryEvents(SearchChangeHistoryEventsRequest) returns (SearchChangeHistoryEventsResponse) { +    option (google.api.http) = { +      post: "/v1beta/{account=accounts/*}:searchChangeHistoryEvents" +      body: "*" +    }; +  } + +  // Creates a conversion event with the specified attributes. +  rpc CreateConversionEvent(CreateConversionEventRequest) returns (ConversionEvent) { +    option (google.api.http) = { +      post: "/v1beta/{parent=properties/*}/conversionEvents" +      body: "conversion_event" +    }; +    option (google.api.method_signature) = "parent,conversion_event"; +  } + +  // Retrieve a single conversion event. +  rpc GetConversionEvent(GetConversionEventRequest) returns (ConversionEvent) { +    option (google.api.http) = { +      get: "/v1beta/{name=properties/*/conversionEvents/*}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Deletes a conversion event in a property. +  rpc DeleteConversionEvent(DeleteConversionEventRequest) returns (google.protobuf.Empty) { +    option (google.api.http) = { +      delete: "/v1beta/{name=properties/*/conversionEvents/*}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Returns a list of conversion events in the specified parent property. +  // +  // Returns an empty list if no conversion events are found. +  rpc ListConversionEvents(ListConversionEventsRequest) returns (ListConversionEventsResponse) { +    option (google.api.http) = { +      get: "/v1beta/{parent=properties/*}/conversionEvents" +    }; +    option (google.api.method_signature) = "parent"; +  } + +  // Creates a CustomDimension. +  rpc CreateCustomDimension(CreateCustomDimensionRequest) returns (CustomDimension) { +    option (google.api.http) = { +      post: "/v1beta/{parent=properties/*}/customDimensions" +      body: "custom_dimension" +    }; +    option (google.api.method_signature) = "parent,custom_dimension"; +  } + +  // Updates a CustomDimension on a property. +  rpc UpdateCustomDimension(UpdateCustomDimensionRequest) returns (CustomDimension) { +    option (google.api.http) = { +      patch: "/v1beta/{custom_dimension.name=properties/*/customDimensions/*}" +      body: "custom_dimension" +    }; +    option (google.api.method_signature) = "custom_dimension,update_mask"; +  } + +  // Lists CustomDimensions on a property. +  rpc ListCustomDimensions(ListCustomDimensionsRequest) returns (ListCustomDimensionsResponse) { +    option (google.api.http) = { +      get: "/v1beta/{parent=properties/*}/customDimensions" +    }; +    option (google.api.method_signature) = "parent"; +  } + +  // Archives a CustomDimension on a property. +  rpc ArchiveCustomDimension(ArchiveCustomDimensionRequest) returns (google.protobuf.Empty) { +    option (google.api.http) = { +      post: "/v1beta/{name=properties/*/customDimensions/*}:archive" +      body: "*" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Lookup for a single CustomDimension. +  rpc GetCustomDimension(GetCustomDimensionRequest) returns (CustomDimension) { +    option (google.api.http) = { +      get: "/v1beta/{name=properties/*/customDimensions/*}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Creates a CustomMetric. +  rpc CreateCustomMetric(CreateCustomMetricRequest) returns (CustomMetric) { +    option (google.api.http) = { +      post: "/v1beta/{parent=properties/*}/customMetrics" +      body: "custom_metric" +    }; +    option (google.api.method_signature) = "parent,custom_metric"; +  } + +  // Updates a CustomMetric on a property. +  rpc UpdateCustomMetric(UpdateCustomMetricRequest) returns (CustomMetric) { +    option (google.api.http) = { +      patch: "/v1beta/{custom_metric.name=properties/*/customMetrics/*}" +      body: "custom_metric" +    }; +    option (google.api.method_signature) = "custom_metric,update_mask"; +  } + +  // Lists CustomMetrics on a property. +  rpc ListCustomMetrics(ListCustomMetricsRequest) returns (ListCustomMetricsResponse) { +    option (google.api.http) = { +      get: "/v1beta/{parent=properties/*}/customMetrics" +    }; +    option (google.api.method_signature) = "parent"; +  } + +  // Archives a CustomMetric on a property. +  rpc ArchiveCustomMetric(ArchiveCustomMetricRequest) returns (google.protobuf.Empty) { +    option (google.api.http) = { +      post: "/v1beta/{name=properties/*/customMetrics/*}:archive" +      body: "*" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Lookup for a single CustomMetric. +  rpc GetCustomMetric(GetCustomMetricRequest) returns (CustomMetric) { +    option (google.api.http) = { +      get: "/v1beta/{name=properties/*/customMetrics/*}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Returns the singleton data retention settings for this property. +  rpc GetDataRetentionSettings(GetDataRetentionSettingsRequest) returns (DataRetentionSettings) { +    option (google.api.http) = { +      get: "/v1beta/{name=properties/*/dataRetentionSettings}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Updates the singleton data retention settings for this property. +  rpc UpdateDataRetentionSettings(UpdateDataRetentionSettingsRequest) returns (DataRetentionSettings) { +    option (google.api.http) = { +      patch: "/v1beta/{data_retention_settings.name=properties/*/dataRetentionSettings}" +      body: "data_retention_settings" +    }; +    option (google.api.method_signature) = "data_retention_settings,update_mask"; +  } + +  // Creates a DataStream. +  rpc CreateDataStream(CreateDataStreamRequest) returns (DataStream) { +    option (google.api.http) = { +      post: "/v1beta/{parent=properties/*}/dataStreams" +      body: "data_stream" +    }; +    option (google.api.method_signature) = "parent,data_stream"; +  } + +  // Deletes a DataStream on a property. +  rpc DeleteDataStream(DeleteDataStreamRequest) returns (google.protobuf.Empty) { +    option (google.api.http) = { +      delete: "/v1beta/{name=properties/*/dataStreams/*}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Updates a DataStream on a property. +  rpc UpdateDataStream(UpdateDataStreamRequest) returns (DataStream) { +    option (google.api.http) = { +      patch: "/v1beta/{data_stream.name=properties/*/dataStreams/*}" +      body: "data_stream" +    }; +    option (google.api.method_signature) = "data_stream,update_mask"; +  } + +  // Lists DataStreams on a property. +  rpc ListDataStreams(ListDataStreamsRequest) returns (ListDataStreamsResponse) { +    option (google.api.http) = { +      get: "/v1beta/{parent=properties/*}/dataStreams" +    }; +    option (google.api.method_signature) = "parent"; +  } + +  // Lookup for a single DataStream. +  rpc GetDataStream(GetDataStreamRequest) returns (DataStream) { +    option (google.api.http) = { +      get: "/v1beta/{name=properties/*/dataStreams/*}" +    }; +    option (google.api.method_signature) = "name"; +  } +} + +// Request message for GetAccount RPC. +message GetAccountRequest { +  // Required. The name of the account to lookup. +  // Format: accounts/{account} +  // Example: "accounts/100" +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/Account" +    } +  ]; +} + +// Request message for ListAccounts RPC. +message ListAccountsRequest { +  // The maximum number of resources to return. The service may return +  // fewer than this value, even if there are additional pages. +  // If unspecified, at most 50 resources will be returned. +  // The maximum value is 200; (higher values will be coerced to the maximum) +  int32 page_size = 1; + +  // A page token, received from a previous `ListAccounts` call. +  // Provide this to retrieve the subsequent page. +  // When paginating, all other parameters provided to `ListAccounts` must +  // match the call that provided the page token. +  string page_token = 2; + +  // Whether to include soft-deleted (ie: "trashed") Accounts in the +  // results. Accounts can be inspected to determine whether they are deleted or +  // not. +  bool show_deleted = 3; +} + +// Request message for ListAccounts RPC. +message ListAccountsResponse { +  // Results that were accessible to the caller. +  repeated Account accounts = 1; + +  // A token, which can be sent as `page_token` to retrieve the next page. +  // If this field is omitted, there are no subsequent pages. +  string next_page_token = 2; +} + +// Request message for DeleteAccount RPC. +message DeleteAccountRequest { +  // Required. The name of the Account to soft-delete. +  // Format: accounts/{account} +  // Example: "accounts/100" +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/Account" +    } +  ]; +} + +// Request message for UpdateAccount RPC. +message UpdateAccountRequest { +  // Required. The account to update. +  // The account's `name` field is used to identify the account. +  Account account = 1 [(google.api.field_behavior) = REQUIRED]; + +  // Required. The list of fields to be updated. Field names must be in snake case +  // (e.g., "field_to_update"). Omitted fields will not be updated. To replace +  // the entire entity, use one path with the string "*" to match all fields. +  google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for ProvisionAccountTicket RPC. +message ProvisionAccountTicketRequest { +  // The account to create. +  Account account = 1; + +  // Redirect URI where the user will be sent after accepting Terms of Service. +  // Must be configured in Developers Console as a Redirect URI +  string redirect_uri = 2; +} + +// Response message for ProvisionAccountTicket RPC. +message ProvisionAccountTicketResponse { +  // The param to be passed in the ToS link. +  string account_ticket_id = 1; +} + +// Request message for GetProperty RPC. +message GetPropertyRequest { +  // Required. The name of the property to lookup. +  // Format: properties/{property_id} +  // Example: "properties/1000" +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/Property" +    } +  ]; +} + +// Request message for ListProperties RPC. +message ListPropertiesRequest { +  // Required. An expression for filtering the results of the request. +  // Fields eligible for filtering are: +  // `parent:`(The resource name of the parent account/property) or +  // `ancestor:`(The resource name of the parent account) or +  // `firebase_project:`(The id or number of the linked firebase project). +  // Some examples of filters: +  // +  // ``` +  // | Filter                      | Description                               | +  // |-----------------------------|-------------------------------------------| +  // | parent:accounts/123         | The account with account id: 123.       | +  // | parent:properties/123       | The property with property id: 123.       | +  // | ancestor:accounts/123       | The account with account id: 123.         | +  // | firebase_project:project-id | The firebase project with id: project-id. | +  // | firebase_project:123        | The firebase project with number: 123.    | +  // ``` +  string filter = 1 [(google.api.field_behavior) = REQUIRED]; + +  // The maximum number of resources to return. The service may return +  // fewer than this value, even if there are additional pages. +  // If unspecified, at most 50 resources will be returned. +  // The maximum value is 200; (higher values will be coerced to the maximum) +  int32 page_size = 2; + +  // A page token, received from a previous `ListProperties` call. +  // Provide this to retrieve the subsequent page. +  // When paginating, all other parameters provided to `ListProperties` must +  // match the call that provided the page token. +  string page_token = 3; + +  // Whether to include soft-deleted (ie: "trashed") Properties in the +  // results. Properties can be inspected to determine whether they are deleted +  // or not. +  bool show_deleted = 4; +} + +// Response message for ListProperties RPC. +message ListPropertiesResponse { +  // Results that matched the filter criteria and were accessible to the caller. +  repeated Property properties = 1; + +  // A token, which can be sent as `page_token` to retrieve the next page. +  // If this field is omitted, there are no subsequent pages. +  string next_page_token = 2; +} + +// Request message for UpdateProperty RPC. +message UpdatePropertyRequest { +  // Required. The property to update. +  // The property's `name` field is used to identify the property to be +  // updated. +  Property property = 1 [(google.api.field_behavior) = REQUIRED]; + +  // Required. The list of fields to be updated. Field names must be in snake case +  // (e.g., "field_to_update"). Omitted fields will not be updated. To replace +  // the entire entity, use one path with the string "*" to match all fields. +  google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for CreateProperty RPC. +message CreatePropertyRequest { +  // Required. The property to create. +  // Note: the supplied property must specify its parent. +  Property property = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteProperty RPC. +message DeletePropertyRequest { +  // Required. The name of the Property to soft-delete. +  // Format: properties/{property_id} +  // Example: "properties/1000" +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/Property" +    } +  ]; +} + +// Request message for CreateFirebaseLink RPC +message CreateFirebaseLinkRequest { +  // Required. Format: properties/{property_id} +  // Example: properties/1234 +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      child_type: "analyticsadmin.googleapis.com/FirebaseLink" +    } +  ]; + +  // Required. The Firebase link to create. +  FirebaseLink firebase_link = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteFirebaseLink RPC +message DeleteFirebaseLinkRequest { +  // Required. Format: properties/{property_id}/firebaseLinks/{firebase_link_id} +  // Example: properties/1234/firebaseLinks/5678 +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/FirebaseLink" +    } +  ]; +} + +// Request message for ListFirebaseLinks RPC +message ListFirebaseLinksRequest { +  // Required. Format: properties/{property_id} +  // Example: properties/1234 +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      child_type: "analyticsadmin.googleapis.com/FirebaseLink" +    } +  ]; + +  // The maximum number of resources to return. The service may return +  // fewer than this value, even if there are additional pages. +  // If unspecified, at most 50 resources will be returned. +  // The maximum value is 200; (higher values will be coerced to the maximum) +  int32 page_size = 2; + +  // A page token, received from a previous `ListFirebaseLinks` call. +  // Provide this to retrieve the subsequent page. +  // When paginating, all other parameters provided to `ListProperties` must +  // match the call that provided the page token. +  string page_token = 3; +} + +// Response message for ListFirebaseLinks RPC +message ListFirebaseLinksResponse { +  // List of FirebaseLinks. This will have at most one value. +  repeated FirebaseLink firebase_links = 1; + +  // A token, which can be sent as `page_token` to retrieve the next page. +  // If this field is omitted, there are no subsequent pages. +  // Currently, Google Analytics supports only one FirebaseLink per property, +  // so this will never be populated. +  string next_page_token = 2; +} + +// Request message for CreateGoogleAdsLink RPC +message CreateGoogleAdsLinkRequest { +  // Required. Example format: properties/1234 +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      child_type: "analyticsadmin.googleapis.com/GoogleAdsLink" +    } +  ]; + +  // Required. The GoogleAdsLink to create. +  GoogleAdsLink google_ads_link = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for UpdateGoogleAdsLink RPC +message UpdateGoogleAdsLinkRequest { +  // The GoogleAdsLink to update +  GoogleAdsLink google_ads_link = 1; + +  // Required. The list of fields to be updated. Field names must be in snake case +  // (e.g., "field_to_update"). Omitted fields will not be updated. To replace +  // the entire entity, use one path with the string "*" to match all fields. +  google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteGoogleAdsLink RPC. +message DeleteGoogleAdsLinkRequest { +  // Required. Example format: properties/1234/googleAdsLinks/5678 +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/GoogleAdsLink" +    } +  ]; +} + +// Request message for ListGoogleAdsLinks RPC. +message ListGoogleAdsLinksRequest { +  // Required. Example format: properties/1234 +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      child_type: "analyticsadmin.googleapis.com/GoogleAdsLink" +    } +  ]; + +  // The maximum number of resources to return. +  // If unspecified, at most 50 resources will be returned. +  // The maximum value is 200 (higher values will be coerced to the maximum). +  int32 page_size = 2; + +  // A page token, received from a previous `ListGoogleAdsLinks` call. +  // Provide this to retrieve the subsequent page. +  // +  // When paginating, all other parameters provided to `ListGoogleAdsLinks` must +  // match the call that provided the page token. +  string page_token = 3; +} + +// Response message for ListGoogleAdsLinks RPC. +message ListGoogleAdsLinksResponse { +  // List of GoogleAdsLinks. +  repeated GoogleAdsLink google_ads_links = 1; + +  // A token, which can be sent as `page_token` to retrieve the next page. +  // If this field is omitted, there are no subsequent pages. +  string next_page_token = 2; +} + +// Request message for GetDataSharingSettings RPC. +message GetDataSharingSettingsRequest { +  // Required. The name of the settings to lookup. +  // Format: accounts/{account}/dataSharingSettings +  // Example: "accounts/1000/dataSharingSettings" +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/DataSharingSettings" +    } +  ]; +} + +// Request message for ListAccountSummaries RPC. +message ListAccountSummariesRequest { +  // The maximum number of AccountSummary resources to return. The service may +  // return fewer than this value, even if there are additional pages. +  // If unspecified, at most 50 resources will be returned. +  // The maximum value is 200; (higher values will be coerced to the maximum) +  int32 page_size = 1; + +  // A page token, received from a previous `ListAccountSummaries` call. +  // Provide this to retrieve the subsequent page. +  // When paginating, all other parameters provided to `ListAccountSummaries` +  // must match the call that provided the page token. +  string page_token = 2; +} + +// Response message for ListAccountSummaries RPC. +message ListAccountSummariesResponse { +  // Account summaries of all accounts the caller has access to. +  repeated AccountSummary account_summaries = 1; + +  // A token, which can be sent as `page_token` to retrieve the next page. +  // If this field is omitted, there are no subsequent pages. +  string next_page_token = 2; +} + +// Request message for AcknowledgeUserDataCollection RPC. +message AcknowledgeUserDataCollectionRequest { +  // Required. The property for which to acknowledge user data collection. +  string property = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/Property" +    } +  ]; + +  // Required. An acknowledgement that the caller of this method understands the terms +  // of user data collection. +  // +  // This field must contain the exact value: +  // "I acknowledge that I have the necessary privacy disclosures and rights +  // from my end users for the collection and processing of their data, +  // including the association of such data with the visitation information +  // Google Analytics collects from my site and/or app property." +  string acknowledgement = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for AcknowledgeUserDataCollection RPC. +message AcknowledgeUserDataCollectionResponse { + +} + +// Request message for SearchChangeHistoryEvents RPC. +message SearchChangeHistoryEventsRequest { +  // Required. The account resource for which to return change history resources. +  string account = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/Account" +    } +  ]; + +  // Optional. Resource name for a child property. If set, only return changes +  // made to this property or its child resources. +  string property = 2 [ +    (google.api.field_behavior) = OPTIONAL, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/Property" +    } +  ]; + +  // Optional. If set, only return changes if they are for a resource that matches at +  // least one of these types. +  repeated ChangeHistoryResourceType resource_type = 3 [(google.api.field_behavior) = OPTIONAL]; + +  // Optional. If set, only return changes that match one or more of these types of +  // actions. +  repeated ActionType action = 4 [(google.api.field_behavior) = OPTIONAL]; + +  // Optional. If set, only return changes if they are made by a user in this list. +  repeated string actor_email = 5 [(google.api.field_behavior) = OPTIONAL]; + +  // Optional. If set, only return changes made after this time (inclusive). +  google.protobuf.Timestamp earliest_change_time = 6 [(google.api.field_behavior) = OPTIONAL]; + +  // Optional. If set, only return changes made before this time (inclusive). +  google.protobuf.Timestamp latest_change_time = 7 [(google.api.field_behavior) = OPTIONAL]; + +  // Optional. The maximum number of ChangeHistoryEvent items to return. +  // The service may return fewer than this value, even if there are additional +  // pages. If unspecified, at most 50 items will be returned. +  // The maximum value is 200 (higher values will be coerced to the maximum). +  int32 page_size = 8 [(google.api.field_behavior) = OPTIONAL]; + +  // Optional. A page token, received from a previous `SearchChangeHistoryEvents` call. +  // Provide this to retrieve the subsequent page. When paginating, all other +  // parameters provided to `SearchChangeHistoryEvents` must match the call that +  // provided the page token. +  string page_token = 9 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for SearchAccounts RPC. +message SearchChangeHistoryEventsResponse { +  // Results that were accessible to the caller. +  repeated ChangeHistoryEvent change_history_events = 1; + +  // A token, which can be sent as `page_token` to retrieve the next page. +  // If this field is omitted, there are no subsequent pages. +  string next_page_token = 2; +} + +// Request message for GetMeasurementProtocolSecret RPC. +message GetMeasurementProtocolSecretRequest { +  // Required. The name of the measurement protocol secret to lookup. +  // Format: +  // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret} +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" +    } +  ]; +} + +// Request message for CreateMeasurementProtocolSecret RPC +message CreateMeasurementProtocolSecretRequest { +  // Required. The parent resource where this secret will be created. +  // Format: properties/{property}/dataStreams/{dataStream} +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      child_type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" +    } +  ]; + +  // Required. The measurement protocol secret to create. +  MeasurementProtocolSecret measurement_protocol_secret = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteMeasurementProtocolSecret RPC +message DeleteMeasurementProtocolSecretRequest { +  // Required. The name of the MeasurementProtocolSecret to delete. +  // Format: +  // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret} +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" +    } +  ]; +} + +// Request message for UpdateMeasurementProtocolSecret RPC +message UpdateMeasurementProtocolSecretRequest { +  // Required. The measurement protocol secret to update. +  MeasurementProtocolSecret measurement_protocol_secret = 1 [(google.api.field_behavior) = REQUIRED]; + +  // The list of fields to be updated. Omitted fields will not be updated. +  google.protobuf.FieldMask update_mask = 2; +} + +// Request message for ListMeasurementProtocolSecret RPC +message ListMeasurementProtocolSecretsRequest { +  // Required. The resource name of the parent stream. +  // Format: +  // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      child_type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" +    } +  ]; + +  // The maximum number of resources to return. +  // If unspecified, at most 10 resources will be returned. +  // The maximum value is 10. Higher values will be coerced to the maximum. +  int32 page_size = 2; + +  // A page token, received from a previous `ListMeasurementProtocolSecrets` +  // call. Provide this to retrieve the subsequent page. When paginating, all +  // other parameters provided to `ListMeasurementProtocolSecrets` must match +  // the call that provided the page token. +  string page_token = 3; +} + +// Response message for ListMeasurementProtocolSecret RPC +message ListMeasurementProtocolSecretsResponse { +  // A list of secrets for the parent stream specified in the request. +  repeated MeasurementProtocolSecret measurement_protocol_secrets = 1; + +  // A token, which can be sent as `page_token` to retrieve the next page. +  // If this field is omitted, there are no subsequent pages. +  string next_page_token = 2; +} + +// Request message for CreateConversionEvent RPC +message CreateConversionEventRequest { +  // Required. The conversion event to create. +  ConversionEvent conversion_event = 1 [(google.api.field_behavior) = REQUIRED]; + +  // Required. The resource name of the parent property where this conversion event will +  // be created. Format: properties/123 +  string parent = 2 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      child_type: "analyticsadmin.googleapis.com/ConversionEvent" +    } +  ]; +} + +// Request message for GetConversionEvent RPC +message GetConversionEventRequest { +  // Required. The resource name of the conversion event to retrieve. +  // Format: properties/{property}/conversionEvents/{conversion_event} +  // Example: "properties/123/conversionEvents/456" +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/ConversionEvent" +    } +  ]; +} + +// Request message for DeleteConversionEvent RPC +message DeleteConversionEventRequest { +  // Required. The resource name of the conversion event to delete. +  // Format: properties/{property}/conversionEvents/{conversion_event} +  // Example: "properties/123/conversionEvents/456" +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/ConversionEvent" +    } +  ]; +} + +// Request message for ListConversionEvents RPC +message ListConversionEventsRequest { +  // Required. The resource name of the parent property. +  // Example: 'properties/123' +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      child_type: "analyticsadmin.googleapis.com/ConversionEvent" +    } +  ]; + +  // The maximum number of resources to return. +  // If unspecified, at most 50 resources will be returned. +  // The maximum value is 200; (higher values will be coerced to the maximum) +  int32 page_size = 2; + +  // A page token, received from a previous `ListConversionEvents` call. +  // Provide this to retrieve the subsequent page. +  // When paginating, all other parameters provided to `ListConversionEvents` +  // must match the call that provided the page token. +  string page_token = 3; +} + +// Response message for ListConversionEvents RPC. +message ListConversionEventsResponse { +  // The requested conversion events +  repeated ConversionEvent conversion_events = 1; + +  // A token, which can be sent as `page_token` to retrieve the next page. +  // If this field is omitted, there are no subsequent pages. +  string next_page_token = 2; +} + +// Request message for CreateCustomDimension RPC. +message CreateCustomDimensionRequest { +  // Required. Example format: properties/1234 +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      child_type: "analyticsadmin.googleapis.com/CustomDimension" +    } +  ]; + +  // Required. The CustomDimension to create. +  CustomDimension custom_dimension = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for UpdateCustomDimension RPC. +message UpdateCustomDimensionRequest { +  // The CustomDimension to update +  CustomDimension custom_dimension = 1; + +  // Required. The list of fields to be updated. Omitted fields will not be updated. +  // To replace the entire entity, use one path with the string "*" to match +  // all fields. +  google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for ListCustomDimensions RPC. +message ListCustomDimensionsRequest { +  // Required. Example format: properties/1234 +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      child_type: "analyticsadmin.googleapis.com/CustomDimension" +    } +  ]; + +  // The maximum number of resources to return. +  // If unspecified, at most 50 resources will be returned. +  // The maximum value is 200 (higher values will be coerced to the maximum). +  int32 page_size = 2; + +  // A page token, received from a previous `ListCustomDimensions` call. +  // Provide this to retrieve the subsequent page. +  // +  // When paginating, all other parameters provided to `ListCustomDimensions` +  // must match the call that provided the page token. +  string page_token = 3; +} + +// Response message for ListCustomDimensions RPC. +message ListCustomDimensionsResponse { +  // List of CustomDimensions. +  repeated CustomDimension custom_dimensions = 1; + +  // A token, which can be sent as `page_token` to retrieve the next page. +  // If this field is omitted, there are no subsequent pages. +  string next_page_token = 2; +} + +// Request message for ArchiveCustomDimension RPC. +message ArchiveCustomDimensionRequest { +  // Required. The name of the CustomDimension to archive. +  // Example format: properties/1234/customDimensions/5678 +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/CustomDimension" +    } +  ]; +} + +// Request message for GetCustomDimension RPC. +message GetCustomDimensionRequest { +  // Required. The name of the CustomDimension to get. +  // Example format: properties/1234/customDimensions/5678 +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/CustomDimension" +    } +  ]; +} + +// Request message for CreateCustomMetric RPC. +message CreateCustomMetricRequest { +  // Required. Example format: properties/1234 +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      child_type: "analyticsadmin.googleapis.com/CustomMetric" +    } +  ]; + +  // Required. The CustomMetric to create. +  CustomMetric custom_metric = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for UpdateCustomMetric RPC. +message UpdateCustomMetricRequest { +  // The CustomMetric to update +  CustomMetric custom_metric = 1; + +  // Required. The list of fields to be updated. Omitted fields will not be updated. +  // To replace the entire entity, use one path with the string "*" to match +  // all fields. +  google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for ListCustomMetrics RPC. +message ListCustomMetricsRequest { +  // Required. Example format: properties/1234 +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      child_type: "analyticsadmin.googleapis.com/CustomMetric" +    } +  ]; + +  // The maximum number of resources to return. +  // If unspecified, at most 50 resources will be returned. +  // The maximum value is 200 (higher values will be coerced to the maximum). +  int32 page_size = 2; + +  // A page token, received from a previous `ListCustomMetrics` call. +  // Provide this to retrieve the subsequent page. +  // +  // When paginating, all other parameters provided to `ListCustomMetrics` must +  // match the call that provided the page token. +  string page_token = 3; +} + +// Response message for ListCustomMetrics RPC. +message ListCustomMetricsResponse { +  // List of CustomMetrics. +  repeated CustomMetric custom_metrics = 1; + +  // A token, which can be sent as `page_token` to retrieve the next page. +  // If this field is omitted, there are no subsequent pages. +  string next_page_token = 2; +} + +// Request message for ArchiveCustomMetric RPC. +message ArchiveCustomMetricRequest { +  // Required. The name of the CustomMetric to archive. +  // Example format: properties/1234/customMetrics/5678 +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/CustomMetric" +    } +  ]; +} + +// Request message for GetCustomMetric RPC. +message GetCustomMetricRequest { +  // Required. The name of the CustomMetric to get. +  // Example format: properties/1234/customMetrics/5678 +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/CustomMetric" +    } +  ]; +} + +// Request message for GetDataRetentionSettings RPC. +message GetDataRetentionSettingsRequest { +  // Required. The name of the settings to lookup. +  // Format: +  // properties/{property}/dataRetentionSettings +  // Example: "properties/1000/dataRetentionSettings" +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/DataRetentionSettings" +    } +  ]; +} + +// Request message for UpdateDataRetentionSettings RPC. +message UpdateDataRetentionSettingsRequest { +  // Required. The settings to update. +  // The `name` field is used to identify the settings to be updated. +  DataRetentionSettings data_retention_settings = 1 [(google.api.field_behavior) = REQUIRED]; + +  // Required. The list of fields to be updated. Field names must be in snake case +  // (e.g., "field_to_update"). Omitted fields will not be updated. To replace +  // the entire entity, use one path with the string "*" to match all fields. +  google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for CreateDataStream RPC. +message CreateDataStreamRequest { +  // Required. Example format: properties/1234 +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      child_type: "analyticsadmin.googleapis.com/DataStream" +    } +  ]; + +  // Required. The DataStream to create. +  DataStream data_stream = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteDataStream RPC. +message DeleteDataStreamRequest { +  // Required. The name of the DataStream to delete. +  // Example format: properties/1234/dataStreams/5678 +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/DataStream" +    } +  ]; +} + +// Request message for UpdateDataStream RPC. +message UpdateDataStreamRequest { +  // The DataStream to update +  DataStream data_stream = 1; + +  // Required. The list of fields to be updated. Omitted fields will not be updated. +  // To replace the entire entity, use one path with the string "*" to match +  // all fields. +  google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for ListDataStreams RPC. +message ListDataStreamsRequest { +  // Required. Example format: properties/1234 +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      child_type: "analyticsadmin.googleapis.com/DataStream" +    } +  ]; + +  // The maximum number of resources to return. +  // If unspecified, at most 50 resources will be returned. +  // The maximum value is 200 (higher values will be coerced to the maximum). +  int32 page_size = 2; + +  // A page token, received from a previous `ListDataStreams` call. +  // Provide this to retrieve the subsequent page. +  // +  // When paginating, all other parameters provided to `ListDataStreams` must +  // match the call that provided the page token. +  string page_token = 3; +} + +// Response message for ListDataStreams RPC. +message ListDataStreamsResponse { +  // List of DataStreams. +  repeated DataStream data_streams = 1; + +  // A token, which can be sent as `page_token` to retrieve the next page. +  // If this field is omitted, there are no subsequent pages. +  string next_page_token = 2; +} + +// Request message for GetDataStream RPC. +message GetDataStreamRequest { +  // Required. The name of the DataStream to get. +  // Example format: properties/1234/dataStreams/5678 +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "analyticsadmin.googleapis.com/DataStream" +    } +  ]; +}  | 
