Class: Aws::BillingConductor::Client

Inherits:
Seahorse::Client::Base show all
Includes:
ClientStubs
Defined in:
gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb

Overview

An API client for BillingConductor. To construct a client, you need to configure a :region and :credentials.

client = Aws::BillingConductor::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the developer guide.

See #initialize for a full list of supported configuration options.

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :plugins (Array<Seahorse::Client::Plugin>) — default: []] —

    A list of plugins to apply to the client. Each plugin is either a class name or an instance of a plugin class.

  • :credentials (required, Aws::CredentialProvider) —

    Your AWS credentials used for authentication. This can be any class that includes and implements Aws::CredentialProvider, or instance of any one of the following classes:

    • Aws::Credentials - Used for configuring static, non-refreshing credentials.

    • Aws::SharedCredentials - Used for loading static credentials from a shared file, such as ~/.aws/config.

    • Aws::AssumeRoleCredentials - Used when you need to assume a role.

    • Aws::AssumeRoleWebIdentityCredentials - Used when you need to assume a role after providing credentials via the web.

    • Aws::SSOCredentials - Used for loading credentials from AWS SSO using an access token generated from aws login.

    • Aws::ProcessCredentials - Used for loading credentials from a process that outputs to stdout.

    • Aws::InstanceProfileCredentials - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • Aws::ECSCredentials - Used for loading credentials from instances running in ECS.

    • Aws::CognitoIdentityCredentials - Used for loading credentials from the Cognito Identity service.

    When :credentials are not configured directly, the following locations will be searched for credentials:

    • Aws.config[:credentials]

    • The :access_key_id, :secret_access_key, :session_token, and :account_id options.

    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'], ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID'].

    • ~/.aws/credentials

    • ~/.aws/config

    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentials or Aws::ECSCredentials to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED'] to true.

  • :region (required, String) —

    The AWS region to connect to. The configured :region is used to determine the service :endpoint. When not passed, a default :region is searched for in the following locations:

    • Aws.config[:region]
    • ENV['AWS_REGION']
    • ENV['AMAZON_REGION']
    • ENV['AWS_DEFAULT_REGION']
    • ~/.aws/credentials
    • ~/.aws/config
  • :access_key_id (String)
  • :account_id (String)
  • :active_endpoint_cache (Boolean) — default: false —

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false.

  • :adaptive_retry_wait_to_fill (Boolean) — default: true —

    Used only in adaptive retry mode. When true, the request will sleep until there is sufficent client side capacity to retry the request. When false, the request will raise a RetryCapacityNotAvailableError and will not retry instead of sleeping.

  • :auth_scheme_preference (Array<String>) —

    A list of preferred authentication schemes to use when making a request. Supported values are: sigv4, sigv4a, httpBearerAuth, and noAuth. When set using ENV['AWS_AUTH_SCHEME_PREFERENCE'] or in shared config as auth_scheme_preference, the value should be a comma-separated list.

  • :client_side_monitoring (Boolean) — default: false —

    When true, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: "" —

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "127.0.0.1" —

    Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_port (Integer) — default: 31000 —

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher —

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true —

    When true, an attempt is made to coerce request parameters into the required types.

  • :correct_clock_skew (Boolean) — default: true —

    Used only in standard and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks. Takes effect only when disable_clock_skew_correction is not set.

  • :defaults_mode (String) — default: "legacy" —

    See DefaultsModeConfiguration for a list of the accepted modes and the configuration defaults that are included.

  • :disable_clock_skew_correction (Boolean) —

    Used only in standard and adaptive retry modes. When true, the SDK does not apply a clock skew correction, does not update its stored skew from responses, and does not retry clock skew errors. Clock skew correction is enabled by default.

  • :disable_host_prefix_injection (Boolean) — default: false —

    When true, the SDK will not prepend the modeled host prefix to the endpoint.

  • :disable_request_compression (Boolean) — default: false —

    When set to 'true' the request body will not be compressed for supported operations.

  • :endpoint (String, URI::HTTPS, URI::HTTP) —

    Normally you should not configure the :endpoint option directly. This is normally constructed from the :region option. Configuring :endpoint is normally reserved for connecting to test or custom endpoints. The endpoint should be a URI formatted like:

    'http://example.com'
    'https://example.com'
    'http://example.com:123'
    
  • :endpoint_cache_max_entries (Integer) — default: 1000 —

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10 —

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60 —

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec.

  • :endpoint_discovery (Boolean) — default: false —

    When set to true, endpoint discovery will be enabled for operations when available.

  • :ignore_configured_endpoint_urls (Boolean) —

    Setting to true disables use of endpoint URLs provided via environment variables and the shared configuration file.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default —

    The log formatter.

  • :log_level (Symbol) — default: :info —

    The log level to send messages to the :logger at.

  • :logger (Logger) —

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :max_attempts (Integer) — default: 3 —

    An integer representing the maximum number attempts that will be made for a single request, including the initial attempt. For example, setting this value to 5 will result in a request being retried up to 4 times. Used in standard and adaptive retry modes.

  • :profile (String) — default: "default" —

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used.

  • :request_checksum_calculation (String) — default: "when_supported" —

    Determines when a checksum will be calculated for request payloads. Values are:

    • when_supported - (default) When set, a checksum will be calculated for all request payloads of operations modeled with the httpChecksum trait where requestChecksumRequired is true and/or a requestAlgorithmMember is modeled.
    • when_required - When set, a checksum will only be calculated for request payloads of operations modeled with the httpChecksum trait where requestChecksumRequired is true or where a requestAlgorithmMember is modeled and supplied.
  • :request_min_compression_size_bytes (Integer) — default: 10240 —

    The minimum size in bytes that triggers compression for request bodies. The value must be non-negative integer value between 0 and 10485780 bytes inclusive.

  • :response_checksum_validation (String) — default: "when_supported" —

    Determines when checksum validation will be performed on response payloads. Values are:

    • when_supported - (default) When set, checksum validation is performed on all response payloads of operations modeled with the httpChecksum trait where responseAlgorithms is modeled, except when no modeled checksum algorithms are supported.
    • when_required - When set, checksum validation is not performed on response payloads of operations unless the checksum algorithm is supported and the requestValidationModeMember member is set to ENABLED.
  • :retry_backoff (Proc) —

    A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the legacy retry mode.

  • :retry_base_delay (Float) — default: 0.3 —

    The base delay in seconds used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_jitter (Symbol) — default: :none —

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number. This option is only used in the legacy retry mode.

    @see https://www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3 —

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors, auth errors, endpoint discovery, and errors from expired credentials. This option is only used in the legacy retry mode.

  • :retry_max_delay (Integer) — default: 0 —

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_mode (String) — default: "legacy" —

    Specifies which retry algorithm to use. Values are:

    • legacy - The pre-existing retry behavior. This is the default value if no retry mode is provided.

    • standard - A standardized set of retry rules across the AWS SDKs. This includes support for retry quotas, which limit the number of unsuccessful retries a client can make.

    • adaptive - A retry mode that includes all the functionality of standard mode along with automatic client side throttling.

  • :sdk_ua_app_id (String) —

    A unique and opaque application ID that is appended to the User-Agent header as app/sdk_ua_app_id. It should have a maximum length of 50. This variable is sourced from environment variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.

  • :secret_access_key (String)
  • :session_token (String)
  • :sigv4a_signing_region_set (Array) —

    A list of regions that should be signed with SigV4a signing. When not passed, a default :sigv4a_signing_region_set is searched for in the following locations:

    • Aws.config[:sigv4a_signing_region_set]
    • ENV['AWS_SIGV4A_SIGNING_REGION_SET']
    • ~/.aws/config
  • :stub_responses (Boolean) — default: false —

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled.

  • :telemetry_provider (Aws::Telemetry::TelemetryProviderBase) — default: Aws::Telemetry::NoOpTelemetryProvider —

    Allows you to provide a telemetry provider, which is used to emit telemetry data. By default, uses NoOpTelemetryProvider which will not record or emit any telemetry data. The SDK supports the following telemetry providers:

    • OpenTelemetry (OTel) - To use the OTel provider, install and require the opentelemetry-sdk gem and then, pass in an instance of a Aws::Telemetry::OTelProvider for telemetry provider.
  • :token_provider (Aws::TokenProvider) —

    Your Bearer token used for authentication. This can be any class that includes and implements Aws::TokenProvider, or instance of any one of the following classes:

    • Aws::StaticTokenProvider - Used for configuring static, non-refreshing tokens.

    • Aws::SSOTokenProvider - Used for loading tokens from AWS SSO using an access token generated from aws login.

    When :token_provider is not configured directly, the Aws::TokenProviderChain will be used to search for tokens configured for your profile in shared configuration files.

  • :use_dualstack_endpoint (Boolean) —

    When set to true, dualstack enabled endpoints (with .aws TLD) will be used if available.

  • :use_fips_endpoint (Boolean) —

    When set to true, fips compatible endpoints will be used if available. When a fips region is used, the region is normalized and this config is set to true.

  • :validate_params (Boolean) — default: true —

    When true, request parameters are validated before sending the request.

  • :endpoint_provider (Aws::BillingConductor::EndpointProvider) —

    The endpoint provider used to resolve endpoints. Any object that responds to #resolve_endpoint(parameters) where parameters is a Struct similar to Aws::BillingConductor::EndpointParameters.

  • :http_continue_timeout (Float) — default: 1 —

    The number of seconds to wait for a 100-continue response before sending the request body. This option has no effect unless the request has "Expect" header set to "100-continue". Defaults to nil which disables this behaviour. This value can safely be set per request on the session.

  • :http_idle_timeout (Float) — default: 5 —

    The number of seconds a connection is allowed to sit idle before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_open_timeout (Float) — default: 15 —

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_proxy (URI::HTTP, String) —

    A proxy to send requests through. Formatted like 'http://proxy.com:123'.

  • :http_read_timeout (Float) — default: 60 —

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_wire_trace (Boolean) — default: false —

    When true, HTTP debug output will be sent to the :logger.

  • :on_chunk_received (Proc) —

    When a Proc object is provided, it will be used as callback when each chunk of the response body is received. It provides three arguments: the chunk, the number of bytes received, and the total number of bytes in the response (or nil if the server did not send a content-length).

  • :on_chunk_sent (Proc) —

    When a Proc object is provided, it will be used as callback when each chunk of the request body is sent. It provides three arguments: the chunk, the number of bytes read from the body, and the total number of bytes in the body.

  • :raise_response_errors (Boolean) — default: true —

    When true, response errors are raised.

  • :ssl_ca_bundle (String) —

    Full path to the SSL certificate authority bundle file that should be used when verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_directory (String) —

    Full path of the directory that contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_store (String) —

    Sets the X509::Store to verify peer certificate.

  • :ssl_cert (OpenSSL::X509::Certificate) —

    Sets a client certificate when creating http connections.

  • :ssl_key (OpenSSL::PKey) —

    Sets a client key when creating http connections.

  • :ssl_timeout (Float) —

    Sets the SSL timeout in seconds

  • :ssl_verify_peer (Boolean) — default: true —

    When true, SSL peer certificates are verified when establishing a connection.



478
479
480
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 478

def initialize(*args)
  super
end

Instance Method Details

#associate_accounts(params = {}) ⇒ Types::AssociateAccountsOutput

Connects an array of account IDs in a consolidated billing family to a predefined billing group. The account IDs must be a part of the consolidated billing family during the current month, and not already associated with another billing group. The maximum number of accounts that can be associated in one call is 30.

Examples:

Request syntax with placeholder values


resp = client.associate_accounts({
  arn: "BillingGroupArn", # required
  account_ids: ["AccountId"], # required
})

Response structure


resp.arn #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :arn (required, String) —

    The Amazon Resource Name (ARN) of the billing group that associates the array of account IDs.

  • :account_ids (required, Array<String>) —

    The associating array of account IDs.

Returns:

See Also:



516
517
518
519
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 516

def associate_accounts(params = {}, options = {})
  req = build_request(:associate_accounts, params)
  req.send_request(options)
end

#associate_pricing_rules(params = {}) ⇒ Types::AssociatePricingRulesOutput

Connects an array of PricingRuleArns to a defined PricingPlan. The maximum number PricingRuleArn that can be associated in one call is 30.

Examples:

Request syntax with placeholder values


resp = client.associate_pricing_rules({
  arn: "PricingPlanArn", # required
  pricing_rule_arns: ["PricingRuleArn"], # required
})

Response structure


resp.arn #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :arn (required, String) —

    The PricingPlanArn that the PricingRuleArns are associated with.

  • :pricing_rule_arns (required, Array<String>) —

    The PricingRuleArns that are associated with the Pricing Plan.

Returns:

See Also:



550
551
552
553
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 550

def associate_pricing_rules(params = {}, options = {})
  req = build_request(:associate_pricing_rules, params)
  req.send_request(options)
end

#batch_associate_resources_to_custom_line_item(params = {}) ⇒ Types::BatchAssociateResourcesToCustomLineItemOutput

Associates a batch of resources to a percentage custom line item.

Examples:

Request syntax with placeholder values


resp = client.batch_associate_resources_to_custom_line_item({
  target_arn: "CustomLineItemArn", # required
  resource_arns: ["CustomLineItemAssociationElement"], # required
  billing_period_range: {
    inclusive_start_billing_period: "BillingPeriod", # required
    exclusive_end_billing_period: "BillingPeriod",
  },
})

Response structure


resp.successfully_associated_resources #=> Array
resp.successfully_associated_resources[0].arn #=> String
resp.successfully_associated_resources[0].error.message #=> String
resp.successfully_associated_resources[0].error.reason #=> String, one of "INVALID_ARN", "SERVICE_LIMIT_EXCEEDED", "ILLEGAL_CUSTOMLINEITEM", "INTERNAL_SERVER_EXCEPTION", "INVALID_BILLING_PERIOD_RANGE"
resp.failed_associated_resources #=> Array
resp.failed_associated_resources[0].arn #=> String
resp.failed_associated_resources[0].error.message #=> String
resp.failed_associated_resources[0].error.reason #=> String, one of "INVALID_ARN", "SERVICE_LIMIT_EXCEEDED", "ILLEGAL_CUSTOMLINEITEM", "INTERNAL_SERVER_EXCEPTION", "INVALID_BILLING_PERIOD_RANGE"

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :target_arn (required, String) —

    A percentage custom line item ARN to associate the resources to.

  • :resource_arns (required, Array<String>) —

    A list containing the ARNs of the resources to be associated.

  • :billing_period_range (Types::CustomLineItemBillingPeriodRange) —

    The billing period range in which the custom line item request will be applied.

Returns:

See Also:



598
599
600
601
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 598

def batch_associate_resources_to_custom_line_item(params = {}, options = {})
  req = build_request(:batch_associate_resources_to_custom_line_item, params)
  req.send_request(options)
end

#batch_disassociate_resources_from_custom_line_item(params = {}) ⇒ Types::BatchDisassociateResourcesFromCustomLineItemOutput

Disassociates a batch of resources from a percentage custom line item.

Examples:

Request syntax with placeholder values


resp = client.batch_disassociate_resources_from_custom_line_item({
  target_arn: "CustomLineItemArn", # required
  resource_arns: ["CustomLineItemAssociationElement"], # required
  billing_period_range: {
    inclusive_start_billing_period: "BillingPeriod", # required
    exclusive_end_billing_period: "BillingPeriod",
  },
})

Response structure


resp.successfully_disassociated_resources #=> Array
resp.successfully_disassociated_resources[0].arn #=> String
resp.successfully_disassociated_resources[0].error.message #=> String
resp.successfully_disassociated_resources[0].error.reason #=> String, one of "INVALID_ARN", "SERVICE_LIMIT_EXCEEDED", "ILLEGAL_CUSTOMLINEITEM", "INTERNAL_SERVER_EXCEPTION", "INVALID_BILLING_PERIOD_RANGE"
resp.failed_disassociated_resources #=> Array
resp.failed_disassociated_resources[0].arn #=> String
resp.failed_disassociated_resources[0].error.message #=> String
resp.failed_disassociated_resources[0].error.reason #=> String, one of "INVALID_ARN", "SERVICE_LIMIT_EXCEEDED", "ILLEGAL_CUSTOMLINEITEM", "INTERNAL_SERVER_EXCEPTION", "INVALID_BILLING_PERIOD_RANGE"

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :target_arn (required, String) —

    A percentage custom line item ARN to disassociate the resources from.

  • :resource_arns (required, Array<String>) —

    A list containing the ARNs of resources to be disassociated.

  • :billing_period_range (Types::CustomLineItemBillingPeriodRange) —

    The billing period range in which the custom line item request will be applied.

Returns:

See Also:



646
647
648
649
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 646

def batch_disassociate_resources_from_custom_line_item(params = {}, options = {})
  req = build_request(:batch_disassociate_resources_from_custom_line_item, params)
  req.send_request(options)
end

#create_billing_group(params = {}) ⇒ Types::CreateBillingGroupOutput

Creates a billing group that resembles a consolidated billing family that Amazon Web Services charges, based off of the predefined pricing plan computation.

Examples:

Request syntax with placeholder values


resp = client.create_billing_group({
  client_token: "ClientToken",
  name: "BillingGroupName", # required
  account_grouping: { # required
    linked_account_ids: ["AccountId"],
    auto_associate: false,
    responsibility_transfer_arn: "ResponsibilityTransferArn",
  },
  computation_preference: { # required
    pricing_plan_arn: "PricingPlanFullArn", # required
  },
  primary_account_id: "AccountId",
  description: "BillingGroupDescription",
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.arn #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :client_token (String) —

    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.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :name (required, String) —

    The billing group name. The names must be unique.

  • :account_grouping (required, Types::AccountGrouping) —

    The set of accounts that will be under the billing group. The set of accounts resemble the linked accounts in a consolidated billing family.

  • :computation_preference (required, Types::ComputationPreference) —

    The preferences and settings that will be used to compute the Amazon Web Services charges for a billing group.

  • :primary_account_id (String) —

    The account ID that serves as the main account in a billing group.

  • :description (String) —

    The description of the billing group.

  • :tags (Hash<String,String>) —

    A map that contains tag keys and tag values that are attached to a billing group. This feature isn't available during the beta.

Returns:

See Also:



719
720
721
722
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 719

def create_billing_group(params = {}, options = {})
  req = build_request(:create_billing_group, params)
  req.send_request(options)
end

#create_custom_line_item(params = {}) ⇒ Types::CreateCustomLineItemOutput

Creates a custom line item that can be used to create a one-time fixed charge that can be applied to a single billing group for the current or previous billing period. The one-time fixed charge is either a fee or discount.

Examples:

Request syntax with placeholder values


resp = client.create_custom_line_item({
  client_token: "ClientToken",
  name: "CustomLineItemName", # required
  description: "CustomLineItemDescription", # required
  billing_group_arn: "BillingGroupArn", # required
  billing_period_range: {
    inclusive_start_billing_period: "BillingPeriod", # required
    exclusive_end_billing_period: "BillingPeriod",
  },
  tags: {
    "TagKey" => "TagValue",
  },
  charge_details: { # required
    flat: {
      charge_value: 1.0, # required
    },
    percentage: {
      percentage_value: 1.0, # required
      associated_values: ["CustomLineItemAssociationElement"],
    },
    type: "CREDIT", # required, accepts CREDIT, FEE
    line_item_filters: [
      {
        attribute: "LINE_ITEM_TYPE", # required, accepts LINE_ITEM_TYPE, SERVICE
        match_option: "NOT_EQUAL", # required, accepts NOT_EQUAL, EQUAL
        values: ["SAVINGS_PLAN_NEGATION"], # accepts SAVINGS_PLAN_NEGATION
        attribute_values: ["AttributeValue"],
      },
    ],
  },
  account_id: "AccountId",
  computation_rule: "ITEMIZED", # accepts ITEMIZED, CONSOLIDATED
  presentation_details: {
    service: "Service", # required
  },
})

Response structure


resp.arn #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :client_token (String) —

    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.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :name (required, String) —

    The name of the custom line item.

  • :description (required, String) —

    The description of the custom line item. This is shown on the Bills page in association with the charge value.

  • :billing_group_arn (required, String) —

    The Amazon Resource Name (ARN) that references the billing group where the custom line item applies to.

  • :billing_period_range (Types::CustomLineItemBillingPeriodRange) —

    A time range for which the custom line item is effective.

  • :tags (Hash<String,String>) —

    A map that contains tag keys and tag values that are attached to a custom line item.

  • :charge_details (required, Types::CustomLineItemChargeDetails) —

    A CustomLineItemChargeDetails that describes the charge details for a custom line item.

  • :account_id (String) —

    The Amazon Web Services account in which this custom line item will be applied to.

  • :computation_rule (String) —

    Specifies how the custom line item charges are computed.

  • :presentation_details (Types::PresentationObject) —

    Details controlling how the custom line item charges are presented in the bill. Contains specifications for which service the charges will be shown under.

Returns:

See Also:



824
825
826
827
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 824

def create_custom_line_item(params = {}, options = {})
  req = build_request(:create_custom_line_item, params)
  req.send_request(options)
end

#create_pricing_plan(params = {}) ⇒ Types::CreatePricingPlanOutput

Creates a pricing plan that is used for computing Amazon Web Services charges for billing groups.

Examples:

Request syntax with placeholder values


resp = client.create_pricing_plan({
  client_token: "ClientToken",
  name: "PricingPlanName", # required
  description: "PricingPlanDescription",
  pricing_rule_arns: ["PricingRuleArn"],
  tags: {
    "TagKey" => "TagValue",
  },
})

Response structure


resp.arn #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :client_token (String) —

    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.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :name (required, String) —

    The name of the pricing plan. The names must be unique to each pricing plan.

  • :description (String) —

    The description of the pricing plan.

  • :pricing_rule_arns (Array<String>) —

    A list of Amazon Resource Names (ARNs) that define the pricing plan parameters.

  • :tags (Hash<String,String>) —

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

Returns:

See Also:



881
882
883
884
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 881

def create_pricing_plan(params = {}, options = {})
  req = build_request(:create_pricing_plan, params)
  req.send_request(options)
end

#create_pricing_rule(params = {}) ⇒ Types::CreatePricingRuleOutput

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

Examples:

Request syntax with placeholder values


resp = client.create_pricing_rule({
  client_token: "ClientToken",
  name: "PricingRuleName", # required
  description: "PricingRuleDescription",
  scope: "GLOBAL", # required, accepts GLOBAL, SERVICE, BILLING_ENTITY, SKU
  type: "MARKUP", # required, accepts MARKUP, DISCOUNT, TIERING
  modifier_percentage: 1.0,
  service: "Service",
  tags: {
    "TagKey" => "TagValue",
  },
  billing_entity: "BillingEntity",
  tiering: {
    free_tier: {
      activated: false, # required
    },
    custom_tiers: [
      {
        begin_range_inclusive: 1.0, # required
        end_range_exclusive: 1.0,
        rate_value: 1.0, # required
      },
    ],
  },
  usage_type: "UsageType",
  operation: "Operation",
})

Response structure


resp.arn #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :client_token (String) —

    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.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :name (required, String) —

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

  • :description (String) —

    The pricing rule description.

  • :scope (required, String) —

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

  • :type (required, String) —

    The type of pricing rule.

  • :modifier_percentage (Float) —

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

  • :service (String) —

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

  • :tags (Hash<String,String>) —

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

  • :billing_entity (String) —

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

  • :tiering (Types::CreateTieringInput) —

    The set of tiering configurations for the pricing rule.

  • :usage_type (String) —

    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 anM2 High Memory Double Extra Large instance in the US West (Oregon) Region.

  • :operation (String) —

    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.

Returns:

See Also:



992
993
994
995
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 992

def create_pricing_rule(params = {}, options = {})
  req = build_request(:create_pricing_rule, params)
  req.send_request(options)
end

#delete_billing_group(params = {}) ⇒ Types::DeleteBillingGroupOutput

Deletes a billing group.

Examples:

Request syntax with placeholder values


resp = client.delete_billing_group({
  arn: "BillingGroupArn", # required
})

Response structure


resp.arn #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :arn (required, String) —

    The Amazon Resource Name (ARN) of the billing group that you're deleting.

Returns:

See Also:



1021
1022
1023
1024
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1021

def delete_billing_group(params = {}, options = {})
  req = build_request(:delete_billing_group, params)
  req.send_request(options)
end

#delete_custom_line_item(params = {}) ⇒ Types::DeleteCustomLineItemOutput

Deletes the custom line item identified by the given ARN in the current, or previous billing period.

Examples:

Request syntax with placeholder values


resp = client.delete_custom_line_item({
  arn: "CustomLineItemArn", # required
  billing_period_range: {
    inclusive_start_billing_period: "BillingPeriod", # required
    exclusive_end_billing_period: "BillingPeriod",
  },
})

Response structure


resp.arn #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :arn (required, String) —

    The ARN of the custom line item to be deleted.

  • :billing_period_range (Types::CustomLineItemBillingPeriodRange) —

    The billing period range in which the custom line item request will be applied.

Returns:

See Also:



1058
1059
1060
1061
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1058

def delete_custom_line_item(params = {}, options = {})
  req = build_request(:delete_custom_line_item, params)
  req.send_request(options)
end

#delete_pricing_plan(params = {}) ⇒ Types::DeletePricingPlanOutput

Deletes a pricing plan. The pricing plan must not be associated with any billing groups to delete successfully.

Examples:

Request syntax with placeholder values


resp = client.delete_pricing_plan({
  arn: "PricingPlanArn", # required
})

Response structure


resp.arn #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :arn (required, String) —

    The Amazon Resource Name (ARN) of the pricing plan that you're deleting.

Returns:

See Also:



1088
1089
1090
1091
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1088

def delete_pricing_plan(params = {}, options = {})
  req = build_request(:delete_pricing_plan, params)
  req.send_request(options)
end

#delete_pricing_rule(params = {}) ⇒ Types::DeletePricingRuleOutput

Deletes the pricing rule that's identified by the input Amazon Resource Name (ARN).

Examples:

Request syntax with placeholder values


resp = client.delete_pricing_rule({
  arn: "PricingRuleArn", # required
})

Response structure


resp.arn #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :arn (required, String) —

    The Amazon Resource Name (ARN) of the pricing rule that you are deleting.

Returns:

See Also:



1118
1119
1120
1121
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1118

def delete_pricing_rule(params = {}, options = {})
  req = build_request(:delete_pricing_rule, params)
  req.send_request(options)
end

#disassociate_accounts(params = {}) ⇒ Types::DisassociateAccountsOutput

Removes the specified list of account IDs from the given billing group.

Examples:

Request syntax with placeholder values


resp = client.disassociate_accounts({
  arn: "BillingGroupArn", # required
  account_ids: ["AccountId"], # required
})

Response structure


resp.arn #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :arn (required, String) —

    The Amazon Resource Name (ARN) of the billing group that the array of account IDs will disassociate from.

  • :account_ids (required, Array<String>) —

    The array of account IDs to disassociate.

Returns:

See Also:



1152
1153
1154
1155
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1152

def disassociate_accounts(params = {}, options = {})
  req = build_request(:disassociate_accounts, params)
  req.send_request(options)
end

#disassociate_pricing_rules(params = {}) ⇒ Types::DisassociatePricingRulesOutput

Disassociates a list of pricing rules from a pricing plan.

Examples:

Request syntax with placeholder values


resp = client.disassociate_pricing_rules({
  arn: "PricingPlanArn", # required
  pricing_rule_arns: ["PricingRuleArn"], # required
})

Response structure


resp.arn #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :arn (required, String) —

    The pricing plan Amazon Resource Name (ARN) to disassociate pricing rules from.

  • :pricing_rule_arns (required, Array<String>) —

    A list containing the Amazon Resource Name (ARN) of the pricing rules that will be disassociated.

Returns:

See Also:



1186
1187
1188
1189
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1186

def disassociate_pricing_rules(params = {}, options = {})
  req = build_request(:disassociate_pricing_rules, params)
  req.send_request(options)
end

#get_billing_group_cost_report(params = {}) ⇒ Types::GetBillingGroupCostReportOutput

Retrieves the margin summary report, which includes the Amazon Web Services cost and charged amount (pro forma cost) by Amazon Web Services service for a specific billing group.

Examples:

Request syntax with placeholder values


resp = client.get_billing_group_cost_report({
  arn: "BillingGroupArn", # required
  billing_period_range: {
    inclusive_start_billing_period: "BillingPeriod", # required
    exclusive_end_billing_period: "BillingPeriod", # required
  },
  group_by: ["PRODUCT_NAME"], # accepts PRODUCT_NAME, BILLING_PERIOD
  max_results: 1,
  next_token: "Token",
})

Response structure


resp.billing_group_cost_report_results #=> Array
resp.billing_group_cost_report_results[0].arn #=> String
resp.billing_group_cost_report_results[0].aws_cost #=> String
resp.billing_group_cost_report_results[0].proforma_cost #=> String
resp.billing_group_cost_report_results[0].margin #=> String
resp.billing_group_cost_report_results[0].margin_percentage #=> String
resp.billing_group_cost_report_results[0].currency #=> String
resp.billing_group_cost_report_results[0].attributes #=> Array
resp.billing_group_cost_report_results[0].attributes[0].key #=> String
resp.billing_group_cost_report_results[0].attributes[0].value #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :arn (required, String) —

    The Amazon Resource Number (ARN) that uniquely identifies the billing group.

  • :billing_period_range (Types::BillingPeriodRange) —

    A time range for which the margin summary is effective. You can specify up to 12 months.

  • :group_by (Array<String>) —

    A list of strings that specify the attributes that are used to break down costs in the margin summary reports for the billing group. For example, you can view your costs by the Amazon Web Services service name or the billing period.

  • :max_results (Integer) —

    The maximum number of margin summary reports to retrieve.

  • :next_token (String) —

    The pagination token used on subsequent calls to get reports.

Returns:

See Also:



1251
1252
1253
1254
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1251

def get_billing_group_cost_report(params = {}, options = {})
  req = build_request(:get_billing_group_cost_report, params)
  req.send_request(options)
end

#get_billing_transfer_preference(params = {}) ⇒ Types::GetBillingTransferPreferenceOutput

Retrieves the auto billing group creation preference for a billing transfer.

Examples:

Request syntax with placeholder values


resp = client.get_billing_transfer_preference({
  responsibility_transfer_arn: "ResponsibilityTransferArn", # required
})

Response structure


resp.responsibility_transfer_arn #=> String
resp.auto_billing_transfer_billing_group_creation.enabled #=> Boolean
resp.auto_billing_transfer_billing_group_creation.pricing_plan_arn #=> String
resp.last_modified_time #=> Integer

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :responsibility_transfer_arn (required, String) —

    The Amazon Resource Name (ARN) of the billing transfer whose preference you want to retrieve.

Returns:

See Also:



1286
1287
1288
1289
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1286

def get_billing_transfer_preference(params = {}, options = {})
  req = build_request(:get_billing_transfer_preference, params)
  req.send_request(options)
end

#list_account_associations(params = {}) ⇒ Types::ListAccountAssociationsOutput

This is a paginated call to list linked accounts that are linked to the payer account for the specified time period. If no information is provided, the current billing period is used. The response will optionally include the billing group that's associated with the linked account.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.({
  billing_period: "BillingPeriod",
  filters: {
    association: "Association",
    account_id: "AccountId",
    account_ids: ["AccountId"],
  },
  next_token: "Token",
})

Response structure


resp.linked_accounts #=> Array
resp.linked_accounts[0]. #=> String
resp.linked_accounts[0].billing_group_arn #=> String
resp.linked_accounts[0]. #=> String
resp.linked_accounts[0]. #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :billing_period (String) —

    The preferred billing period to get account associations.

  • :filters (Types::ListAccountAssociationsFilter) —

    The filter on the account ID of the linked account, or any of the following:

    MONITORED: linked accounts that are associated to billing groups.

    UNMONITORED: linked accounts that aren't associated to billing groups.

    Billing Group Arn: linked accounts that are associated to the provided billing group Arn.

  • :next_token (String) —

    The pagination token that's used on subsequent calls to retrieve accounts.

Returns:

See Also:



1348
1349
1350
1351
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1348

def (params = {}, options = {})
  req = build_request(:list_account_associations, params)
  req.send_request(options)
end

#list_billing_group_cost_reports(params = {}) ⇒ Types::ListBillingGroupCostReportsOutput

A paginated call to retrieve a summary report of actual Amazon Web Services charges and the calculated Amazon Web Services charges based on the associated pricing plan of a billing group.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_billing_group_cost_reports({
  billing_period: "BillingPeriod",
  max_results: 1,
  next_token: "Token",
  filters: {
    billing_group_arns: ["BillingGroupArn"],
  },
})

Response structure


resp.billing_group_cost_reports #=> Array
resp.billing_group_cost_reports[0].arn #=> String
resp.billing_group_cost_reports[0].aws_cost #=> String
resp.billing_group_cost_reports[0].proforma_cost #=> String
resp.billing_group_cost_reports[0].margin #=> String
resp.billing_group_cost_reports[0].margin_percentage #=> String
resp.billing_group_cost_reports[0].currency #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :billing_period (String) —

    The preferred billing period for your report.

  • :max_results (Integer) —

    The maximum number of reports to retrieve.

  • :next_token (String) —

    The pagination token that's used on subsequent calls to get reports.

  • :filters (Types::ListBillingGroupCostReportsFilter) —

    A ListBillingGroupCostReportsFilter to specify billing groups to retrieve reports from.

Returns:

See Also:



1403
1404
1405
1406
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1403

def list_billing_group_cost_reports(params = {}, options = {})
  req = build_request(:list_billing_group_cost_reports, params)
  req.send_request(options)
end

#list_billing_groups(params = {}) ⇒ Types::ListBillingGroupsOutput

A paginated call to retrieve a list of billing groups for the given billing period. If you don't provide a billing group, the current billing period is used.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_billing_groups({
  billing_period: "BillingPeriod",
  max_results: 1,
  next_token: "Token",
  filters: {
    arns: ["BillingGroupArn"],
    pricing_plan: "PricingPlanFullArn",
    statuses: ["ACTIVE"], # accepts ACTIVE, PRIMARY_ACCOUNT_MISSING, PENDING
    auto_associate: false,
    primary_account_ids: ["AccountId"],
    billing_group_types: ["STANDARD"], # accepts STANDARD, TRANSFER_BILLING
    names: [
      {
        search_option: "STARTS_WITH", # required, accepts STARTS_WITH
        search_value: "SearchValue", # required
      },
    ],
    responsibility_transfer_arns: ["ResponsibilityTransferArn"],
  },
})

Response structure


resp.billing_groups #=> Array
resp.billing_groups[0].name #=> String
resp.billing_groups[0].arn #=> String
resp.billing_groups[0].description #=> String
resp.billing_groups[0]. #=> String
resp.billing_groups[0].computation_preference.pricing_plan_arn #=> String
resp.billing_groups[0].size #=> Integer
resp.billing_groups[0].creation_time #=> Integer
resp.billing_groups[0].last_modified_time #=> Integer
resp.billing_groups[0].status #=> String, one of "ACTIVE", "PRIMARY_ACCOUNT_MISSING", "PENDING"
resp.billing_groups[0].status_reason #=> String
resp.billing_groups[0]..auto_associate #=> Boolean
resp.billing_groups[0]..responsibility_transfer_arn #=> String
resp.billing_groups[0].billing_group_type #=> String, one of "STANDARD", "TRANSFER_BILLING"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :billing_period (String) —

    The preferred billing period to get billing groups.

  • :max_results (Integer) —

    The maximum number of billing groups to retrieve.

  • :next_token (String) —

    The pagination token that's used on subsequent calls to get billing groups.

  • :filters (Types::ListBillingGroupsFilter) —

    A ListBillingGroupsFilter that specifies the billing group and pricing plan to retrieve billing group information.

Returns:

See Also:



1478
1479
1480
1481
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1478

def list_billing_groups(params = {}, options = {})
  req = build_request(:list_billing_groups, params)
  req.send_request(options)
end

#list_custom_line_item_versions(params = {}) ⇒ Types::ListCustomLineItemVersionsOutput

A paginated call to get a list of all custom line item versions.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_custom_line_item_versions({
  arn: "CustomLineItemArn", # required
  max_results: 1,
  next_token: "Token",
  filters: {
    billing_period_range: {
      start_billing_period: "BillingPeriod",
      end_billing_period: "BillingPeriod",
    },
  },
})

Response structure


resp.custom_line_item_versions #=> Array
resp.custom_line_item_versions[0].name #=> String
resp.custom_line_item_versions[0].charge_details.flat.charge_value #=> Float
resp.custom_line_item_versions[0].charge_details.percentage.percentage_value #=> Float
resp.custom_line_item_versions[0].charge_details.type #=> String, one of "CREDIT", "FEE"
resp.custom_line_item_versions[0].charge_details.line_item_filters #=> Array
resp.custom_line_item_versions[0].charge_details.line_item_filters[0].attribute #=> String, one of "LINE_ITEM_TYPE", "SERVICE"
resp.custom_line_item_versions[0].charge_details.line_item_filters[0].match_option #=> String, one of "NOT_EQUAL", "EQUAL"
resp.custom_line_item_versions[0].charge_details.line_item_filters[0].values #=> Array
resp.custom_line_item_versions[0].charge_details.line_item_filters[0].values[0] #=> String, one of "SAVINGS_PLAN_NEGATION"
resp.custom_line_item_versions[0].charge_details.line_item_filters[0].attribute_values #=> Array
resp.custom_line_item_versions[0].charge_details.line_item_filters[0].attribute_values[0] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.custom_line_item_versions[0].currency_code #=> String, one of "USD", "CNY"
resp.custom_line_item_versions[0].description #=> String
resp.custom_line_item_versions[0].product_code #=> String
resp.custom_line_item_versions[0].billing_group_arn #=> String
resp.custom_line_item_versions[0].creation_time #=> Integer
resp.custom_line_item_versions[0].last_modified_time #=> Integer
resp.custom_line_item_versions[0].association_size #=> Integer
resp.custom_line_item_versions[0].start_billing_period #=> String
resp.custom_line_item_versions[0].end_billing_period #=> String
resp.custom_line_item_versions[0].arn #=> String
resp.custom_line_item_versions[0].start_time #=> Integer
resp.custom_line_item_versions[0]. #=> String
resp.custom_line_item_versions[0].computation_rule #=> String, one of "ITEMIZED", "CONSOLIDATED"
resp.custom_line_item_versions[0].presentation_details.service #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :arn (required, String) —

    The Amazon Resource Name (ARN) for the custom line item.

  • :max_results (Integer) —

    The maximum number of custom line item versions to retrieve.

  • :next_token (String) —

    The pagination token that's used on subsequent calls to retrieve custom line item versions.

  • :filters (Types::ListCustomLineItemVersionsFilter) —

    A ListCustomLineItemVersionsFilter that specifies the billing period range in which the custom line item versions are applied.

Returns:

See Also:



1554
1555
1556
1557
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1554

def list_custom_line_item_versions(params = {}, options = {})
  req = build_request(:list_custom_line_item_versions, params)
  req.send_request(options)
end

#list_custom_line_items(params = {}) ⇒ Types::ListCustomLineItemsOutput

A paginated call to get a list of all custom line items (FFLIs) for the given billing period. If you don't provide a billing period, the current billing period is used.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_custom_line_items({
  billing_period: "BillingPeriod",
  max_results: 1,
  next_token: "Token",
  filters: {
    names: ["CustomLineItemName"],
    billing_groups: ["BillingGroupArn"],
    arns: ["CustomLineItemArn"],
    account_ids: ["AccountId"],
  },
})

Response structure


resp.custom_line_items #=> Array
resp.custom_line_items[0].arn #=> String
resp.custom_line_items[0].name #=> String
resp.custom_line_items[0].charge_details.flat.charge_value #=> Float
resp.custom_line_items[0].charge_details.percentage.percentage_value #=> Float
resp.custom_line_items[0].charge_details.type #=> String, one of "CREDIT", "FEE"
resp.custom_line_items[0].charge_details.line_item_filters #=> Array
resp.custom_line_items[0].charge_details.line_item_filters[0].attribute #=> String, one of "LINE_ITEM_TYPE", "SERVICE"
resp.custom_line_items[0].charge_details.line_item_filters[0].match_option #=> String, one of "NOT_EQUAL", "EQUAL"
resp.custom_line_items[0].charge_details.line_item_filters[0].values #=> Array
resp.custom_line_items[0].charge_details.line_item_filters[0].values[0] #=> String, one of "SAVINGS_PLAN_NEGATION"
resp.custom_line_items[0].charge_details.line_item_filters[0].attribute_values #=> Array
resp.custom_line_items[0].charge_details.line_item_filters[0].attribute_values[0] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.custom_line_items[0].currency_code #=> String, one of "USD", "CNY"
resp.custom_line_items[0].description #=> String
resp.custom_line_items[0].product_code #=> String
resp.custom_line_items[0].billing_group_arn #=> String
resp.custom_line_items[0].creation_time #=> Integer
resp.custom_line_items[0].last_modified_time #=> Integer
resp.custom_line_items[0].association_size #=> Integer
resp.custom_line_items[0]. #=> String
resp.custom_line_items[0].computation_rule #=> String, one of "ITEMIZED", "CONSOLIDATED"
resp.custom_line_items[0].presentation_details.service #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :billing_period (String) —

    The preferred billing period to get custom line items (FFLIs).

  • :max_results (Integer) —

    The maximum number of billing groups to retrieve.

  • :next_token (String) —

    The pagination token that's used on subsequent calls to get custom line items (FFLIs).

  • :filters (Types::ListCustomLineItemsFilter) —

    A ListCustomLineItemsFilter that specifies the custom line item names and/or billing group Amazon Resource Names (ARNs) to retrieve FFLI information.

Returns:

See Also:



1630
1631
1632
1633
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1630

def list_custom_line_items(params = {}, options = {})
  req = build_request(:list_custom_line_items, params)
  req.send_request(options)
end

#list_pricing_plans(params = {}) ⇒ Types::ListPricingPlansOutput

A paginated call to get pricing plans for the given billing period. If you don't provide a billing period, the current billing period is used.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_pricing_plans({
  billing_period: "BillingPeriod",
  filters: {
    arns: ["PricingPlanArn"],
  },
  max_results: 1,
  next_token: "Token",
})

Response structure


resp.billing_period #=> String
resp.pricing_plans #=> Array
resp.pricing_plans[0].name #=> String
resp.pricing_plans[0].arn #=> String
resp.pricing_plans[0].description #=> String
resp.pricing_plans[0].size #=> Integer
resp.pricing_plans[0].creation_time #=> Integer
resp.pricing_plans[0].last_modified_time #=> Integer
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :billing_period (String) —

    The preferred billing period to get pricing plan.

  • :filters (Types::ListPricingPlansFilter) —

    A ListPricingPlansFilter that specifies the Amazon Resource Name (ARNs) of pricing plans to retrieve pricing plans information.

  • :max_results (Integer) —

    The maximum number of pricing plans to retrieve.

  • :next_token (String) —

    The pagination token that's used on subsequent call to get pricing plans.

Returns:

See Also:



1688
1689
1690
1691
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1688

def list_pricing_plans(params = {}, options = {})
  req = build_request(:list_pricing_plans, params)
  req.send_request(options)
end

#list_pricing_plans_associated_with_pricing_rule(params = {}) ⇒ Types::ListPricingPlansAssociatedWithPricingRuleOutput

A list of the pricing plans that are associated with a pricing rule.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_pricing_plans_associated_with_pricing_rule({
  billing_period: "BillingPeriod",
  pricing_rule_arn: "PricingRuleArn", # required
  max_results: 1,
  next_token: "Token",
})

Response structure


resp.billing_period #=> String
resp.pricing_rule_arn #=> String
resp.pricing_plan_arns #=> Array
resp.pricing_plan_arns[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :billing_period (String) —

    The pricing plan billing period for which associations will be listed.

  • :pricing_rule_arn (required, String) —

    The pricing rule Amazon Resource Name (ARN) for which associations will be listed.

  • :max_results (Integer) —

    The optional maximum number of pricing rule associations to retrieve.

  • :next_token (String) —

    The optional pagination token returned by a previous call.

Returns:

See Also:



1738
1739
1740
1741
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1738

def list_pricing_plans_associated_with_pricing_rule(params = {}, options = {})
  req = build_request(:list_pricing_plans_associated_with_pricing_rule, params)
  req.send_request(options)
end

#list_pricing_rules(params = {}) ⇒ Types::ListPricingRulesOutput

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

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_pricing_rules({
  billing_period: "BillingPeriod",
  filters: {
    arns: ["PricingRuleArn"],
  },
  max_results: 1,
  next_token: "Token",
})

Response structure


resp.billing_period #=> String
resp.pricing_rules #=> Array
resp.pricing_rules[0].name #=> String
resp.pricing_rules[0].arn #=> String
resp.pricing_rules[0].description #=> String
resp.pricing_rules[0].scope #=> String, one of "GLOBAL", "SERVICE", "BILLING_ENTITY", "SKU"
resp.pricing_rules[0].type #=> String, one of "MARKUP", "DISCOUNT", "TIERING"
resp.pricing_rules[0].modifier_percentage #=> Float
resp.pricing_rules[0].service #=> String
resp.pricing_rules[0].associated_pricing_plan_count #=> Integer
resp.pricing_rules[0].creation_time #=> Integer
resp.pricing_rules[0].last_modified_time #=> Integer
resp.pricing_rules[0].billing_entity #=> String
resp.pricing_rules[0].tiering.free_tier.activated #=> Boolean
resp.pricing_rules[0].tiering.custom_tiers #=> Array
resp.pricing_rules[0].tiering.custom_tiers[0].begin_range_inclusive #=> Float
resp.pricing_rules[0].tiering.custom_tiers[0].end_range_exclusive #=> Float
resp.pricing_rules[0].tiering.custom_tiers[0].rate_value #=> Float
resp.pricing_rules[0].usage_type #=> String
resp.pricing_rules[0].operation #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :billing_period (String) —

    The preferred billing period to get the pricing plan.

  • :filters (Types::ListPricingRulesFilter) —

    A DescribePricingRuleFilter that specifies the Amazon Resource Name (ARNs) of pricing rules to retrieve pricing rules information.

  • :max_results (Integer) —

    The maximum number of pricing rules to retrieve.

  • :next_token (String) —

    The pagination token that's used on subsequent call to get pricing rules.

Returns:

See Also:



1807
1808
1809
1810
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1807

def list_pricing_rules(params = {}, options = {})
  req = build_request(:list_pricing_rules, params)
  req.send_request(options)
end

#list_pricing_rules_associated_to_pricing_plan(params = {}) ⇒ Types::ListPricingRulesAssociatedToPricingPlanOutput

Lists the pricing rules that are associated with a pricing plan.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_pricing_rules_associated_to_pricing_plan({
  billing_period: "BillingPeriod",
  pricing_plan_arn: "PricingPlanArn", # required
  max_results: 1,
  next_token: "Token",
})

Response structure


resp.billing_period #=> String
resp.pricing_plan_arn #=> String
resp.pricing_rule_arns #=> Array
resp.pricing_rule_arns[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :billing_period (String) —

    The billing period for which the pricing rule associations are to be listed.

  • :pricing_plan_arn (required, String) —

    The Amazon Resource Name (ARN) of the pricing plan for which associations are to be listed.

  • :max_results (Integer) —

    The optional maximum number of pricing rule associations to retrieve.

  • :next_token (String) —

    The optional pagination token returned by a previous call.

Returns:

See Also:



1858
1859
1860
1861
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1858

def list_pricing_rules_associated_to_pricing_plan(params = {}, options = {})
  req = build_request(:list_pricing_rules_associated_to_pricing_plan, params)
  req.send_request(options)
end

#list_resources_associated_to_custom_line_item(params = {}) ⇒ Types::ListResourcesAssociatedToCustomLineItemOutput

List the resources that are associated to a custom line item.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_resources_associated_to_custom_line_item({
  billing_period: "BillingPeriod",
  arn: "CustomLineItemArn", # required
  max_results: 1,
  next_token: "Token",
  filters: {
    relationship: "PARENT", # accepts PARENT, CHILD
  },
})

Response structure


resp.arn #=> String
resp.associated_resources #=> Array
resp.associated_resources[0].arn #=> String
resp.associated_resources[0].relationship #=> String, one of "PARENT", "CHILD"
resp.associated_resources[0].end_billing_period #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :billing_period (String) —

    The billing period for which the resource associations will be listed.

  • :arn (required, String) —

    The ARN of the custom line item for which the resource associations will be listed.

  • :max_results (Integer) — default: Optional —

    The maximum number of resource associations to be retrieved.

  • :next_token (String) — default: Optional —

    The pagination token that's returned by a previous request.

  • :filters (Types::ListResourcesAssociatedToCustomLineItemFilter) — default: Optional —

    A ListResourcesAssociatedToCustomLineItemFilter that can specify the types of resources that should be retrieved.

Returns:

See Also:



1917
1918
1919
1920
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1917

def list_resources_associated_to_custom_line_item(params = {}, options = {})
  req = build_request(:list_resources_associated_to_custom_line_item, params)
  req.send_request(options)
end

#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse

A list the tags for a resource.

Examples:

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource_arn: "Arn", # required
})

Response structure


resp.tags #=> Hash
resp.tags["TagKey"] #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :resource_arn (required, String) —

    The Amazon Resource Name (ARN) that identifies the resource to list the tags.

Returns:

See Also:



1947
1948
1949
1950
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1947

def list_tags_for_resource(params = {}, options = {})
  req = build_request(:list_tags_for_resource, params)
  req.send_request(options)
end

#tag_resource(params = {}) ⇒ Struct

Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed.

Examples:

Request syntax with placeholder values


resp = client.tag_resource({
  resource_arn: "Arn", # required
  tags: { # required
    "TagKey" => "TagValue",
  },
})

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :resource_arn (required, String) —

    The Amazon Resource Name (ARN) of the resource to which to add tags.

  • :tags (required, Hash<String,String>) —

    The tags to add to the resource as a list of key-value pairs.

Returns:

  • (Struct) —

    Returns an empty response.

See Also:



1977
1978
1979
1980
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 1977

def tag_resource(params = {}, options = {})
  req = build_request(:tag_resource, params)
  req.send_request(options)
end

#untag_resource(params = {}) ⇒ Struct

Deletes specified tags from a resource.

Examples:

Request syntax with placeholder values


resp = client.untag_resource({
  resource_arn: "Arn", # required
  tag_keys: ["TagKey"], # required
})

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :resource_arn (required, String) —

    The Amazon Resource Name (ARN) of the resource to which to delete tags.

  • :tag_keys (required, Array<String>) —

    The tags to delete from the resource as a list of key-value pairs.

Returns:

  • (Struct) —

    Returns an empty response.

See Also:



2004
2005
2006
2007
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 2004

def untag_resource(params = {}, options = {})
  req = build_request(:untag_resource, params)
  req.send_request(options)
end

#update_billing_group(params = {}) ⇒ Types::UpdateBillingGroupOutput

This updates an existing billing group.

Examples:

Request syntax with placeholder values


resp = client.update_billing_group({
  arn: "BillingGroupArn", # required
  name: "BillingGroupName",
  status: "ACTIVE", # accepts ACTIVE, PRIMARY_ACCOUNT_MISSING, PENDING
  computation_preference: {
    pricing_plan_arn: "PricingPlanFullArn", # required
  },
  description: "BillingGroupDescription",
  account_grouping: {
    auto_associate: false,
    responsibility_transfer_arn: "ResponsibilityTransferArn",
  },
})

Response structure


resp.arn #=> String
resp.name #=> String
resp.description #=> String
resp. #=> String
resp.pricing_plan_arn #=> String
resp.size #=> Integer
resp.last_modified_time #=> Integer
resp.status #=> String, one of "ACTIVE", "PRIMARY_ACCOUNT_MISSING", "PENDING"
resp.status_reason #=> String
resp..auto_associate #=> Boolean
resp..responsibility_transfer_arn #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :arn (required, String) —

    The Amazon Resource Name (ARN) of the billing group being updated.

  • :name (String) —

    The name of the billing group. The names must be unique to each billing group.

  • :status (String) —

    The status of the billing group. Only one of the valid values can be used.

  • :computation_preference (Types::ComputationPreference) —

    The preferences and settings that will be used to compute the Amazon Web Services charges for a billing group.

  • :description (String) —

    A description of the billing group.

  • :account_grouping (Types::UpdateBillingGroupAccountGrouping) —

    Specifies if the billing group has automatic account association (AutoAssociate) enabled.

Returns:

See Also:



2080
2081
2082
2083
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 2080

def update_billing_group(params = {}, options = {})
  req = build_request(:update_billing_group, params)
  req.send_request(options)
end

#update_billing_transfer_preference(params = {}) ⇒ Types::UpdateBillingTransferPreferenceOutput

Sets the auto billing group creation preference for a billing transfer. When the preference is enabled, Billing Conductor automatically creates an indirect billing transfer billing group in your account, with the pricing plan that you specify, for each account that transfers its bill to the bill source account of this billing transfer. The preference applies only to billing groups that are created after you enable it.

Enabling the preference requires the iam:CreateServiceLinkedRole permission. While a pricing plan is specified in an enabled preference, you can't delete that pricing plan.

Examples:

Request syntax with placeholder values


resp = client.update_billing_transfer_preference({
  client_token: "ClientToken",
  responsibility_transfer_arn: "ResponsibilityTransferArn", # required
  auto_billing_transfer_billing_group_creation: { # required
    enabled: false, # required
    pricing_plan_arn: "PricingPlanArn",
  },
})

Response structure


resp.responsibility_transfer_arn #=> String
resp.auto_billing_transfer_billing_group_creation.enabled #=> Boolean
resp.auto_billing_transfer_billing_group_creation.pricing_plan_arn #=> String
resp.last_modified_time #=> Integer

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :client_token (String) —

    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.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :responsibility_transfer_arn (required, String) —

    The Amazon Resource Name (ARN) of the billing transfer whose preference you want to set.

  • :auto_billing_transfer_billing_group_creation (required, Types::AutoTransferBillingGroupCreationPreference) —

    The auto billing group creation preference to set for the billing transfer.

Returns:

See Also:



2143
2144
2145
2146
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 2143

def update_billing_transfer_preference(params = {}, options = {})
  req = build_request(:update_billing_transfer_preference, params)
  req.send_request(options)
end

#update_custom_line_item(params = {}) ⇒ Types::UpdateCustomLineItemOutput

Update an existing custom line item in the current or previous billing period.

Examples:

Request syntax with placeholder values


resp = client.update_custom_line_item({
  arn: "CustomLineItemArn", # required
  name: "CustomLineItemName",
  description: "CustomLineItemDescription",
  charge_details: {
    flat: {
      charge_value: 1.0, # required
    },
    percentage: {
      percentage_value: 1.0, # required
    },
    line_item_filters: [
      {
        attribute: "LINE_ITEM_TYPE", # required, accepts LINE_ITEM_TYPE, SERVICE
        match_option: "NOT_EQUAL", # required, accepts NOT_EQUAL, EQUAL
        values: ["SAVINGS_PLAN_NEGATION"], # accepts SAVINGS_PLAN_NEGATION
        attribute_values: ["AttributeValue"],
      },
    ],
  },
  billing_period_range: {
    inclusive_start_billing_period: "BillingPeriod", # required
    exclusive_end_billing_period: "BillingPeriod",
  },
})

Response structure


resp.arn #=> String
resp.billing_group_arn #=> String
resp.name #=> String
resp.description #=> String
resp.charge_details.flat.charge_value #=> Float
resp.charge_details.percentage.percentage_value #=> Float
resp.charge_details.type #=> String, one of "CREDIT", "FEE"
resp.charge_details.line_item_filters #=> Array
resp.charge_details.line_item_filters[0].attribute #=> String, one of "LINE_ITEM_TYPE", "SERVICE"
resp.charge_details.line_item_filters[0].match_option #=> String, one of "NOT_EQUAL", "EQUAL"
resp.charge_details.line_item_filters[0].values #=> Array
resp.charge_details.line_item_filters[0].values[0] #=> String, one of "SAVINGS_PLAN_NEGATION"
resp.charge_details.line_item_filters[0].attribute_values #=> Array
resp.charge_details.line_item_filters[0].attribute_values[0] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.last_modified_time #=> Integer
resp.association_size #=> Integer

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :arn (required, String) —

    The ARN of the custom line item to be updated.

  • :name (String) —

    The new name for the custom line item.

  • :description (String) —

    The new line item description of the custom line item.

  • :charge_details (Types::UpdateCustomLineItemChargeDetails) —

    A ListCustomLineItemChargeDetails containing the new charge details for the custom line item.

  • :billing_period_range (Types::CustomLineItemBillingPeriodRange) —

    The billing period range in which the custom line item request will be applied.

Returns:

See Also:



2229
2230
2231
2232
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 2229

def update_custom_line_item(params = {}, options = {})
  req = build_request(:update_custom_line_item, params)
  req.send_request(options)
end

#update_pricing_plan(params = {}) ⇒ Types::UpdatePricingPlanOutput

This updates an existing pricing plan.

Examples:

Request syntax with placeholder values


resp = client.update_pricing_plan({
  arn: "PricingPlanArn", # required
  name: "PricingPlanName",
  description: "PricingPlanDescription",
})

Response structure


resp.arn #=> String
resp.name #=> String
resp.description #=> String
resp.size #=> Integer
resp.last_modified_time #=> Integer

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :arn (required, String) —

    The Amazon Resource Name (ARN) of the pricing plan that you're updating.

  • :name (String) —

    The name of the pricing plan. The name must be unique to each pricing plan.

  • :description (String) —

    The description of the pricing plan.

Returns:

See Also:



2275
2276
2277
2278
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 2275

def update_pricing_plan(params = {}, options = {})
  req = build_request(:update_pricing_plan, params)
  req.send_request(options)
end

#update_pricing_rule(params = {}) ⇒ Types::UpdatePricingRuleOutput

Updates an existing pricing rule.

Examples:

Request syntax with placeholder values


resp = client.update_pricing_rule({
  arn: "PricingRuleArn", # required
  name: "PricingRuleName",
  description: "PricingRuleDescription",
  type: "MARKUP", # accepts MARKUP, DISCOUNT, TIERING
  modifier_percentage: 1.0,
  tiering: {
    free_tier: {
      activated: false, # required
    },
    custom_tiers: [
      {
        begin_range_inclusive: 1.0, # required
        end_range_exclusive: 1.0,
        rate_value: 1.0, # required
      },
    ],
  },
})

Response structure


resp.arn #=> String
resp.name #=> String
resp.description #=> String
resp.scope #=> String, one of "GLOBAL", "SERVICE", "BILLING_ENTITY", "SKU"
resp.type #=> String, one of "MARKUP", "DISCOUNT", "TIERING"
resp.modifier_percentage #=> Float
resp.service #=> String
resp.associated_pricing_plan_count #=> Integer
resp.last_modified_time #=> Integer
resp.billing_entity #=> String
resp.tiering.free_tier.activated #=> Boolean
resp.tiering.custom_tiers #=> Array
resp.tiering.custom_tiers[0].begin_range_inclusive #=> Float
resp.tiering.custom_tiers[0].end_range_exclusive #=> Float
resp.tiering.custom_tiers[0].rate_value #=> Float
resp.usage_type #=> String
resp.operation #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :arn (required, String) —

    The Amazon Resource Name (ARN) of the pricing rule to update.

  • :name (String) —

    The new name of the pricing rule. The name must be unique to each pricing rule.

  • :description (String) —

    The new description for the pricing rule.

  • :type (String) —

    The new pricing rule type.

  • :modifier_percentage (Float) —

    The new modifier to show pricing plan rates as a percentage. Your entry will be rounded to the nearest 2 decimal places.

  • :tiering (Types::UpdateTieringInput) —

    The set of tiering configurations for the pricing rule.

Returns:

See Also:



2364
2365
2366
2367
# File 'gems/aws-sdk-billingconductor/lib/aws-sdk-billingconductor/client.rb', line 2364

def update_pricing_rule(params = {}, options = {})
  req = build_request(:update_pricing_rule, params)
  req.send_request(options)
end