google-ads-data_manager-v1 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5ba42814ae4a588433714e117d40453df3f9a670090b0bb1f1620cd2b495d550
4
- data.tar.gz: de1eff386bd10693f20cd8612e7db1d806eaad3b86550a44c2c8c7037c21ec3e
3
+ metadata.gz: 6a5e1aae8dd667b2fbd959b7076cbdcf54b95fc1e20a670f7bf63a2ebdbc696c
4
+ data.tar.gz: e1fbb07ec8293ee8e1cf754e0c431b028339d852706713a9d1169d3361d6c234
5
5
  SHA512:
6
- metadata.gz: 2dbb88078f9c90d22dafa88998e35a9ed30e3b7a5d0393093d5d31744c9facb2559d08b30ee6d6e81e88785c43d4bb27ce9a8af3e39a6f64fba8ab8aebeb6511
7
- data.tar.gz: 8a4e3dfcd600a9b4059ddd98beacedd08b61a7ea89ecbc83737788fb10b47a02a74473752526ae42ba6d8b05c13bd795fea7757e94467fe9fa416189bf1a591b
6
+ metadata.gz: 03bb3e17e1ab57f19057865ea311eb750227b58d7ea32d98d41838a9f4861113a2957da10c1adaa33f24be8cd4813308e160adf6e60f2e5e95f0ceff9eee4daf
7
+ data.tar.gz: efb706fdb752f3b7ae5c4137ea58b4eb366baeb03209e3e527405458ba44f1208d3b52a557112cb6cd160845f6afb8a0e7bf0784f8bc651128fcd8fd7f16ebba
@@ -83,6 +83,16 @@ module Google
83
83
  initial_delay: 5.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4]
84
84
  }
85
85
 
86
+ default_config.rpcs.ingest_users.timeout = 120.0
87
+ default_config.rpcs.ingest_users.retry_policy = {
88
+ initial_delay: 5.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4]
89
+ }
90
+
91
+ default_config.rpcs.remove_users.timeout = 120.0
92
+ default_config.rpcs.remove_users.retry_policy = {
93
+ initial_delay: 5.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4]
94
+ }
95
+
86
96
  default_config.rpcs.retrieve_request_status.timeout = 60.0
87
97
  default_config.rpcs.retrieve_request_status.retry_policy = {
88
98
  initial_delay: 5.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4]
@@ -589,6 +599,190 @@ module Google
589
599
  raise ::Google::Cloud::Error.from_error(e)
590
600
  end
591
601
 
602
+ ##
603
+ # Uploads a list of users to the provided destinations. Unlike
604
+ # {::Google::Ads::DataManager::V1::IngestionService::Client#ingest_audience_members IngestAudienceMembers}
605
+ # (which adds users to specific advertiser audience lists for targeting),
606
+ # `IngestUsers` ingests account level identity linkage data (for example,
607
+ # user identifiers linked to mobile IDs) independent of specific audience
608
+ # segments.
609
+ #
610
+ # This feature is only available to accounts on an allowlist.
611
+ #
612
+ # @overload ingest_users(request, options = nil)
613
+ # Pass arguments to `ingest_users` via a request object, either of type
614
+ # {::Google::Ads::DataManager::V1::IngestUsersRequest} or an equivalent Hash.
615
+ #
616
+ # @param request [::Google::Ads::DataManager::V1::IngestUsersRequest, ::Hash]
617
+ # A request object representing the call parameters. Required. To specify no
618
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
619
+ # @param options [::Gapic::CallOptions, ::Hash]
620
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
621
+ #
622
+ # @overload ingest_users(destinations: nil, users: nil, encryption_info: nil, validate_only: nil, encoding: nil)
623
+ # Pass arguments to `ingest_users` via keyword arguments. Note that at
624
+ # least one keyword argument is required. To specify no parameters, or to keep all
625
+ # the default parameter values, pass an empty Hash as a request object (see above).
626
+ #
627
+ # @param destinations [::Array<::Google::Ads::DataManager::V1::Destination, ::Hash>]
628
+ # Required. The list of possible ingestion destinations.
629
+ # @param users [::Array<::Google::Ads::DataManager::V1::User, ::Hash>]
630
+ # Required. The list of users to ingest.
631
+ # @param encryption_info [::Google::Ads::DataManager::V1::EncryptionInfo, ::Hash]
632
+ # Optional. Encryption information about encryption keys which are used to
633
+ # encrypt the data.
634
+ # @param validate_only [::Boolean]
635
+ # Optional. If `true`, the request is validated but not executed.
636
+ # @param encoding [::Google::Ads::DataManager::V1::Encoding]
637
+ # Required. The encoding type of the user identifiers. For encrypted user
638
+ # identifiers, this only applies to the outer encoding.
639
+ #
640
+ # @yield [response, operation] Access the result along with the RPC operation
641
+ # @yieldparam response [::Google::Ads::DataManager::V1::IngestUsersResponse]
642
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
643
+ #
644
+ # @return [::Google::Ads::DataManager::V1::IngestUsersResponse]
645
+ #
646
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
647
+ #
648
+ # @example Basic example
649
+ # require "google/ads/data_manager/v1"
650
+ #
651
+ # # Create a client object. The client can be reused for multiple calls.
652
+ # client = Google::Ads::DataManager::V1::IngestionService::Client.new
653
+ #
654
+ # # Create a request. To set request fields, pass in keyword arguments.
655
+ # request = Google::Ads::DataManager::V1::IngestUsersRequest.new
656
+ #
657
+ # # Call the ingest_users method.
658
+ # result = client.ingest_users request
659
+ #
660
+ # # The returned object is of type Google::Ads::DataManager::V1::IngestUsersResponse.
661
+ # p result
662
+ #
663
+ def ingest_users request, options = nil
664
+ raise ::ArgumentError, "request must be provided" if request.nil?
665
+
666
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Ads::DataManager::V1::IngestUsersRequest
667
+
668
+ # Converts hash and nil to an options object
669
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
670
+
671
+ # Customize the options with defaults
672
+ metadata = @config.rpcs.ingest_users.metadata.to_h
673
+
674
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
675
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
676
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
677
+ gapic_version: ::Google::Ads::DataManager::V1::VERSION
678
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
679
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
680
+
681
+ options.apply_defaults timeout: @config.rpcs.ingest_users.timeout,
682
+ metadata: metadata,
683
+ retry_policy: @config.rpcs.ingest_users.retry_policy
684
+
685
+ options.apply_defaults timeout: @config.timeout,
686
+ metadata: @config.metadata,
687
+ retry_policy: @config.retry_policy
688
+
689
+ @ingestion_service_stub.call_rpc :ingest_users, request, options: options do |response, operation|
690
+ yield response, operation if block_given?
691
+ end
692
+ rescue ::GRPC::BadStatus => e
693
+ raise ::Google::Cloud::Error.from_error(e)
694
+ end
695
+
696
+ ##
697
+ # Removes a list of users from the provided destinations.
698
+ #
699
+ # This feature is only available to accounts on an allowlist.
700
+ #
701
+ # @overload remove_users(request, options = nil)
702
+ # Pass arguments to `remove_users` via a request object, either of type
703
+ # {::Google::Ads::DataManager::V1::RemoveUsersRequest} or an equivalent Hash.
704
+ #
705
+ # @param request [::Google::Ads::DataManager::V1::RemoveUsersRequest, ::Hash]
706
+ # A request object representing the call parameters. Required. To specify no
707
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
708
+ # @param options [::Gapic::CallOptions, ::Hash]
709
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
710
+ #
711
+ # @overload remove_users(destinations: nil, user_data: nil, encryption_info: nil, validate_only: nil, encoding: nil)
712
+ # Pass arguments to `remove_users` via keyword arguments. Note that at
713
+ # least one keyword argument is required. To specify no parameters, or to keep all
714
+ # the default parameter values, pass an empty Hash as a request object (see above).
715
+ #
716
+ # @param destinations [::Array<::Google::Ads::DataManager::V1::Destination, ::Hash>]
717
+ # Required. The list of possible ingestion destinations.
718
+ # @param user_data [::Array<::Google::Ads::DataManager::V1::UserData, ::Hash>]
719
+ # Required. The individual bits of UserData that act as keys for the users to
720
+ # remove.
721
+ # @param encryption_info [::Google::Ads::DataManager::V1::EncryptionInfo, ::Hash]
722
+ # Optional. Encryption information about encryption keys which are used to
723
+ # encrypt the data.
724
+ # @param validate_only [::Boolean]
725
+ # Optional. If `true`, the request is validated but not executed.
726
+ # @param encoding [::Google::Ads::DataManager::V1::Encoding]
727
+ # Required. The encoding type of the user identifiers. For encrypted user
728
+ # identifiers, this only applies to the outer encoding.
729
+ #
730
+ # @yield [response, operation] Access the result along with the RPC operation
731
+ # @yieldparam response [::Google::Ads::DataManager::V1::RemoveUsersResponse]
732
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
733
+ #
734
+ # @return [::Google::Ads::DataManager::V1::RemoveUsersResponse]
735
+ #
736
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
737
+ #
738
+ # @example Basic example
739
+ # require "google/ads/data_manager/v1"
740
+ #
741
+ # # Create a client object. The client can be reused for multiple calls.
742
+ # client = Google::Ads::DataManager::V1::IngestionService::Client.new
743
+ #
744
+ # # Create a request. To set request fields, pass in keyword arguments.
745
+ # request = Google::Ads::DataManager::V1::RemoveUsersRequest.new
746
+ #
747
+ # # Call the remove_users method.
748
+ # result = client.remove_users request
749
+ #
750
+ # # The returned object is of type Google::Ads::DataManager::V1::RemoveUsersResponse.
751
+ # p result
752
+ #
753
+ def remove_users request, options = nil
754
+ raise ::ArgumentError, "request must be provided" if request.nil?
755
+
756
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Ads::DataManager::V1::RemoveUsersRequest
757
+
758
+ # Converts hash and nil to an options object
759
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
760
+
761
+ # Customize the options with defaults
762
+ metadata = @config.rpcs.remove_users.metadata.to_h
763
+
764
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
765
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
766
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
767
+ gapic_version: ::Google::Ads::DataManager::V1::VERSION
768
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
769
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
770
+
771
+ options.apply_defaults timeout: @config.rpcs.remove_users.timeout,
772
+ metadata: metadata,
773
+ retry_policy: @config.rpcs.remove_users.retry_policy
774
+
775
+ options.apply_defaults timeout: @config.timeout,
776
+ metadata: @config.metadata,
777
+ retry_policy: @config.retry_policy
778
+
779
+ @ingestion_service_stub.call_rpc :remove_users, request, options: options do |response, operation|
780
+ yield response, operation if block_given?
781
+ end
782
+ rescue ::GRPC::BadStatus => e
783
+ raise ::Google::Cloud::Error.from_error(e)
784
+ end
785
+
592
786
  ##
593
787
  # Uploads a list of
594
788
  # {::Google::Ads::DataManager::V1::AdEvent AdEvent} resources to Google
@@ -959,6 +1153,16 @@ module Google
959
1153
  #
960
1154
  attr_reader :ingest_events
961
1155
  ##
1156
+ # RPC-specific configuration for `ingest_users`
1157
+ # @return [::Gapic::Config::Method]
1158
+ #
1159
+ attr_reader :ingest_users
1160
+ ##
1161
+ # RPC-specific configuration for `remove_users`
1162
+ # @return [::Gapic::Config::Method]
1163
+ #
1164
+ attr_reader :remove_users
1165
+ ##
962
1166
  # RPC-specific configuration for `ingest_ad_events`
963
1167
  # @return [::Gapic::Config::Method]
964
1168
  #
@@ -979,6 +1183,10 @@ module Google
979
1183
  @remove_all_audience_members = ::Gapic::Config::Method.new remove_all_audience_members_config
980
1184
  ingest_events_config = parent_rpcs.ingest_events if parent_rpcs.respond_to? :ingest_events
981
1185
  @ingest_events = ::Gapic::Config::Method.new ingest_events_config
1186
+ ingest_users_config = parent_rpcs.ingest_users if parent_rpcs.respond_to? :ingest_users
1187
+ @ingest_users = ::Gapic::Config::Method.new ingest_users_config
1188
+ remove_users_config = parent_rpcs.remove_users if parent_rpcs.respond_to? :remove_users
1189
+ @remove_users = ::Gapic::Config::Method.new remove_users_config
982
1190
  ingest_ad_events_config = parent_rpcs.ingest_ad_events if parent_rpcs.respond_to? :ingest_ad_events
983
1191
  @ingest_ad_events = ::Gapic::Config::Method.new ingest_ad_events_config
984
1192
  retrieve_request_status_config = parent_rpcs.retrieve_request_status if parent_rpcs.respond_to? :retrieve_request_status
@@ -85,6 +85,16 @@ module Google
85
85
  initial_delay: 5.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4]
86
86
  }
87
87
 
88
+ default_config.rpcs.ingest_users.timeout = 120.0
89
+ default_config.rpcs.ingest_users.retry_policy = {
90
+ initial_delay: 5.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4]
91
+ }
92
+
93
+ default_config.rpcs.remove_users.timeout = 120.0
94
+ default_config.rpcs.remove_users.retry_policy = {
95
+ initial_delay: 5.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4]
96
+ }
97
+
88
98
  default_config.rpcs.retrieve_request_status.timeout = 60.0
89
99
  default_config.rpcs.retrieve_request_status.retry_policy = {
90
100
  initial_delay: 5.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4]
@@ -586,6 +596,192 @@ module Google
586
596
  raise ::Google::Cloud::Error.from_error(e)
587
597
  end
588
598
 
599
+ ##
600
+ # Uploads a list of users to the provided destinations. Unlike
601
+ # {::Google::Ads::DataManager::V1::IngestionService::Rest::Client#ingest_audience_members IngestAudienceMembers}
602
+ # (which adds users to specific advertiser audience lists for targeting),
603
+ # `IngestUsers` ingests account level identity linkage data (for example,
604
+ # user identifiers linked to mobile IDs) independent of specific audience
605
+ # segments.
606
+ #
607
+ # This feature is only available to accounts on an allowlist.
608
+ #
609
+ # @overload ingest_users(request, options = nil)
610
+ # Pass arguments to `ingest_users` via a request object, either of type
611
+ # {::Google::Ads::DataManager::V1::IngestUsersRequest} or an equivalent Hash.
612
+ #
613
+ # @param request [::Google::Ads::DataManager::V1::IngestUsersRequest, ::Hash]
614
+ # A request object representing the call parameters. Required. To specify no
615
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
616
+ # @param options [::Gapic::CallOptions, ::Hash]
617
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
618
+ #
619
+ # @overload ingest_users(destinations: nil, users: nil, encryption_info: nil, validate_only: nil, encoding: nil)
620
+ # Pass arguments to `ingest_users` via keyword arguments. Note that at
621
+ # least one keyword argument is required. To specify no parameters, or to keep all
622
+ # the default parameter values, pass an empty Hash as a request object (see above).
623
+ #
624
+ # @param destinations [::Array<::Google::Ads::DataManager::V1::Destination, ::Hash>]
625
+ # Required. The list of possible ingestion destinations.
626
+ # @param users [::Array<::Google::Ads::DataManager::V1::User, ::Hash>]
627
+ # Required. The list of users to ingest.
628
+ # @param encryption_info [::Google::Ads::DataManager::V1::EncryptionInfo, ::Hash]
629
+ # Optional. Encryption information about encryption keys which are used to
630
+ # encrypt the data.
631
+ # @param validate_only [::Boolean]
632
+ # Optional. If `true`, the request is validated but not executed.
633
+ # @param encoding [::Google::Ads::DataManager::V1::Encoding]
634
+ # Required. The encoding type of the user identifiers. For encrypted user
635
+ # identifiers, this only applies to the outer encoding.
636
+ # @yield [result, operation] Access the result along with the TransportOperation object
637
+ # @yieldparam result [::Google::Ads::DataManager::V1::IngestUsersResponse]
638
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
639
+ #
640
+ # @return [::Google::Ads::DataManager::V1::IngestUsersResponse]
641
+ #
642
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
643
+ #
644
+ # @example Basic example
645
+ # require "google/ads/data_manager/v1"
646
+ #
647
+ # # Create a client object. The client can be reused for multiple calls.
648
+ # client = Google::Ads::DataManager::V1::IngestionService::Rest::Client.new
649
+ #
650
+ # # Create a request. To set request fields, pass in keyword arguments.
651
+ # request = Google::Ads::DataManager::V1::IngestUsersRequest.new
652
+ #
653
+ # # Call the ingest_users method.
654
+ # result = client.ingest_users request
655
+ #
656
+ # # The returned object is of type Google::Ads::DataManager::V1::IngestUsersResponse.
657
+ # p result
658
+ #
659
+ def ingest_users request, options = nil
660
+ raise ::ArgumentError, "request must be provided" if request.nil?
661
+
662
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Ads::DataManager::V1::IngestUsersRequest
663
+
664
+ # Converts hash and nil to an options object
665
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
666
+
667
+ # Customize the options with defaults
668
+ call_metadata = @config.rpcs.ingest_users.metadata.to_h
669
+
670
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
671
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
672
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
673
+ gapic_version: ::Google::Ads::DataManager::V1::VERSION,
674
+ transports_version_send: [:rest]
675
+
676
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
677
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
678
+
679
+ options.apply_defaults timeout: @config.rpcs.ingest_users.timeout,
680
+ metadata: call_metadata,
681
+ retry_policy: @config.rpcs.ingest_users.retry_policy
682
+
683
+ options.apply_defaults timeout: @config.timeout,
684
+ metadata: @config.metadata,
685
+ retry_policy: @config.retry_policy
686
+
687
+ @ingestion_service_stub.ingest_users request, options do |result, operation|
688
+ yield result, operation if block_given?
689
+ end
690
+ rescue ::Gapic::Rest::Error => e
691
+ raise ::Google::Cloud::Error.from_error(e)
692
+ end
693
+
694
+ ##
695
+ # Removes a list of users from the provided destinations.
696
+ #
697
+ # This feature is only available to accounts on an allowlist.
698
+ #
699
+ # @overload remove_users(request, options = nil)
700
+ # Pass arguments to `remove_users` via a request object, either of type
701
+ # {::Google::Ads::DataManager::V1::RemoveUsersRequest} or an equivalent Hash.
702
+ #
703
+ # @param request [::Google::Ads::DataManager::V1::RemoveUsersRequest, ::Hash]
704
+ # A request object representing the call parameters. Required. To specify no
705
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
706
+ # @param options [::Gapic::CallOptions, ::Hash]
707
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
708
+ #
709
+ # @overload remove_users(destinations: nil, user_data: nil, encryption_info: nil, validate_only: nil, encoding: nil)
710
+ # Pass arguments to `remove_users` via keyword arguments. Note that at
711
+ # least one keyword argument is required. To specify no parameters, or to keep all
712
+ # the default parameter values, pass an empty Hash as a request object (see above).
713
+ #
714
+ # @param destinations [::Array<::Google::Ads::DataManager::V1::Destination, ::Hash>]
715
+ # Required. The list of possible ingestion destinations.
716
+ # @param user_data [::Array<::Google::Ads::DataManager::V1::UserData, ::Hash>]
717
+ # Required. The individual bits of UserData that act as keys for the users to
718
+ # remove.
719
+ # @param encryption_info [::Google::Ads::DataManager::V1::EncryptionInfo, ::Hash]
720
+ # Optional. Encryption information about encryption keys which are used to
721
+ # encrypt the data.
722
+ # @param validate_only [::Boolean]
723
+ # Optional. If `true`, the request is validated but not executed.
724
+ # @param encoding [::Google::Ads::DataManager::V1::Encoding]
725
+ # Required. The encoding type of the user identifiers. For encrypted user
726
+ # identifiers, this only applies to the outer encoding.
727
+ # @yield [result, operation] Access the result along with the TransportOperation object
728
+ # @yieldparam result [::Google::Ads::DataManager::V1::RemoveUsersResponse]
729
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
730
+ #
731
+ # @return [::Google::Ads::DataManager::V1::RemoveUsersResponse]
732
+ #
733
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
734
+ #
735
+ # @example Basic example
736
+ # require "google/ads/data_manager/v1"
737
+ #
738
+ # # Create a client object. The client can be reused for multiple calls.
739
+ # client = Google::Ads::DataManager::V1::IngestionService::Rest::Client.new
740
+ #
741
+ # # Create a request. To set request fields, pass in keyword arguments.
742
+ # request = Google::Ads::DataManager::V1::RemoveUsersRequest.new
743
+ #
744
+ # # Call the remove_users method.
745
+ # result = client.remove_users request
746
+ #
747
+ # # The returned object is of type Google::Ads::DataManager::V1::RemoveUsersResponse.
748
+ # p result
749
+ #
750
+ def remove_users request, options = nil
751
+ raise ::ArgumentError, "request must be provided" if request.nil?
752
+
753
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Ads::DataManager::V1::RemoveUsersRequest
754
+
755
+ # Converts hash and nil to an options object
756
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
757
+
758
+ # Customize the options with defaults
759
+ call_metadata = @config.rpcs.remove_users.metadata.to_h
760
+
761
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
762
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
763
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
764
+ gapic_version: ::Google::Ads::DataManager::V1::VERSION,
765
+ transports_version_send: [:rest]
766
+
767
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
768
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
769
+
770
+ options.apply_defaults timeout: @config.rpcs.remove_users.timeout,
771
+ metadata: call_metadata,
772
+ retry_policy: @config.rpcs.remove_users.retry_policy
773
+
774
+ options.apply_defaults timeout: @config.timeout,
775
+ metadata: @config.metadata,
776
+ retry_policy: @config.retry_policy
777
+
778
+ @ingestion_service_stub.remove_users request, options do |result, operation|
779
+ yield result, operation if block_given?
780
+ end
781
+ rescue ::Gapic::Rest::Error => e
782
+ raise ::Google::Cloud::Error.from_error(e)
783
+ end
784
+
589
785
  ##
590
786
  # Uploads a list of
591
787
  # {::Google::Ads::DataManager::V1::AdEvent AdEvent} resources to Google
@@ -921,6 +1117,16 @@ module Google
921
1117
  #
922
1118
  attr_reader :ingest_events
923
1119
  ##
1120
+ # RPC-specific configuration for `ingest_users`
1121
+ # @return [::Gapic::Config::Method]
1122
+ #
1123
+ attr_reader :ingest_users
1124
+ ##
1125
+ # RPC-specific configuration for `remove_users`
1126
+ # @return [::Gapic::Config::Method]
1127
+ #
1128
+ attr_reader :remove_users
1129
+ ##
924
1130
  # RPC-specific configuration for `ingest_ad_events`
925
1131
  # @return [::Gapic::Config::Method]
926
1132
  #
@@ -941,6 +1147,10 @@ module Google
941
1147
  @remove_all_audience_members = ::Gapic::Config::Method.new remove_all_audience_members_config
942
1148
  ingest_events_config = parent_rpcs.ingest_events if parent_rpcs.respond_to? :ingest_events
943
1149
  @ingest_events = ::Gapic::Config::Method.new ingest_events_config
1150
+ ingest_users_config = parent_rpcs.ingest_users if parent_rpcs.respond_to? :ingest_users
1151
+ @ingest_users = ::Gapic::Config::Method.new ingest_users_config
1152
+ remove_users_config = parent_rpcs.remove_users if parent_rpcs.respond_to? :remove_users
1153
+ @remove_users = ::Gapic::Config::Method.new remove_users_config
944
1154
  ingest_ad_events_config = parent_rpcs.ingest_ad_events if parent_rpcs.respond_to? :ingest_ad_events
945
1155
  @ingest_ad_events = ::Gapic::Config::Method.new ingest_ad_events_config
946
1156
  retrieve_request_status_config = parent_rpcs.retrieve_request_status if parent_rpcs.respond_to? :retrieve_request_status
@@ -233,6 +233,86 @@ module Google
233
233
  end
234
234
  end
235
235
 
236
+ ##
237
+ # Baseline implementation for the ingest_users REST call
238
+ #
239
+ # @param request_pb [::Google::Ads::DataManager::V1::IngestUsersRequest]
240
+ # A request object representing the call parameters. Required.
241
+ # @param options [::Gapic::CallOptions]
242
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
243
+ #
244
+ # @yield [result, operation] Access the result along with the TransportOperation object
245
+ # @yieldparam result [::Google::Ads::DataManager::V1::IngestUsersResponse]
246
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
247
+ #
248
+ # @return [::Google::Ads::DataManager::V1::IngestUsersResponse]
249
+ # A result object deserialized from the server's reply
250
+ def ingest_users request_pb, options = nil
251
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
252
+
253
+ verb, uri, query_string_params, body = ServiceStub.transcode_ingest_users_request request_pb
254
+ query_string_params = if query_string_params.any?
255
+ query_string_params.to_h { |p| p.split "=", 2 }
256
+ else
257
+ {}
258
+ end
259
+
260
+ response = @client_stub.make_http_request(
261
+ verb,
262
+ uri: uri,
263
+ body: body || "",
264
+ params: query_string_params,
265
+ method_name: "ingest_users",
266
+ options: options
267
+ )
268
+ operation = ::Gapic::Rest::TransportOperation.new response
269
+ result = ::Google::Ads::DataManager::V1::IngestUsersResponse.decode_json response.body, ignore_unknown_fields: true
270
+ catch :response do
271
+ yield result, operation if block_given?
272
+ result
273
+ end
274
+ end
275
+
276
+ ##
277
+ # Baseline implementation for the remove_users REST call
278
+ #
279
+ # @param request_pb [::Google::Ads::DataManager::V1::RemoveUsersRequest]
280
+ # A request object representing the call parameters. Required.
281
+ # @param options [::Gapic::CallOptions]
282
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
283
+ #
284
+ # @yield [result, operation] Access the result along with the TransportOperation object
285
+ # @yieldparam result [::Google::Ads::DataManager::V1::RemoveUsersResponse]
286
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
287
+ #
288
+ # @return [::Google::Ads::DataManager::V1::RemoveUsersResponse]
289
+ # A result object deserialized from the server's reply
290
+ def remove_users request_pb, options = nil
291
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
292
+
293
+ verb, uri, query_string_params, body = ServiceStub.transcode_remove_users_request request_pb
294
+ query_string_params = if query_string_params.any?
295
+ query_string_params.to_h { |p| p.split "=", 2 }
296
+ else
297
+ {}
298
+ end
299
+
300
+ response = @client_stub.make_http_request(
301
+ verb,
302
+ uri: uri,
303
+ body: body || "",
304
+ params: query_string_params,
305
+ method_name: "remove_users",
306
+ options: options
307
+ )
308
+ operation = ::Gapic::Rest::TransportOperation.new response
309
+ result = ::Google::Ads::DataManager::V1::RemoveUsersResponse.decode_json response.body, ignore_unknown_fields: true
310
+ catch :response do
311
+ yield result, operation if block_given?
312
+ result
313
+ end
314
+ end
315
+
236
316
  ##
237
317
  # Baseline implementation for the ingest_ad_events REST call
238
318
  #
@@ -393,6 +473,46 @@ module Google
393
473
  transcoder.transcode request_pb
394
474
  end
395
475
 
476
+ ##
477
+ # @private
478
+ #
479
+ # GRPC transcoding helper method for the ingest_users REST call
480
+ #
481
+ # @param request_pb [::Google::Ads::DataManager::V1::IngestUsersRequest]
482
+ # A request object representing the call parameters. Required.
483
+ # @return [Array(String, [String, nil], Hash{String => String})]
484
+ # Uri, Body, Query string parameters
485
+ def self.transcode_ingest_users_request request_pb
486
+ transcoder = Gapic::Rest::GrpcTranscoder.new
487
+ .with_bindings(
488
+ uri_method: :post,
489
+ uri_template: "/v1/users:ingest",
490
+ body: "*",
491
+ matches: []
492
+ )
493
+ transcoder.transcode request_pb
494
+ end
495
+
496
+ ##
497
+ # @private
498
+ #
499
+ # GRPC transcoding helper method for the remove_users REST call
500
+ #
501
+ # @param request_pb [::Google::Ads::DataManager::V1::RemoveUsersRequest]
502
+ # A request object representing the call parameters. Required.
503
+ # @return [Array(String, [String, nil], Hash{String => String})]
504
+ # Uri, Body, Query string parameters
505
+ def self.transcode_remove_users_request request_pb
506
+ transcoder = Gapic::Rest::GrpcTranscoder.new
507
+ .with_bindings(
508
+ uri_method: :post,
509
+ uri_template: "/v1/users:remove",
510
+ body: "*",
511
+ matches: []
512
+ )
513
+ transcoder.transcode request_pb
514
+ end
515
+
396
516
  ##
397
517
  # @private
398
518
  #
@@ -21,7 +21,7 @@ module Google
21
21
  module Ads
22
22
  module DataManager
23
23
  module V1
24
- VERSION = "0.9.0"
24
+ VERSION = "0.10.0"
25
25
  end
26
26
  end
27
27
  end
@@ -5,7 +5,7 @@
5
5
  require 'google/protobuf'
6
6
 
7
7
 
8
- descriptor_data = "\n%google/ads/datamanager/v1/error.proto\x12\x19google.ads.datamanager.v1*\x83#\n\x0b\x45rrorReason\x12\x1c\n\x18\x45RROR_REASON_UNSPECIFIED\x10\x00\x12\x12\n\x0eINTERNAL_ERROR\x10\x01\x12\x15\n\x11\x44\x45\x41\x44LINE_EXCEEDED\x10\x02\x12\x16\n\x12RESOURCE_EXHAUSTED\x10\x03\x12\r\n\tNOT_FOUND\x10\x04\x12\x15\n\x11PERMISSION_DENIED\x10\x05\x12\x14\n\x10INVALID_ARGUMENT\x10\x06\x12\x1a\n\x16REQUIRED_FIELD_MISSING\x10\x07\x12\x12\n\x0eINVALID_FORMAT\x10\x08\x12\x18\n\x14INVALID_HEX_ENCODING\x10\t\x12\x1b\n\x17INVALID_BASE64_ENCODING\x10\n\x12\x19\n\x15INVALID_SHA256_FORMAT\x10\x0b\x12\x17\n\x13INVALID_POSTAL_CODE\x10\x0c\x12\x1c\n\x14INVALID_COUNTRY_CODE\x10\r\x1a\x02\x08\x01\x12\x16\n\x12INVALID_ENUM_VALUE\x10\x0e\x12\x1a\n\x16INVALID_USER_LIST_TYPE\x10\x0f\x12\x1b\n\x17INVALID_AUDIENCE_MEMBER\x10\x10\x12\x1d\n\x19TOO_MANY_AUDIENCE_MEMBERS\x10\x11\x12\x1d\n\x19TOO_MANY_USER_IDENTIFIERS\x10\x12\x12\x19\n\x15TOO_MANY_DESTINATIONS\x10\x13\x12\x17\n\x13INVALID_DESTINATION\x10\x14\x12-\n)DATA_PARTNER_USER_LIST_MUTATE_NOT_ALLOWED\x10\x15\x12\x1c\n\x18INVALID_MOBILE_ID_FORMAT\x10\x16\x12\x18\n\x14INVALID_USER_LIST_ID\x10\x17\x12#\n\x1fMULTIPLE_DATA_TYPES_NOT_ALLOWED\x10\x18\x12\x39\n5DIFFERENT_LOGIN_ACCOUNTS_NOT_ALLOWED_FOR_DATA_PARTNER\x10\x19\x12#\n\x1fTERMS_AND_CONDITIONS_NOT_SIGNED\x10\x1a\x12\x19\n\x15INVALID_NUMBER_FORMAT\x10\x1b\x12 \n\x1cINVALID_CONVERSION_ACTION_ID\x10\x1c\x12\"\n\x1eINVALID_CONVERSION_ACTION_TYPE\x10\x1d\x12\x19\n\x15INVALID_CURRENCY_CODE\x10\x1e\x12\x11\n\rINVALID_EVENT\x10\x1f\x12\x13\n\x0fTOO_MANY_EVENTS\x10 \x12\x42\n>DESTINATION_ACCOUNT_NOT_ENABLED_ENHANCED_CONVERSIONS_FOR_LEADS\x10!\x12\x42\n>DESTINATION_ACCOUNT_DATA_POLICY_PROHIBITS_ENHANCED_CONVERSIONS\x10\"\x12=\n9DESTINATION_ACCOUNT_ENHANCED_CONVERSIONS_TERMS_NOT_SIGNED\x10#\x12#\n\x1f\x44UPLICATE_DESTINATION_REFERENCE\x10$\x12\x32\n.UNSUPPORTED_OPERATING_ACCOUNT_FOR_DATA_PARTNER\x10%\x12/\n+UNSUPPORTED_LINKED_ACCOUNT_FOR_DATA_PARTNER\x10&\x12\x1b\n\x17NO_IDENTIFIERS_PROVIDED\x10\'\x12\x19\n\x15INVALID_PROPERTY_TYPE\x10(\x12\x17\n\x13INVALID_STREAM_TYPE\x10)\x12?\n;LINKED_ACCOUNT_ONLY_ALLOWED_WITH_DATA_PARTNER_LOGIN_ACCOUNT\x10*\x12,\n(OPERATING_ACCOUNT_LOGIN_ACCOUNT_MISMATCH\x10+\x12\x16\n\x12\x45VENT_TIME_INVALID\x10,\x12\x16\n\x12RESERVED_NAME_USED\x10-\x12\x16\n\x12INVALID_EVENT_NAME\x10.\x12\x13\n\x0fNOT_ALLOWLISTED\x10/\x12\x16\n\x12INVALID_REQUEST_ID\x10\x30\x12\x34\n0MULTIPLE_DESTINATIONS_FOR_GOOGLE_ANALYTICS_EVENT\x10\x31\x12\x18\n\x14\x46IELD_VALUE_TOO_LONG\x10\x32\x12\x19\n\x15\x46IELD_VALUE_TOO_SHORT\x10j\x12\x15\n\x11TOO_MANY_ELEMENTS\x10\x33\x12\x14\n\x10TOO_FEW_ELEMENTS\x10i\x12\x12\n\x0e\x41LREADY_EXISTS\x10\x34\x12\x1e\n\x1aIMMUTABLE_FIELD_FOR_UPDATE\x10\x35\x12\x19\n\x15INVALID_RESOURCE_NAME\x10\x36\x12\x12\n\x0eINVALID_FILTER\x10\x37\x12\x17\n\x13INVALID_UPDATE_MASK\x10\x38\x12\x16\n\x12INVALID_PAGE_TOKEN\x10\x39\x12\"\n\x1e\x43\x41NNOT_UPDATE_DISABLED_LICENSE\x10:\x12\x30\n,CANNOT_CREATE_LICENSE_FOR_SENSITIVE_USERLIST\x10;\x12\x15\n\x11INSUFFICIENT_COST\x10<\x12\x1a\n\x16\x43\x41NNOT_DISABLE_LICENSE\x10=\x12\x1d\n\x19INVALID_CLIENT_ACCOUNT_ID\x10>\x12\"\n\x1ePRICING_ONLY_ZERO_COST_ALLOWED\x10?\x12\x12\n\x0ePRICE_TOO_HIGH\x10@\x12*\n&CUSTOMER_NOT_ALLOWED_TO_CREATE_LICENSE\x10\x41\x12\x1c\n\x18INVALID_PRICING_END_DATE\x10\x42\x12?\n;CANNOT_LICENSE_LOGICAL_LIST_WITH_LICENSED_OR_SHARED_SEGMENT\x10\x43\x12\x1b\n\x17MISMATCHED_ACCOUNT_TYPE\x10\x44\x12\x31\n-MEDIA_SHARE_COST_NOT_ALLOWED_FOR_LICENSE_TYPE\x10\x45\x12\x34\n0MEDIA_SHARE_COST_NOT_ALLOWED_FOR_CLIENT_CUSTOMER\x10\x46\x12\x1c\n\x18INVALID_MEDIA_SHARE_COST\x10G\x12\x15\n\x11INVALID_COST_TYPE\x10H\x12;\n7MEDIA_SHARE_COST_NOT_ALLOWED_FOR_NON_COMMERCE_USER_LIST\x10I\x12\x18\n\x14MAX_COST_NOT_ALLOWED\x10J\x12\x33\n/COMMERCE_AUDIENCE_CAN_ONLY_BE_DIRECTLY_LICENSED\x10K\x12\x17\n\x13INVALID_DESCRIPTION\x10L\x12\x18\n\x14INVALID_DISPLAY_NAME\x10M\x12\x1d\n\x19\x44ISPLAY_NAME_ALREADY_USED\x10N\x12!\n\x1dOWNERSHIP_REQUIRED_FOR_UPDATE\x10O\x12$\n USER_LIST_MUTATION_NOT_SUPPORTED\x10P\x12!\n\x1dSENSITIVE_USER_LIST_IMMUTABLE\x10Q\x12#\n\x1f\x42ILLABLE_RECORD_COUNT_IMMUTABLE\x10R\x12\x1b\n\x17USER_LIST_NAME_RESERVED\x10S\x12\x30\n,ADVERTISER_NOT_ALLOWLISTED_FOR_UPLOADED_DATA\x10T\x12\'\n#UNSUPPORTED_PARTNER_AUDIENCE_SOURCE\x10U\x12 \n\x1c\x43OMMERCE_PARTNER_NOT_ALLOWED\x10V\x12%\n!UNSUPPORTED_PARTNER_AUDIENCE_INFO\x10W\x12\x30\n,PARTNER_MATCH_FOR_MANAGER_ACCOUNT_DISALLOWED\x10X\x12=\n9DATA_PARTNER_NOT_ALLOWLISTED_FOR_THIRD_PARTY_PARTNER_DATA\x10Y\x12\x1f\n\x1b\x41\x44VERTISER_TOS_NOT_ACCEPTED\x10Z\x12;\n7ADVERTISER_NOT_ALLOWLISTED_FOR_THIRD_PARTY_PARTNER_DATA\x10[\x12,\n(USER_LIST_TYPE_NOT_SUPPORTED_FOR_ACCOUNT\x10\\\x12\x1c\n\x18INVALID_COMMERCE_PARTNER\x10]\x12\x32\n.CUSTOMER_NOT_ALLOWLISTED_FOR_COMMERCE_AUDIENCE\x10^\x12*\n&UNSUPPORTED_USER_LIST_UPLOAD_KEY_TYPES\x10_\x12.\n*UNSUPPORTED_INGESTED_USER_LIST_INFO_CONFIG\x10`\x12\x30\n,UNSUPPORTED_ACCOUNT_TYPES_FOR_USER_LIST_TYPE\x10\x61\x12-\n)UNSUPPORTED_ACCOUNT_TYPE_FOR_PARTNER_LINK\x10\x62\x12 \n\x1cMEMBERSHIP_DURATION_TOO_LONG\x10\x63\x12\x17\n\x13INVALID_MERCHANT_ID\x10\x64\x12\x31\n-EU_POLITICAL_ADVERTISING_DECLARATION_REQUIRED\x10\x65\x12&\n\"ACCOUNT_INELIGIBLE_FOR_STORE_SALES\x10\x66\x12\'\n#INVALID_MERCHANT_FEED_LANGUAGE_CODE\x10g\x12\x17\n\x13INVALID_REGION_CODE\x10h\x12\x1c\n\x18INVALID_SUBDIVISION_CODE\x10k\x12\x1d\n\x19INVALID_SUBCONTINENT_CODE\x10l\x12\x1a\n\x16INVALID_CONTINENT_CODE\x10m\x12\x1b\n\x17INVALID_DEVICE_CATEGORY\x10n\x12\x32\n.BOTH_CLIENT_ID_AND_APP_INSTANCE_ID_NOT_ALLOWED\x10o\x12?\n;GOOGLE_ANALYTICS_SUBPROPERTY_OR_ROLLUP_PROPERTY_NOT_ALLOWED\x10p\x12%\n!THIRD_PARTY_USER_DATA_NOT_ALLOWED\x10q\x12\x17\n\x13INVALID_COUPON_CODE\x10r\x12)\n%EVENT_SOURCE_AND_DESTINATION_MISMATCH\x10s\x12%\n!DESTINATION_ACCOUNT_TYPE_MISMATCH\x10t\x12&\n\"CUSTOM_VARIABLE_VALUE_CONTAINS_PII\x10u\x12\x1f\n\x1b\x43USTOM_VARIABLE_NOT_ENABLED\x10v\x12!\n\x1dINVALID_CUSTOM_VARIABLE_VALUE\x10w\x12\x1d\n\x19\x43USTOM_VARIABLE_NOT_FOUND\x10x\x12+\n\'BASELINE_LOCATION_AUTO_DETECTION_FAILED\x10z\x12\"\n\x1eINSIGHTS_MISSING_FOR_DIMENSION\x10{\x12&\n\"REQUIRED_PREREQUISITE_LINK_MISSING\x10|\x12\x1d\n\x19INVALID_REMOVE_AS_OF_TIME\x10}\x12\x13\n\x0fREQUEST_TOO_OLD\x10~\x12*\n&CONVERSION_ACTION_TOO_RECENTLY_CREATED\x10\x7f\x42\xc7\x01\n\x1d\x63om.google.ads.datamanager.v1B\nErrorProtoP\x01ZAcloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb\xaa\x02\x19Google.Ads.DataManager.V1\xca\x02\x19Google\\Ads\\DataManager\\V1\xea\x02\x1cGoogle::Ads::DataManager::V1b\x06proto3"
8
+ descriptor_data = "\n%google/ads/datamanager/v1/error.proto\x12\x19google.ads.datamanager.v1*\xbf#\n\x0b\x45rrorReason\x12\x1c\n\x18\x45RROR_REASON_UNSPECIFIED\x10\x00\x12\x12\n\x0eINTERNAL_ERROR\x10\x01\x12\x15\n\x11\x44\x45\x41\x44LINE_EXCEEDED\x10\x02\x12\x16\n\x12RESOURCE_EXHAUSTED\x10\x03\x12\r\n\tNOT_FOUND\x10\x04\x12\x15\n\x11PERMISSION_DENIED\x10\x05\x12\x14\n\x10INVALID_ARGUMENT\x10\x06\x12\x1a\n\x16REQUIRED_FIELD_MISSING\x10\x07\x12\x12\n\x0eINVALID_FORMAT\x10\x08\x12\x18\n\x14INVALID_HEX_ENCODING\x10\t\x12\x1b\n\x17INVALID_BASE64_ENCODING\x10\n\x12\x19\n\x15INVALID_SHA256_FORMAT\x10\x0b\x12\x17\n\x13INVALID_POSTAL_CODE\x10\x0c\x12\x1c\n\x14INVALID_COUNTRY_CODE\x10\r\x1a\x02\x08\x01\x12\x16\n\x12INVALID_ENUM_VALUE\x10\x0e\x12\x1a\n\x16INVALID_USER_LIST_TYPE\x10\x0f\x12\x1b\n\x17INVALID_AUDIENCE_MEMBER\x10\x10\x12\x1d\n\x19TOO_MANY_AUDIENCE_MEMBERS\x10\x11\x12\x1d\n\x19TOO_MANY_USER_IDENTIFIERS\x10\x12\x12\x19\n\x15TOO_MANY_DESTINATIONS\x10\x13\x12\x17\n\x13INVALID_DESTINATION\x10\x14\x12-\n)DATA_PARTNER_USER_LIST_MUTATE_NOT_ALLOWED\x10\x15\x12\x1c\n\x18INVALID_MOBILE_ID_FORMAT\x10\x16\x12\x18\n\x14INVALID_USER_LIST_ID\x10\x17\x12#\n\x1fMULTIPLE_DATA_TYPES_NOT_ALLOWED\x10\x18\x12\x39\n5DIFFERENT_LOGIN_ACCOUNTS_NOT_ALLOWED_FOR_DATA_PARTNER\x10\x19\x12#\n\x1fTERMS_AND_CONDITIONS_NOT_SIGNED\x10\x1a\x12\x19\n\x15INVALID_NUMBER_FORMAT\x10\x1b\x12 \n\x1cINVALID_CONVERSION_ACTION_ID\x10\x1c\x12\"\n\x1eINVALID_CONVERSION_ACTION_TYPE\x10\x1d\x12\x19\n\x15INVALID_CURRENCY_CODE\x10\x1e\x12\x11\n\rINVALID_EVENT\x10\x1f\x12\x13\n\x0fTOO_MANY_EVENTS\x10 \x12\x42\n>DESTINATION_ACCOUNT_NOT_ENABLED_ENHANCED_CONVERSIONS_FOR_LEADS\x10!\x12\x42\n>DESTINATION_ACCOUNT_DATA_POLICY_PROHIBITS_ENHANCED_CONVERSIONS\x10\"\x12=\n9DESTINATION_ACCOUNT_ENHANCED_CONVERSIONS_TERMS_NOT_SIGNED\x10#\x12#\n\x1f\x44UPLICATE_DESTINATION_REFERENCE\x10$\x12\x32\n.UNSUPPORTED_OPERATING_ACCOUNT_FOR_DATA_PARTNER\x10%\x12/\n+UNSUPPORTED_LINKED_ACCOUNT_FOR_DATA_PARTNER\x10&\x12\x1b\n\x17NO_IDENTIFIERS_PROVIDED\x10\'\x12\x19\n\x15INVALID_PROPERTY_TYPE\x10(\x12\x17\n\x13INVALID_STREAM_TYPE\x10)\x12?\n;LINKED_ACCOUNT_ONLY_ALLOWED_WITH_DATA_PARTNER_LOGIN_ACCOUNT\x10*\x12,\n(OPERATING_ACCOUNT_LOGIN_ACCOUNT_MISMATCH\x10+\x12\x16\n\x12\x45VENT_TIME_INVALID\x10,\x12\x16\n\x12RESERVED_NAME_USED\x10-\x12\x16\n\x12INVALID_EVENT_NAME\x10.\x12\x13\n\x0fNOT_ALLOWLISTED\x10/\x12\x16\n\x12INVALID_REQUEST_ID\x10\x30\x12\x34\n0MULTIPLE_DESTINATIONS_FOR_GOOGLE_ANALYTICS_EVENT\x10\x31\x12\x18\n\x14\x46IELD_VALUE_TOO_LONG\x10\x32\x12\x19\n\x15\x46IELD_VALUE_TOO_SHORT\x10j\x12\x15\n\x11TOO_MANY_ELEMENTS\x10\x33\x12\x14\n\x10TOO_FEW_ELEMENTS\x10i\x12\x12\n\x0e\x41LREADY_EXISTS\x10\x34\x12\x1e\n\x1aIMMUTABLE_FIELD_FOR_UPDATE\x10\x35\x12\x19\n\x15INVALID_RESOURCE_NAME\x10\x36\x12\x12\n\x0eINVALID_FILTER\x10\x37\x12\x17\n\x13INVALID_UPDATE_MASK\x10\x38\x12\x16\n\x12INVALID_PAGE_TOKEN\x10\x39\x12\"\n\x1e\x43\x41NNOT_UPDATE_DISABLED_LICENSE\x10:\x12\x30\n,CANNOT_CREATE_LICENSE_FOR_SENSITIVE_USERLIST\x10;\x12\x15\n\x11INSUFFICIENT_COST\x10<\x12\x1a\n\x16\x43\x41NNOT_DISABLE_LICENSE\x10=\x12\x1d\n\x19INVALID_CLIENT_ACCOUNT_ID\x10>\x12\"\n\x1ePRICING_ONLY_ZERO_COST_ALLOWED\x10?\x12\x12\n\x0ePRICE_TOO_HIGH\x10@\x12*\n&CUSTOMER_NOT_ALLOWED_TO_CREATE_LICENSE\x10\x41\x12\x1c\n\x18INVALID_PRICING_END_DATE\x10\x42\x12?\n;CANNOT_LICENSE_LOGICAL_LIST_WITH_LICENSED_OR_SHARED_SEGMENT\x10\x43\x12\x1b\n\x17MISMATCHED_ACCOUNT_TYPE\x10\x44\x12\x31\n-MEDIA_SHARE_COST_NOT_ALLOWED_FOR_LICENSE_TYPE\x10\x45\x12\x34\n0MEDIA_SHARE_COST_NOT_ALLOWED_FOR_CLIENT_CUSTOMER\x10\x46\x12\x1c\n\x18INVALID_MEDIA_SHARE_COST\x10G\x12\x15\n\x11INVALID_COST_TYPE\x10H\x12;\n7MEDIA_SHARE_COST_NOT_ALLOWED_FOR_NON_COMMERCE_USER_LIST\x10I\x12\x18\n\x14MAX_COST_NOT_ALLOWED\x10J\x12\x33\n/COMMERCE_AUDIENCE_CAN_ONLY_BE_DIRECTLY_LICENSED\x10K\x12\x17\n\x13INVALID_DESCRIPTION\x10L\x12\x18\n\x14INVALID_DISPLAY_NAME\x10M\x12\x1d\n\x19\x44ISPLAY_NAME_ALREADY_USED\x10N\x12!\n\x1dOWNERSHIP_REQUIRED_FOR_UPDATE\x10O\x12$\n USER_LIST_MUTATION_NOT_SUPPORTED\x10P\x12!\n\x1dSENSITIVE_USER_LIST_IMMUTABLE\x10Q\x12#\n\x1f\x42ILLABLE_RECORD_COUNT_IMMUTABLE\x10R\x12\x1b\n\x17USER_LIST_NAME_RESERVED\x10S\x12\x30\n,ADVERTISER_NOT_ALLOWLISTED_FOR_UPLOADED_DATA\x10T\x12\'\n#UNSUPPORTED_PARTNER_AUDIENCE_SOURCE\x10U\x12 \n\x1c\x43OMMERCE_PARTNER_NOT_ALLOWED\x10V\x12%\n!UNSUPPORTED_PARTNER_AUDIENCE_INFO\x10W\x12\x30\n,PARTNER_MATCH_FOR_MANAGER_ACCOUNT_DISALLOWED\x10X\x12=\n9DATA_PARTNER_NOT_ALLOWLISTED_FOR_THIRD_PARTY_PARTNER_DATA\x10Y\x12\x1f\n\x1b\x41\x44VERTISER_TOS_NOT_ACCEPTED\x10Z\x12;\n7ADVERTISER_NOT_ALLOWLISTED_FOR_THIRD_PARTY_PARTNER_DATA\x10[\x12,\n(USER_LIST_TYPE_NOT_SUPPORTED_FOR_ACCOUNT\x10\\\x12\x1c\n\x18INVALID_COMMERCE_PARTNER\x10]\x12\x32\n.CUSTOMER_NOT_ALLOWLISTED_FOR_COMMERCE_AUDIENCE\x10^\x12*\n&UNSUPPORTED_USER_LIST_UPLOAD_KEY_TYPES\x10_\x12.\n*UNSUPPORTED_INGESTED_USER_LIST_INFO_CONFIG\x10`\x12\x30\n,UNSUPPORTED_ACCOUNT_TYPES_FOR_USER_LIST_TYPE\x10\x61\x12-\n)UNSUPPORTED_ACCOUNT_TYPE_FOR_PARTNER_LINK\x10\x62\x12 \n\x1cMEMBERSHIP_DURATION_TOO_LONG\x10\x63\x12\x17\n\x13INVALID_MERCHANT_ID\x10\x64\x12\x31\n-EU_POLITICAL_ADVERTISING_DECLARATION_REQUIRED\x10\x65\x12&\n\"ACCOUNT_INELIGIBLE_FOR_STORE_SALES\x10\x66\x12\'\n#INVALID_MERCHANT_FEED_LANGUAGE_CODE\x10g\x12\x17\n\x13INVALID_REGION_CODE\x10h\x12\x1c\n\x18INVALID_SUBDIVISION_CODE\x10k\x12\x1d\n\x19INVALID_SUBCONTINENT_CODE\x10l\x12\x1a\n\x16INVALID_CONTINENT_CODE\x10m\x12\x1b\n\x17INVALID_DEVICE_CATEGORY\x10n\x12\x32\n.BOTH_CLIENT_ID_AND_APP_INSTANCE_ID_NOT_ALLOWED\x10o\x12?\n;GOOGLE_ANALYTICS_SUBPROPERTY_OR_ROLLUP_PROPERTY_NOT_ALLOWED\x10p\x12%\n!THIRD_PARTY_USER_DATA_NOT_ALLOWED\x10q\x12\x17\n\x13INVALID_COUPON_CODE\x10r\x12)\n%EVENT_SOURCE_AND_DESTINATION_MISMATCH\x10s\x12%\n!DESTINATION_ACCOUNT_TYPE_MISMATCH\x10t\x12&\n\"CUSTOM_VARIABLE_VALUE_CONTAINS_PII\x10u\x12\x1f\n\x1b\x43USTOM_VARIABLE_NOT_ENABLED\x10v\x12!\n\x1dINVALID_CUSTOM_VARIABLE_VALUE\x10w\x12\x1d\n\x19\x43USTOM_VARIABLE_NOT_FOUND\x10x\x12\x12\n\x0eTOO_MANY_USERS\x10y\x12+\n\'BASELINE_LOCATION_AUTO_DETECTION_FAILED\x10z\x12\"\n\x1eINSIGHTS_MISSING_FOR_DIMENSION\x10{\x12&\n\"REQUIRED_PREREQUISITE_LINK_MISSING\x10|\x12\x1d\n\x19INVALID_REMOVE_AS_OF_TIME\x10}\x12\x13\n\x0fREQUEST_TOO_OLD\x10~\x12*\n&CONVERSION_ACTION_TOO_RECENTLY_CREATED\x10\x7f\x12&\n!INVALID_AD_IDENTIFIER_FOR_ACCOUNT\x10\x80\x01\x42\xc7\x01\n\x1d\x63om.google.ads.datamanager.v1B\nErrorProtoP\x01ZAcloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb\xaa\x02\x19Google.Ads.DataManager.V1\xca\x02\x19Google\\Ads\\DataManager\\V1\xea\x02\x1cGoogle::Ads::DataManager::V1b\x06proto3"
9
9
 
10
10
  pool = ::Google::Protobuf::DescriptorPool.generated_pool
11
11
  pool.add_serialized_file(descriptor_data)
@@ -13,13 +13,15 @@ require 'google/ads/datamanager/v1/event_pb'
13
13
  require 'google/ads/datamanager/v1/processing_errors_pb'
14
14
  require 'google/ads/datamanager/v1/request_status_per_destination_pb'
15
15
  require 'google/ads/datamanager/v1/terms_of_service_pb'
16
+ require 'google/ads/datamanager/v1/user_pb'
17
+ require 'google/ads/datamanager/v1/user_data_pb'
16
18
  require 'google/api/annotations_pb'
17
19
  require 'google/api/client_pb'
18
20
  require 'google/api/field_behavior_pb'
19
21
  require 'google/protobuf/timestamp_pb'
20
22
 
21
23
 
22
- descriptor_data = "\n1google/ads/datamanager/v1/ingestion_service.proto\x12\x19google.ads.datamanager.v1\x1a(google/ads/datamanager/v1/ad_event.proto\x1a(google/ads/datamanager/v1/audience.proto\x1a\'google/ads/datamanager/v1/consent.proto\x1a+google/ads/datamanager/v1/destination.proto\x1a/google/ads/datamanager/v1/encryption_info.proto\x1a%google/ads/datamanager/v1/event.proto\x1a\x31google/ads/datamanager/v1/processing_errors.proto\x1a>google/ads/datamanager/v1/request_status_per_destination.proto\x1a\x30google/ads/datamanager/v1/terms_of_service.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd0\x03\n\x1cIngestAudienceMembersRequest\x12\x41\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32&.google.ads.datamanager.v1.DestinationB\x03\xe0\x41\x02\x12H\n\x10\x61udience_members\x18\x02 \x03(\x0b\x32).google.ads.datamanager.v1.AudienceMemberB\x03\xe0\x41\x02\x12\x38\n\x07\x63onsent\x18\x03 \x01(\x0b\x32\".google.ads.datamanager.v1.ConsentB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12:\n\x08\x65ncoding\x18\x05 \x01(\x0e\x32#.google.ads.datamanager.v1.EncodingB\x03\xe0\x41\x01\x12G\n\x0f\x65ncryption_info\x18\x06 \x01(\x0b\x32).google.ads.datamanager.v1.EncryptionInfoB\x03\xe0\x41\x01\x12H\n\x10terms_of_service\x18\x07 \x01(\x0b\x32).google.ads.datamanager.v1.TermsOfServiceB\x03\xe0\x41\x01\"t\n\x1dIngestAudienceMembersResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12?\n\x0e\x66ield_warnings\x18\x02 \x03(\x0b\x32\'.google.ads.datamanager.v1.FieldWarning\"\xcc\x02\n\x1cRemoveAudienceMembersRequest\x12\x41\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32&.google.ads.datamanager.v1.DestinationB\x03\xe0\x41\x02\x12H\n\x10\x61udience_members\x18\x02 \x03(\x0b\x32).google.ads.datamanager.v1.AudienceMemberB\x03\xe0\x41\x02\x12\x1a\n\rvalidate_only\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12:\n\x08\x65ncoding\x18\x04 \x01(\x0e\x32#.google.ads.datamanager.v1.EncodingB\x03\xe0\x41\x01\x12G\n\x0f\x65ncryption_info\x18\x05 \x01(\x0b\x32).google.ads.datamanager.v1.EncryptionInfoB\x03\xe0\x41\x01\"3\n\x1dRemoveAudienceMembersResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\"\xbc\x01\n\x1fRemoveAllAudienceMembersRequest\x12\x41\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32&.google.ads.datamanager.v1.DestinationB\x03\xe0\x41\x02\x12:\n\x11remove_as_of_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\"6\n RemoveAllAudienceMembersResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\"\xea\x02\n\x13IngestEventsRequest\x12\x41\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32&.google.ads.datamanager.v1.DestinationB\x03\xe0\x41\x02\x12\x35\n\x06\x65vents\x18\x02 \x03(\x0b\x32 .google.ads.datamanager.v1.EventB\x03\xe0\x41\x02\x12\x38\n\x07\x63onsent\x18\x03 \x01(\x0b\x32\".google.ads.datamanager.v1.ConsentB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12:\n\x08\x65ncoding\x18\x05 \x01(\x0e\x32#.google.ads.datamanager.v1.EncodingB\x03\xe0\x41\x01\x12G\n\x0f\x65ncryption_info\x18\x06 \x01(\x0b\x32).google.ads.datamanager.v1.EncryptionInfoB\x03\xe0\x41\x01\"k\n\x14IngestEventsResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12?\n\x0e\x66ield_warnings\x18\x02 \x03(\x0b\x32\'.google.ads.datamanager.v1.FieldWarning\"\xba\x01\n\x15IngestAdEventsRequest\x12:\n\tad_events\x18\x01 \x03(\x0b\x32\".google.ads.datamanager.v1.AdEventB\x03\xe0\x41\x02\x12G\n\x0f\x65ncryption_info\x18\x02 \x01(\x0b\x32).google.ads.datamanager.v1.EncryptionInfoB\x03\xe0\x41\x01\x12\x1c\n\rvalidate_only\x18\x03 \x01(\x08\x42\x05\x18\x01\xe0\x41\x01\"\x18\n\x16IngestAdEventsResponse\"7\n\x1cRetrieveRequestStatusRequest\x12\x17\n\nrequest_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\"\x7f\n\x1dRetrieveRequestStatusResponse\x12^\n\x1erequest_status_per_destination\x18\x01 \x03(\x0b\x32\x36.google.ads.datamanager.v1.RequestStatusPerDestination*9\n\x08\x45ncoding\x12\x18\n\x14\x45NCODING_UNSPECIFIED\x10\x00\x12\x07\n\x03HEX\x10\x01\x12\n\n\x06\x42\x41SE64\x10\x02\x32\xe0\x08\n\x10IngestionService\x12\xb1\x01\n\x15IngestAudienceMembers\x12\x37.google.ads.datamanager.v1.IngestAudienceMembersRequest\x1a\x38.google.ads.datamanager.v1.IngestAudienceMembersResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/audienceMembers:ingest:\x01*\x12\xb1\x01\n\x15RemoveAudienceMembers\x12\x37.google.ads.datamanager.v1.RemoveAudienceMembersRequest\x1a\x38.google.ads.datamanager.v1.RemoveAudienceMembersResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/audienceMembers:remove:\x01*\x12\xbd\x01\n\x18RemoveAllAudienceMembers\x12:.google.ads.datamanager.v1.RemoveAllAudienceMembersRequest\x1a;.google.ads.datamanager.v1.RemoveAllAudienceMembersResponse\"(\x82\xd3\xe4\x93\x02\"\"\x1d/v1/audienceMembers:removeAll:\x01*\x12\x8d\x01\n\x0cIngestEvents\x12..google.ads.datamanager.v1.IngestEventsRequest\x1a/.google.ads.datamanager.v1.IngestEventsResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/v1/events:ingest:\x01*\x12\x95\x01\n\x0eIngestAdEvents\x12\x30.google.ads.datamanager.v1.IngestAdEventsRequest\x1a\x31.google.ads.datamanager.v1.IngestAdEventsResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\"\x13/v1/adEvents:ingest:\x01*\x12\xae\x01\n\x15RetrieveRequestStatus\x12\x37.google.ads.datamanager.v1.RetrieveRequestStatusRequest\x1a\x38.google.ads.datamanager.v1.RetrieveRequestStatusResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/v1/requestStatus:retrieve\x1aK\xca\x41\x1a\x64\x61tamanager.googleapis.com\xd2\x41+https://www.googleapis.com/auth/datamanagerB\xd2\x01\n\x1d\x63om.google.ads.datamanager.v1B\x15IngestionServiceProtoP\x01ZAcloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb\xaa\x02\x19Google.Ads.DataManager.V1\xca\x02\x19Google\\Ads\\DataManager\\V1\xea\x02\x1cGoogle::Ads::DataManager::V1b\x06proto3"
24
+ descriptor_data = "\n1google/ads/datamanager/v1/ingestion_service.proto\x12\x19google.ads.datamanager.v1\x1a(google/ads/datamanager/v1/ad_event.proto\x1a(google/ads/datamanager/v1/audience.proto\x1a\'google/ads/datamanager/v1/consent.proto\x1a+google/ads/datamanager/v1/destination.proto\x1a/google/ads/datamanager/v1/encryption_info.proto\x1a%google/ads/datamanager/v1/event.proto\x1a\x31google/ads/datamanager/v1/processing_errors.proto\x1a>google/ads/datamanager/v1/request_status_per_destination.proto\x1a\x30google/ads/datamanager/v1/terms_of_service.proto\x1a$google/ads/datamanager/v1/user.proto\x1a)google/ads/datamanager/v1/user_data.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd0\x03\n\x1cIngestAudienceMembersRequest\x12\x41\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32&.google.ads.datamanager.v1.DestinationB\x03\xe0\x41\x02\x12H\n\x10\x61udience_members\x18\x02 \x03(\x0b\x32).google.ads.datamanager.v1.AudienceMemberB\x03\xe0\x41\x02\x12\x38\n\x07\x63onsent\x18\x03 \x01(\x0b\x32\".google.ads.datamanager.v1.ConsentB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12:\n\x08\x65ncoding\x18\x05 \x01(\x0e\x32#.google.ads.datamanager.v1.EncodingB\x03\xe0\x41\x01\x12G\n\x0f\x65ncryption_info\x18\x06 \x01(\x0b\x32).google.ads.datamanager.v1.EncryptionInfoB\x03\xe0\x41\x01\x12H\n\x10terms_of_service\x18\x07 \x01(\x0b\x32).google.ads.datamanager.v1.TermsOfServiceB\x03\xe0\x41\x01\"t\n\x1dIngestAudienceMembersResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12?\n\x0e\x66ield_warnings\x18\x02 \x03(\x0b\x32\'.google.ads.datamanager.v1.FieldWarning\"\xcc\x02\n\x1cRemoveAudienceMembersRequest\x12\x41\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32&.google.ads.datamanager.v1.DestinationB\x03\xe0\x41\x02\x12H\n\x10\x61udience_members\x18\x02 \x03(\x0b\x32).google.ads.datamanager.v1.AudienceMemberB\x03\xe0\x41\x02\x12\x1a\n\rvalidate_only\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12:\n\x08\x65ncoding\x18\x04 \x01(\x0e\x32#.google.ads.datamanager.v1.EncodingB\x03\xe0\x41\x01\x12G\n\x0f\x65ncryption_info\x18\x05 \x01(\x0b\x32).google.ads.datamanager.v1.EncryptionInfoB\x03\xe0\x41\x01\"3\n\x1dRemoveAudienceMembersResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\"\xbc\x01\n\x1fRemoveAllAudienceMembersRequest\x12\x41\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32&.google.ads.datamanager.v1.DestinationB\x03\xe0\x41\x02\x12:\n\x11remove_as_of_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\"6\n RemoveAllAudienceMembersResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\"\xea\x02\n\x13IngestEventsRequest\x12\x41\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32&.google.ads.datamanager.v1.DestinationB\x03\xe0\x41\x02\x12\x35\n\x06\x65vents\x18\x02 \x03(\x0b\x32 .google.ads.datamanager.v1.EventB\x03\xe0\x41\x02\x12\x38\n\x07\x63onsent\x18\x03 \x01(\x0b\x32\".google.ads.datamanager.v1.ConsentB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12:\n\x08\x65ncoding\x18\x05 \x01(\x0e\x32#.google.ads.datamanager.v1.EncodingB\x03\xe0\x41\x01\x12G\n\x0f\x65ncryption_info\x18\x06 \x01(\x0b\x32).google.ads.datamanager.v1.EncryptionInfoB\x03\xe0\x41\x01\"k\n\x14IngestEventsResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12?\n\x0e\x66ield_warnings\x18\x02 \x03(\x0b\x32\'.google.ads.datamanager.v1.FieldWarning\"\xad\x02\n\x12IngestUsersRequest\x12\x41\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32&.google.ads.datamanager.v1.DestinationB\x03\xe0\x41\x02\x12\x33\n\x05users\x18\x02 \x03(\x0b\x32\x1f.google.ads.datamanager.v1.UserB\x03\xe0\x41\x02\x12G\n\x0f\x65ncryption_info\x18\x03 \x01(\x0b\x32).google.ads.datamanager.v1.EncryptionInfoB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12:\n\x08\x65ncoding\x18\x05 \x01(\x0e\x32#.google.ads.datamanager.v1.EncodingB\x03\xe0\x41\x02\")\n\x13IngestUsersResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\"\xb5\x02\n\x12RemoveUsersRequest\x12\x41\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32&.google.ads.datamanager.v1.DestinationB\x03\xe0\x41\x02\x12;\n\tuser_data\x18\x02 \x03(\x0b\x32#.google.ads.datamanager.v1.UserDataB\x03\xe0\x41\x02\x12G\n\x0f\x65ncryption_info\x18\x03 \x01(\x0b\x32).google.ads.datamanager.v1.EncryptionInfoB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12:\n\x08\x65ncoding\x18\x05 \x01(\x0e\x32#.google.ads.datamanager.v1.EncodingB\x03\xe0\x41\x02\")\n\x13RemoveUsersResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\"\xba\x01\n\x15IngestAdEventsRequest\x12:\n\tad_events\x18\x01 \x03(\x0b\x32\".google.ads.datamanager.v1.AdEventB\x03\xe0\x41\x02\x12G\n\x0f\x65ncryption_info\x18\x02 \x01(\x0b\x32).google.ads.datamanager.v1.EncryptionInfoB\x03\xe0\x41\x01\x12\x1c\n\rvalidate_only\x18\x03 \x01(\x08\x42\x05\x18\x01\xe0\x41\x01\"\x18\n\x16IngestAdEventsResponse\"7\n\x1cRetrieveRequestStatusRequest\x12\x17\n\nrequest_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\"\x7f\n\x1dRetrieveRequestStatusResponse\x12^\n\x1erequest_status_per_destination\x18\x01 \x03(\x0b\x32\x36.google.ads.datamanager.v1.RequestStatusPerDestination*9\n\x08\x45ncoding\x12\x18\n\x14\x45NCODING_UNSPECIFIED\x10\x00\x12\x07\n\x03HEX\x10\x01\x12\n\n\x06\x42\x41SE64\x10\x02\x32\xf8\n\n\x10IngestionService\x12\xb1\x01\n\x15IngestAudienceMembers\x12\x37.google.ads.datamanager.v1.IngestAudienceMembersRequest\x1a\x38.google.ads.datamanager.v1.IngestAudienceMembersResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/audienceMembers:ingest:\x01*\x12\xb1\x01\n\x15RemoveAudienceMembers\x12\x37.google.ads.datamanager.v1.RemoveAudienceMembersRequest\x1a\x38.google.ads.datamanager.v1.RemoveAudienceMembersResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/audienceMembers:remove:\x01*\x12\xbd\x01\n\x18RemoveAllAudienceMembers\x12:.google.ads.datamanager.v1.RemoveAllAudienceMembersRequest\x1a;.google.ads.datamanager.v1.RemoveAllAudienceMembersResponse\"(\x82\xd3\xe4\x93\x02\"\"\x1d/v1/audienceMembers:removeAll:\x01*\x12\x8d\x01\n\x0cIngestEvents\x12..google.ads.datamanager.v1.IngestEventsRequest\x1a/.google.ads.datamanager.v1.IngestEventsResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/v1/events:ingest:\x01*\x12\x89\x01\n\x0bIngestUsers\x12-.google.ads.datamanager.v1.IngestUsersRequest\x1a..google.ads.datamanager.v1.IngestUsersResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v1/users:ingest:\x01*\x12\x89\x01\n\x0bRemoveUsers\x12-.google.ads.datamanager.v1.RemoveUsersRequest\x1a..google.ads.datamanager.v1.RemoveUsersResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v1/users:remove:\x01*\x12\x95\x01\n\x0eIngestAdEvents\x12\x30.google.ads.datamanager.v1.IngestAdEventsRequest\x1a\x31.google.ads.datamanager.v1.IngestAdEventsResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\"\x13/v1/adEvents:ingest:\x01*\x12\xae\x01\n\x15RetrieveRequestStatus\x12\x37.google.ads.datamanager.v1.RetrieveRequestStatusRequest\x1a\x38.google.ads.datamanager.v1.RetrieveRequestStatusResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/v1/requestStatus:retrieve\x1aK\xca\x41\x1a\x64\x61tamanager.googleapis.com\xd2\x41+https://www.googleapis.com/auth/datamanagerB\xd2\x01\n\x1d\x63om.google.ads.datamanager.v1B\x15IngestionServiceProtoP\x01ZAcloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb\xaa\x02\x19Google.Ads.DataManager.V1\xca\x02\x19Google\\Ads\\DataManager\\V1\xea\x02\x1cGoogle::Ads::DataManager::V1b\x06proto3"
23
25
 
24
26
  pool = ::Google::Protobuf::DescriptorPool.generated_pool
25
27
  pool.add_serialized_file(descriptor_data)
@@ -36,6 +38,10 @@ module Google
36
38
  RemoveAllAudienceMembersResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.RemoveAllAudienceMembersResponse").msgclass
37
39
  IngestEventsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.IngestEventsRequest").msgclass
38
40
  IngestEventsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.IngestEventsResponse").msgclass
41
+ IngestUsersRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.IngestUsersRequest").msgclass
42
+ IngestUsersResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.IngestUsersResponse").msgclass
43
+ RemoveUsersRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.RemoveUsersRequest").msgclass
44
+ RemoveUsersResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.RemoveUsersResponse").msgclass
39
45
  IngestAdEventsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.IngestAdEventsRequest").msgclass
40
46
  IngestAdEventsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.IngestAdEventsResponse").msgclass
41
47
  RetrieveRequestStatusRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.RetrieveRequestStatusRequest").msgclass
@@ -47,6 +47,19 @@ module Google
47
47
  # [Event][google.ads.datamanager.v1.Event] resources from
48
48
  # the provided [Destination][google.ads.datamanager.v1.Destination].
49
49
  rpc :IngestEvents, ::Google::Ads::DataManager::V1::IngestEventsRequest, ::Google::Ads::DataManager::V1::IngestEventsResponse
50
+ # Uploads a list of users to the provided destinations. Unlike
51
+ # [IngestAudienceMembers][google.ads.datamanager.v1.IngestionService.IngestAudienceMembers]
52
+ # (which adds users to specific advertiser audience lists for targeting),
53
+ # `IngestUsers` ingests account level identity linkage data (for example,
54
+ # user identifiers linked to mobile IDs) independent of specific audience
55
+ # segments.
56
+ #
57
+ # This feature is only available to accounts on an allowlist.
58
+ rpc :IngestUsers, ::Google::Ads::DataManager::V1::IngestUsersRequest, ::Google::Ads::DataManager::V1::IngestUsersResponse
59
+ # Removes a list of users from the provided destinations.
60
+ #
61
+ # This feature is only available to accounts on an allowlist.
62
+ rpc :RemoveUsers, ::Google::Ads::DataManager::V1::RemoveUsersRequest, ::Google::Ads::DataManager::V1::RemoveUsersResponse
50
63
  # Uploads a list of
51
64
  # [AdEvent][google.ads.datamanager.v1.AdEvent] resources to Google
52
65
  # Analytics.
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: google/ads/datamanager/v1/user.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/ads/datamanager/v1/audience_pb'
8
+ require 'google/ads/datamanager/v1/user_data_pb'
9
+ require 'google/api/field_behavior_pb'
10
+
11
+
12
+ descriptor_data = "\n$google/ads/datamanager/v1/user.proto\x12\x19google.ads.datamanager.v1\x1a(google/ads/datamanager/v1/audience.proto\x1a)google/ads/datamanager/v1/user_data.proto\x1a\x1fgoogle/api/field_behavior.proto\"\x84\x01\n\x04User\x12;\n\tuser_data\x18\x01 \x01(\x0b\x32#.google.ads.datamanager.v1.UserDataB\x03\xe0\x41\x02\x12?\n\x0bmobile_data\x18\x02 \x01(\x0b\x32%.google.ads.datamanager.v1.MobileDataB\x03\xe0\x41\x02\x42\xc6\x01\n\x1d\x63om.google.ads.datamanager.v1B\tUserProtoP\x01ZAcloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb\xaa\x02\x19Google.Ads.DataManager.V1\xca\x02\x19Google\\Ads\\DataManager\\V1\xea\x02\x1cGoogle::Ads::DataManager::V1b\x06proto3"
13
+
14
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
15
+ pool.add_serialized_file(descriptor_data)
16
+
17
+ module Google
18
+ module Ads
19
+ module DataManager
20
+ module V1
21
+ User = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.User").msgclass
22
+ end
23
+ end
24
+ end
25
+ end
@@ -405,6 +405,9 @@ module Google
405
405
  # the specified `variable`.
406
406
  CUSTOM_VARIABLE_NOT_FOUND = 120
407
407
 
408
+ # Maximum number of users allowed per request is 10,000.
409
+ TOO_MANY_USERS = 121
410
+
408
411
  # The
409
412
  # {::Google::Ads::DataManager::V1::Baseline#location_auto_detection_enabled location_auto_detection_enabled}
410
413
  # field of the request was set to `true`, but auto detection of baseline
@@ -428,6 +431,16 @@ module Google
428
431
 
429
432
  # The conversion action was created too recently.
430
433
  CONVERSION_ACTION_TOO_RECENTLY_CREATED = 127
434
+
435
+ # The ad identifier does not belong to the account.
436
+ #
437
+ # For example, the {::Google::Ads::DataManager::V1::AdIdentifiers#gclid `gclid`}
438
+ # isn't associated with the
439
+ # {::Google::Ads::DataManager::V1::Destination#operating_account `operating_account`}
440
+ # and
441
+ # {::Google::Ads::DataManager::V1::Destination#product_destination_id `product_destination_id`}
442
+ # of the destination.
443
+ INVALID_AD_IDENTIFIER_FOR_ACCOUNT = 128
431
444
  end
432
445
  end
433
446
  end
@@ -200,6 +200,71 @@ module Google
200
200
  extend ::Google::Protobuf::MessageExts::ClassMethods
201
201
  end
202
202
 
203
+ # Request to upload users to the provided destinations.
204
+ # @!attribute [rw] destinations
205
+ # @return [::Array<::Google::Ads::DataManager::V1::Destination>]
206
+ # Required. The list of possible ingestion destinations.
207
+ # @!attribute [rw] users
208
+ # @return [::Array<::Google::Ads::DataManager::V1::User>]
209
+ # Required. The list of users to ingest.
210
+ # @!attribute [rw] encryption_info
211
+ # @return [::Google::Ads::DataManager::V1::EncryptionInfo]
212
+ # Optional. Encryption information about encryption keys which are used to
213
+ # encrypt the data.
214
+ # @!attribute [rw] validate_only
215
+ # @return [::Boolean]
216
+ # Optional. If `true`, the request is validated but not executed.
217
+ # @!attribute [rw] encoding
218
+ # @return [::Google::Ads::DataManager::V1::Encoding]
219
+ # Required. The encoding type of the user identifiers. For encrypted user
220
+ # identifiers, this only applies to the outer encoding.
221
+ class IngestUsersRequest
222
+ include ::Google::Protobuf::MessageExts
223
+ extend ::Google::Protobuf::MessageExts::ClassMethods
224
+ end
225
+
226
+ # Response from the IngestUsersRequest.
227
+ # @!attribute [rw] request_id
228
+ # @return [::String]
229
+ # The generated request id of the Ingestion Request.
230
+ class IngestUsersResponse
231
+ include ::Google::Protobuf::MessageExts
232
+ extend ::Google::Protobuf::MessageExts::ClassMethods
233
+ end
234
+
235
+ # Request to remove users from the provided destinations.
236
+ # @!attribute [rw] destinations
237
+ # @return [::Array<::Google::Ads::DataManager::V1::Destination>]
238
+ # Required. The list of possible ingestion destinations.
239
+ # @!attribute [rw] user_data
240
+ # @return [::Array<::Google::Ads::DataManager::V1::UserData>]
241
+ # Required. The individual bits of UserData that act as keys for the users to
242
+ # remove.
243
+ # @!attribute [rw] encryption_info
244
+ # @return [::Google::Ads::DataManager::V1::EncryptionInfo]
245
+ # Optional. Encryption information about encryption keys which are used to
246
+ # encrypt the data.
247
+ # @!attribute [rw] validate_only
248
+ # @return [::Boolean]
249
+ # Optional. If `true`, the request is validated but not executed.
250
+ # @!attribute [rw] encoding
251
+ # @return [::Google::Ads::DataManager::V1::Encoding]
252
+ # Required. The encoding type of the user identifiers. For encrypted user
253
+ # identifiers, this only applies to the outer encoding.
254
+ class RemoveUsersRequest
255
+ include ::Google::Protobuf::MessageExts
256
+ extend ::Google::Protobuf::MessageExts::ClassMethods
257
+ end
258
+
259
+ # Response from the RemoveUsersRequest.
260
+ # @!attribute [rw] request_id
261
+ # @return [::String]
262
+ # The generated request id of the Ingestion Request.
263
+ class RemoveUsersResponse
264
+ include ::Google::Protobuf::MessageExts
265
+ extend ::Google::Protobuf::MessageExts::ClassMethods
266
+ end
267
+
203
268
  # Request to upload ad events.
204
269
  # @!attribute [rw] ad_events
205
270
  # @return [::Array<::Google::Ads::DataManager::V1::AdEvent>]
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Ads
22
+ module DataManager
23
+ module V1
24
+ # Represents a single user, containing identifiers like PII and mobile device
25
+ # IDs that all refer to the same user.
26
+ # @!attribute [rw] user_data
27
+ # @return [::Google::Ads::DataManager::V1::UserData]
28
+ # Required. Multiple pieces of user-provided data, used as the means of
29
+ # identifying the user.
30
+ # @!attribute [rw] mobile_data
31
+ # @return [::Google::Ads::DataManager::V1::MobileData]
32
+ # Required. Multiple mobile device ID strings to represent a single user.
33
+ class User
34
+ include ::Google::Protobuf::MessageExts
35
+ extend ::Google::Protobuf::MessageExts::ClassMethods
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-ads-data_manager-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
@@ -133,6 +133,7 @@ files:
133
133
  - lib/google/ads/datamanager/v1/user_list_pb.rb
134
134
  - lib/google/ads/datamanager/v1/user_list_service_pb.rb
135
135
  - lib/google/ads/datamanager/v1/user_list_service_services_pb.rb
136
+ - lib/google/ads/datamanager/v1/user_pb.rb
136
137
  - lib/google/ads/datamanager/v1/user_properties_pb.rb
137
138
  - lib/google/ads/datamanager/v1/viewability_info_pb.rb
138
139
  - proto_docs/README.md
@@ -157,6 +158,7 @@ files:
157
158
  - proto_docs/google/ads/datamanager/v1/processing_errors.rb
158
159
  - proto_docs/google/ads/datamanager/v1/request_status_per_destination.rb
159
160
  - proto_docs/google/ads/datamanager/v1/terms_of_service.rb
161
+ - proto_docs/google/ads/datamanager/v1/user.rb
160
162
  - proto_docs/google/ads/datamanager/v1/user_data.rb
161
163
  - proto_docs/google/ads/datamanager/v1/user_list.rb
162
164
  - proto_docs/google/ads/datamanager/v1/user_list_direct_license.rb