google-cloud-channel-v1 0.10.0 → 0.11.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.
@@ -3316,6 +3316,1144 @@ module Google
3316
3316
  raise ::Google::Cloud::Error.from_error(e)
3317
3317
  end
3318
3318
 
3319
+ ##
3320
+ # Gets information about how a Reseller modifies their bill before sending
3321
+ # it to a Customer.
3322
+ #
3323
+ # Possible Error Codes:
3324
+ #
3325
+ # * PERMISSION_DENIED: If the account making the request and the account
3326
+ # being queried are different.
3327
+ # * NOT_FOUND: The {::Google::Cloud::Channel::V1::CustomerRepricingConfig CustomerRepricingConfig} was not found.
3328
+ # * INTERNAL: Any non-user error related to technical issues in the
3329
+ # backend. In this case, contact Cloud Channel support.
3330
+ #
3331
+ # Return Value:
3332
+ # If successful, the {::Google::Cloud::Channel::V1::CustomerRepricingConfig CustomerRepricingConfig} resource, otherwise returns
3333
+ # an error.
3334
+ #
3335
+ # @overload get_customer_repricing_config(request, options = nil)
3336
+ # Pass arguments to `get_customer_repricing_config` via a request object, either of type
3337
+ # {::Google::Cloud::Channel::V1::GetCustomerRepricingConfigRequest} or an equivalent Hash.
3338
+ #
3339
+ # @param request [::Google::Cloud::Channel::V1::GetCustomerRepricingConfigRequest, ::Hash]
3340
+ # A request object representing the call parameters. Required. To specify no
3341
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
3342
+ # @param options [::Gapic::CallOptions, ::Hash]
3343
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
3344
+ #
3345
+ # @overload get_customer_repricing_config(name: nil)
3346
+ # Pass arguments to `get_customer_repricing_config` via keyword arguments. Note that at
3347
+ # least one keyword argument is required. To specify no parameters, or to keep all
3348
+ # the default parameter values, pass an empty Hash as a request object (see above).
3349
+ #
3350
+ # @param name [::String]
3351
+ # Required. The resource name of the CustomerRepricingConfig.
3352
+ # Format:
3353
+ # accounts/\\{account_id}/customers/\\{customer_id}/customerRepricingConfigs/\\{id}.
3354
+ #
3355
+ # @yield [response, operation] Access the result along with the RPC operation
3356
+ # @yieldparam response [::Google::Cloud::Channel::V1::CustomerRepricingConfig]
3357
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
3358
+ #
3359
+ # @return [::Google::Cloud::Channel::V1::CustomerRepricingConfig]
3360
+ #
3361
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
3362
+ #
3363
+ # @example Basic example
3364
+ # require "google/cloud/channel/v1"
3365
+ #
3366
+ # # Create a client object. The client can be reused for multiple calls.
3367
+ # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
3368
+ #
3369
+ # # Create a request. To set request fields, pass in keyword arguments.
3370
+ # request = Google::Cloud::Channel::V1::GetCustomerRepricingConfigRequest.new
3371
+ #
3372
+ # # Call the get_customer_repricing_config method.
3373
+ # result = client.get_customer_repricing_config request
3374
+ #
3375
+ # # The returned object is of type Google::Cloud::Channel::V1::CustomerRepricingConfig.
3376
+ # p result
3377
+ #
3378
+ def get_customer_repricing_config request, options = nil
3379
+ raise ::ArgumentError, "request must be provided" if request.nil?
3380
+
3381
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::GetCustomerRepricingConfigRequest
3382
+
3383
+ # Converts hash and nil to an options object
3384
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3385
+
3386
+ # Customize the options with defaults
3387
+ metadata = @config.rpcs.get_customer_repricing_config.metadata.to_h
3388
+
3389
+ # Set x-goog-api-client and x-goog-user-project headers
3390
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
3391
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
3392
+ gapic_version: ::Google::Cloud::Channel::V1::VERSION
3393
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3394
+
3395
+ header_params = {}
3396
+ if request.name
3397
+ header_params["name"] = request.name
3398
+ end
3399
+
3400
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
3401
+ metadata[:"x-goog-request-params"] ||= request_params_header
3402
+
3403
+ options.apply_defaults timeout: @config.rpcs.get_customer_repricing_config.timeout,
3404
+ metadata: metadata,
3405
+ retry_policy: @config.rpcs.get_customer_repricing_config.retry_policy
3406
+
3407
+ options.apply_defaults timeout: @config.timeout,
3408
+ metadata: @config.metadata,
3409
+ retry_policy: @config.retry_policy
3410
+
3411
+ @cloud_channel_service_stub.call_rpc :get_customer_repricing_config, request, options: options do |response, operation|
3412
+ yield response, operation if block_given?
3413
+ return response
3414
+ end
3415
+ rescue ::GRPC::BadStatus => e
3416
+ raise ::Google::Cloud::Error.from_error(e)
3417
+ end
3418
+
3419
+ ##
3420
+ # Lists information about how a Reseller modifies their bill before sending
3421
+ # it to a Customer.
3422
+ #
3423
+ # Possible Error Codes:
3424
+ #
3425
+ # * PERMISSION_DENIED: If the account making the request and the account
3426
+ # being queried are different.
3427
+ # * NOT_FOUND: The {::Google::Cloud::Channel::V1::CustomerRepricingConfig CustomerRepricingConfig} specified does not exist or is
3428
+ # not associated with the given account.
3429
+ # * INTERNAL: Any non-user error related to technical issues in the
3430
+ # backend. In this case, contact Cloud Channel support.
3431
+ #
3432
+ # Return Value:
3433
+ # If successful, the {::Google::Cloud::Channel::V1::CustomerRepricingConfig CustomerRepricingConfig} resources. The
3434
+ # data for each resource is displayed in the ascending order of:
3435
+ # * customer ID
3436
+ # * {::Google::Cloud::Channel::V1::RepricingConfig::EntitlementGranularity#entitlement RepricingConfig.EntitlementGranularity.entitlement}
3437
+ # * {::Google::Cloud::Channel::V1::RepricingConfig#effective_invoice_month RepricingConfig.effective_invoice_month}
3438
+ # * {::Google::Cloud::Channel::V1::CustomerRepricingConfig#update_time CustomerRepricingConfig.update_time}
3439
+ #
3440
+ # If unsuccessful, returns an error.
3441
+ #
3442
+ # @overload list_customer_repricing_configs(request, options = nil)
3443
+ # Pass arguments to `list_customer_repricing_configs` via a request object, either of type
3444
+ # {::Google::Cloud::Channel::V1::ListCustomerRepricingConfigsRequest} or an equivalent Hash.
3445
+ #
3446
+ # @param request [::Google::Cloud::Channel::V1::ListCustomerRepricingConfigsRequest, ::Hash]
3447
+ # A request object representing the call parameters. Required. To specify no
3448
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
3449
+ # @param options [::Gapic::CallOptions, ::Hash]
3450
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
3451
+ #
3452
+ # @overload list_customer_repricing_configs(parent: nil, page_size: nil, page_token: nil, filter: nil)
3453
+ # Pass arguments to `list_customer_repricing_configs` via keyword arguments. Note that at
3454
+ # least one keyword argument is required. To specify no parameters, or to keep all
3455
+ # the default parameter values, pass an empty Hash as a request object (see above).
3456
+ #
3457
+ # @param parent [::String]
3458
+ # Required. The resource name of the customer.
3459
+ # Parent uses the format: accounts/\\{account_id}/customers/\\{customer_id}.
3460
+ # Supports accounts/\\{account_id}/customers/- to retrieve configs for all
3461
+ # customers.
3462
+ # @param page_size [::Integer]
3463
+ # Optional. The maximum number of repricing configs to return. The service may return
3464
+ # fewer than this value. If unspecified, returns a maximum of 50 rules. The
3465
+ # maximum value is 100; values above 100 will be coerced to 100.
3466
+ # @param page_token [::String]
3467
+ # Optional. A token identifying a page of results beyond the first page.
3468
+ # Obtained through
3469
+ # {::Google::Cloud::Channel::V1::ListCustomerRepricingConfigsResponse#next_page_token ListCustomerRepricingConfigsResponse.next_page_token} of the previous
3470
+ # {::Google::Cloud::Channel::V1::CloudChannelService::Client#list_customer_repricing_configs CloudChannelService.ListCustomerRepricingConfigs} call.
3471
+ # @param filter [::String]
3472
+ # Optional. A filter for [CloudChannelService.ListCustomerRepricingConfigs]
3473
+ # results (customer only). You can use this filter when you support
3474
+ # a BatchGet-like query.
3475
+ # To use the filter, you must set `parent=accounts/{account_id}/customers/-`.
3476
+ #
3477
+ # Example: customer = accounts/account_id/customers/c1 OR
3478
+ # customer = accounts/account_id/customers/c2.
3479
+ #
3480
+ # @yield [response, operation] Access the result along with the RPC operation
3481
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::CustomerRepricingConfig>]
3482
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
3483
+ #
3484
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::CustomerRepricingConfig>]
3485
+ #
3486
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
3487
+ #
3488
+ # @example Basic example
3489
+ # require "google/cloud/channel/v1"
3490
+ #
3491
+ # # Create a client object. The client can be reused for multiple calls.
3492
+ # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
3493
+ #
3494
+ # # Create a request. To set request fields, pass in keyword arguments.
3495
+ # request = Google::Cloud::Channel::V1::ListCustomerRepricingConfigsRequest.new
3496
+ #
3497
+ # # Call the list_customer_repricing_configs method.
3498
+ # result = client.list_customer_repricing_configs request
3499
+ #
3500
+ # # The returned object is of type Gapic::PagedEnumerable. You can
3501
+ # # iterate over all elements by calling #each, and the enumerable
3502
+ # # will lazily make API calls to fetch subsequent pages. Other
3503
+ # # methods are also available for managing paging directly.
3504
+ # result.each do |response|
3505
+ # # Each element is of type ::Google::Cloud::Channel::V1::CustomerRepricingConfig.
3506
+ # p response
3507
+ # end
3508
+ #
3509
+ def list_customer_repricing_configs request, options = nil
3510
+ raise ::ArgumentError, "request must be provided" if request.nil?
3511
+
3512
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListCustomerRepricingConfigsRequest
3513
+
3514
+ # Converts hash and nil to an options object
3515
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3516
+
3517
+ # Customize the options with defaults
3518
+ metadata = @config.rpcs.list_customer_repricing_configs.metadata.to_h
3519
+
3520
+ # Set x-goog-api-client and x-goog-user-project headers
3521
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
3522
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
3523
+ gapic_version: ::Google::Cloud::Channel::V1::VERSION
3524
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3525
+
3526
+ header_params = {}
3527
+ if request.parent
3528
+ header_params["parent"] = request.parent
3529
+ end
3530
+
3531
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
3532
+ metadata[:"x-goog-request-params"] ||= request_params_header
3533
+
3534
+ options.apply_defaults timeout: @config.rpcs.list_customer_repricing_configs.timeout,
3535
+ metadata: metadata,
3536
+ retry_policy: @config.rpcs.list_customer_repricing_configs.retry_policy
3537
+
3538
+ options.apply_defaults timeout: @config.timeout,
3539
+ metadata: @config.metadata,
3540
+ retry_policy: @config.retry_policy
3541
+
3542
+ @cloud_channel_service_stub.call_rpc :list_customer_repricing_configs, request, options: options do |response, operation|
3543
+ response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_customer_repricing_configs, request, response, operation, options
3544
+ yield response, operation if block_given?
3545
+ return response
3546
+ end
3547
+ rescue ::GRPC::BadStatus => e
3548
+ raise ::Google::Cloud::Error.from_error(e)
3549
+ end
3550
+
3551
+ ##
3552
+ # Creates a CustomerRepricingConfig. Call this method to set modifications
3553
+ # for a specific customer's bill. You can only create configs if the
3554
+ # {::Google::Cloud::Channel::V1::RepricingConfig#effective_invoice_month RepricingConfig.effective_invoice_month} is a
3555
+ # future month. If needed, you can create a config for the current month,
3556
+ # with some restrictions.
3557
+ #
3558
+ # When creating a config for a future month, make sure there are no existing
3559
+ # configs for that
3560
+ # {::Google::Cloud::Channel::V1::RepricingConfig#effective_invoice_month RepricingConfig.effective_invoice_month}.
3561
+ #
3562
+ # The following restrictions are for creating configs in the current month.
3563
+ #
3564
+ # * This functionality is reserved for recovering from an erroneous config,
3565
+ # and should not be used for regular business cases.
3566
+ # * The new config will not modify exports used with other configs.
3567
+ # Changes to the config may be immediate, but may take up to 24 hours.
3568
+ # * There is a limit of ten configs for any
3569
+ # {::Google::Cloud::Channel::V1::RepricingConfig::EntitlementGranularity#entitlement RepricingConfig.EntitlementGranularity.entitlement}
3570
+ # or {::Google::Cloud::Channel::V1::RepricingConfig#effective_invoice_month RepricingConfig.effective_invoice_month}.
3571
+ # * The contained {::Google::Cloud::Channel::V1::CustomerRepricingConfig#repricing_config CustomerRepricingConfig.repricing_config} vaule must be
3572
+ # different from the value used in the current config for a
3573
+ # {::Google::Cloud::Channel::V1::RepricingConfig::EntitlementGranularity#entitlement RepricingConfig.EntitlementGranularity.entitlement}.
3574
+ #
3575
+ # Possible Error Codes:
3576
+ #
3577
+ # * PERMISSION_DENIED: If the account making the request and the account
3578
+ # being queried are different.
3579
+ # * INVALID_ARGUMENT: Missing or invalid required parameters in the
3580
+ # request. Also displays if the updated config is for the current month or
3581
+ # past months.
3582
+ # * NOT_FOUND: The {::Google::Cloud::Channel::V1::CustomerRepricingConfig CustomerRepricingConfig} specified does not exist or is
3583
+ # not associated with the given account.
3584
+ # * INTERNAL: Any non-user error related to technical issues in the
3585
+ # backend. In this case, contact Cloud Channel support.
3586
+ #
3587
+ # Return Value:
3588
+ # If successful, the updated {::Google::Cloud::Channel::V1::CustomerRepricingConfig CustomerRepricingConfig} resource, otherwise
3589
+ # returns an error.
3590
+ #
3591
+ # @overload create_customer_repricing_config(request, options = nil)
3592
+ # Pass arguments to `create_customer_repricing_config` via a request object, either of type
3593
+ # {::Google::Cloud::Channel::V1::CreateCustomerRepricingConfigRequest} or an equivalent Hash.
3594
+ #
3595
+ # @param request [::Google::Cloud::Channel::V1::CreateCustomerRepricingConfigRequest, ::Hash]
3596
+ # A request object representing the call parameters. Required. To specify no
3597
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
3598
+ # @param options [::Gapic::CallOptions, ::Hash]
3599
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
3600
+ #
3601
+ # @overload create_customer_repricing_config(parent: nil, customer_repricing_config: nil)
3602
+ # Pass arguments to `create_customer_repricing_config` via keyword arguments. Note that at
3603
+ # least one keyword argument is required. To specify no parameters, or to keep all
3604
+ # the default parameter values, pass an empty Hash as a request object (see above).
3605
+ #
3606
+ # @param parent [::String]
3607
+ # Required. The resource name of the customer that will receive this repricing config.
3608
+ # Parent uses the format: accounts/\\{account_id}/customers/\\{customer_id}
3609
+ # @param customer_repricing_config [::Google::Cloud::Channel::V1::CustomerRepricingConfig, ::Hash]
3610
+ # Required. The CustomerRepricingConfig object to update.
3611
+ #
3612
+ # @yield [response, operation] Access the result along with the RPC operation
3613
+ # @yieldparam response [::Google::Cloud::Channel::V1::CustomerRepricingConfig]
3614
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
3615
+ #
3616
+ # @return [::Google::Cloud::Channel::V1::CustomerRepricingConfig]
3617
+ #
3618
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
3619
+ #
3620
+ # @example Basic example
3621
+ # require "google/cloud/channel/v1"
3622
+ #
3623
+ # # Create a client object. The client can be reused for multiple calls.
3624
+ # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
3625
+ #
3626
+ # # Create a request. To set request fields, pass in keyword arguments.
3627
+ # request = Google::Cloud::Channel::V1::CreateCustomerRepricingConfigRequest.new
3628
+ #
3629
+ # # Call the create_customer_repricing_config method.
3630
+ # result = client.create_customer_repricing_config request
3631
+ #
3632
+ # # The returned object is of type Google::Cloud::Channel::V1::CustomerRepricingConfig.
3633
+ # p result
3634
+ #
3635
+ def create_customer_repricing_config request, options = nil
3636
+ raise ::ArgumentError, "request must be provided" if request.nil?
3637
+
3638
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::CreateCustomerRepricingConfigRequest
3639
+
3640
+ # Converts hash and nil to an options object
3641
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3642
+
3643
+ # Customize the options with defaults
3644
+ metadata = @config.rpcs.create_customer_repricing_config.metadata.to_h
3645
+
3646
+ # Set x-goog-api-client and x-goog-user-project headers
3647
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
3648
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
3649
+ gapic_version: ::Google::Cloud::Channel::V1::VERSION
3650
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3651
+
3652
+ header_params = {}
3653
+ if request.parent
3654
+ header_params["parent"] = request.parent
3655
+ end
3656
+
3657
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
3658
+ metadata[:"x-goog-request-params"] ||= request_params_header
3659
+
3660
+ options.apply_defaults timeout: @config.rpcs.create_customer_repricing_config.timeout,
3661
+ metadata: metadata,
3662
+ retry_policy: @config.rpcs.create_customer_repricing_config.retry_policy
3663
+
3664
+ options.apply_defaults timeout: @config.timeout,
3665
+ metadata: @config.metadata,
3666
+ retry_policy: @config.retry_policy
3667
+
3668
+ @cloud_channel_service_stub.call_rpc :create_customer_repricing_config, request, options: options do |response, operation|
3669
+ yield response, operation if block_given?
3670
+ return response
3671
+ end
3672
+ rescue ::GRPC::BadStatus => e
3673
+ raise ::Google::Cloud::Error.from_error(e)
3674
+ end
3675
+
3676
+ ##
3677
+ # Updates a CustomerRepricingConfig. Call this method to set modifications
3678
+ # for a specific customer's bill. This method overwrites the existing
3679
+ # CustomerRepricingConfig.
3680
+ #
3681
+ # You can only update configs if the
3682
+ # {::Google::Cloud::Channel::V1::RepricingConfig#effective_invoice_month RepricingConfig.effective_invoice_month} is a
3683
+ # future month. To make changes to configs for the current month, use
3684
+ # {::Google::Cloud::Channel::V1::CloudChannelService::Client#create_customer_repricing_config CreateCustomerRepricingConfig}, taking note of its restrictions. You
3685
+ # cannot update the {::Google::Cloud::Channel::V1::RepricingConfig#effective_invoice_month RepricingConfig.effective_invoice_month}.
3686
+ #
3687
+ # When updating a config in the future:
3688
+ #
3689
+ # * This config must already exist.
3690
+ #
3691
+ # Possible Error Codes:
3692
+ #
3693
+ # * PERMISSION_DENIED: If the account making the request and the account
3694
+ # being queried are different.
3695
+ # * INVALID_ARGUMENT: Missing or invalid required parameters in the
3696
+ # request. Also displays if the updated config is for the current month or
3697
+ # past months.
3698
+ # * NOT_FOUND: The {::Google::Cloud::Channel::V1::CustomerRepricingConfig CustomerRepricingConfig} specified does not exist or is
3699
+ # not associated with the given account.
3700
+ # * INTERNAL: Any non-user error related to technical issues in the
3701
+ # backend. In this case, contact Cloud Channel support.
3702
+ #
3703
+ # Return Value:
3704
+ # If successful, the updated {::Google::Cloud::Channel::V1::CustomerRepricingConfig CustomerRepricingConfig} resource, otherwise
3705
+ # returns an error.
3706
+ #
3707
+ # @overload update_customer_repricing_config(request, options = nil)
3708
+ # Pass arguments to `update_customer_repricing_config` via a request object, either of type
3709
+ # {::Google::Cloud::Channel::V1::UpdateCustomerRepricingConfigRequest} or an equivalent Hash.
3710
+ #
3711
+ # @param request [::Google::Cloud::Channel::V1::UpdateCustomerRepricingConfigRequest, ::Hash]
3712
+ # A request object representing the call parameters. Required. To specify no
3713
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
3714
+ # @param options [::Gapic::CallOptions, ::Hash]
3715
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
3716
+ #
3717
+ # @overload update_customer_repricing_config(customer_repricing_config: nil)
3718
+ # Pass arguments to `update_customer_repricing_config` via keyword arguments. Note that at
3719
+ # least one keyword argument is required. To specify no parameters, or to keep all
3720
+ # the default parameter values, pass an empty Hash as a request object (see above).
3721
+ #
3722
+ # @param customer_repricing_config [::Google::Cloud::Channel::V1::CustomerRepricingConfig, ::Hash]
3723
+ # Required. The CustomerRepricingConfig object to update.
3724
+ #
3725
+ # @yield [response, operation] Access the result along with the RPC operation
3726
+ # @yieldparam response [::Google::Cloud::Channel::V1::CustomerRepricingConfig]
3727
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
3728
+ #
3729
+ # @return [::Google::Cloud::Channel::V1::CustomerRepricingConfig]
3730
+ #
3731
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
3732
+ #
3733
+ # @example Basic example
3734
+ # require "google/cloud/channel/v1"
3735
+ #
3736
+ # # Create a client object. The client can be reused for multiple calls.
3737
+ # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
3738
+ #
3739
+ # # Create a request. To set request fields, pass in keyword arguments.
3740
+ # request = Google::Cloud::Channel::V1::UpdateCustomerRepricingConfigRequest.new
3741
+ #
3742
+ # # Call the update_customer_repricing_config method.
3743
+ # result = client.update_customer_repricing_config request
3744
+ #
3745
+ # # The returned object is of type Google::Cloud::Channel::V1::CustomerRepricingConfig.
3746
+ # p result
3747
+ #
3748
+ def update_customer_repricing_config request, options = nil
3749
+ raise ::ArgumentError, "request must be provided" if request.nil?
3750
+
3751
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::UpdateCustomerRepricingConfigRequest
3752
+
3753
+ # Converts hash and nil to an options object
3754
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3755
+
3756
+ # Customize the options with defaults
3757
+ metadata = @config.rpcs.update_customer_repricing_config.metadata.to_h
3758
+
3759
+ # Set x-goog-api-client and x-goog-user-project headers
3760
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
3761
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
3762
+ gapic_version: ::Google::Cloud::Channel::V1::VERSION
3763
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3764
+
3765
+ header_params = {}
3766
+ if request.customer_repricing_config&.name
3767
+ header_params["customer_repricing_config.name"] = request.customer_repricing_config.name
3768
+ end
3769
+
3770
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
3771
+ metadata[:"x-goog-request-params"] ||= request_params_header
3772
+
3773
+ options.apply_defaults timeout: @config.rpcs.update_customer_repricing_config.timeout,
3774
+ metadata: metadata,
3775
+ retry_policy: @config.rpcs.update_customer_repricing_config.retry_policy
3776
+
3777
+ options.apply_defaults timeout: @config.timeout,
3778
+ metadata: @config.metadata,
3779
+ retry_policy: @config.retry_policy
3780
+
3781
+ @cloud_channel_service_stub.call_rpc :update_customer_repricing_config, request, options: options do |response, operation|
3782
+ yield response, operation if block_given?
3783
+ return response
3784
+ end
3785
+ rescue ::GRPC::BadStatus => e
3786
+ raise ::Google::Cloud::Error.from_error(e)
3787
+ end
3788
+
3789
+ ##
3790
+ # Deletes the given {::Google::Cloud::Channel::V1::CustomerRepricingConfig CustomerRepricingConfig} permanently. You can only
3791
+ # delete configs if their {::Google::Cloud::Channel::V1::RepricingConfig#effective_invoice_month RepricingConfig.effective_invoice_month} is set
3792
+ # to a date after the current month.
3793
+ #
3794
+ # Possible error codes:
3795
+ #
3796
+ # * PERMISSION_DENIED: The account making the request does not own
3797
+ # this customer.
3798
+ # * INVALID_ARGUMENT: Required request parameters are missing or invalid.
3799
+ # * FAILED_PRECONDITION: The {::Google::Cloud::Channel::V1::CustomerRepricingConfig CustomerRepricingConfig} is active or in the
3800
+ # past.
3801
+ # * NOT_FOUND: No {::Google::Cloud::Channel::V1::CustomerRepricingConfig CustomerRepricingConfig} found for the name in the
3802
+ # request.
3803
+ #
3804
+ # @overload delete_customer_repricing_config(request, options = nil)
3805
+ # Pass arguments to `delete_customer_repricing_config` via a request object, either of type
3806
+ # {::Google::Cloud::Channel::V1::DeleteCustomerRepricingConfigRequest} or an equivalent Hash.
3807
+ #
3808
+ # @param request [::Google::Cloud::Channel::V1::DeleteCustomerRepricingConfigRequest, ::Hash]
3809
+ # A request object representing the call parameters. Required. To specify no
3810
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
3811
+ # @param options [::Gapic::CallOptions, ::Hash]
3812
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
3813
+ #
3814
+ # @overload delete_customer_repricing_config(name: nil)
3815
+ # Pass arguments to `delete_customer_repricing_config` via keyword arguments. Note that at
3816
+ # least one keyword argument is required. To specify no parameters, or to keep all
3817
+ # the default parameter values, pass an empty Hash as a request object (see above).
3818
+ #
3819
+ # @param name [::String]
3820
+ # Required. The resource name of the customer repricing config rule to delete.
3821
+ # Format:
3822
+ # accounts/\\{account_id}/customers/\\{customer_id}/customerRepricingConfigs/\\{id}.
3823
+ #
3824
+ # @yield [response, operation] Access the result along with the RPC operation
3825
+ # @yieldparam response [::Google::Protobuf::Empty]
3826
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
3827
+ #
3828
+ # @return [::Google::Protobuf::Empty]
3829
+ #
3830
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
3831
+ #
3832
+ # @example Basic example
3833
+ # require "google/cloud/channel/v1"
3834
+ #
3835
+ # # Create a client object. The client can be reused for multiple calls.
3836
+ # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
3837
+ #
3838
+ # # Create a request. To set request fields, pass in keyword arguments.
3839
+ # request = Google::Cloud::Channel::V1::DeleteCustomerRepricingConfigRequest.new
3840
+ #
3841
+ # # Call the delete_customer_repricing_config method.
3842
+ # result = client.delete_customer_repricing_config request
3843
+ #
3844
+ # # The returned object is of type Google::Protobuf::Empty.
3845
+ # p result
3846
+ #
3847
+ def delete_customer_repricing_config request, options = nil
3848
+ raise ::ArgumentError, "request must be provided" if request.nil?
3849
+
3850
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::DeleteCustomerRepricingConfigRequest
3851
+
3852
+ # Converts hash and nil to an options object
3853
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3854
+
3855
+ # Customize the options with defaults
3856
+ metadata = @config.rpcs.delete_customer_repricing_config.metadata.to_h
3857
+
3858
+ # Set x-goog-api-client and x-goog-user-project headers
3859
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
3860
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
3861
+ gapic_version: ::Google::Cloud::Channel::V1::VERSION
3862
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3863
+
3864
+ header_params = {}
3865
+ if request.name
3866
+ header_params["name"] = request.name
3867
+ end
3868
+
3869
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
3870
+ metadata[:"x-goog-request-params"] ||= request_params_header
3871
+
3872
+ options.apply_defaults timeout: @config.rpcs.delete_customer_repricing_config.timeout,
3873
+ metadata: metadata,
3874
+ retry_policy: @config.rpcs.delete_customer_repricing_config.retry_policy
3875
+
3876
+ options.apply_defaults timeout: @config.timeout,
3877
+ metadata: @config.metadata,
3878
+ retry_policy: @config.retry_policy
3879
+
3880
+ @cloud_channel_service_stub.call_rpc :delete_customer_repricing_config, request, options: options do |response, operation|
3881
+ yield response, operation if block_given?
3882
+ return response
3883
+ end
3884
+ rescue ::GRPC::BadStatus => e
3885
+ raise ::Google::Cloud::Error.from_error(e)
3886
+ end
3887
+
3888
+ ##
3889
+ # Gets information about how a Distributor modifies their bill before sending
3890
+ # it to a ChannelPartner.
3891
+ #
3892
+ # Possible Error Codes:
3893
+ #
3894
+ # * PERMISSION_DENIED: If the account making the request and the account
3895
+ # being queried are different.
3896
+ # * NOT_FOUND: The {::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig ChannelPartnerRepricingConfig} was not found.
3897
+ # * INTERNAL: Any non-user error related to technical issues in the
3898
+ # backend. In this case, contact Cloud Channel support.
3899
+ #
3900
+ # Return Value:
3901
+ # If successful, the {::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig ChannelPartnerRepricingConfig} resource, otherwise
3902
+ # returns an error.
3903
+ #
3904
+ # @overload get_channel_partner_repricing_config(request, options = nil)
3905
+ # Pass arguments to `get_channel_partner_repricing_config` via a request object, either of type
3906
+ # {::Google::Cloud::Channel::V1::GetChannelPartnerRepricingConfigRequest} or an equivalent Hash.
3907
+ #
3908
+ # @param request [::Google::Cloud::Channel::V1::GetChannelPartnerRepricingConfigRequest, ::Hash]
3909
+ # A request object representing the call parameters. Required. To specify no
3910
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
3911
+ # @param options [::Gapic::CallOptions, ::Hash]
3912
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
3913
+ #
3914
+ # @overload get_channel_partner_repricing_config(name: nil)
3915
+ # Pass arguments to `get_channel_partner_repricing_config` via keyword arguments. Note that at
3916
+ # least one keyword argument is required. To specify no parameters, or to keep all
3917
+ # the default parameter values, pass an empty Hash as a request object (see above).
3918
+ #
3919
+ # @param name [::String]
3920
+ # Required. The resource name of the ChannelPartnerRepricingConfig
3921
+ # Format:
3922
+ # accounts/\\{account_id}/channelPartnerLinks/\\{channel_partner_id}/channelPartnerRepricingConfigs/\\{id}.
3923
+ #
3924
+ # @yield [response, operation] Access the result along with the RPC operation
3925
+ # @yieldparam response [::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig]
3926
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
3927
+ #
3928
+ # @return [::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig]
3929
+ #
3930
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
3931
+ #
3932
+ # @example Basic example
3933
+ # require "google/cloud/channel/v1"
3934
+ #
3935
+ # # Create a client object. The client can be reused for multiple calls.
3936
+ # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
3937
+ #
3938
+ # # Create a request. To set request fields, pass in keyword arguments.
3939
+ # request = Google::Cloud::Channel::V1::GetChannelPartnerRepricingConfigRequest.new
3940
+ #
3941
+ # # Call the get_channel_partner_repricing_config method.
3942
+ # result = client.get_channel_partner_repricing_config request
3943
+ #
3944
+ # # The returned object is of type Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig.
3945
+ # p result
3946
+ #
3947
+ def get_channel_partner_repricing_config request, options = nil
3948
+ raise ::ArgumentError, "request must be provided" if request.nil?
3949
+
3950
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::GetChannelPartnerRepricingConfigRequest
3951
+
3952
+ # Converts hash and nil to an options object
3953
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3954
+
3955
+ # Customize the options with defaults
3956
+ metadata = @config.rpcs.get_channel_partner_repricing_config.metadata.to_h
3957
+
3958
+ # Set x-goog-api-client and x-goog-user-project headers
3959
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
3960
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
3961
+ gapic_version: ::Google::Cloud::Channel::V1::VERSION
3962
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3963
+
3964
+ header_params = {}
3965
+ if request.name
3966
+ header_params["name"] = request.name
3967
+ end
3968
+
3969
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
3970
+ metadata[:"x-goog-request-params"] ||= request_params_header
3971
+
3972
+ options.apply_defaults timeout: @config.rpcs.get_channel_partner_repricing_config.timeout,
3973
+ metadata: metadata,
3974
+ retry_policy: @config.rpcs.get_channel_partner_repricing_config.retry_policy
3975
+
3976
+ options.apply_defaults timeout: @config.timeout,
3977
+ metadata: @config.metadata,
3978
+ retry_policy: @config.retry_policy
3979
+
3980
+ @cloud_channel_service_stub.call_rpc :get_channel_partner_repricing_config, request, options: options do |response, operation|
3981
+ yield response, operation if block_given?
3982
+ return response
3983
+ end
3984
+ rescue ::GRPC::BadStatus => e
3985
+ raise ::Google::Cloud::Error.from_error(e)
3986
+ end
3987
+
3988
+ ##
3989
+ # Lists information about how a Reseller modifies their bill before sending
3990
+ # it to a ChannelPartner.
3991
+ #
3992
+ # Possible Error Codes:
3993
+ #
3994
+ # * PERMISSION_DENIED: If the account making the request and the account
3995
+ # being queried are different.
3996
+ # * NOT_FOUND: The {::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig ChannelPartnerRepricingConfig} specified does not exist
3997
+ # or is not associated with the given account.
3998
+ # * INTERNAL: Any non-user error related to technical issues in the
3999
+ # backend. In this case, contact Cloud Channel support.
4000
+ #
4001
+ # Return Value:
4002
+ # If successful, the {::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig ChannelPartnerRepricingConfig} resources.
4003
+ # The data for each resource is displayed in the ascending order of:
4004
+ # * channel partner ID
4005
+ # * {::Google::Cloud::Channel::V1::RepricingConfig#effective_invoice_month RepricingConfig.effective_invoice_month}
4006
+ # * {::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig#update_time ChannelPartnerRepricingConfig.update_time}
4007
+ #
4008
+ # If unsuccessful, returns an error.
4009
+ #
4010
+ # @overload list_channel_partner_repricing_configs(request, options = nil)
4011
+ # Pass arguments to `list_channel_partner_repricing_configs` via a request object, either of type
4012
+ # {::Google::Cloud::Channel::V1::ListChannelPartnerRepricingConfigsRequest} or an equivalent Hash.
4013
+ #
4014
+ # @param request [::Google::Cloud::Channel::V1::ListChannelPartnerRepricingConfigsRequest, ::Hash]
4015
+ # A request object representing the call parameters. Required. To specify no
4016
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
4017
+ # @param options [::Gapic::CallOptions, ::Hash]
4018
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
4019
+ #
4020
+ # @overload list_channel_partner_repricing_configs(parent: nil, page_size: nil, page_token: nil, filter: nil)
4021
+ # Pass arguments to `list_channel_partner_repricing_configs` via keyword arguments. Note that at
4022
+ # least one keyword argument is required. To specify no parameters, or to keep all
4023
+ # the default parameter values, pass an empty Hash as a request object (see above).
4024
+ #
4025
+ # @param parent [::String]
4026
+ # Required. The resource name of the account's {::Google::Cloud::Channel::V1::ChannelPartnerLink ChannelPartnerLink}.
4027
+ # Parent uses the format:
4028
+ # accounts/\\{account_id}/channelPartnerLinks/\\{channel_partner_id}.
4029
+ # Supports accounts/\\{account_id}/channelPartnerLinks/- to retrieve configs
4030
+ # for all channel partners.
4031
+ # @param page_size [::Integer]
4032
+ # Optional. The maximum number of repricing configs to return. The service may return
4033
+ # fewer than this value. If unspecified, returns a maximum of 50 rules. The
4034
+ # maximum value is 100; values above 100 will be coerced to 100.
4035
+ # @param page_token [::String]
4036
+ # Optional. A token identifying a page of results beyond the first page.
4037
+ # Obtained through
4038
+ # {::Google::Cloud::Channel::V1::ListChannelPartnerRepricingConfigsResponse#next_page_token ListChannelPartnerRepricingConfigsResponse.next_page_token} of the
4039
+ # previous {::Google::Cloud::Channel::V1::CloudChannelService::Client#list_channel_partner_repricing_configs CloudChannelService.ListChannelPartnerRepricingConfigs} call.
4040
+ # @param filter [::String]
4041
+ # Optional. A filter for [CloudChannelService.ListChannelPartnerRepricingConfigs]
4042
+ # results (channel_partner_link only). You can use this filter when you
4043
+ # support a BatchGet-like query.
4044
+ # To use the filter, you must set
4045
+ # `parent=accounts/{account_id}/channelPartnerLinks/-`.
4046
+ #
4047
+ # Example: `channel_partner_link =
4048
+ # accounts/account_id/channelPartnerLinks/c1` OR `channel_partner_link =
4049
+ # accounts/account_id/channelPartnerLinks/c2`.
4050
+ #
4051
+ # @yield [response, operation] Access the result along with the RPC operation
4052
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig>]
4053
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
4054
+ #
4055
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig>]
4056
+ #
4057
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
4058
+ #
4059
+ # @example Basic example
4060
+ # require "google/cloud/channel/v1"
4061
+ #
4062
+ # # Create a client object. The client can be reused for multiple calls.
4063
+ # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
4064
+ #
4065
+ # # Create a request. To set request fields, pass in keyword arguments.
4066
+ # request = Google::Cloud::Channel::V1::ListChannelPartnerRepricingConfigsRequest.new
4067
+ #
4068
+ # # Call the list_channel_partner_repricing_configs method.
4069
+ # result = client.list_channel_partner_repricing_configs request
4070
+ #
4071
+ # # The returned object is of type Gapic::PagedEnumerable. You can
4072
+ # # iterate over all elements by calling #each, and the enumerable
4073
+ # # will lazily make API calls to fetch subsequent pages. Other
4074
+ # # methods are also available for managing paging directly.
4075
+ # result.each do |response|
4076
+ # # Each element is of type ::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig.
4077
+ # p response
4078
+ # end
4079
+ #
4080
+ def list_channel_partner_repricing_configs request, options = nil
4081
+ raise ::ArgumentError, "request must be provided" if request.nil?
4082
+
4083
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListChannelPartnerRepricingConfigsRequest
4084
+
4085
+ # Converts hash and nil to an options object
4086
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4087
+
4088
+ # Customize the options with defaults
4089
+ metadata = @config.rpcs.list_channel_partner_repricing_configs.metadata.to_h
4090
+
4091
+ # Set x-goog-api-client and x-goog-user-project headers
4092
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
4093
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
4094
+ gapic_version: ::Google::Cloud::Channel::V1::VERSION
4095
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
4096
+
4097
+ header_params = {}
4098
+ if request.parent
4099
+ header_params["parent"] = request.parent
4100
+ end
4101
+
4102
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
4103
+ metadata[:"x-goog-request-params"] ||= request_params_header
4104
+
4105
+ options.apply_defaults timeout: @config.rpcs.list_channel_partner_repricing_configs.timeout,
4106
+ metadata: metadata,
4107
+ retry_policy: @config.rpcs.list_channel_partner_repricing_configs.retry_policy
4108
+
4109
+ options.apply_defaults timeout: @config.timeout,
4110
+ metadata: @config.metadata,
4111
+ retry_policy: @config.retry_policy
4112
+
4113
+ @cloud_channel_service_stub.call_rpc :list_channel_partner_repricing_configs, request, options: options do |response, operation|
4114
+ response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_channel_partner_repricing_configs, request, response, operation, options
4115
+ yield response, operation if block_given?
4116
+ return response
4117
+ end
4118
+ rescue ::GRPC::BadStatus => e
4119
+ raise ::Google::Cloud::Error.from_error(e)
4120
+ end
4121
+
4122
+ ##
4123
+ # Creates a ChannelPartnerRepricingConfig. Call this method to set
4124
+ # modifications for a specific ChannelPartner's bill. You can only create
4125
+ # configs if the {::Google::Cloud::Channel::V1::RepricingConfig#effective_invoice_month RepricingConfig.effective_invoice_month} is a future
4126
+ # month. If needed, you can create a config for the current month, with some
4127
+ # restrictions.
4128
+ #
4129
+ # When creating a config for a future month, make sure there are no existing
4130
+ # configs for that
4131
+ # {::Google::Cloud::Channel::V1::RepricingConfig#effective_invoice_month RepricingConfig.effective_invoice_month}.
4132
+ #
4133
+ # The following restrictions are for creating configs in the current month.
4134
+ #
4135
+ # * This functionality is reserved for recovering from an erroneous config,
4136
+ # and should not be used for regular business cases.
4137
+ # * The new config will not modify exports used with other configs.
4138
+ # Changes to the config may be immediate, but may take up to 24 hours.
4139
+ # * There is a limit of ten configs for any ChannelPartner or
4140
+ # {::Google::Cloud::Channel::V1::RepricingConfig#effective_invoice_month RepricingConfig.effective_invoice_month}.
4141
+ # * The contained {::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig#repricing_config ChannelPartnerRepricingConfig.repricing_config} vaule
4142
+ # must be different from the value used in the current config for a
4143
+ # ChannelPartner.
4144
+ #
4145
+ # Possible Error Codes:
4146
+ #
4147
+ # * PERMISSION_DENIED: If the account making the request and the account
4148
+ # being queried are different.
4149
+ # * INVALID_ARGUMENT: Missing or invalid required parameters in the
4150
+ # request. Also displays if the updated config is for the current month or
4151
+ # past months.
4152
+ # * NOT_FOUND: The {::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig ChannelPartnerRepricingConfig} specified does not exist
4153
+ # or is not associated with the given account.
4154
+ # * INTERNAL: Any non-user error related to technical issues in the
4155
+ # backend. In this case, contact Cloud Channel support.
4156
+ #
4157
+ # Return Value:
4158
+ # If successful, the updated {::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig ChannelPartnerRepricingConfig} resource,
4159
+ # otherwise returns an error.
4160
+ #
4161
+ # @overload create_channel_partner_repricing_config(request, options = nil)
4162
+ # Pass arguments to `create_channel_partner_repricing_config` via a request object, either of type
4163
+ # {::Google::Cloud::Channel::V1::CreateChannelPartnerRepricingConfigRequest} or an equivalent Hash.
4164
+ #
4165
+ # @param request [::Google::Cloud::Channel::V1::CreateChannelPartnerRepricingConfigRequest, ::Hash]
4166
+ # A request object representing the call parameters. Required. To specify no
4167
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
4168
+ # @param options [::Gapic::CallOptions, ::Hash]
4169
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
4170
+ #
4171
+ # @overload create_channel_partner_repricing_config(parent: nil, channel_partner_repricing_config: nil)
4172
+ # Pass arguments to `create_channel_partner_repricing_config` via keyword arguments. Note that at
4173
+ # least one keyword argument is required. To specify no parameters, or to keep all
4174
+ # the default parameter values, pass an empty Hash as a request object (see above).
4175
+ #
4176
+ # @param parent [::String]
4177
+ # Required. The resource name of the ChannelPartner that will receive the repricing
4178
+ # config. Parent uses the format:
4179
+ # accounts/\\{account_id}/channelPartnerLinks/\\{channel_partner_id}
4180
+ # @param channel_partner_repricing_config [::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig, ::Hash]
4181
+ # Required. The ChannelPartnerRepricingConfig object to update.
4182
+ #
4183
+ # @yield [response, operation] Access the result along with the RPC operation
4184
+ # @yieldparam response [::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig]
4185
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
4186
+ #
4187
+ # @return [::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig]
4188
+ #
4189
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
4190
+ #
4191
+ # @example Basic example
4192
+ # require "google/cloud/channel/v1"
4193
+ #
4194
+ # # Create a client object. The client can be reused for multiple calls.
4195
+ # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
4196
+ #
4197
+ # # Create a request. To set request fields, pass in keyword arguments.
4198
+ # request = Google::Cloud::Channel::V1::CreateChannelPartnerRepricingConfigRequest.new
4199
+ #
4200
+ # # Call the create_channel_partner_repricing_config method.
4201
+ # result = client.create_channel_partner_repricing_config request
4202
+ #
4203
+ # # The returned object is of type Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig.
4204
+ # p result
4205
+ #
4206
+ def create_channel_partner_repricing_config request, options = nil
4207
+ raise ::ArgumentError, "request must be provided" if request.nil?
4208
+
4209
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::CreateChannelPartnerRepricingConfigRequest
4210
+
4211
+ # Converts hash and nil to an options object
4212
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4213
+
4214
+ # Customize the options with defaults
4215
+ metadata = @config.rpcs.create_channel_partner_repricing_config.metadata.to_h
4216
+
4217
+ # Set x-goog-api-client and x-goog-user-project headers
4218
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
4219
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
4220
+ gapic_version: ::Google::Cloud::Channel::V1::VERSION
4221
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
4222
+
4223
+ header_params = {}
4224
+ if request.parent
4225
+ header_params["parent"] = request.parent
4226
+ end
4227
+
4228
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
4229
+ metadata[:"x-goog-request-params"] ||= request_params_header
4230
+
4231
+ options.apply_defaults timeout: @config.rpcs.create_channel_partner_repricing_config.timeout,
4232
+ metadata: metadata,
4233
+ retry_policy: @config.rpcs.create_channel_partner_repricing_config.retry_policy
4234
+
4235
+ options.apply_defaults timeout: @config.timeout,
4236
+ metadata: @config.metadata,
4237
+ retry_policy: @config.retry_policy
4238
+
4239
+ @cloud_channel_service_stub.call_rpc :create_channel_partner_repricing_config, request, options: options do |response, operation|
4240
+ yield response, operation if block_given?
4241
+ return response
4242
+ end
4243
+ rescue ::GRPC::BadStatus => e
4244
+ raise ::Google::Cloud::Error.from_error(e)
4245
+ end
4246
+
4247
+ ##
4248
+ # Updates a ChannelPartnerRepricingConfig. Call this method to set
4249
+ # modifications for a specific ChannelPartner's bill. This method overwrites
4250
+ # the existing CustomerRepricingConfig.
4251
+ #
4252
+ # You can only update configs if the
4253
+ # {::Google::Cloud::Channel::V1::RepricingConfig#effective_invoice_month RepricingConfig.effective_invoice_month} is a
4254
+ # future month. To make changes to configs for the current month, use
4255
+ # {::Google::Cloud::Channel::V1::CloudChannelService::Client#create_channel_partner_repricing_config CreateChannelPartnerRepricingConfig}, taking note of its restrictions.
4256
+ # You cannot update the {::Google::Cloud::Channel::V1::RepricingConfig#effective_invoice_month RepricingConfig.effective_invoice_month}.
4257
+ #
4258
+ # When updating a config in the future:
4259
+ #
4260
+ # * This config must already exist.
4261
+ #
4262
+ # Possible Error Codes:
4263
+ #
4264
+ # * PERMISSION_DENIED: If the account making the request and the account
4265
+ # being queried are different.
4266
+ # * INVALID_ARGUMENT: Missing or invalid required parameters in the
4267
+ # request. Also displays if the updated config is for the current month or
4268
+ # past months.
4269
+ # * NOT_FOUND: The {::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig ChannelPartnerRepricingConfig} specified does not exist
4270
+ # or is not associated with the given account.
4271
+ # * INTERNAL: Any non-user error related to technical issues in the
4272
+ # backend. In this case, contact Cloud Channel support.
4273
+ #
4274
+ # Return Value:
4275
+ # If successful, the updated {::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig ChannelPartnerRepricingConfig} resource,
4276
+ # otherwise returns an error.
4277
+ #
4278
+ # @overload update_channel_partner_repricing_config(request, options = nil)
4279
+ # Pass arguments to `update_channel_partner_repricing_config` via a request object, either of type
4280
+ # {::Google::Cloud::Channel::V1::UpdateChannelPartnerRepricingConfigRequest} or an equivalent Hash.
4281
+ #
4282
+ # @param request [::Google::Cloud::Channel::V1::UpdateChannelPartnerRepricingConfigRequest, ::Hash]
4283
+ # A request object representing the call parameters. Required. To specify no
4284
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
4285
+ # @param options [::Gapic::CallOptions, ::Hash]
4286
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
4287
+ #
4288
+ # @overload update_channel_partner_repricing_config(channel_partner_repricing_config: nil)
4289
+ # Pass arguments to `update_channel_partner_repricing_config` via keyword arguments. Note that at
4290
+ # least one keyword argument is required. To specify no parameters, or to keep all
4291
+ # the default parameter values, pass an empty Hash as a request object (see above).
4292
+ #
4293
+ # @param channel_partner_repricing_config [::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig, ::Hash]
4294
+ # Required. The ChannelPartnerRepricingConfig object to update.
4295
+ #
4296
+ # @yield [response, operation] Access the result along with the RPC operation
4297
+ # @yieldparam response [::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig]
4298
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
4299
+ #
4300
+ # @return [::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig]
4301
+ #
4302
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
4303
+ #
4304
+ # @example Basic example
4305
+ # require "google/cloud/channel/v1"
4306
+ #
4307
+ # # Create a client object. The client can be reused for multiple calls.
4308
+ # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
4309
+ #
4310
+ # # Create a request. To set request fields, pass in keyword arguments.
4311
+ # request = Google::Cloud::Channel::V1::UpdateChannelPartnerRepricingConfigRequest.new
4312
+ #
4313
+ # # Call the update_channel_partner_repricing_config method.
4314
+ # result = client.update_channel_partner_repricing_config request
4315
+ #
4316
+ # # The returned object is of type Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig.
4317
+ # p result
4318
+ #
4319
+ def update_channel_partner_repricing_config request, options = nil
4320
+ raise ::ArgumentError, "request must be provided" if request.nil?
4321
+
4322
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::UpdateChannelPartnerRepricingConfigRequest
4323
+
4324
+ # Converts hash and nil to an options object
4325
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4326
+
4327
+ # Customize the options with defaults
4328
+ metadata = @config.rpcs.update_channel_partner_repricing_config.metadata.to_h
4329
+
4330
+ # Set x-goog-api-client and x-goog-user-project headers
4331
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
4332
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
4333
+ gapic_version: ::Google::Cloud::Channel::V1::VERSION
4334
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
4335
+
4336
+ header_params = {}
4337
+ if request.channel_partner_repricing_config&.name
4338
+ header_params["channel_partner_repricing_config.name"] = request.channel_partner_repricing_config.name
4339
+ end
4340
+
4341
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
4342
+ metadata[:"x-goog-request-params"] ||= request_params_header
4343
+
4344
+ options.apply_defaults timeout: @config.rpcs.update_channel_partner_repricing_config.timeout,
4345
+ metadata: metadata,
4346
+ retry_policy: @config.rpcs.update_channel_partner_repricing_config.retry_policy
4347
+
4348
+ options.apply_defaults timeout: @config.timeout,
4349
+ metadata: @config.metadata,
4350
+ retry_policy: @config.retry_policy
4351
+
4352
+ @cloud_channel_service_stub.call_rpc :update_channel_partner_repricing_config, request, options: options do |response, operation|
4353
+ yield response, operation if block_given?
4354
+ return response
4355
+ end
4356
+ rescue ::GRPC::BadStatus => e
4357
+ raise ::Google::Cloud::Error.from_error(e)
4358
+ end
4359
+
4360
+ ##
4361
+ # Deletes the given {::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig ChannelPartnerRepricingConfig} permanently. You can
4362
+ # only delete configs if their {::Google::Cloud::Channel::V1::RepricingConfig#effective_invoice_month RepricingConfig.effective_invoice_month} is
4363
+ # set to a date after the current month.
4364
+ #
4365
+ # Possible error codes:
4366
+ #
4367
+ # * PERMISSION_DENIED: The account making the request does not own
4368
+ # this customer.
4369
+ # * INVALID_ARGUMENT: Required request parameters are missing or invalid.
4370
+ # * FAILED_PRECONDITION: The {::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig ChannelPartnerRepricingConfig} is active or
4371
+ # in the past.
4372
+ # * NOT_FOUND: No {::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig ChannelPartnerRepricingConfig} found for the name in the
4373
+ # request.
4374
+ #
4375
+ # @overload delete_channel_partner_repricing_config(request, options = nil)
4376
+ # Pass arguments to `delete_channel_partner_repricing_config` via a request object, either of type
4377
+ # {::Google::Cloud::Channel::V1::DeleteChannelPartnerRepricingConfigRequest} or an equivalent Hash.
4378
+ #
4379
+ # @param request [::Google::Cloud::Channel::V1::DeleteChannelPartnerRepricingConfigRequest, ::Hash]
4380
+ # A request object representing the call parameters. Required. To specify no
4381
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
4382
+ # @param options [::Gapic::CallOptions, ::Hash]
4383
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
4384
+ #
4385
+ # @overload delete_channel_partner_repricing_config(name: nil)
4386
+ # Pass arguments to `delete_channel_partner_repricing_config` via keyword arguments. Note that at
4387
+ # least one keyword argument is required. To specify no parameters, or to keep all
4388
+ # the default parameter values, pass an empty Hash as a request object (see above).
4389
+ #
4390
+ # @param name [::String]
4391
+ # Required. The resource name of the channel partner repricing config rule to delete.
4392
+ #
4393
+ # @yield [response, operation] Access the result along with the RPC operation
4394
+ # @yieldparam response [::Google::Protobuf::Empty]
4395
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
4396
+ #
4397
+ # @return [::Google::Protobuf::Empty]
4398
+ #
4399
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
4400
+ #
4401
+ # @example Basic example
4402
+ # require "google/cloud/channel/v1"
4403
+ #
4404
+ # # Create a client object. The client can be reused for multiple calls.
4405
+ # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
4406
+ #
4407
+ # # Create a request. To set request fields, pass in keyword arguments.
4408
+ # request = Google::Cloud::Channel::V1::DeleteChannelPartnerRepricingConfigRequest.new
4409
+ #
4410
+ # # Call the delete_channel_partner_repricing_config method.
4411
+ # result = client.delete_channel_partner_repricing_config request
4412
+ #
4413
+ # # The returned object is of type Google::Protobuf::Empty.
4414
+ # p result
4415
+ #
4416
+ def delete_channel_partner_repricing_config request, options = nil
4417
+ raise ::ArgumentError, "request must be provided" if request.nil?
4418
+
4419
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::DeleteChannelPartnerRepricingConfigRequest
4420
+
4421
+ # Converts hash and nil to an options object
4422
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4423
+
4424
+ # Customize the options with defaults
4425
+ metadata = @config.rpcs.delete_channel_partner_repricing_config.metadata.to_h
4426
+
4427
+ # Set x-goog-api-client and x-goog-user-project headers
4428
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
4429
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
4430
+ gapic_version: ::Google::Cloud::Channel::V1::VERSION
4431
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
4432
+
4433
+ header_params = {}
4434
+ if request.name
4435
+ header_params["name"] = request.name
4436
+ end
4437
+
4438
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
4439
+ metadata[:"x-goog-request-params"] ||= request_params_header
4440
+
4441
+ options.apply_defaults timeout: @config.rpcs.delete_channel_partner_repricing_config.timeout,
4442
+ metadata: metadata,
4443
+ retry_policy: @config.rpcs.delete_channel_partner_repricing_config.retry_policy
4444
+
4445
+ options.apply_defaults timeout: @config.timeout,
4446
+ metadata: @config.metadata,
4447
+ retry_policy: @config.retry_policy
4448
+
4449
+ @cloud_channel_service_stub.call_rpc :delete_channel_partner_repricing_config, request, options: options do |response, operation|
4450
+ yield response, operation if block_given?
4451
+ return response
4452
+ end
4453
+ rescue ::GRPC::BadStatus => e
4454
+ raise ::Google::Cloud::Error.from_error(e)
4455
+ end
4456
+
3319
4457
  ##
3320
4458
  # Returns the requested {::Google::Cloud::Channel::V1::Offer Offer} resource.
3321
4459
  #
@@ -4554,6 +5692,56 @@ module Google
4554
5692
  #
4555
5693
  attr_reader :update_channel_partner_link
4556
5694
  ##
5695
+ # RPC-specific configuration for `get_customer_repricing_config`
5696
+ # @return [::Gapic::Config::Method]
5697
+ #
5698
+ attr_reader :get_customer_repricing_config
5699
+ ##
5700
+ # RPC-specific configuration for `list_customer_repricing_configs`
5701
+ # @return [::Gapic::Config::Method]
5702
+ #
5703
+ attr_reader :list_customer_repricing_configs
5704
+ ##
5705
+ # RPC-specific configuration for `create_customer_repricing_config`
5706
+ # @return [::Gapic::Config::Method]
5707
+ #
5708
+ attr_reader :create_customer_repricing_config
5709
+ ##
5710
+ # RPC-specific configuration for `update_customer_repricing_config`
5711
+ # @return [::Gapic::Config::Method]
5712
+ #
5713
+ attr_reader :update_customer_repricing_config
5714
+ ##
5715
+ # RPC-specific configuration for `delete_customer_repricing_config`
5716
+ # @return [::Gapic::Config::Method]
5717
+ #
5718
+ attr_reader :delete_customer_repricing_config
5719
+ ##
5720
+ # RPC-specific configuration for `get_channel_partner_repricing_config`
5721
+ # @return [::Gapic::Config::Method]
5722
+ #
5723
+ attr_reader :get_channel_partner_repricing_config
5724
+ ##
5725
+ # RPC-specific configuration for `list_channel_partner_repricing_configs`
5726
+ # @return [::Gapic::Config::Method]
5727
+ #
5728
+ attr_reader :list_channel_partner_repricing_configs
5729
+ ##
5730
+ # RPC-specific configuration for `create_channel_partner_repricing_config`
5731
+ # @return [::Gapic::Config::Method]
5732
+ #
5733
+ attr_reader :create_channel_partner_repricing_config
5734
+ ##
5735
+ # RPC-specific configuration for `update_channel_partner_repricing_config`
5736
+ # @return [::Gapic::Config::Method]
5737
+ #
5738
+ attr_reader :update_channel_partner_repricing_config
5739
+ ##
5740
+ # RPC-specific configuration for `delete_channel_partner_repricing_config`
5741
+ # @return [::Gapic::Config::Method]
5742
+ #
5743
+ attr_reader :delete_channel_partner_repricing_config
5744
+ ##
4557
5745
  # RPC-specific configuration for `lookup_offer`
4558
5746
  # @return [::Gapic::Config::Method]
4559
5747
  #
@@ -4653,6 +5841,26 @@ module Google
4653
5841
  @create_channel_partner_link = ::Gapic::Config::Method.new create_channel_partner_link_config
4654
5842
  update_channel_partner_link_config = parent_rpcs.update_channel_partner_link if parent_rpcs.respond_to? :update_channel_partner_link
4655
5843
  @update_channel_partner_link = ::Gapic::Config::Method.new update_channel_partner_link_config
5844
+ get_customer_repricing_config_config = parent_rpcs.get_customer_repricing_config if parent_rpcs.respond_to? :get_customer_repricing_config
5845
+ @get_customer_repricing_config = ::Gapic::Config::Method.new get_customer_repricing_config_config
5846
+ list_customer_repricing_configs_config = parent_rpcs.list_customer_repricing_configs if parent_rpcs.respond_to? :list_customer_repricing_configs
5847
+ @list_customer_repricing_configs = ::Gapic::Config::Method.new list_customer_repricing_configs_config
5848
+ create_customer_repricing_config_config = parent_rpcs.create_customer_repricing_config if parent_rpcs.respond_to? :create_customer_repricing_config
5849
+ @create_customer_repricing_config = ::Gapic::Config::Method.new create_customer_repricing_config_config
5850
+ update_customer_repricing_config_config = parent_rpcs.update_customer_repricing_config if parent_rpcs.respond_to? :update_customer_repricing_config
5851
+ @update_customer_repricing_config = ::Gapic::Config::Method.new update_customer_repricing_config_config
5852
+ delete_customer_repricing_config_config = parent_rpcs.delete_customer_repricing_config if parent_rpcs.respond_to? :delete_customer_repricing_config
5853
+ @delete_customer_repricing_config = ::Gapic::Config::Method.new delete_customer_repricing_config_config
5854
+ get_channel_partner_repricing_config_config = parent_rpcs.get_channel_partner_repricing_config if parent_rpcs.respond_to? :get_channel_partner_repricing_config
5855
+ @get_channel_partner_repricing_config = ::Gapic::Config::Method.new get_channel_partner_repricing_config_config
5856
+ list_channel_partner_repricing_configs_config = parent_rpcs.list_channel_partner_repricing_configs if parent_rpcs.respond_to? :list_channel_partner_repricing_configs
5857
+ @list_channel_partner_repricing_configs = ::Gapic::Config::Method.new list_channel_partner_repricing_configs_config
5858
+ create_channel_partner_repricing_config_config = parent_rpcs.create_channel_partner_repricing_config if parent_rpcs.respond_to? :create_channel_partner_repricing_config
5859
+ @create_channel_partner_repricing_config = ::Gapic::Config::Method.new create_channel_partner_repricing_config_config
5860
+ update_channel_partner_repricing_config_config = parent_rpcs.update_channel_partner_repricing_config if parent_rpcs.respond_to? :update_channel_partner_repricing_config
5861
+ @update_channel_partner_repricing_config = ::Gapic::Config::Method.new update_channel_partner_repricing_config_config
5862
+ delete_channel_partner_repricing_config_config = parent_rpcs.delete_channel_partner_repricing_config if parent_rpcs.respond_to? :delete_channel_partner_repricing_config
5863
+ @delete_channel_partner_repricing_config = ::Gapic::Config::Method.new delete_channel_partner_repricing_config_config
4656
5864
  lookup_offer_config = parent_rpcs.lookup_offer if parent_rpcs.respond_to? :lookup_offer
4657
5865
  @lookup_offer = ::Gapic::Config::Method.new lookup_offer_config
4658
5866
  list_products_config = parent_rpcs.list_products if parent_rpcs.respond_to? :list_products