Skip to content

/AWS1/IF_BIC=>CREATEPRICINGRULE()

About CreatePricingRule

Creates a pricing rule can be associated to a pricing plan, or a set of pricing plans.

Method Signature

METHODS /AWS1/IF_BIC~CREATEPRICINGRULE
  IMPORTING
    !IV_CLIENTTOKEN TYPE /AWS1/BICCLIENTTOKEN OPTIONAL
    !IV_NAME TYPE /AWS1/BICPRICINGRULENAME OPTIONAL
    !IV_DESCRIPTION TYPE /AWS1/BICPRICINGRULEDESC OPTIONAL
    !IV_SCOPE TYPE /AWS1/BICPRICINGRULESCOPE OPTIONAL
    !IV_TYPE TYPE /AWS1/BICPRICINGRULETYPE OPTIONAL
    !IV_MODIFIERPERCENTAGE TYPE /AWS1/RT_DOUBLE_AS_STRING OPTIONAL
    !IV_SERVICE TYPE /AWS1/BICSERVICE OPTIONAL
    !IT_TAGS TYPE /AWS1/CL_BICTAGMAP_W=>TT_TAGMAP OPTIONAL
    !IV_BILLINGENTITY TYPE /AWS1/BICBILLINGENTITY OPTIONAL
    !IO_TIERING TYPE REF TO /AWS1/CL_BICCREATETIERINGINPUT OPTIONAL
    !IV_USAGETYPE TYPE /AWS1/BICUSAGETYPE OPTIONAL
    !IV_OPERATION TYPE /AWS1/BICOPERATION OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_biccrepricingruleout
  RAISING
    /AWS1/CX_BICACCESSDENIEDEX
    /AWS1/CX_BICCONFLICTEXCEPTION
    /AWS1/CX_BICINTERNALSERVEREX
    /AWS1/CX_BICSERVICELIMITEXCDEX
    /AWS1/CX_BICTHROTTLINGEX
    /AWS1/CX_BICVALIDATIONEX
    /AWS1/CX_BICCLIENTEXC
    /AWS1/CX_BICSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_name TYPE /AWS1/BICPRICINGRULENAME /AWS1/BICPRICINGRULENAME

The pricing rule name. The names must be unique to each pricing rule.

iv_scope TYPE /AWS1/BICPRICINGRULESCOPE /AWS1/BICPRICINGRULESCOPE

The scope of pricing rule that indicates if it's globally applicable, or it's service-specific.

iv_type TYPE /AWS1/BICPRICINGRULETYPE /AWS1/BICPRICINGRULETYPE

The type of pricing rule.

Optional arguments:

iv_clienttoken TYPE /AWS1/BICCLIENTTOKEN /AWS1/BICCLIENTTOKEN

A unique, case-sensitive identifier that you specify to ensure idempotency of the request. Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.

iv_description TYPE /AWS1/BICPRICINGRULEDESC /AWS1/BICPRICINGRULEDESC

The pricing rule description.

iv_modifierpercentage TYPE /AWS1/RT_DOUBLE_AS_STRING /AWS1/RT_DOUBLE_AS_STRING

A percentage modifier that's applied on the public pricing rates. Your entry will be rounded to the nearest 2 decimal places.

iv_service TYPE /AWS1/BICSERVICE /AWS1/BICSERVICE

If the Scope attribute is set to SERVICE or SKU, the attribute indicates which service the PricingRule is applicable for.

it_tags TYPE /AWS1/CL_BICTAGMAP_W=>TT_TAGMAP TT_TAGMAP

A map that contains tag keys and tag values that are attached to a pricing rule.

iv_billingentity TYPE /AWS1/BICBILLINGENTITY /AWS1/BICBILLINGENTITY

The seller of services provided by Amazon Web Services, their affiliates, or third-party providers selling services via Amazon Web Services Marketplace.

io_tiering TYPE REF TO /AWS1/CL_BICCREATETIERINGINPUT /AWS1/CL_BICCREATETIERINGINPUT

The set of tiering configurations for the pricing rule.

iv_usagetype TYPE /AWS1/BICUSAGETYPE /AWS1/BICUSAGETYPE

Usage type is the unit that each service uses to measure the usage of a specific type of resource.

If the Scope attribute is set to SKU, this attribute indicates which usage type the PricingRule is modifying. For example, USW2-BoxUsage:m2.2xlarge describes an M2 High Memory Double Extra Large instance in the US West (Oregon) Region.

iv_operation TYPE /AWS1/BICOPERATION /AWS1/BICOPERATION

Operation is the specific Amazon Web Services action covered by this line item. This describes the specific usage of the line item.

If the Scope attribute is set to SKU, this attribute indicates which operation the PricingRule is modifying. For example, a value of RunInstances:0202 indicates the operation of running an Amazon EC2 instance.

RETURNING

oo_output TYPE REF TO /aws1/cl_biccrepricingruleout /AWS1/CL_BICCREPRICINGRULEOUT

Domain /AWS1/RT_ACCOUNT_ID
Primitive Type NUMC

Examples

Syntax Example

This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.

DATA(lo_result) = lo_client->createpricingrule(
  io_tiering = new /aws1/cl_biccreatetieringinput( new /aws1/cl_biccreatefreetiercfg( ABAP_TRUE ) )
  it_tags = VALUE /aws1/cl_bictagmap_w=>tt_tagmap(
    (
      VALUE /aws1/cl_bictagmap_w=>ts_tagmap_maprow(
        key = |string|
        value = new /aws1/cl_bictagmap_w( |string| )
      )
    )
  )
  iv_billingentity = |string|
  iv_clienttoken = |string|
  iv_description = |string|
  iv_modifierpercentage = |0.1|
  iv_name = |string|
  iv_operation = |string|
  iv_scope = |string|
  iv_service = |string|
  iv_type = |string|
  iv_usagetype = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lv_pricingrulearn = lo_result->get_arn( ).
ENDIF.