google-cloud-channel-v1 0.9.4 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -224,7 +224,7 @@ module Google
224
224
  # @param options [::Gapic::CallOptions, ::Hash]
225
225
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
226
226
  #
227
- # @overload list_customers(parent: nil, page_size: nil, page_token: nil)
227
+ # @overload list_customers(parent: nil, page_size: nil, page_token: nil, filter: nil)
228
228
  # Pass arguments to `list_customers` via keyword arguments. Note that at
229
229
  # least one keyword argument is required. To specify no parameters, or to keep all
230
230
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -241,6 +241,10 @@ module Google
241
241
  # Obtained through
242
242
  # {::Google::Cloud::Channel::V1::ListCustomersResponse#next_page_token ListCustomersResponse.next_page_token} of the previous
243
243
  # {::Google::Cloud::Channel::V1::CloudChannelService::Client#list_customers CloudChannelService.ListCustomers} call.
244
+ # @param filter [::String]
245
+ # Optional. Filters applied to the [CloudChannelService.ListCustomers] results. See
246
+ # https://cloud.google.com/channel/docs/concepts/google-cloud/filter-customers
247
+ # for more information.
244
248
  #
245
249
  # @yield [response, operation] Access the result along with the RPC operation
246
250
  # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Customer>]
@@ -3313,42 +3317,46 @@ module Google
3313
3317
  end
3314
3318
 
3315
3319
  ##
3316
- # Returns the requested {::Google::Cloud::Channel::V1::Offer Offer} resource.
3320
+ # Gets information about how a Reseller modifies their bill before sending
3321
+ # it to a Customer.
3317
3322
  #
3318
- # Possible error codes:
3323
+ # Possible Error Codes:
3319
3324
  #
3320
- # * PERMISSION_DENIED: The entitlement doesn't belong to the reseller.
3321
- # * INVALID_ARGUMENT: Required request parameters are missing or invalid.
3322
- # * NOT_FOUND: Entitlement or offer was not found.
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.
3323
3330
  #
3324
- # Return value:
3325
- # The {::Google::Cloud::Channel::V1::Offer Offer} resource.
3331
+ # Return Value:
3332
+ # If successful, the {::Google::Cloud::Channel::V1::CustomerRepricingConfig CustomerRepricingConfig} resource, otherwise returns
3333
+ # an error.
3326
3334
  #
3327
- # @overload lookup_offer(request, options = nil)
3328
- # Pass arguments to `lookup_offer` via a request object, either of type
3329
- # {::Google::Cloud::Channel::V1::LookupOfferRequest} or an equivalent Hash.
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.
3330
3338
  #
3331
- # @param request [::Google::Cloud::Channel::V1::LookupOfferRequest, ::Hash]
3339
+ # @param request [::Google::Cloud::Channel::V1::GetCustomerRepricingConfigRequest, ::Hash]
3332
3340
  # A request object representing the call parameters. Required. To specify no
3333
3341
  # parameters, or to keep all the default parameter values, pass an empty Hash.
3334
3342
  # @param options [::Gapic::CallOptions, ::Hash]
3335
3343
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
3336
3344
  #
3337
- # @overload lookup_offer(entitlement: nil)
3338
- # Pass arguments to `lookup_offer` via keyword arguments. Note that at
3345
+ # @overload get_customer_repricing_config(name: nil)
3346
+ # Pass arguments to `get_customer_repricing_config` via keyword arguments. Note that at
3339
3347
  # least one keyword argument is required. To specify no parameters, or to keep all
3340
3348
  # the default parameter values, pass an empty Hash as a request object (see above).
3341
3349
  #
3342
- # @param entitlement [::String]
3343
- # Required. The resource name of the entitlement to retrieve the Offer.
3344
- # Entitlement uses the format:
3345
- # accounts/\\{account_id}/customers/\\{customer_id}/entitlements/\\{entitlement_id}
3350
+ # @param name [::String]
3351
+ # Required. The resource name of the CustomerRepricingConfig.
3352
+ # Format:
3353
+ # accounts/\\{account_id}/customers/\\{customer_id}/customerRepricingConfigs/\\{id}.
3346
3354
  #
3347
3355
  # @yield [response, operation] Access the result along with the RPC operation
3348
- # @yieldparam response [::Google::Cloud::Channel::V1::Offer]
3356
+ # @yieldparam response [::Google::Cloud::Channel::V1::CustomerRepricingConfig]
3349
3357
  # @yieldparam operation [::GRPC::ActiveCall::Operation]
3350
3358
  #
3351
- # @return [::Google::Cloud::Channel::V1::Offer]
3359
+ # @return [::Google::Cloud::Channel::V1::CustomerRepricingConfig]
3352
3360
  #
3353
3361
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
3354
3362
  #
@@ -3359,24 +3367,24 @@ module Google
3359
3367
  # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
3360
3368
  #
3361
3369
  # # Create a request. To set request fields, pass in keyword arguments.
3362
- # request = Google::Cloud::Channel::V1::LookupOfferRequest.new
3370
+ # request = Google::Cloud::Channel::V1::GetCustomerRepricingConfigRequest.new
3363
3371
  #
3364
- # # Call the lookup_offer method.
3365
- # result = client.lookup_offer request
3372
+ # # Call the get_customer_repricing_config method.
3373
+ # result = client.get_customer_repricing_config request
3366
3374
  #
3367
- # # The returned object is of type Google::Cloud::Channel::V1::Offer.
3375
+ # # The returned object is of type Google::Cloud::Channel::V1::CustomerRepricingConfig.
3368
3376
  # p result
3369
3377
  #
3370
- def lookup_offer request, options = nil
3378
+ def get_customer_repricing_config request, options = nil
3371
3379
  raise ::ArgumentError, "request must be provided" if request.nil?
3372
3380
 
3373
- request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::LookupOfferRequest
3381
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::GetCustomerRepricingConfigRequest
3374
3382
 
3375
3383
  # Converts hash and nil to an options object
3376
3384
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3377
3385
 
3378
3386
  # Customize the options with defaults
3379
- metadata = @config.rpcs.lookup_offer.metadata.to_h
3387
+ metadata = @config.rpcs.get_customer_repricing_config.metadata.to_h
3380
3388
 
3381
3389
  # Set x-goog-api-client and x-goog-user-project headers
3382
3390
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
@@ -3385,22 +3393,22 @@ module Google
3385
3393
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3386
3394
 
3387
3395
  header_params = {}
3388
- if request.entitlement
3389
- header_params["entitlement"] = request.entitlement
3396
+ if request.name
3397
+ header_params["name"] = request.name
3390
3398
  end
3391
3399
 
3392
3400
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
3393
3401
  metadata[:"x-goog-request-params"] ||= request_params_header
3394
3402
 
3395
- options.apply_defaults timeout: @config.rpcs.lookup_offer.timeout,
3403
+ options.apply_defaults timeout: @config.rpcs.get_customer_repricing_config.timeout,
3396
3404
  metadata: metadata,
3397
- retry_policy: @config.rpcs.lookup_offer.retry_policy
3405
+ retry_policy: @config.rpcs.get_customer_repricing_config.retry_policy
3398
3406
 
3399
3407
  options.apply_defaults timeout: @config.timeout,
3400
3408
  metadata: @config.metadata,
3401
3409
  retry_policy: @config.retry_policy
3402
3410
 
3403
- @cloud_channel_service_stub.call_rpc :lookup_offer, request, options: options do |response, operation|
3411
+ @cloud_channel_service_stub.call_rpc :get_customer_repricing_config, request, options: options do |response, operation|
3404
3412
  yield response, operation if block_given?
3405
3413
  return response
3406
3414
  end
@@ -3409,46 +3417,71 @@ module Google
3409
3417
  end
3410
3418
 
3411
3419
  ##
3412
- # Lists the Products the reseller is authorized to sell.
3420
+ # Lists information about how a Reseller modifies their bill before sending
3421
+ # it to a Customer.
3413
3422
  #
3414
- # Possible error codes:
3423
+ # Possible Error Codes:
3415
3424
  #
3416
- # * INVALID_ARGUMENT: Required request parameters are missing or invalid.
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.
3417
3431
  #
3418
- # @overload list_products(request, options = nil)
3419
- # Pass arguments to `list_products` via a request object, either of type
3420
- # {::Google::Cloud::Channel::V1::ListProductsRequest} or an equivalent Hash.
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}
3421
3439
  #
3422
- # @param request [::Google::Cloud::Channel::V1::ListProductsRequest, ::Hash]
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]
3423
3447
  # A request object representing the call parameters. Required. To specify no
3424
3448
  # parameters, or to keep all the default parameter values, pass an empty Hash.
3425
3449
  # @param options [::Gapic::CallOptions, ::Hash]
3426
3450
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
3427
3451
  #
3428
- # @overload list_products(account: nil, page_size: nil, page_token: nil, language_code: nil)
3429
- # Pass arguments to `list_products` via keyword arguments. Note that at
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
3430
3454
  # least one keyword argument is required. To specify no parameters, or to keep all
3431
3455
  # the default parameter values, pass an empty Hash as a request object (see above).
3432
3456
  #
3433
- # @param account [::String]
3434
- # Required. The resource name of the reseller account.
3435
- # Format: accounts/\\{account_id}.
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.
3436
3462
  # @param page_size [::Integer]
3437
- # Optional. Requested page size. Server might return fewer results than requested.
3438
- # If unspecified, returns at most 100 Products.
3439
- # The maximum value is 1000; the server will coerce values above 1000.
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.
3440
3466
  # @param page_token [::String]
3441
- # Optional. A token for a page of results other than the first page.
3442
- # @param language_code [::String]
3443
- # Optional. The BCP-47 language code. For example, "en-US". The
3444
- # response will localize in the corresponding language code, if specified.
3445
- # The default value is "en-US".
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.
3446
3479
  #
3447
3480
  # @yield [response, operation] Access the result along with the RPC operation
3448
- # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Product>]
3481
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::CustomerRepricingConfig>]
3449
3482
  # @yieldparam operation [::GRPC::ActiveCall::Operation]
3450
3483
  #
3451
- # @return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Product>]
3484
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::CustomerRepricingConfig>]
3452
3485
  #
3453
3486
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
3454
3487
  #
@@ -3459,30 +3492,30 @@ module Google
3459
3492
  # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
3460
3493
  #
3461
3494
  # # Create a request. To set request fields, pass in keyword arguments.
3462
- # request = Google::Cloud::Channel::V1::ListProductsRequest.new
3495
+ # request = Google::Cloud::Channel::V1::ListCustomerRepricingConfigsRequest.new
3463
3496
  #
3464
- # # Call the list_products method.
3465
- # result = client.list_products request
3497
+ # # Call the list_customer_repricing_configs method.
3498
+ # result = client.list_customer_repricing_configs request
3466
3499
  #
3467
3500
  # # The returned object is of type Gapic::PagedEnumerable. You can
3468
3501
  # # iterate over all elements by calling #each, and the enumerable
3469
3502
  # # will lazily make API calls to fetch subsequent pages. Other
3470
3503
  # # methods are also available for managing paging directly.
3471
3504
  # result.each do |response|
3472
- # # Each element is of type ::Google::Cloud::Channel::V1::Product.
3505
+ # # Each element is of type ::Google::Cloud::Channel::V1::CustomerRepricingConfig.
3473
3506
  # p response
3474
3507
  # end
3475
3508
  #
3476
- def list_products request, options = nil
3509
+ def list_customer_repricing_configs request, options = nil
3477
3510
  raise ::ArgumentError, "request must be provided" if request.nil?
3478
3511
 
3479
- request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListProductsRequest
3512
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListCustomerRepricingConfigsRequest
3480
3513
 
3481
3514
  # Converts hash and nil to an options object
3482
3515
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3483
3516
 
3484
3517
  # Customize the options with defaults
3485
- metadata = @config.rpcs.list_products.metadata.to_h
3518
+ metadata = @config.rpcs.list_customer_repricing_configs.metadata.to_h
3486
3519
 
3487
3520
  # Set x-goog-api-client and x-goog-user-project headers
3488
3521
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
@@ -3490,16 +3523,24 @@ module Google
3490
3523
  gapic_version: ::Google::Cloud::Channel::V1::VERSION
3491
3524
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3492
3525
 
3493
- options.apply_defaults timeout: @config.rpcs.list_products.timeout,
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,
3494
3535
  metadata: metadata,
3495
- retry_policy: @config.rpcs.list_products.retry_policy
3536
+ retry_policy: @config.rpcs.list_customer_repricing_configs.retry_policy
3496
3537
 
3497
3538
  options.apply_defaults timeout: @config.timeout,
3498
3539
  metadata: @config.metadata,
3499
3540
  retry_policy: @config.retry_policy
3500
3541
 
3501
- @cloud_channel_service_stub.call_rpc :list_products, request, options: options do |response, operation|
3502
- response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_products, request, response, operation, options
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
3503
3544
  yield response, operation if block_given?
3504
3545
  return response
3505
3546
  end
@@ -3508,51 +3549,71 @@ module Google
3508
3549
  end
3509
3550
 
3510
3551
  ##
3511
- # Lists the SKUs for a product the reseller is authorized to sell.
3512
- #
3513
- # Possible error codes:
3514
- #
3515
- # * INVALID_ARGUMENT: Required request parameters are missing or invalid.
3516
- #
3517
- # @overload list_skus(request, options = nil)
3518
- # Pass arguments to `list_skus` via a request object, either of type
3519
- # {::Google::Cloud::Channel::V1::ListSkusRequest} or an equivalent Hash.
3520
- #
3521
- # @param request [::Google::Cloud::Channel::V1::ListSkusRequest, ::Hash]
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]
3522
3596
  # A request object representing the call parameters. Required. To specify no
3523
3597
  # parameters, or to keep all the default parameter values, pass an empty Hash.
3524
3598
  # @param options [::Gapic::CallOptions, ::Hash]
3525
3599
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
3526
3600
  #
3527
- # @overload list_skus(parent: nil, account: nil, page_size: nil, page_token: nil, language_code: nil)
3528
- # Pass arguments to `list_skus` via keyword arguments. Note that at
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
3529
3603
  # least one keyword argument is required. To specify no parameters, or to keep all
3530
3604
  # the default parameter values, pass an empty Hash as a request object (see above).
3531
3605
  #
3532
3606
  # @param parent [::String]
3533
- # Required. The resource name of the Product to list SKUs for.
3534
- # Parent uses the format: products/\\{product_id}.
3535
- # Supports products/- to retrieve SKUs for all products.
3536
- # @param account [::String]
3537
- # Required. Resource name of the reseller.
3538
- # Format: accounts/\\{account_id}.
3539
- # @param page_size [::Integer]
3540
- # Optional. Requested page size. Server might return fewer results than requested.
3541
- # If unspecified, returns at most 100 SKUs.
3542
- # The maximum value is 1000; the server will coerce values above 1000.
3543
- # @param page_token [::String]
3544
- # Optional. A token for a page of results other than the first page.
3545
- # Optional.
3546
- # @param language_code [::String]
3547
- # Optional. The BCP-47 language code. For example, "en-US". The
3548
- # response will localize in the corresponding language code, if specified.
3549
- # The default value is "en-US".
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.
3550
3611
  #
3551
3612
  # @yield [response, operation] Access the result along with the RPC operation
3552
- # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Sku>]
3613
+ # @yieldparam response [::Google::Cloud::Channel::V1::CustomerRepricingConfig]
3553
3614
  # @yieldparam operation [::GRPC::ActiveCall::Operation]
3554
3615
  #
3555
- # @return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Sku>]
3616
+ # @return [::Google::Cloud::Channel::V1::CustomerRepricingConfig]
3556
3617
  #
3557
3618
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
3558
3619
  #
@@ -3563,30 +3624,24 @@ module Google
3563
3624
  # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
3564
3625
  #
3565
3626
  # # Create a request. To set request fields, pass in keyword arguments.
3566
- # request = Google::Cloud::Channel::V1::ListSkusRequest.new
3627
+ # request = Google::Cloud::Channel::V1::CreateCustomerRepricingConfigRequest.new
3567
3628
  #
3568
- # # Call the list_skus method.
3569
- # result = client.list_skus request
3629
+ # # Call the create_customer_repricing_config method.
3630
+ # result = client.create_customer_repricing_config request
3570
3631
  #
3571
- # # The returned object is of type Gapic::PagedEnumerable. You can
3572
- # # iterate over all elements by calling #each, and the enumerable
3573
- # # will lazily make API calls to fetch subsequent pages. Other
3574
- # # methods are also available for managing paging directly.
3575
- # result.each do |response|
3576
- # # Each element is of type ::Google::Cloud::Channel::V1::Sku.
3577
- # p response
3578
- # end
3632
+ # # The returned object is of type Google::Cloud::Channel::V1::CustomerRepricingConfig.
3633
+ # p result
3579
3634
  #
3580
- def list_skus request, options = nil
3635
+ def create_customer_repricing_config request, options = nil
3581
3636
  raise ::ArgumentError, "request must be provided" if request.nil?
3582
3637
 
3583
- request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListSkusRequest
3638
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::CreateCustomerRepricingConfigRequest
3584
3639
 
3585
3640
  # Converts hash and nil to an options object
3586
3641
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3587
3642
 
3588
3643
  # Customize the options with defaults
3589
- metadata = @config.rpcs.list_skus.metadata.to_h
3644
+ metadata = @config.rpcs.create_customer_repricing_config.metadata.to_h
3590
3645
 
3591
3646
  # Set x-goog-api-client and x-goog-user-project headers
3592
3647
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
@@ -3602,16 +3657,15 @@ module Google
3602
3657
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
3603
3658
  metadata[:"x-goog-request-params"] ||= request_params_header
3604
3659
 
3605
- options.apply_defaults timeout: @config.rpcs.list_skus.timeout,
3660
+ options.apply_defaults timeout: @config.rpcs.create_customer_repricing_config.timeout,
3606
3661
  metadata: metadata,
3607
- retry_policy: @config.rpcs.list_skus.retry_policy
3662
+ retry_policy: @config.rpcs.create_customer_repricing_config.retry_policy
3608
3663
 
3609
3664
  options.apply_defaults timeout: @config.timeout,
3610
3665
  metadata: @config.metadata,
3611
3666
  retry_policy: @config.retry_policy
3612
3667
 
3613
- @cloud_channel_service_stub.call_rpc :list_skus, request, options: options do |response, operation|
3614
- response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_skus, request, response, operation, options
3668
+ @cloud_channel_service_stub.call_rpc :create_customer_repricing_config, request, options: options do |response, operation|
3615
3669
  yield response, operation if block_given?
3616
3670
  return response
3617
3671
  end
@@ -3620,52 +3674,59 @@ module Google
3620
3674
  end
3621
3675
 
3622
3676
  ##
3623
- # Lists the Offers the reseller can sell.
3677
+ # Updates a CustomerRepricingConfig. Call this method to set modifications
3678
+ # for a specific customer's bill. This method overwrites the existing
3679
+ # CustomerRepricingConfig.
3624
3680
  #
3625
- # Possible error codes:
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}.
3626
3686
  #
3627
- # * INVALID_ARGUMENT: Required request parameters are missing or invalid.
3687
+ # When updating a config in the future:
3628
3688
  #
3629
- # @overload list_offers(request, options = nil)
3630
- # Pass arguments to `list_offers` via a request object, either of type
3631
- # {::Google::Cloud::Channel::V1::ListOffersRequest} or an equivalent Hash.
3689
+ # * This config must already exist.
3632
3690
  #
3633
- # @param request [::Google::Cloud::Channel::V1::ListOffersRequest, ::Hash]
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]
3634
3712
  # A request object representing the call parameters. Required. To specify no
3635
3713
  # parameters, or to keep all the default parameter values, pass an empty Hash.
3636
3714
  # @param options [::Gapic::CallOptions, ::Hash]
3637
3715
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
3638
3716
  #
3639
- # @overload list_offers(parent: nil, page_size: nil, page_token: nil, filter: nil, language_code: nil)
3640
- # Pass arguments to `list_offers` via keyword arguments. Note that at
3717
+ # @overload update_customer_repricing_config(customer_repricing_config: nil)
3718
+ # Pass arguments to `update_customer_repricing_config` via keyword arguments. Note that at
3641
3719
  # least one keyword argument is required. To specify no parameters, or to keep all
3642
3720
  # the default parameter values, pass an empty Hash as a request object (see above).
3643
3721
  #
3644
- # @param parent [::String]
3645
- # Required. The resource name of the reseller account from which to list Offers.
3646
- # Parent uses the format: accounts/\\{account_id}.
3647
- # @param page_size [::Integer]
3648
- # Optional. Requested page size. Server might return fewer results than requested.
3649
- # If unspecified, returns at most 500 Offers.
3650
- # The maximum value is 1000; the server will coerce values above 1000.
3651
- # @param page_token [::String]
3652
- # Optional. A token for a page of results other than the first page.
3653
- # @param filter [::String]
3654
- # Optional. The expression to filter results by name (name of
3655
- # the Offer), sku.name (name of the SKU), or sku.product.name (name of the
3656
- # Product).
3657
- # Example 1: sku.product.name=products/p1 AND sku.name!=products/p1/skus/s1
3658
- # Example 2: name=accounts/a1/offers/o1
3659
- # @param language_code [::String]
3660
- # Optional. The BCP-47 language code. For example, "en-US". The
3661
- # response will localize in the corresponding language code, if specified.
3662
- # The default value is "en-US".
3722
+ # @param customer_repricing_config [::Google::Cloud::Channel::V1::CustomerRepricingConfig, ::Hash]
3723
+ # Required. The CustomerRepricingConfig object to update.
3663
3724
  #
3664
3725
  # @yield [response, operation] Access the result along with the RPC operation
3665
- # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Offer>]
3726
+ # @yieldparam response [::Google::Cloud::Channel::V1::CustomerRepricingConfig]
3666
3727
  # @yieldparam operation [::GRPC::ActiveCall::Operation]
3667
3728
  #
3668
- # @return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Offer>]
3729
+ # @return [::Google::Cloud::Channel::V1::CustomerRepricingConfig]
3669
3730
  #
3670
3731
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
3671
3732
  #
@@ -3676,30 +3737,24 @@ module Google
3676
3737
  # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
3677
3738
  #
3678
3739
  # # Create a request. To set request fields, pass in keyword arguments.
3679
- # request = Google::Cloud::Channel::V1::ListOffersRequest.new
3740
+ # request = Google::Cloud::Channel::V1::UpdateCustomerRepricingConfigRequest.new
3680
3741
  #
3681
- # # Call the list_offers method.
3682
- # result = client.list_offers request
3742
+ # # Call the update_customer_repricing_config method.
3743
+ # result = client.update_customer_repricing_config request
3683
3744
  #
3684
- # # The returned object is of type Gapic::PagedEnumerable. You can
3685
- # # iterate over all elements by calling #each, and the enumerable
3686
- # # will lazily make API calls to fetch subsequent pages. Other
3687
- # # methods are also available for managing paging directly.
3688
- # result.each do |response|
3689
- # # Each element is of type ::Google::Cloud::Channel::V1::Offer.
3690
- # p response
3691
- # end
3745
+ # # The returned object is of type Google::Cloud::Channel::V1::CustomerRepricingConfig.
3746
+ # p result
3692
3747
  #
3693
- def list_offers request, options = nil
3748
+ def update_customer_repricing_config request, options = nil
3694
3749
  raise ::ArgumentError, "request must be provided" if request.nil?
3695
3750
 
3696
- request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListOffersRequest
3751
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::UpdateCustomerRepricingConfigRequest
3697
3752
 
3698
3753
  # Converts hash and nil to an options object
3699
3754
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3700
3755
 
3701
3756
  # Customize the options with defaults
3702
- metadata = @config.rpcs.list_offers.metadata.to_h
3757
+ metadata = @config.rpcs.update_customer_repricing_config.metadata.to_h
3703
3758
 
3704
3759
  # Set x-goog-api-client and x-goog-user-project headers
3705
3760
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
@@ -3708,23 +3763,22 @@ module Google
3708
3763
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3709
3764
 
3710
3765
  header_params = {}
3711
- if request.parent
3712
- header_params["parent"] = request.parent
3766
+ if request.customer_repricing_config&.name
3767
+ header_params["customer_repricing_config.name"] = request.customer_repricing_config.name
3713
3768
  end
3714
3769
 
3715
3770
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
3716
3771
  metadata[:"x-goog-request-params"] ||= request_params_header
3717
3772
 
3718
- options.apply_defaults timeout: @config.rpcs.list_offers.timeout,
3773
+ options.apply_defaults timeout: @config.rpcs.update_customer_repricing_config.timeout,
3719
3774
  metadata: metadata,
3720
- retry_policy: @config.rpcs.list_offers.retry_policy
3775
+ retry_policy: @config.rpcs.update_customer_repricing_config.retry_policy
3721
3776
 
3722
3777
  options.apply_defaults timeout: @config.timeout,
3723
3778
  metadata: @config.metadata,
3724
3779
  retry_policy: @config.retry_policy
3725
3780
 
3726
- @cloud_channel_service_stub.call_rpc :list_offers, request, options: options do |response, operation|
3727
- response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_offers, request, response, operation, options
3781
+ @cloud_channel_service_stub.call_rpc :update_customer_repricing_config, request, options: options do |response, operation|
3728
3782
  yield response, operation if block_given?
3729
3783
  return response
3730
3784
  end
@@ -3733,54 +3787,45 @@ module Google
3733
3787
  end
3734
3788
 
3735
3789
  ##
3736
- # Lists the following:
3737
- #
3738
- # * SKUs that you can purchase for a customer
3739
- # * SKUs that you can upgrade or downgrade for an entitlement.
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.
3740
3793
  #
3741
3794
  # Possible error codes:
3742
3795
  #
3743
- # * PERMISSION_DENIED: The customer doesn't belong to the reseller.
3796
+ # * PERMISSION_DENIED: The account making the request does not own
3797
+ # this customer.
3744
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.
3745
3803
  #
3746
- # @overload list_purchasable_skus(request, options = nil)
3747
- # Pass arguments to `list_purchasable_skus` via a request object, either of type
3748
- # {::Google::Cloud::Channel::V1::ListPurchasableSkusRequest} or an equivalent Hash.
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.
3749
3807
  #
3750
- # @param request [::Google::Cloud::Channel::V1::ListPurchasableSkusRequest, ::Hash]
3808
+ # @param request [::Google::Cloud::Channel::V1::DeleteCustomerRepricingConfigRequest, ::Hash]
3751
3809
  # A request object representing the call parameters. Required. To specify no
3752
3810
  # parameters, or to keep all the default parameter values, pass an empty Hash.
3753
3811
  # @param options [::Gapic::CallOptions, ::Hash]
3754
3812
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
3755
3813
  #
3756
- # @overload list_purchasable_skus(create_entitlement_purchase: nil, change_offer_purchase: nil, customer: nil, page_size: nil, page_token: nil, language_code: nil)
3757
- # Pass arguments to `list_purchasable_skus` via keyword arguments. Note that at
3814
+ # @overload delete_customer_repricing_config(name: nil)
3815
+ # Pass arguments to `delete_customer_repricing_config` via keyword arguments. Note that at
3758
3816
  # least one keyword argument is required. To specify no parameters, or to keep all
3759
3817
  # the default parameter values, pass an empty Hash as a request object (see above).
3760
3818
  #
3761
- # @param create_entitlement_purchase [::Google::Cloud::Channel::V1::ListPurchasableSkusRequest::CreateEntitlementPurchase, ::Hash]
3762
- # List SKUs for CreateEntitlement purchase.
3763
- # @param change_offer_purchase [::Google::Cloud::Channel::V1::ListPurchasableSkusRequest::ChangeOfferPurchase, ::Hash]
3764
- # List SKUs for ChangeOffer purchase with a new SKU.
3765
- # @param customer [::String]
3766
- # Required. The resource name of the customer to list SKUs for.
3767
- # Format: accounts/\\{account_id}/customers/\\{customer_id}.
3768
- # @param page_size [::Integer]
3769
- # Optional. Requested page size. Server might return fewer results than requested.
3770
- # If unspecified, returns at most 100 SKUs.
3771
- # The maximum value is 1000; the server will coerce values above 1000.
3772
- # @param page_token [::String]
3773
- # Optional. A token for a page of results other than the first page.
3774
- # @param language_code [::String]
3775
- # Optional. The BCP-47 language code. For example, "en-US". The
3776
- # response will localize in the corresponding language code, if specified.
3777
- # The default value is "en-US".
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}.
3778
3823
  #
3779
3824
  # @yield [response, operation] Access the result along with the RPC operation
3780
- # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::PurchasableSku>]
3825
+ # @yieldparam response [::Google::Protobuf::Empty]
3781
3826
  # @yieldparam operation [::GRPC::ActiveCall::Operation]
3782
3827
  #
3783
- # @return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::PurchasableSku>]
3828
+ # @return [::Google::Protobuf::Empty]
3784
3829
  #
3785
3830
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
3786
3831
  #
@@ -3791,30 +3836,24 @@ module Google
3791
3836
  # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
3792
3837
  #
3793
3838
  # # Create a request. To set request fields, pass in keyword arguments.
3794
- # request = Google::Cloud::Channel::V1::ListPurchasableSkusRequest.new
3839
+ # request = Google::Cloud::Channel::V1::DeleteCustomerRepricingConfigRequest.new
3795
3840
  #
3796
- # # Call the list_purchasable_skus method.
3797
- # result = client.list_purchasable_skus request
3841
+ # # Call the delete_customer_repricing_config method.
3842
+ # result = client.delete_customer_repricing_config request
3798
3843
  #
3799
- # # The returned object is of type Gapic::PagedEnumerable. You can
3800
- # # iterate over all elements by calling #each, and the enumerable
3801
- # # will lazily make API calls to fetch subsequent pages. Other
3802
- # # methods are also available for managing paging directly.
3803
- # result.each do |response|
3804
- # # Each element is of type ::Google::Cloud::Channel::V1::PurchasableSku.
3805
- # p response
3806
- # end
3844
+ # # The returned object is of type Google::Protobuf::Empty.
3845
+ # p result
3807
3846
  #
3808
- def list_purchasable_skus request, options = nil
3847
+ def delete_customer_repricing_config request, options = nil
3809
3848
  raise ::ArgumentError, "request must be provided" if request.nil?
3810
3849
 
3811
- request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListPurchasableSkusRequest
3850
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::DeleteCustomerRepricingConfigRequest
3812
3851
 
3813
3852
  # Converts hash and nil to an options object
3814
3853
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3815
3854
 
3816
3855
  # Customize the options with defaults
3817
- metadata = @config.rpcs.list_purchasable_skus.metadata.to_h
3856
+ metadata = @config.rpcs.delete_customer_repricing_config.metadata.to_h
3818
3857
 
3819
3858
  # Set x-goog-api-client and x-goog-user-project headers
3820
3859
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
@@ -3823,23 +3862,22 @@ module Google
3823
3862
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3824
3863
 
3825
3864
  header_params = {}
3826
- if request.customer
3827
- header_params["customer"] = request.customer
3865
+ if request.name
3866
+ header_params["name"] = request.name
3828
3867
  end
3829
3868
 
3830
3869
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
3831
3870
  metadata[:"x-goog-request-params"] ||= request_params_header
3832
3871
 
3833
- options.apply_defaults timeout: @config.rpcs.list_purchasable_skus.timeout,
3872
+ options.apply_defaults timeout: @config.rpcs.delete_customer_repricing_config.timeout,
3834
3873
  metadata: metadata,
3835
- retry_policy: @config.rpcs.list_purchasable_skus.retry_policy
3874
+ retry_policy: @config.rpcs.delete_customer_repricing_config.retry_policy
3836
3875
 
3837
3876
  options.apply_defaults timeout: @config.timeout,
3838
3877
  metadata: @config.metadata,
3839
3878
  retry_policy: @config.retry_policy
3840
3879
 
3841
- @cloud_channel_service_stub.call_rpc :list_purchasable_skus, request, options: options do |response, operation|
3842
- response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_purchasable_skus, request, response, operation, options
3880
+ @cloud_channel_service_stub.call_rpc :delete_customer_repricing_config, request, options: options do |response, operation|
3843
3881
  yield response, operation if block_given?
3844
3882
  return response
3845
3883
  end
@@ -3848,18 +3886,1122 @@ module Google
3848
3886
  end
3849
3887
 
3850
3888
  ##
3851
- # Lists the following:
3889
+ # Gets information about how a Distributor modifies their bill before sending
3890
+ # it to a ChannelPartner.
3852
3891
  #
3853
- # * Offers that you can purchase for a customer.
3854
- # * Offers that you can change for an entitlement.
3892
+ # Possible Error Codes:
3855
3893
  #
3856
- # Possible error codes:
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.
3857
3899
  #
3858
- # * PERMISSION_DENIED: The customer doesn't belong to the reseller
3859
- # * INVALID_ARGUMENT: Required request parameters are missing or invalid.
3900
+ # Return Value:
3901
+ # If successful, the {::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig ChannelPartnerRepricingConfig} resource, otherwise
3902
+ # returns an error.
3860
3903
  #
3861
- # @overload list_purchasable_offers(request, options = nil)
3862
- # Pass arguments to `list_purchasable_offers` via a request object, either of type
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
+
4457
+ ##
4458
+ # Returns the requested {::Google::Cloud::Channel::V1::Offer Offer} resource.
4459
+ #
4460
+ # Possible error codes:
4461
+ #
4462
+ # * PERMISSION_DENIED: The entitlement doesn't belong to the reseller.
4463
+ # * INVALID_ARGUMENT: Required request parameters are missing or invalid.
4464
+ # * NOT_FOUND: Entitlement or offer was not found.
4465
+ #
4466
+ # Return value:
4467
+ # The {::Google::Cloud::Channel::V1::Offer Offer} resource.
4468
+ #
4469
+ # @overload lookup_offer(request, options = nil)
4470
+ # Pass arguments to `lookup_offer` via a request object, either of type
4471
+ # {::Google::Cloud::Channel::V1::LookupOfferRequest} or an equivalent Hash.
4472
+ #
4473
+ # @param request [::Google::Cloud::Channel::V1::LookupOfferRequest, ::Hash]
4474
+ # A request object representing the call parameters. Required. To specify no
4475
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
4476
+ # @param options [::Gapic::CallOptions, ::Hash]
4477
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
4478
+ #
4479
+ # @overload lookup_offer(entitlement: nil)
4480
+ # Pass arguments to `lookup_offer` via keyword arguments. Note that at
4481
+ # least one keyword argument is required. To specify no parameters, or to keep all
4482
+ # the default parameter values, pass an empty Hash as a request object (see above).
4483
+ #
4484
+ # @param entitlement [::String]
4485
+ # Required. The resource name of the entitlement to retrieve the Offer.
4486
+ # Entitlement uses the format:
4487
+ # accounts/\\{account_id}/customers/\\{customer_id}/entitlements/\\{entitlement_id}
4488
+ #
4489
+ # @yield [response, operation] Access the result along with the RPC operation
4490
+ # @yieldparam response [::Google::Cloud::Channel::V1::Offer]
4491
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
4492
+ #
4493
+ # @return [::Google::Cloud::Channel::V1::Offer]
4494
+ #
4495
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
4496
+ #
4497
+ # @example Basic example
4498
+ # require "google/cloud/channel/v1"
4499
+ #
4500
+ # # Create a client object. The client can be reused for multiple calls.
4501
+ # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
4502
+ #
4503
+ # # Create a request. To set request fields, pass in keyword arguments.
4504
+ # request = Google::Cloud::Channel::V1::LookupOfferRequest.new
4505
+ #
4506
+ # # Call the lookup_offer method.
4507
+ # result = client.lookup_offer request
4508
+ #
4509
+ # # The returned object is of type Google::Cloud::Channel::V1::Offer.
4510
+ # p result
4511
+ #
4512
+ def lookup_offer request, options = nil
4513
+ raise ::ArgumentError, "request must be provided" if request.nil?
4514
+
4515
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::LookupOfferRequest
4516
+
4517
+ # Converts hash and nil to an options object
4518
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4519
+
4520
+ # Customize the options with defaults
4521
+ metadata = @config.rpcs.lookup_offer.metadata.to_h
4522
+
4523
+ # Set x-goog-api-client and x-goog-user-project headers
4524
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
4525
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
4526
+ gapic_version: ::Google::Cloud::Channel::V1::VERSION
4527
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
4528
+
4529
+ header_params = {}
4530
+ if request.entitlement
4531
+ header_params["entitlement"] = request.entitlement
4532
+ end
4533
+
4534
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
4535
+ metadata[:"x-goog-request-params"] ||= request_params_header
4536
+
4537
+ options.apply_defaults timeout: @config.rpcs.lookup_offer.timeout,
4538
+ metadata: metadata,
4539
+ retry_policy: @config.rpcs.lookup_offer.retry_policy
4540
+
4541
+ options.apply_defaults timeout: @config.timeout,
4542
+ metadata: @config.metadata,
4543
+ retry_policy: @config.retry_policy
4544
+
4545
+ @cloud_channel_service_stub.call_rpc :lookup_offer, request, options: options do |response, operation|
4546
+ yield response, operation if block_given?
4547
+ return response
4548
+ end
4549
+ rescue ::GRPC::BadStatus => e
4550
+ raise ::Google::Cloud::Error.from_error(e)
4551
+ end
4552
+
4553
+ ##
4554
+ # Lists the Products the reseller is authorized to sell.
4555
+ #
4556
+ # Possible error codes:
4557
+ #
4558
+ # * INVALID_ARGUMENT: Required request parameters are missing or invalid.
4559
+ #
4560
+ # @overload list_products(request, options = nil)
4561
+ # Pass arguments to `list_products` via a request object, either of type
4562
+ # {::Google::Cloud::Channel::V1::ListProductsRequest} or an equivalent Hash.
4563
+ #
4564
+ # @param request [::Google::Cloud::Channel::V1::ListProductsRequest, ::Hash]
4565
+ # A request object representing the call parameters. Required. To specify no
4566
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
4567
+ # @param options [::Gapic::CallOptions, ::Hash]
4568
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
4569
+ #
4570
+ # @overload list_products(account: nil, page_size: nil, page_token: nil, language_code: nil)
4571
+ # Pass arguments to `list_products` via keyword arguments. Note that at
4572
+ # least one keyword argument is required. To specify no parameters, or to keep all
4573
+ # the default parameter values, pass an empty Hash as a request object (see above).
4574
+ #
4575
+ # @param account [::String]
4576
+ # Required. The resource name of the reseller account.
4577
+ # Format: accounts/\\{account_id}.
4578
+ # @param page_size [::Integer]
4579
+ # Optional. Requested page size. Server might return fewer results than requested.
4580
+ # If unspecified, returns at most 100 Products.
4581
+ # The maximum value is 1000; the server will coerce values above 1000.
4582
+ # @param page_token [::String]
4583
+ # Optional. A token for a page of results other than the first page.
4584
+ # @param language_code [::String]
4585
+ # Optional. The BCP-47 language code. For example, "en-US". The
4586
+ # response will localize in the corresponding language code, if specified.
4587
+ # The default value is "en-US".
4588
+ #
4589
+ # @yield [response, operation] Access the result along with the RPC operation
4590
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Product>]
4591
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
4592
+ #
4593
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Product>]
4594
+ #
4595
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
4596
+ #
4597
+ # @example Basic example
4598
+ # require "google/cloud/channel/v1"
4599
+ #
4600
+ # # Create a client object. The client can be reused for multiple calls.
4601
+ # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
4602
+ #
4603
+ # # Create a request. To set request fields, pass in keyword arguments.
4604
+ # request = Google::Cloud::Channel::V1::ListProductsRequest.new
4605
+ #
4606
+ # # Call the list_products method.
4607
+ # result = client.list_products request
4608
+ #
4609
+ # # The returned object is of type Gapic::PagedEnumerable. You can
4610
+ # # iterate over all elements by calling #each, and the enumerable
4611
+ # # will lazily make API calls to fetch subsequent pages. Other
4612
+ # # methods are also available for managing paging directly.
4613
+ # result.each do |response|
4614
+ # # Each element is of type ::Google::Cloud::Channel::V1::Product.
4615
+ # p response
4616
+ # end
4617
+ #
4618
+ def list_products request, options = nil
4619
+ raise ::ArgumentError, "request must be provided" if request.nil?
4620
+
4621
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListProductsRequest
4622
+
4623
+ # Converts hash and nil to an options object
4624
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4625
+
4626
+ # Customize the options with defaults
4627
+ metadata = @config.rpcs.list_products.metadata.to_h
4628
+
4629
+ # Set x-goog-api-client and x-goog-user-project headers
4630
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
4631
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
4632
+ gapic_version: ::Google::Cloud::Channel::V1::VERSION
4633
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
4634
+
4635
+ options.apply_defaults timeout: @config.rpcs.list_products.timeout,
4636
+ metadata: metadata,
4637
+ retry_policy: @config.rpcs.list_products.retry_policy
4638
+
4639
+ options.apply_defaults timeout: @config.timeout,
4640
+ metadata: @config.metadata,
4641
+ retry_policy: @config.retry_policy
4642
+
4643
+ @cloud_channel_service_stub.call_rpc :list_products, request, options: options do |response, operation|
4644
+ response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_products, request, response, operation, options
4645
+ yield response, operation if block_given?
4646
+ return response
4647
+ end
4648
+ rescue ::GRPC::BadStatus => e
4649
+ raise ::Google::Cloud::Error.from_error(e)
4650
+ end
4651
+
4652
+ ##
4653
+ # Lists the SKUs for a product the reseller is authorized to sell.
4654
+ #
4655
+ # Possible error codes:
4656
+ #
4657
+ # * INVALID_ARGUMENT: Required request parameters are missing or invalid.
4658
+ #
4659
+ # @overload list_skus(request, options = nil)
4660
+ # Pass arguments to `list_skus` via a request object, either of type
4661
+ # {::Google::Cloud::Channel::V1::ListSkusRequest} or an equivalent Hash.
4662
+ #
4663
+ # @param request [::Google::Cloud::Channel::V1::ListSkusRequest, ::Hash]
4664
+ # A request object representing the call parameters. Required. To specify no
4665
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
4666
+ # @param options [::Gapic::CallOptions, ::Hash]
4667
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
4668
+ #
4669
+ # @overload list_skus(parent: nil, account: nil, page_size: nil, page_token: nil, language_code: nil)
4670
+ # Pass arguments to `list_skus` via keyword arguments. Note that at
4671
+ # least one keyword argument is required. To specify no parameters, or to keep all
4672
+ # the default parameter values, pass an empty Hash as a request object (see above).
4673
+ #
4674
+ # @param parent [::String]
4675
+ # Required. The resource name of the Product to list SKUs for.
4676
+ # Parent uses the format: products/\\{product_id}.
4677
+ # Supports products/- to retrieve SKUs for all products.
4678
+ # @param account [::String]
4679
+ # Required. Resource name of the reseller.
4680
+ # Format: accounts/\\{account_id}.
4681
+ # @param page_size [::Integer]
4682
+ # Optional. Requested page size. Server might return fewer results than requested.
4683
+ # If unspecified, returns at most 100 SKUs.
4684
+ # The maximum value is 1000; the server will coerce values above 1000.
4685
+ # @param page_token [::String]
4686
+ # Optional. A token for a page of results other than the first page.
4687
+ # Optional.
4688
+ # @param language_code [::String]
4689
+ # Optional. The BCP-47 language code. For example, "en-US". The
4690
+ # response will localize in the corresponding language code, if specified.
4691
+ # The default value is "en-US".
4692
+ #
4693
+ # @yield [response, operation] Access the result along with the RPC operation
4694
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Sku>]
4695
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
4696
+ #
4697
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Sku>]
4698
+ #
4699
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
4700
+ #
4701
+ # @example Basic example
4702
+ # require "google/cloud/channel/v1"
4703
+ #
4704
+ # # Create a client object. The client can be reused for multiple calls.
4705
+ # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
4706
+ #
4707
+ # # Create a request. To set request fields, pass in keyword arguments.
4708
+ # request = Google::Cloud::Channel::V1::ListSkusRequest.new
4709
+ #
4710
+ # # Call the list_skus method.
4711
+ # result = client.list_skus request
4712
+ #
4713
+ # # The returned object is of type Gapic::PagedEnumerable. You can
4714
+ # # iterate over all elements by calling #each, and the enumerable
4715
+ # # will lazily make API calls to fetch subsequent pages. Other
4716
+ # # methods are also available for managing paging directly.
4717
+ # result.each do |response|
4718
+ # # Each element is of type ::Google::Cloud::Channel::V1::Sku.
4719
+ # p response
4720
+ # end
4721
+ #
4722
+ def list_skus request, options = nil
4723
+ raise ::ArgumentError, "request must be provided" if request.nil?
4724
+
4725
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListSkusRequest
4726
+
4727
+ # Converts hash and nil to an options object
4728
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4729
+
4730
+ # Customize the options with defaults
4731
+ metadata = @config.rpcs.list_skus.metadata.to_h
4732
+
4733
+ # Set x-goog-api-client and x-goog-user-project headers
4734
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
4735
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
4736
+ gapic_version: ::Google::Cloud::Channel::V1::VERSION
4737
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
4738
+
4739
+ header_params = {}
4740
+ if request.parent
4741
+ header_params["parent"] = request.parent
4742
+ end
4743
+
4744
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
4745
+ metadata[:"x-goog-request-params"] ||= request_params_header
4746
+
4747
+ options.apply_defaults timeout: @config.rpcs.list_skus.timeout,
4748
+ metadata: metadata,
4749
+ retry_policy: @config.rpcs.list_skus.retry_policy
4750
+
4751
+ options.apply_defaults timeout: @config.timeout,
4752
+ metadata: @config.metadata,
4753
+ retry_policy: @config.retry_policy
4754
+
4755
+ @cloud_channel_service_stub.call_rpc :list_skus, request, options: options do |response, operation|
4756
+ response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_skus, request, response, operation, options
4757
+ yield response, operation if block_given?
4758
+ return response
4759
+ end
4760
+ rescue ::GRPC::BadStatus => e
4761
+ raise ::Google::Cloud::Error.from_error(e)
4762
+ end
4763
+
4764
+ ##
4765
+ # Lists the Offers the reseller can sell.
4766
+ #
4767
+ # Possible error codes:
4768
+ #
4769
+ # * INVALID_ARGUMENT: Required request parameters are missing or invalid.
4770
+ #
4771
+ # @overload list_offers(request, options = nil)
4772
+ # Pass arguments to `list_offers` via a request object, either of type
4773
+ # {::Google::Cloud::Channel::V1::ListOffersRequest} or an equivalent Hash.
4774
+ #
4775
+ # @param request [::Google::Cloud::Channel::V1::ListOffersRequest, ::Hash]
4776
+ # A request object representing the call parameters. Required. To specify no
4777
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
4778
+ # @param options [::Gapic::CallOptions, ::Hash]
4779
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
4780
+ #
4781
+ # @overload list_offers(parent: nil, page_size: nil, page_token: nil, filter: nil, language_code: nil)
4782
+ # Pass arguments to `list_offers` via keyword arguments. Note that at
4783
+ # least one keyword argument is required. To specify no parameters, or to keep all
4784
+ # the default parameter values, pass an empty Hash as a request object (see above).
4785
+ #
4786
+ # @param parent [::String]
4787
+ # Required. The resource name of the reseller account from which to list Offers.
4788
+ # Parent uses the format: accounts/\\{account_id}.
4789
+ # @param page_size [::Integer]
4790
+ # Optional. Requested page size. Server might return fewer results than requested.
4791
+ # If unspecified, returns at most 500 Offers.
4792
+ # The maximum value is 1000; the server will coerce values above 1000.
4793
+ # @param page_token [::String]
4794
+ # Optional. A token for a page of results other than the first page.
4795
+ # @param filter [::String]
4796
+ # Optional. The expression to filter results by name (name of
4797
+ # the Offer), sku.name (name of the SKU), or sku.product.name (name of the
4798
+ # Product).
4799
+ # Example 1: sku.product.name=products/p1 AND sku.name!=products/p1/skus/s1
4800
+ # Example 2: name=accounts/a1/offers/o1
4801
+ # @param language_code [::String]
4802
+ # Optional. The BCP-47 language code. For example, "en-US". The
4803
+ # response will localize in the corresponding language code, if specified.
4804
+ # The default value is "en-US".
4805
+ #
4806
+ # @yield [response, operation] Access the result along with the RPC operation
4807
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Offer>]
4808
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
4809
+ #
4810
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Offer>]
4811
+ #
4812
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
4813
+ #
4814
+ # @example Basic example
4815
+ # require "google/cloud/channel/v1"
4816
+ #
4817
+ # # Create a client object. The client can be reused for multiple calls.
4818
+ # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
4819
+ #
4820
+ # # Create a request. To set request fields, pass in keyword arguments.
4821
+ # request = Google::Cloud::Channel::V1::ListOffersRequest.new
4822
+ #
4823
+ # # Call the list_offers method.
4824
+ # result = client.list_offers request
4825
+ #
4826
+ # # The returned object is of type Gapic::PagedEnumerable. You can
4827
+ # # iterate over all elements by calling #each, and the enumerable
4828
+ # # will lazily make API calls to fetch subsequent pages. Other
4829
+ # # methods are also available for managing paging directly.
4830
+ # result.each do |response|
4831
+ # # Each element is of type ::Google::Cloud::Channel::V1::Offer.
4832
+ # p response
4833
+ # end
4834
+ #
4835
+ def list_offers request, options = nil
4836
+ raise ::ArgumentError, "request must be provided" if request.nil?
4837
+
4838
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListOffersRequest
4839
+
4840
+ # Converts hash and nil to an options object
4841
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4842
+
4843
+ # Customize the options with defaults
4844
+ metadata = @config.rpcs.list_offers.metadata.to_h
4845
+
4846
+ # Set x-goog-api-client and x-goog-user-project headers
4847
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
4848
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
4849
+ gapic_version: ::Google::Cloud::Channel::V1::VERSION
4850
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
4851
+
4852
+ header_params = {}
4853
+ if request.parent
4854
+ header_params["parent"] = request.parent
4855
+ end
4856
+
4857
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
4858
+ metadata[:"x-goog-request-params"] ||= request_params_header
4859
+
4860
+ options.apply_defaults timeout: @config.rpcs.list_offers.timeout,
4861
+ metadata: metadata,
4862
+ retry_policy: @config.rpcs.list_offers.retry_policy
4863
+
4864
+ options.apply_defaults timeout: @config.timeout,
4865
+ metadata: @config.metadata,
4866
+ retry_policy: @config.retry_policy
4867
+
4868
+ @cloud_channel_service_stub.call_rpc :list_offers, request, options: options do |response, operation|
4869
+ response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_offers, request, response, operation, options
4870
+ yield response, operation if block_given?
4871
+ return response
4872
+ end
4873
+ rescue ::GRPC::BadStatus => e
4874
+ raise ::Google::Cloud::Error.from_error(e)
4875
+ end
4876
+
4877
+ ##
4878
+ # Lists the following:
4879
+ #
4880
+ # * SKUs that you can purchase for a customer
4881
+ # * SKUs that you can upgrade or downgrade for an entitlement.
4882
+ #
4883
+ # Possible error codes:
4884
+ #
4885
+ # * PERMISSION_DENIED: The customer doesn't belong to the reseller.
4886
+ # * INVALID_ARGUMENT: Required request parameters are missing or invalid.
4887
+ #
4888
+ # @overload list_purchasable_skus(request, options = nil)
4889
+ # Pass arguments to `list_purchasable_skus` via a request object, either of type
4890
+ # {::Google::Cloud::Channel::V1::ListPurchasableSkusRequest} or an equivalent Hash.
4891
+ #
4892
+ # @param request [::Google::Cloud::Channel::V1::ListPurchasableSkusRequest, ::Hash]
4893
+ # A request object representing the call parameters. Required. To specify no
4894
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
4895
+ # @param options [::Gapic::CallOptions, ::Hash]
4896
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
4897
+ #
4898
+ # @overload list_purchasable_skus(create_entitlement_purchase: nil, change_offer_purchase: nil, customer: nil, page_size: nil, page_token: nil, language_code: nil)
4899
+ # Pass arguments to `list_purchasable_skus` via keyword arguments. Note that at
4900
+ # least one keyword argument is required. To specify no parameters, or to keep all
4901
+ # the default parameter values, pass an empty Hash as a request object (see above).
4902
+ #
4903
+ # @param create_entitlement_purchase [::Google::Cloud::Channel::V1::ListPurchasableSkusRequest::CreateEntitlementPurchase, ::Hash]
4904
+ # List SKUs for CreateEntitlement purchase.
4905
+ # @param change_offer_purchase [::Google::Cloud::Channel::V1::ListPurchasableSkusRequest::ChangeOfferPurchase, ::Hash]
4906
+ # List SKUs for ChangeOffer purchase with a new SKU.
4907
+ # @param customer [::String]
4908
+ # Required. The resource name of the customer to list SKUs for.
4909
+ # Format: accounts/\\{account_id}/customers/\\{customer_id}.
4910
+ # @param page_size [::Integer]
4911
+ # Optional. Requested page size. Server might return fewer results than requested.
4912
+ # If unspecified, returns at most 100 SKUs.
4913
+ # The maximum value is 1000; the server will coerce values above 1000.
4914
+ # @param page_token [::String]
4915
+ # Optional. A token for a page of results other than the first page.
4916
+ # @param language_code [::String]
4917
+ # Optional. The BCP-47 language code. For example, "en-US". The
4918
+ # response will localize in the corresponding language code, if specified.
4919
+ # The default value is "en-US".
4920
+ #
4921
+ # @yield [response, operation] Access the result along with the RPC operation
4922
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::PurchasableSku>]
4923
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
4924
+ #
4925
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::PurchasableSku>]
4926
+ #
4927
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
4928
+ #
4929
+ # @example Basic example
4930
+ # require "google/cloud/channel/v1"
4931
+ #
4932
+ # # Create a client object. The client can be reused for multiple calls.
4933
+ # client = Google::Cloud::Channel::V1::CloudChannelService::Client.new
4934
+ #
4935
+ # # Create a request. To set request fields, pass in keyword arguments.
4936
+ # request = Google::Cloud::Channel::V1::ListPurchasableSkusRequest.new
4937
+ #
4938
+ # # Call the list_purchasable_skus method.
4939
+ # result = client.list_purchasable_skus request
4940
+ #
4941
+ # # The returned object is of type Gapic::PagedEnumerable. You can
4942
+ # # iterate over all elements by calling #each, and the enumerable
4943
+ # # will lazily make API calls to fetch subsequent pages. Other
4944
+ # # methods are also available for managing paging directly.
4945
+ # result.each do |response|
4946
+ # # Each element is of type ::Google::Cloud::Channel::V1::PurchasableSku.
4947
+ # p response
4948
+ # end
4949
+ #
4950
+ def list_purchasable_skus request, options = nil
4951
+ raise ::ArgumentError, "request must be provided" if request.nil?
4952
+
4953
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListPurchasableSkusRequest
4954
+
4955
+ # Converts hash and nil to an options object
4956
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
4957
+
4958
+ # Customize the options with defaults
4959
+ metadata = @config.rpcs.list_purchasable_skus.metadata.to_h
4960
+
4961
+ # Set x-goog-api-client and x-goog-user-project headers
4962
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
4963
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
4964
+ gapic_version: ::Google::Cloud::Channel::V1::VERSION
4965
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
4966
+
4967
+ header_params = {}
4968
+ if request.customer
4969
+ header_params["customer"] = request.customer
4970
+ end
4971
+
4972
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
4973
+ metadata[:"x-goog-request-params"] ||= request_params_header
4974
+
4975
+ options.apply_defaults timeout: @config.rpcs.list_purchasable_skus.timeout,
4976
+ metadata: metadata,
4977
+ retry_policy: @config.rpcs.list_purchasable_skus.retry_policy
4978
+
4979
+ options.apply_defaults timeout: @config.timeout,
4980
+ metadata: @config.metadata,
4981
+ retry_policy: @config.retry_policy
4982
+
4983
+ @cloud_channel_service_stub.call_rpc :list_purchasable_skus, request, options: options do |response, operation|
4984
+ response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_purchasable_skus, request, response, operation, options
4985
+ yield response, operation if block_given?
4986
+ return response
4987
+ end
4988
+ rescue ::GRPC::BadStatus => e
4989
+ raise ::Google::Cloud::Error.from_error(e)
4990
+ end
4991
+
4992
+ ##
4993
+ # Lists the following:
4994
+ #
4995
+ # * Offers that you can purchase for a customer.
4996
+ # * Offers that you can change for an entitlement.
4997
+ #
4998
+ # Possible error codes:
4999
+ #
5000
+ # * PERMISSION_DENIED: The customer doesn't belong to the reseller
5001
+ # * INVALID_ARGUMENT: Required request parameters are missing or invalid.
5002
+ #
5003
+ # @overload list_purchasable_offers(request, options = nil)
5004
+ # Pass arguments to `list_purchasable_offers` via a request object, either of type
3863
5005
  # {::Google::Cloud::Channel::V1::ListPurchasableOffersRequest} or an equivalent Hash.
3864
5006
  #
3865
5007
  # @param request [::Google::Cloud::Channel::V1::ListPurchasableOffersRequest, ::Hash]
@@ -4550,6 +5692,56 @@ module Google
4550
5692
  #
4551
5693
  attr_reader :update_channel_partner_link
4552
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
+ ##
4553
5745
  # RPC-specific configuration for `lookup_offer`
4554
5746
  # @return [::Gapic::Config::Method]
4555
5747
  #
@@ -4649,6 +5841,26 @@ module Google
4649
5841
  @create_channel_partner_link = ::Gapic::Config::Method.new create_channel_partner_link_config
4650
5842
  update_channel_partner_link_config = parent_rpcs.update_channel_partner_link if parent_rpcs.respond_to? :update_channel_partner_link
4651
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
4652
5864
  lookup_offer_config = parent_rpcs.lookup_offer if parent_rpcs.respond_to? :lookup_offer
4653
5865
  @lookup_offer = ::Gapic::Config::Method.new lookup_offer_config
4654
5866
  list_products_config = parent_rpcs.list_products if parent_rpcs.respond_to? :list_products