1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateUsagePlan`](crate::operation::create_usage_plan::builders::CreateUsagePlanFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`name(impl Into<String>)`](crate::operation::create_usage_plan::builders::CreateUsagePlanFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_usage_plan::builders::CreateUsagePlanFluentBuilder::set_name):<br>required: **true**<br><p>The name of the usage plan.</p><br>
    ///   - [`description(impl Into<String>)`](crate::operation::create_usage_plan::builders::CreateUsagePlanFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_usage_plan::builders::CreateUsagePlanFluentBuilder::set_description):<br>required: **false**<br><p>The description of the usage plan.</p><br>
    ///   - [`api_stages(ApiStage)`](crate::operation::create_usage_plan::builders::CreateUsagePlanFluentBuilder::api_stages) / [`set_api_stages(Option<Vec::<ApiStage>>)`](crate::operation::create_usage_plan::builders::CreateUsagePlanFluentBuilder::set_api_stages):<br>required: **false**<br><p>The associated API stages of the usage plan.</p><br>
    ///   - [`throttle(ThrottleSettings)`](crate::operation::create_usage_plan::builders::CreateUsagePlanFluentBuilder::throttle) / [`set_throttle(Option<ThrottleSettings>)`](crate::operation::create_usage_plan::builders::CreateUsagePlanFluentBuilder::set_throttle):<br>required: **false**<br><p>The throttling limits of the usage plan.</p><br>
    ///   - [`quota(QuotaSettings)`](crate::operation::create_usage_plan::builders::CreateUsagePlanFluentBuilder::quota) / [`set_quota(Option<QuotaSettings>)`](crate::operation::create_usage_plan::builders::CreateUsagePlanFluentBuilder::set_quota):<br>required: **false**<br><p>The quota of the usage plan.</p><br>
    ///   - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_usage_plan::builders::CreateUsagePlanFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_usage_plan::builders::CreateUsagePlanFluentBuilder::set_tags):<br>required: **false**<br><p>The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with <code>aws:</code>. The tag value can be up to 256 characters.</p><br>
    /// - On success, responds with [`CreateUsagePlanOutput`](crate::operation::create_usage_plan::CreateUsagePlanOutput) with field(s):
    ///   - [`id(Option<String>)`](crate::operation::create_usage_plan::CreateUsagePlanOutput::id): <p>The identifier of a UsagePlan resource.</p>
    ///   - [`name(Option<String>)`](crate::operation::create_usage_plan::CreateUsagePlanOutput::name): <p>The name of a usage plan.</p>
    ///   - [`description(Option<String>)`](crate::operation::create_usage_plan::CreateUsagePlanOutput::description): <p>The description of a usage plan.</p>
    ///   - [`api_stages(Option<Vec::<ApiStage>>)`](crate::operation::create_usage_plan::CreateUsagePlanOutput::api_stages): <p>The associated API stages of a usage plan.</p>
    ///   - [`throttle(Option<ThrottleSettings>)`](crate::operation::create_usage_plan::CreateUsagePlanOutput::throttle): <p>A map containing method level throttling information for API stage in a usage plan.</p>
    ///   - [`quota(Option<QuotaSettings>)`](crate::operation::create_usage_plan::CreateUsagePlanOutput::quota): <p>The target maximum number of permitted requests per a given unit time interval.</p>
    ///   - [`product_code(Option<String>)`](crate::operation::create_usage_plan::CreateUsagePlanOutput::product_code): <p>The Amazon Web Services Marketplace product identifier to associate with the usage plan as a SaaS product on the Amazon Web Services Marketplace.</p>
    ///   - [`tags(Option<HashMap::<String, String>>)`](crate::operation::create_usage_plan::CreateUsagePlanOutput::tags): <p>The collection of tags. Each tag element is associated with a given resource.</p>
    /// - On failure, responds with [`SdkError<CreateUsagePlanError>`](crate::operation::create_usage_plan::CreateUsagePlanError)
    pub fn create_usage_plan(&self) -> crate::operation::create_usage_plan::builders::CreateUsagePlanFluentBuilder {
        crate::operation::create_usage_plan::builders::CreateUsagePlanFluentBuilder::new(self.handle.clone())
    }
}