#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Account {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub create_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "3")]
pub update_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(string, tag = "4")]
pub display_name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub region_code: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub deleted: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Property {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub create_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "4")]
pub update_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(string, tag = "2")]
pub parent: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub display_name: ::prost::alloc::string::String,
#[prost(enumeration = "IndustryCategory", tag = "6")]
pub industry_category: i32,
#[prost(string, tag = "7")]
pub time_zone: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub currency_code: ::prost::alloc::string::String,
#[prost(enumeration = "ServiceLevel", tag = "10")]
pub service_level: i32,
#[prost(message, optional, tag = "11")]
pub delete_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "12")]
pub expire_time: ::core::option::Option<::prost_types::Timestamp>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AndroidAppDataStream {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub firebase_app_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub create_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "4")]
pub update_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(string, tag = "5")]
pub package_name: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub display_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IosAppDataStream {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub firebase_app_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub create_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "4")]
pub update_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(string, tag = "5")]
pub bundle_id: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub display_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WebDataStream {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub measurement_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub firebase_app_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub create_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "5")]
pub update_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(string, tag = "6")]
pub default_uri: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub display_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UserLink {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub email_address: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "3")]
pub direct_roles: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AuditUserLink {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub email_address: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "3")]
pub direct_roles: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "4")]
pub effective_roles: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnhancedMeasurementSettings {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub stream_enabled: bool,
#[prost(bool, tag = "3")]
pub page_views_enabled: bool,
#[prost(bool, tag = "4")]
pub scrolls_enabled: bool,
#[prost(bool, tag = "5")]
pub outbound_clicks_enabled: bool,
#[prost(bool, tag = "7")]
pub site_search_enabled: bool,
#[prost(bool, tag = "9")]
pub video_engagement_enabled: bool,
#[prost(bool, tag = "10")]
pub file_downloads_enabled: bool,
#[prost(bool, tag = "12")]
pub page_loads_enabled: bool,
#[prost(bool, tag = "13")]
pub page_changes_enabled: bool,
#[prost(string, tag = "16")]
pub search_query_parameter: ::prost::alloc::string::String,
#[prost(string, tag = "17")]
pub uri_query_parameter: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FirebaseLink {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub project: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub create_time: ::core::option::Option<::prost_types::Timestamp>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GlobalSiteTag {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub snippet: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GoogleAdsLink {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub customer_id: ::prost::alloc::string::String,
#[prost(bool, tag = "4")]
pub can_manage_clients: bool,
#[prost(message, optional, tag = "5")]
pub ads_personalization_enabled: ::core::option::Option<bool>,
#[prost(message, optional, tag = "7")]
pub create_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "8")]
pub update_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(string, tag = "9")]
pub creator_email_address: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DataSharingSettings {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub sharing_with_google_support_enabled: bool,
#[prost(bool, tag = "3")]
pub sharing_with_google_assigned_sales_enabled: bool,
#[prost(bool, tag = "4")]
pub sharing_with_google_any_sales_enabled: bool,
#[prost(bool, tag = "5")]
pub sharing_with_google_products_enabled: bool,
#[prost(bool, tag = "6")]
pub sharing_with_others_enabled: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AccountSummary {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub account: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub display_name: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "4")]
pub property_summaries: ::prost::alloc::vec::Vec<PropertySummary>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PropertySummary {
#[prost(string, tag = "1")]
pub property: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub display_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MeasurementProtocolSecret {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub display_name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub secret_value: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeHistoryEvent {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub change_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(enumeration = "ActorType", tag = "3")]
pub actor_type: i32,
#[prost(string, tag = "4")]
pub user_actor_email: ::prost::alloc::string::String,
#[prost(bool, tag = "5")]
pub changes_filtered: bool,
#[prost(message, repeated, tag = "6")]
pub changes: ::prost::alloc::vec::Vec<ChangeHistoryChange>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeHistoryChange {
#[prost(string, tag = "1")]
pub resource: ::prost::alloc::string::String,
#[prost(enumeration = "ActionType", tag = "2")]
pub action: i32,
#[prost(message, optional, tag = "3")]
pub resource_before_change:
::core::option::Option<change_history_change::ChangeHistoryResource>,
#[prost(message, optional, tag = "4")]
pub resource_after_change: ::core::option::Option<change_history_change::ChangeHistoryResource>,
}
pub mod change_history_change {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeHistoryResource {
#[prost(
oneof = "change_history_resource::Resource",
tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15"
)]
pub resource: ::core::option::Option<change_history_resource::Resource>,
}
pub mod change_history_resource {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Resource {
#[prost(message, tag = "1")]
Account(super::super::Account),
#[prost(message, tag = "2")]
Property(super::super::Property),
#[prost(message, tag = "3")]
WebDataStream(super::super::WebDataStream),
#[prost(message, tag = "4")]
AndroidAppDataStream(super::super::AndroidAppDataStream),
#[prost(message, tag = "5")]
IosAppDataStream(super::super::IosAppDataStream),
#[prost(message, tag = "6")]
FirebaseLink(super::super::FirebaseLink),
#[prost(message, tag = "7")]
GoogleAdsLink(super::super::GoogleAdsLink),
#[prost(message, tag = "8")]
GoogleSignalsSettings(super::super::GoogleSignalsSettings),
#[prost(message, tag = "9")]
DisplayVideo360AdvertiserLink(super::super::DisplayVideo360AdvertiserLink),
#[prost(message, tag = "10")]
DisplayVideo360AdvertiserLinkProposal(
super::super::DisplayVideo360AdvertiserLinkProposal,
),
#[prost(message, tag = "11")]
ConversionEvent(super::super::ConversionEvent),
#[prost(message, tag = "12")]
MeasurementProtocolSecret(super::super::MeasurementProtocolSecret),
#[prost(message, tag = "13")]
CustomDimension(super::super::CustomDimension),
#[prost(message, tag = "14")]
CustomMetric(super::super::CustomMetric),
#[prost(message, tag = "15")]
DataRetentionSettings(super::super::DataRetentionSettings),
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayVideo360AdvertiserLink {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub advertiser_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub advertiser_display_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub ads_personalization_enabled: ::core::option::Option<bool>,
#[prost(message, optional, tag = "5")]
pub campaign_data_sharing_enabled: ::core::option::Option<bool>,
#[prost(message, optional, tag = "6")]
pub cost_data_sharing_enabled: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayVideo360AdvertiserLinkProposal {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub advertiser_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub link_proposal_status_details: ::core::option::Option<LinkProposalStatusDetails>,
#[prost(string, tag = "4")]
pub advertiser_display_name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub validation_email: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub ads_personalization_enabled: ::core::option::Option<bool>,
#[prost(message, optional, tag = "7")]
pub campaign_data_sharing_enabled: ::core::option::Option<bool>,
#[prost(message, optional, tag = "8")]
pub cost_data_sharing_enabled: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LinkProposalStatusDetails {
#[prost(enumeration = "LinkProposalInitiatingProduct", tag = "1")]
pub link_proposal_initiating_product: i32,
#[prost(string, tag = "2")]
pub requestor_email: ::prost::alloc::string::String,
#[prost(enumeration = "LinkProposalState", tag = "3")]
pub link_proposal_state: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConversionEvent {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub event_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub create_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(bool, tag = "4")]
pub deletable: bool,
#[prost(bool, tag = "5")]
pub custom: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GoogleSignalsSettings {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration = "GoogleSignalsState", tag = "3")]
pub state: i32,
#[prost(enumeration = "GoogleSignalsConsent", tag = "4")]
pub consent: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomDimension {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub parameter_name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub display_name: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub description: ::prost::alloc::string::String,
#[prost(enumeration = "custom_dimension::DimensionScope", tag = "5")]
pub scope: i32,
#[prost(bool, tag = "6")]
pub disallow_ads_personalization: bool,
}
pub mod custom_dimension {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DimensionScope {
Unspecified = 0,
Event = 1,
User = 2,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomMetric {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub parameter_name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub display_name: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub description: ::prost::alloc::string::String,
#[prost(enumeration = "custom_metric::MeasurementUnit", tag = "5")]
pub measurement_unit: i32,
#[prost(enumeration = "custom_metric::MetricScope", tag = "6")]
pub scope: i32,
}
pub mod custom_metric {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MeasurementUnit {
Unspecified = 0,
Standard = 1,
Currency = 2,
Feet = 3,
Meters = 4,
Kilometers = 5,
Miles = 6,
Milliseconds = 7,
Seconds = 8,
Minutes = 9,
Hours = 10,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MetricScope {
Unspecified = 0,
Event = 1,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DataRetentionSettings {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration = "data_retention_settings::RetentionDuration", tag = "2")]
pub event_data_retention: i32,
#[prost(bool, tag = "3")]
pub reset_user_data_on_new_activity: bool,
}
pub mod data_retention_settings {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RetentionDuration {
Unspecified = 0,
TwoMonths = 1,
FourteenMonths = 3,
TwentySixMonths = 4,
ThirtyEightMonths = 5,
FiftyMonths = 6,
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum IndustryCategory {
Unspecified = 0,
Automotive = 1,
BusinessAndIndustrialMarkets = 2,
Finance = 3,
Healthcare = 4,
Technology = 5,
Travel = 6,
Other = 7,
ArtsAndEntertainment = 8,
BeautyAndFitness = 9,
BooksAndLiterature = 10,
FoodAndDrink = 11,
Games = 12,
HobbiesAndLeisure = 13,
HomeAndGarden = 14,
InternetAndTelecom = 15,
LawAndGovernment = 16,
News = 17,
OnlineCommunities = 18,
PeopleAndSociety = 19,
PetsAndAnimals = 20,
RealEstate = 21,
Reference = 22,
Science = 23,
Sports = 24,
JobsAndEducation = 25,
Shopping = 26,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ServiceLevel {
Unspecified = 0,
GoogleAnalyticsStandard = 1,
GoogleAnalytics360 = 2,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ActorType {
Unspecified = 0,
User = 1,
System = 2,
Support = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ActionType {
Unspecified = 0,
Created = 1,
Updated = 2,
Deleted = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChangeHistoryResourceType {
Unspecified = 0,
Account = 1,
Property = 2,
WebDataStream = 3,
AndroidAppDataStream = 4,
IosAppDataStream = 5,
FirebaseLink = 6,
GoogleAdsLink = 7,
GoogleSignalsSettings = 8,
ConversionEvent = 9,
MeasurementProtocolSecret = 10,
CustomDimension = 11,
CustomMetric = 12,
DataRetentionSettings = 13,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GoogleSignalsState {
Unspecified = 0,
GoogleSignalsEnabled = 1,
GoogleSignalsDisabled = 2,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GoogleSignalsConsent {
Unspecified = 0,
Consented = 2,
NotConsented = 1,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LinkProposalInitiatingProduct {
Unspecified = 0,
GoogleAnalytics = 1,
LinkedProduct = 2,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LinkProposalState {
Unspecified = 0,
AwaitingReviewFromGoogleAnalytics = 1,
AwaitingReviewFromLinkedProduct = 2,
Withdrawn = 3,
Declined = 4,
Expired = 5,
Obsolete = 6,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAccountRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListAccountsRequest {
#[prost(int32, tag = "1")]
pub page_size: i32,
#[prost(string, tag = "2")]
pub page_token: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub show_deleted: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListAccountsResponse {
#[prost(message, repeated, tag = "1")]
pub accounts: ::prost::alloc::vec::Vec<Account>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteAccountRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateAccountRequest {
#[prost(message, optional, tag = "1")]
pub account: ::core::option::Option<Account>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProvisionAccountTicketRequest {
#[prost(message, optional, tag = "1")]
pub account: ::core::option::Option<Account>,
#[prost(string, tag = "2")]
pub redirect_uri: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProvisionAccountTicketResponse {
#[prost(string, tag = "1")]
pub account_ticket_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPropertyRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListPropertiesRequest {
#[prost(string, tag = "1")]
pub filter: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
#[prost(bool, tag = "4")]
pub show_deleted: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListPropertiesResponse {
#[prost(message, repeated, tag = "1")]
pub properties: ::prost::alloc::vec::Vec<Property>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdatePropertyRequest {
#[prost(message, optional, tag = "1")]
pub property: ::core::option::Option<Property>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreatePropertyRequest {
#[prost(message, optional, tag = "1")]
pub property: ::core::option::Option<Property>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeletePropertyRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUserLinkRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchGetUserLinksRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchGetUserLinksResponse {
#[prost(message, repeated, tag = "1")]
pub user_links: ::prost::alloc::vec::Vec<UserLink>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListUserLinksRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListUserLinksResponse {
#[prost(message, repeated, tag = "1")]
pub user_links: ::prost::alloc::vec::Vec<UserLink>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AuditUserLinksRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AuditUserLinksResponse {
#[prost(message, repeated, tag = "1")]
pub user_links: ::prost::alloc::vec::Vec<AuditUserLink>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateUserLinkRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub notify_new_user: bool,
#[prost(message, optional, tag = "3")]
pub user_link: ::core::option::Option<UserLink>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchCreateUserLinksRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub notify_new_users: bool,
#[prost(message, repeated, tag = "3")]
pub requests: ::prost::alloc::vec::Vec<CreateUserLinkRequest>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchCreateUserLinksResponse {
#[prost(message, repeated, tag = "1")]
pub user_links: ::prost::alloc::vec::Vec<UserLink>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateUserLinkRequest {
#[prost(message, optional, tag = "1")]
pub user_link: ::core::option::Option<UserLink>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchUpdateUserLinksRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub requests: ::prost::alloc::vec::Vec<UpdateUserLinkRequest>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchUpdateUserLinksResponse {
#[prost(message, repeated, tag = "1")]
pub user_links: ::prost::alloc::vec::Vec<UserLink>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteUserLinkRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchDeleteUserLinksRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub requests: ::prost::alloc::vec::Vec<DeleteUserLinkRequest>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetWebDataStreamRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteWebDataStreamRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateWebDataStreamRequest {
#[prost(message, optional, tag = "1")]
pub web_data_stream: ::core::option::Option<WebDataStream>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateWebDataStreamRequest {
#[prost(message, optional, tag = "1")]
pub web_data_stream: ::core::option::Option<WebDataStream>,
#[prost(string, tag = "2")]
pub parent: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListWebDataStreamsRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListWebDataStreamsResponse {
#[prost(message, repeated, tag = "1")]
pub web_data_streams: ::prost::alloc::vec::Vec<WebDataStream>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetIosAppDataStreamRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteIosAppDataStreamRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateIosAppDataStreamRequest {
#[prost(message, optional, tag = "1")]
pub ios_app_data_stream: ::core::option::Option<IosAppDataStream>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListIosAppDataStreamsRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListIosAppDataStreamsResponse {
#[prost(message, repeated, tag = "1")]
pub ios_app_data_streams: ::prost::alloc::vec::Vec<IosAppDataStream>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAndroidAppDataStreamRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteAndroidAppDataStreamRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateAndroidAppDataStreamRequest {
#[prost(message, optional, tag = "1")]
pub android_app_data_stream: ::core::option::Option<AndroidAppDataStream>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListAndroidAppDataStreamsRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListAndroidAppDataStreamsResponse {
#[prost(message, repeated, tag = "1")]
pub android_app_data_streams: ::prost::alloc::vec::Vec<AndroidAppDataStream>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEnhancedMeasurementSettingsRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateEnhancedMeasurementSettingsRequest {
#[prost(message, optional, tag = "1")]
pub enhanced_measurement_settings: ::core::option::Option<EnhancedMeasurementSettings>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateFirebaseLinkRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub firebase_link: ::core::option::Option<FirebaseLink>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteFirebaseLinkRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListFirebaseLinksRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListFirebaseLinksResponse {
#[prost(message, repeated, tag = "1")]
pub firebase_links: ::prost::alloc::vec::Vec<FirebaseLink>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGlobalSiteTagRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateGoogleAdsLinkRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub google_ads_link: ::core::option::Option<GoogleAdsLink>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateGoogleAdsLinkRequest {
#[prost(message, optional, tag = "1")]
pub google_ads_link: ::core::option::Option<GoogleAdsLink>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteGoogleAdsLinkRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListGoogleAdsLinksRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListGoogleAdsLinksResponse {
#[prost(message, repeated, tag = "1")]
pub google_ads_links: ::prost::alloc::vec::Vec<GoogleAdsLink>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetDataSharingSettingsRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListAccountSummariesRequest {
#[prost(int32, tag = "1")]
pub page_size: i32,
#[prost(string, tag = "2")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListAccountSummariesResponse {
#[prost(message, repeated, tag = "1")]
pub account_summaries: ::prost::alloc::vec::Vec<AccountSummary>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchChangeHistoryEventsRequest {
#[prost(string, tag = "1")]
pub account: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub property: ::prost::alloc::string::String,
#[prost(enumeration = "ChangeHistoryResourceType", repeated, packed = "false", tag = "3")]
pub resource_type: ::prost::alloc::vec::Vec<i32>,
#[prost(enumeration = "ActionType", repeated, packed = "false", tag = "4")]
pub action: ::prost::alloc::vec::Vec<i32>,
#[prost(string, repeated, tag = "5")]
pub actor_email: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "6")]
pub earliest_change_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "7")]
pub latest_change_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(int32, tag = "8")]
pub page_size: i32,
#[prost(string, tag = "9")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchChangeHistoryEventsResponse {
#[prost(message, repeated, tag = "1")]
pub change_history_events: ::prost::alloc::vec::Vec<ChangeHistoryEvent>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMeasurementProtocolSecretRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateMeasurementProtocolSecretRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub measurement_protocol_secret: ::core::option::Option<MeasurementProtocolSecret>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteMeasurementProtocolSecretRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMeasurementProtocolSecretRequest {
#[prost(message, optional, tag = "1")]
pub measurement_protocol_secret: ::core::option::Option<MeasurementProtocolSecret>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListMeasurementProtocolSecretsRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListMeasurementProtocolSecretsResponse {
#[prost(message, repeated, tag = "1")]
pub measurement_protocol_secrets: ::prost::alloc::vec::Vec<MeasurementProtocolSecret>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGoogleSignalsSettingsRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateGoogleSignalsSettingsRequest {
#[prost(message, optional, tag = "1")]
pub google_signals_settings: ::core::option::Option<GoogleSignalsSettings>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateConversionEventRequest {
#[prost(message, optional, tag = "1")]
pub conversion_event: ::core::option::Option<ConversionEvent>,
#[prost(string, tag = "2")]
pub parent: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetConversionEventRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteConversionEventRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListConversionEventsRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListConversionEventsResponse {
#[prost(message, repeated, tag = "1")]
pub conversion_events: ::prost::alloc::vec::Vec<ConversionEvent>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetDisplayVideo360AdvertiserLinkRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListDisplayVideo360AdvertiserLinksRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListDisplayVideo360AdvertiserLinksResponse {
#[prost(message, repeated, tag = "1")]
pub display_video_360_advertiser_links: ::prost::alloc::vec::Vec<DisplayVideo360AdvertiserLink>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateDisplayVideo360AdvertiserLinkRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub display_video_360_advertiser_link: ::core::option::Option<DisplayVideo360AdvertiserLink>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteDisplayVideo360AdvertiserLinkRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateDisplayVideo360AdvertiserLinkRequest {
#[prost(message, optional, tag = "1")]
pub display_video_360_advertiser_link: ::core::option::Option<DisplayVideo360AdvertiserLink>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetDisplayVideo360AdvertiserLinkProposalRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListDisplayVideo360AdvertiserLinkProposalsRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListDisplayVideo360AdvertiserLinkProposalsResponse {
#[prost(message, repeated, tag = "1")]
pub display_video_360_advertiser_link_proposals:
::prost::alloc::vec::Vec<DisplayVideo360AdvertiserLinkProposal>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateDisplayVideo360AdvertiserLinkProposalRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub display_video_360_advertiser_link_proposal:
::core::option::Option<DisplayVideo360AdvertiserLinkProposal>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteDisplayVideo360AdvertiserLinkProposalRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApproveDisplayVideo360AdvertiserLinkProposalRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApproveDisplayVideo360AdvertiserLinkProposalResponse {
#[prost(message, optional, tag = "1")]
pub display_video_360_advertiser_link: ::core::option::Option<DisplayVideo360AdvertiserLink>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CancelDisplayVideo360AdvertiserLinkProposalRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateCustomDimensionRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub custom_dimension: ::core::option::Option<CustomDimension>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateCustomDimensionRequest {
#[prost(message, optional, tag = "1")]
pub custom_dimension: ::core::option::Option<CustomDimension>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListCustomDimensionsRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListCustomDimensionsResponse {
#[prost(message, repeated, tag = "1")]
pub custom_dimensions: ::prost::alloc::vec::Vec<CustomDimension>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ArchiveCustomDimensionRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCustomDimensionRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateCustomMetricRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub custom_metric: ::core::option::Option<CustomMetric>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateCustomMetricRequest {
#[prost(message, optional, tag = "1")]
pub custom_metric: ::core::option::Option<CustomMetric>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListCustomMetricsRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListCustomMetricsResponse {
#[prost(message, repeated, tag = "1")]
pub custom_metrics: ::prost::alloc::vec::Vec<CustomMetric>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ArchiveCustomMetricRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCustomMetricRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetDataRetentionSettingsRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateDataRetentionSettingsRequest {
#[prost(message, optional, tag = "1")]
pub data_retention_settings: ::core::option::Option<DataRetentionSettings>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
#[doc = r" Generated client implementations."]
pub mod analytics_admin_service_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
#[doc = " Service Interface for the Analytics Admin API (GA4)."]
#[derive(Debug, Clone)]
pub struct AnalyticsAdminServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> AnalyticsAdminServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::ResponseBody: Body + Send + 'static,
T::Error: Into<StdError>,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> AnalyticsAdminServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<http::Request<tonic::body::BoxBody>>>::Error:
Into<StdError> + Send + Sync,
{
AnalyticsAdminServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[doc = r" Compress requests with `gzip`."]
#[doc = r""]
#[doc = r" This requires the server to support it otherwise it might respond with an"]
#[doc = r" error."]
pub fn send_gzip(mut self) -> Self {
self.inner = self.inner.send_gzip();
self
}
#[doc = r" Enable decompressing responses with `gzip`."]
pub fn accept_gzip(mut self) -> Self {
self.inner = self.inner.accept_gzip();
self
}
#[doc = " Lookup for a single Account."]
pub async fn get_account(
&mut self,
request: impl tonic::IntoRequest<super::GetAccountRequest>,
) -> Result<tonic::Response<super::Account>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/GetAccount",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Returns all accounts accessible by the caller."]
#[doc = ""]
#[doc = " Note that these accounts might not currently have GA4 properties."]
#[doc = " Soft-deleted (ie: \"trashed\") accounts are excluded by default."]
#[doc = " Returns an empty list if no relevant accounts are found."]
pub async fn list_accounts(
&mut self,
request: impl tonic::IntoRequest<super::ListAccountsRequest>,
) -> Result<tonic::Response<super::ListAccountsResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/ListAccounts",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Marks target Account as soft-deleted (ie: \"trashed\") and returns it."]
#[doc = ""]
#[doc = " This API does not have a method to restore soft-deleted accounts."]
#[doc = " However, they can be restored using the Trash Can UI."]
#[doc = ""]
#[doc = " If the accounts are not restored before the expiration time, the account"]
#[doc = " and all child resources (eg: Properties, GoogleAdsLinks, Streams,"]
#[doc = " UserLinks) will be permanently purged."]
#[doc = " https://support.google.com/analytics/answer/6154772"]
#[doc = ""]
#[doc = " Returns an error if the target is not found."]
pub async fn delete_account(
&mut self,
request: impl tonic::IntoRequest<super::DeleteAccountRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/DeleteAccount",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates an account."]
pub async fn update_account(
&mut self,
request: impl tonic::IntoRequest<super::UpdateAccountRequest>,
) -> Result<tonic::Response<super::Account>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/UpdateAccount",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Requests a ticket for creating an account."]
pub async fn provision_account_ticket(
&mut self,
request: impl tonic::IntoRequest<super::ProvisionAccountTicketRequest>,
) -> Result<tonic::Response<super::ProvisionAccountTicketResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/ProvisionAccountTicket",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Returns summaries of all accounts accessible by the caller."]
pub async fn list_account_summaries(
&mut self,
request: impl tonic::IntoRequest<super::ListAccountSummariesRequest>,
) -> Result<tonic::Response<super::ListAccountSummariesResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/ListAccountSummaries",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lookup for a single \"GA4\" Property."]
pub async fn get_property(
&mut self,
request: impl tonic::IntoRequest<super::GetPropertyRequest>,
) -> Result<tonic::Response<super::Property>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/GetProperty",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Returns child Properties under the specified parent Account."]
#[doc = ""]
#[doc = " Only \"GA4\" properties will be returned."]
#[doc = " Properties will be excluded if the caller does not have access."]
#[doc = " Soft-deleted (ie: \"trashed\") properties are excluded by default."]
#[doc = " Returns an empty list if no relevant properties are found."]
pub async fn list_properties(
&mut self,
request: impl tonic::IntoRequest<super::ListPropertiesRequest>,
) -> Result<tonic::Response<super::ListPropertiesResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/ListProperties",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates an \"GA4\" property with the specified location and attributes."]
pub async fn create_property(
&mut self,
request: impl tonic::IntoRequest<super::CreatePropertyRequest>,
) -> Result<tonic::Response<super::Property>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/CreateProperty",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Marks target Property as soft-deleted (ie: \"trashed\") and returns it."]
#[doc = ""]
#[doc = " This API does not have a method to restore soft-deleted properties."]
#[doc = " However, they can be restored using the Trash Can UI."]
#[doc = ""]
#[doc = " If the properties are not restored before the expiration time, the Property"]
#[doc = " and all child resources (eg: GoogleAdsLinks, Streams, UserLinks)"]
#[doc = " will be permanently purged."]
#[doc = " https://support.google.com/analytics/answer/6154772"]
#[doc = ""]
#[doc = " Returns an error if the target is not found, or is not an GA4 Property."]
pub async fn delete_property(
&mut self,
request: impl tonic::IntoRequest<super::DeletePropertyRequest>,
) -> Result<tonic::Response<super::Property>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/DeleteProperty",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates a property."]
pub async fn update_property(
&mut self,
request: impl tonic::IntoRequest<super::UpdatePropertyRequest>,
) -> Result<tonic::Response<super::Property>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/UpdateProperty",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Gets information about a user's link to an account or property."]
pub async fn get_user_link(
&mut self,
request: impl tonic::IntoRequest<super::GetUserLinkRequest>,
) -> Result<tonic::Response<super::UserLink>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/GetUserLink",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Gets information about multiple users' links to an account or property."]
pub async fn batch_get_user_links(
&mut self,
request: impl tonic::IntoRequest<super::BatchGetUserLinksRequest>,
) -> Result<tonic::Response<super::BatchGetUserLinksResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/BatchGetUserLinks",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lists all user links on an account or property."]
pub async fn list_user_links(
&mut self,
request: impl tonic::IntoRequest<super::ListUserLinksRequest>,
) -> Result<tonic::Response<super::ListUserLinksResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/ListUserLinks",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lists all user links on an account or property, including implicit ones"]
#[doc = " that come from effective permissions granted by groups or organization"]
#[doc = " admin roles."]
#[doc = ""]
#[doc = " If a returned user link does not have direct permissions, they cannot"]
#[doc = " be removed from the account or property directly with the DeleteUserLink"]
#[doc = " command. They have to be removed from the group/etc that gives them"]
#[doc = " permissions, which is currently only usable/discoverable in the GA or GMP"]
#[doc = " UIs."]
pub async fn audit_user_links(
&mut self,
request: impl tonic::IntoRequest<super::AuditUserLinksRequest>,
) -> Result<tonic::Response<super::AuditUserLinksResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/AuditUserLinks",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates a user link on an account or property."]
#[doc = ""]
#[doc = " If the user with the specified email already has permissions on the"]
#[doc = " account or property, then the user's existing permissions will be unioned"]
#[doc = " with the permissions specified in the new UserLink."]
pub async fn create_user_link(
&mut self,
request: impl tonic::IntoRequest<super::CreateUserLinkRequest>,
) -> Result<tonic::Response<super::UserLink>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/CreateUserLink",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates information about multiple users' links to an account or property."]
#[doc = ""]
#[doc = " This method is transactional. If any UserLink cannot be created, none of"]
#[doc = " the UserLinks will be created."]
pub async fn batch_create_user_links(
&mut self,
request: impl tonic::IntoRequest<super::BatchCreateUserLinksRequest>,
) -> Result<tonic::Response<super::BatchCreateUserLinksResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/BatchCreateUserLinks",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates a user link on an account or property."]
pub async fn update_user_link(
&mut self,
request: impl tonic::IntoRequest<super::UpdateUserLinkRequest>,
) -> Result<tonic::Response<super::UserLink>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/UpdateUserLink",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates information about multiple users' links to an account or property."]
pub async fn batch_update_user_links(
&mut self,
request: impl tonic::IntoRequest<super::BatchUpdateUserLinksRequest>,
) -> Result<tonic::Response<super::BatchUpdateUserLinksResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/BatchUpdateUserLinks",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Deletes a user link on an account or property."]
pub async fn delete_user_link(
&mut self,
request: impl tonic::IntoRequest<super::DeleteUserLinkRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/DeleteUserLink",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Deletes information about multiple users' links to an account or property."]
pub async fn batch_delete_user_links(
&mut self,
request: impl tonic::IntoRequest<super::BatchDeleteUserLinksRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/BatchDeleteUserLinks",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lookup for a single WebDataStream"]
pub async fn get_web_data_stream(
&mut self,
request: impl tonic::IntoRequest<super::GetWebDataStreamRequest>,
) -> Result<tonic::Response<super::WebDataStream>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/GetWebDataStream",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Deletes a web stream on a property."]
pub async fn delete_web_data_stream(
&mut self,
request: impl tonic::IntoRequest<super::DeleteWebDataStreamRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/DeleteWebDataStream",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates a web stream on a property."]
pub async fn update_web_data_stream(
&mut self,
request: impl tonic::IntoRequest<super::UpdateWebDataStreamRequest>,
) -> Result<tonic::Response<super::WebDataStream>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/UpdateWebDataStream",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates a web stream with the specified location and attributes."]
pub async fn create_web_data_stream(
&mut self,
request: impl tonic::IntoRequest<super::CreateWebDataStreamRequest>,
) -> Result<tonic::Response<super::WebDataStream>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/CreateWebDataStream",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Returns child web data streams under the specified parent property."]
#[doc = ""]
#[doc = " Web data streams will be excluded if the caller does not have access."]
#[doc = " Returns an empty list if no relevant web data streams are found."]
pub async fn list_web_data_streams(
&mut self,
request: impl tonic::IntoRequest<super::ListWebDataStreamsRequest>,
) -> Result<tonic::Response<super::ListWebDataStreamsResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/ListWebDataStreams",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lookup for a single IosAppDataStream"]
pub async fn get_ios_app_data_stream(
&mut self,
request: impl tonic::IntoRequest<super::GetIosAppDataStreamRequest>,
) -> Result<tonic::Response<super::IosAppDataStream>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/GetIosAppDataStream",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Deletes an iOS app stream on a property."]
pub async fn delete_ios_app_data_stream(
&mut self,
request: impl tonic::IntoRequest<super::DeleteIosAppDataStreamRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/DeleteIosAppDataStream",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates an iOS app stream on a property."]
pub async fn update_ios_app_data_stream(
&mut self,
request: impl tonic::IntoRequest<super::UpdateIosAppDataStreamRequest>,
) -> Result<tonic::Response<super::IosAppDataStream>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/UpdateIosAppDataStream",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Returns child iOS app data streams under the specified parent property."]
#[doc = ""]
#[doc = " iOS app data streams will be excluded if the caller does not have access."]
#[doc = " Returns an empty list if no relevant iOS app data streams are found."]
pub async fn list_ios_app_data_streams(
&mut self,
request: impl tonic::IntoRequest<super::ListIosAppDataStreamsRequest>,
) -> Result<tonic::Response<super::ListIosAppDataStreamsResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/ListIosAppDataStreams",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lookup for a single AndroidAppDataStream"]
pub async fn get_android_app_data_stream(
&mut self,
request: impl tonic::IntoRequest<super::GetAndroidAppDataStreamRequest>,
) -> Result<tonic::Response<super::AndroidAppDataStream>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/GetAndroidAppDataStream",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Deletes an android app stream on a property."]
pub async fn delete_android_app_data_stream(
&mut self,
request: impl tonic::IntoRequest<super::DeleteAndroidAppDataStreamRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/DeleteAndroidAppDataStream",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates an android app stream on a property."]
pub async fn update_android_app_data_stream(
&mut self,
request: impl tonic::IntoRequest<super::UpdateAndroidAppDataStreamRequest>,
) -> Result<tonic::Response<super::AndroidAppDataStream>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/UpdateAndroidAppDataStream",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Returns child android app streams under the specified parent property."]
#[doc = ""]
#[doc = " Android app streams will be excluded if the caller does not have access."]
#[doc = " Returns an empty list if no relevant android app streams are found."]
pub async fn list_android_app_data_streams(
&mut self,
request: impl tonic::IntoRequest<super::ListAndroidAppDataStreamsRequest>,
) -> Result<tonic::Response<super::ListAndroidAppDataStreamsResponse>, tonic::Status>
{
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/ListAndroidAppDataStreams",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Returns the singleton enhanced measurement settings for this web stream."]
#[doc = " Note that the stream must enable enhanced measurement for these settings to"]
#[doc = " take effect."]
pub async fn get_enhanced_measurement_settings(
&mut self,
request: impl tonic::IntoRequest<super::GetEnhancedMeasurementSettingsRequest>,
) -> Result<tonic::Response<super::EnhancedMeasurementSettings>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http :: uri :: PathAndQuery :: from_static ("/google.analytics.admin.v1alpha.AnalyticsAdminService/GetEnhancedMeasurementSettings") ;
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates the singleton enhanced measurement settings for this web stream."]
#[doc = " Note that the stream must enable enhanced measurement for these settings to"]
#[doc = " take effect."]
pub async fn update_enhanced_measurement_settings(
&mut self,
request: impl tonic::IntoRequest<super::UpdateEnhancedMeasurementSettingsRequest>,
) -> Result<tonic::Response<super::EnhancedMeasurementSettings>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http :: uri :: PathAndQuery :: from_static ("/google.analytics.admin.v1alpha.AnalyticsAdminService/UpdateEnhancedMeasurementSettings") ;
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates a FirebaseLink."]
#[doc = ""]
#[doc = " Properties can have at most one FirebaseLink."]
pub async fn create_firebase_link(
&mut self,
request: impl tonic::IntoRequest<super::CreateFirebaseLinkRequest>,
) -> Result<tonic::Response<super::FirebaseLink>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/CreateFirebaseLink",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Deletes a FirebaseLink on a property"]
pub async fn delete_firebase_link(
&mut self,
request: impl tonic::IntoRequest<super::DeleteFirebaseLinkRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/DeleteFirebaseLink",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lists FirebaseLinks on a property."]
#[doc = " Properties can have at most one FirebaseLink."]
pub async fn list_firebase_links(
&mut self,
request: impl tonic::IntoRequest<super::ListFirebaseLinksRequest>,
) -> Result<tonic::Response<super::ListFirebaseLinksResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/ListFirebaseLinks",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Returns the Site Tag for the specified web stream."]
#[doc = " Site Tags are immutable singletons."]
pub async fn get_global_site_tag(
&mut self,
request: impl tonic::IntoRequest<super::GetGlobalSiteTagRequest>,
) -> Result<tonic::Response<super::GlobalSiteTag>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/GetGlobalSiteTag",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates a GoogleAdsLink."]
pub async fn create_google_ads_link(
&mut self,
request: impl tonic::IntoRequest<super::CreateGoogleAdsLinkRequest>,
) -> Result<tonic::Response<super::GoogleAdsLink>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/CreateGoogleAdsLink",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates a GoogleAdsLink on a property"]
pub async fn update_google_ads_link(
&mut self,
request: impl tonic::IntoRequest<super::UpdateGoogleAdsLinkRequest>,
) -> Result<tonic::Response<super::GoogleAdsLink>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/UpdateGoogleAdsLink",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Deletes a GoogleAdsLink on a property"]
pub async fn delete_google_ads_link(
&mut self,
request: impl tonic::IntoRequest<super::DeleteGoogleAdsLinkRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/DeleteGoogleAdsLink",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lists GoogleAdsLinks on a property."]
pub async fn list_google_ads_links(
&mut self,
request: impl tonic::IntoRequest<super::ListGoogleAdsLinksRequest>,
) -> Result<tonic::Response<super::ListGoogleAdsLinksResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/ListGoogleAdsLinks",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Get data sharing settings on an account."]
#[doc = " Data sharing settings are singletons."]
pub async fn get_data_sharing_settings(
&mut self,
request: impl tonic::IntoRequest<super::GetDataSharingSettingsRequest>,
) -> Result<tonic::Response<super::DataSharingSettings>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/GetDataSharingSettings",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lookup for a single \"GA4\" MeasurementProtocolSecret."]
pub async fn get_measurement_protocol_secret(
&mut self,
request: impl tonic::IntoRequest<super::GetMeasurementProtocolSecretRequest>,
) -> Result<tonic::Response<super::MeasurementProtocolSecret>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http :: uri :: PathAndQuery :: from_static ("/google.analytics.admin.v1alpha.AnalyticsAdminService/GetMeasurementProtocolSecret") ;
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Returns child MeasurementProtocolSecrets under the specified parent"]
#[doc = " Property."]
pub async fn list_measurement_protocol_secrets(
&mut self,
request: impl tonic::IntoRequest<super::ListMeasurementProtocolSecretsRequest>,
) -> Result<tonic::Response<super::ListMeasurementProtocolSecretsResponse>, tonic::Status>
{
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http :: uri :: PathAndQuery :: from_static ("/google.analytics.admin.v1alpha.AnalyticsAdminService/ListMeasurementProtocolSecrets") ;
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates a measurement protocol secret."]
pub async fn create_measurement_protocol_secret(
&mut self,
request: impl tonic::IntoRequest<super::CreateMeasurementProtocolSecretRequest>,
) -> Result<tonic::Response<super::MeasurementProtocolSecret>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http :: uri :: PathAndQuery :: from_static ("/google.analytics.admin.v1alpha.AnalyticsAdminService/CreateMeasurementProtocolSecret") ;
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Deletes target MeasurementProtocolSecret."]
pub async fn delete_measurement_protocol_secret(
&mut self,
request: impl tonic::IntoRequest<super::DeleteMeasurementProtocolSecretRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http :: uri :: PathAndQuery :: from_static ("/google.analytics.admin.v1alpha.AnalyticsAdminService/DeleteMeasurementProtocolSecret") ;
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates a measurement protocol secret."]
pub async fn update_measurement_protocol_secret(
&mut self,
request: impl tonic::IntoRequest<super::UpdateMeasurementProtocolSecretRequest>,
) -> Result<tonic::Response<super::MeasurementProtocolSecret>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http :: uri :: PathAndQuery :: from_static ("/google.analytics.admin.v1alpha.AnalyticsAdminService/UpdateMeasurementProtocolSecret") ;
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Searches through all changes to an account or its children given the"]
#[doc = " specified set of filters."]
pub async fn search_change_history_events(
&mut self,
request: impl tonic::IntoRequest<super::SearchChangeHistoryEventsRequest>,
) -> Result<tonic::Response<super::SearchChangeHistoryEventsResponse>, tonic::Status>
{
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/SearchChangeHistoryEvents",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lookup for Google Signals settings for a property."]
pub async fn get_google_signals_settings(
&mut self,
request: impl tonic::IntoRequest<super::GetGoogleSignalsSettingsRequest>,
) -> Result<tonic::Response<super::GoogleSignalsSettings>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/GetGoogleSignalsSettings",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates Google Signals settings for a property."]
pub async fn update_google_signals_settings(
&mut self,
request: impl tonic::IntoRequest<super::UpdateGoogleSignalsSettingsRequest>,
) -> Result<tonic::Response<super::GoogleSignalsSettings>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/UpdateGoogleSignalsSettings",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates a conversion event with the specified attributes."]
pub async fn create_conversion_event(
&mut self,
request: impl tonic::IntoRequest<super::CreateConversionEventRequest>,
) -> Result<tonic::Response<super::ConversionEvent>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/CreateConversionEvent",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Retrieve a single conversion event."]
pub async fn get_conversion_event(
&mut self,
request: impl tonic::IntoRequest<super::GetConversionEventRequest>,
) -> Result<tonic::Response<super::ConversionEvent>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/GetConversionEvent",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Deletes a conversion event in a property."]
pub async fn delete_conversion_event(
&mut self,
request: impl tonic::IntoRequest<super::DeleteConversionEventRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/DeleteConversionEvent",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Returns a list of conversion events in the specified parent property."]
#[doc = ""]
#[doc = " Returns an empty list if no conversion events are found."]
pub async fn list_conversion_events(
&mut self,
request: impl tonic::IntoRequest<super::ListConversionEventsRequest>,
) -> Result<tonic::Response<super::ListConversionEventsResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/ListConversionEvents",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Look up a single DisplayVideo360AdvertiserLink"]
pub async fn get_display_video360_advertiser_link(
&mut self,
request: impl tonic::IntoRequest<super::GetDisplayVideo360AdvertiserLinkRequest>,
) -> Result<tonic::Response<super::DisplayVideo360AdvertiserLink>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http :: uri :: PathAndQuery :: from_static ("/google.analytics.admin.v1alpha.AnalyticsAdminService/GetDisplayVideo360AdvertiserLink") ;
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lists all DisplayVideo360AdvertiserLinks on a property."]
pub async fn list_display_video360_advertiser_links(
&mut self,
request: impl tonic::IntoRequest<super::ListDisplayVideo360AdvertiserLinksRequest>,
) -> Result<tonic::Response<super::ListDisplayVideo360AdvertiserLinksResponse>, tonic::Status>
{
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http :: uri :: PathAndQuery :: from_static ("/google.analytics.admin.v1alpha.AnalyticsAdminService/ListDisplayVideo360AdvertiserLinks") ;
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates a DisplayVideo360AdvertiserLink."]
#[doc = " This can only be utilized by users who have proper authorization both on"]
#[doc = " the Google Analytics property and on the Display & Video 360 advertiser."]
#[doc = " Users who do not have access to the Display & Video 360 advertiser should"]
#[doc = " instead seek to create a DisplayVideo360LinkProposal."]
pub async fn create_display_video360_advertiser_link(
&mut self,
request: impl tonic::IntoRequest<super::CreateDisplayVideo360AdvertiserLinkRequest>,
) -> Result<tonic::Response<super::DisplayVideo360AdvertiserLink>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http :: uri :: PathAndQuery :: from_static ("/google.analytics.admin.v1alpha.AnalyticsAdminService/CreateDisplayVideo360AdvertiserLink") ;
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Deletes a DisplayVideo360AdvertiserLink on a property."]
pub async fn delete_display_video360_advertiser_link(
&mut self,
request: impl tonic::IntoRequest<super::DeleteDisplayVideo360AdvertiserLinkRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http :: uri :: PathAndQuery :: from_static ("/google.analytics.admin.v1alpha.AnalyticsAdminService/DeleteDisplayVideo360AdvertiserLink") ;
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates a DisplayVideo360AdvertiserLink on a property."]
pub async fn update_display_video360_advertiser_link(
&mut self,
request: impl tonic::IntoRequest<super::UpdateDisplayVideo360AdvertiserLinkRequest>,
) -> Result<tonic::Response<super::DisplayVideo360AdvertiserLink>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http :: uri :: PathAndQuery :: from_static ("/google.analytics.admin.v1alpha.AnalyticsAdminService/UpdateDisplayVideo360AdvertiserLink") ;
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lookup for a single DisplayVideo360AdvertiserLinkProposal."]
pub async fn get_display_video360_advertiser_link_proposal(
&mut self,
request: impl tonic::IntoRequest<super::GetDisplayVideo360AdvertiserLinkProposalRequest>,
) -> Result<tonic::Response<super::DisplayVideo360AdvertiserLinkProposal>, tonic::Status>
{
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http :: uri :: PathAndQuery :: from_static ("/google.analytics.admin.v1alpha.AnalyticsAdminService/GetDisplayVideo360AdvertiserLinkProposal") ;
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lists DisplayVideo360AdvertiserLinkProposals on a property."]
pub async fn list_display_video360_advertiser_link_proposals(
&mut self,
request: impl tonic::IntoRequest<super::ListDisplayVideo360AdvertiserLinkProposalsRequest>,
) -> Result<
tonic::Response<super::ListDisplayVideo360AdvertiserLinkProposalsResponse>,
tonic::Status,
> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http :: uri :: PathAndQuery :: from_static ("/google.analytics.admin.v1alpha.AnalyticsAdminService/ListDisplayVideo360AdvertiserLinkProposals") ;
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates a DisplayVideo360AdvertiserLinkProposal."]
pub async fn create_display_video360_advertiser_link_proposal(
&mut self,
request: impl tonic::IntoRequest<super::CreateDisplayVideo360AdvertiserLinkProposalRequest>,
) -> Result<tonic::Response<super::DisplayVideo360AdvertiserLinkProposal>, tonic::Status>
{
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http :: uri :: PathAndQuery :: from_static ("/google.analytics.admin.v1alpha.AnalyticsAdminService/CreateDisplayVideo360AdvertiserLinkProposal") ;
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Deletes a DisplayVideo360AdvertiserLinkProposal on a property."]
#[doc = " This can only be used on cancelled proposals."]
pub async fn delete_display_video360_advertiser_link_proposal(
&mut self,
request: impl tonic::IntoRequest<super::DeleteDisplayVideo360AdvertiserLinkProposalRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http :: uri :: PathAndQuery :: from_static ("/google.analytics.admin.v1alpha.AnalyticsAdminService/DeleteDisplayVideo360AdvertiserLinkProposal") ;
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Approves a DisplayVideo360AdvertiserLinkProposal."]
#[doc = " The DisplayVideo360AdvertiserLinkProposal will be deleted and a new"]
#[doc = " DisplayVideo360AdvertiserLink will be created."]
pub async fn approve_display_video360_advertiser_link_proposal(
&mut self,
request: impl tonic::IntoRequest<super::ApproveDisplayVideo360AdvertiserLinkProposalRequest>,
) -> Result<
tonic::Response<super::ApproveDisplayVideo360AdvertiserLinkProposalResponse>,
tonic::Status,
> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http :: uri :: PathAndQuery :: from_static ("/google.analytics.admin.v1alpha.AnalyticsAdminService/ApproveDisplayVideo360AdvertiserLinkProposal") ;
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Cancels a DisplayVideo360AdvertiserLinkProposal."]
#[doc = " Cancelling can mean either:"]
#[doc = " - Declining a proposal initiated from Display & Video 360"]
#[doc = " - Withdrawing a proposal initiated from Google Analytics"]
#[doc = " After being cancelled, a proposal will eventually be deleted automatically."]
pub async fn cancel_display_video360_advertiser_link_proposal(
&mut self,
request: impl tonic::IntoRequest<super::CancelDisplayVideo360AdvertiserLinkProposalRequest>,
) -> Result<tonic::Response<super::DisplayVideo360AdvertiserLinkProposal>, tonic::Status>
{
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http :: uri :: PathAndQuery :: from_static ("/google.analytics.admin.v1alpha.AnalyticsAdminService/CancelDisplayVideo360AdvertiserLinkProposal") ;
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates a CustomDimension."]
pub async fn create_custom_dimension(
&mut self,
request: impl tonic::IntoRequest<super::CreateCustomDimensionRequest>,
) -> Result<tonic::Response<super::CustomDimension>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/CreateCustomDimension",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates a CustomDimension on a property."]
pub async fn update_custom_dimension(
&mut self,
request: impl tonic::IntoRequest<super::UpdateCustomDimensionRequest>,
) -> Result<tonic::Response<super::CustomDimension>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/UpdateCustomDimension",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lists CustomDimensions on a property."]
pub async fn list_custom_dimensions(
&mut self,
request: impl tonic::IntoRequest<super::ListCustomDimensionsRequest>,
) -> Result<tonic::Response<super::ListCustomDimensionsResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/ListCustomDimensions",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Archives a CustomDimension on a property."]
pub async fn archive_custom_dimension(
&mut self,
request: impl tonic::IntoRequest<super::ArchiveCustomDimensionRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/ArchiveCustomDimension",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lookup for a single CustomDimension."]
pub async fn get_custom_dimension(
&mut self,
request: impl tonic::IntoRequest<super::GetCustomDimensionRequest>,
) -> Result<tonic::Response<super::CustomDimension>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/GetCustomDimension",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates a CustomMetric."]
pub async fn create_custom_metric(
&mut self,
request: impl tonic::IntoRequest<super::CreateCustomMetricRequest>,
) -> Result<tonic::Response<super::CustomMetric>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/CreateCustomMetric",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates a CustomMetric on a property."]
pub async fn update_custom_metric(
&mut self,
request: impl tonic::IntoRequest<super::UpdateCustomMetricRequest>,
) -> Result<tonic::Response<super::CustomMetric>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/UpdateCustomMetric",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lists CustomMetrics on a property."]
pub async fn list_custom_metrics(
&mut self,
request: impl tonic::IntoRequest<super::ListCustomMetricsRequest>,
) -> Result<tonic::Response<super::ListCustomMetricsResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/ListCustomMetrics",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Archives a CustomMetric on a property."]
pub async fn archive_custom_metric(
&mut self,
request: impl tonic::IntoRequest<super::ArchiveCustomMetricRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/ArchiveCustomMetric",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lookup for a single CustomMetric."]
pub async fn get_custom_metric(
&mut self,
request: impl tonic::IntoRequest<super::GetCustomMetricRequest>,
) -> Result<tonic::Response<super::CustomMetric>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/GetCustomMetric",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Returns the singleton data retention settings for this property."]
pub async fn get_data_retention_settings(
&mut self,
request: impl tonic::IntoRequest<super::GetDataRetentionSettingsRequest>,
) -> Result<tonic::Response<super::DataRetentionSettings>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/GetDataRetentionSettings",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates the singleton data retention settings for this property."]
pub async fn update_data_retention_settings(
&mut self,
request: impl tonic::IntoRequest<super::UpdateDataRetentionSettingsRequest>,
) -> Result<tonic::Response<super::DataRetentionSettings>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.analytics.admin.v1alpha.AnalyticsAdminService/UpdateDataRetentionSettings",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}