aws_sdk_billingconductor/client/
create_custom_line_item.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 [`CreateCustomLineItem`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`client_token(impl Into<String>)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::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_custom_line_item::builders::CreateCustomLineItemFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::set_name):<br>required: **true**<br><p>The name of the custom line item.</p><br>
8    ///   - [`description(impl Into<String>)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::set_description):<br>required: **true**<br><p>The description of the custom line item. This is shown on the Bills page in association with the charge value.</p><br>
9    ///   - [`billing_group_arn(impl Into<String>)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::billing_group_arn) / [`set_billing_group_arn(Option<String>)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::set_billing_group_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) that references the billing group where the custom line item applies to.</p><br>
10    ///   - [`billing_period_range(CustomLineItemBillingPeriodRange)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::billing_period_range) / [`set_billing_period_range(Option<CustomLineItemBillingPeriodRange>)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::set_billing_period_range):<br>required: **false**<br><p>A time range for which the custom line item is effective.</p><br>
11    ///   - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::set_tags):<br>required: **false**<br><p>A map that contains tag keys and tag values that are attached to a custom line item.</p><br>
12    ///   - [`charge_details(CustomLineItemChargeDetails)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::charge_details) / [`set_charge_details(Option<CustomLineItemChargeDetails>)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::set_charge_details):<br>required: **true**<br><p>A <code>CustomLineItemChargeDetails</code> that describes the charge details for a custom line item.</p><br>
13    ///   - [`account_id(impl Into<String>)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::account_id) / [`set_account_id(Option<String>)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::set_account_id):<br>required: **false**<br><p>The Amazon Web Services account in which this custom line item will be applied to.</p><br>
14    ///   - [`computation_rule(ComputationRuleEnum)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::computation_rule) / [`set_computation_rule(Option<ComputationRuleEnum>)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::set_computation_rule):<br>required: **false**<br><p>Specifies how the custom line item charges are computed.</p><br>
15    ///   - [`presentation_details(PresentationObject)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::presentation_details) / [`set_presentation_details(Option<PresentationObject>)`](crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::set_presentation_details):<br>required: **false**<br><p>Details controlling how the custom line item charges are presented in the bill. Contains specifications for which service the charges will be shown under.</p><br>
16    /// - On success, responds with [`CreateCustomLineItemOutput`](crate::operation::create_custom_line_item::CreateCustomLineItemOutput) with field(s):
17    ///   - [`arn(Option<String>)`](crate::operation::create_custom_line_item::CreateCustomLineItemOutput::arn): <p>The Amazon Resource Name (ARN) of the created custom line item.</p>
18    /// - On failure, responds with [`SdkError<CreateCustomLineItemError>`](crate::operation::create_custom_line_item::CreateCustomLineItemError)
19    pub fn create_custom_line_item(&self) -> crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder {
20        crate::operation::create_custom_line_item::builders::CreateCustomLineItemFluentBuilder::new(self.handle.clone())
21    }
22}