aws_sdk_billingconductor/client/
create_pricing_rule.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`CreatePricingRule`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`client_token(impl Into<String>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::set_client_token):<br>required: **false**<br><p>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.</p><br>
7    ///   - [`name(impl Into<String>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::set_name):<br>required: **true**<br><p>The pricing rule name. The names must be unique to each pricing rule.</p><br>
8    ///   - [`description(impl Into<String>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::set_description):<br>required: **false**<br><p>The pricing rule description.</p><br>
9    ///   - [`scope(PricingRuleScope)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::scope) / [`set_scope(Option<PricingRuleScope>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::set_scope):<br>required: **true**<br><p>The scope of pricing rule that indicates if it's globally applicable, or it's service-specific.</p><br>
10    ///   - [`r#type(PricingRuleType)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::type) / [`set_type(Option<PricingRuleType>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::set_type):<br>required: **true**<br><p>The type of pricing rule.</p><br>
11    ///   - [`modifier_percentage(f64)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::modifier_percentage) / [`set_modifier_percentage(Option<f64>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::set_modifier_percentage):<br>required: **false**<br><p>A percentage modifier that's applied on the public pricing rates. Your entry will be rounded to the nearest 2 decimal places.</p><br>
12    ///   - [`service(impl Into<String>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::service) / [`set_service(Option<String>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::set_service):<br>required: **false**<br><p>If the <code>Scope</code> attribute is set to <code>SERVICE</code> or <code>SKU</code>, the attribute indicates which service the <code>PricingRule</code> is applicable for.</p><br>
13    ///   - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::set_tags):<br>required: **false**<br><p>A map that contains tag keys and tag values that are attached to a pricing rule.</p><br>
14    ///   - [`billing_entity(impl Into<String>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::billing_entity) / [`set_billing_entity(Option<String>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::set_billing_entity):<br>required: **false**<br><p>The seller of services provided by Amazon Web Services, their affiliates, or third-party providers selling services via Amazon Web Services Marketplace.</p><br>
15    ///   - [`tiering(CreateTieringInput)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::tiering) / [`set_tiering(Option<CreateTieringInput>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::set_tiering):<br>required: **false**<br><p>The set of tiering configurations for the pricing rule.</p><br>
16    ///   - [`usage_type(impl Into<String>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::usage_type) / [`set_usage_type(Option<String>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::set_usage_type):<br>required: **false**<br><p>Usage type is the unit that each service uses to measure the usage of a specific type of resource.</p> <p>If the <code>Scope</code> attribute is set to <code>SKU</code>, this attribute indicates which usage type the <code>PricingRule</code> is modifying. For example, <code>USW2-BoxUsage:m2.2xlarge</code> describes an<code> M2 High Memory Double Extra Large</code> instance in the US West (Oregon) Region.</p><br>
17    ///   - [`operation(impl Into<String>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::operation) / [`set_operation(Option<String>)`](crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::set_operation):<br>required: **false**<br><p>Operation is the specific Amazon Web Services action covered by this line item. This describes the specific usage of the line item.</p> <p>If the <code>Scope</code> attribute is set to <code>SKU</code>, this attribute indicates which operation the <code>PricingRule</code> is modifying. For example, a value of <code>RunInstances:0202</code> indicates the operation of running an Amazon EC2 instance.</p><br>
18    /// - On success, responds with [`CreatePricingRuleOutput`](crate::operation::create_pricing_rule::CreatePricingRuleOutput) with field(s):
19    ///   - [`arn(Option<String>)`](crate::operation::create_pricing_rule::CreatePricingRuleOutput::arn): <p>The Amazon Resource Name (ARN) of the created pricing rule.</p>
20    /// - On failure, responds with [`SdkError<CreatePricingRuleError>`](crate::operation::create_pricing_rule::CreatePricingRuleError)
21    pub fn create_pricing_rule(&self) -> crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder {
22        crate::operation::create_pricing_rule::builders::CreatePricingRuleFluentBuilder::new(self.handle.clone())
23    }
24}