aws_sdk_pricingplanmanager/client/create_subscription.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 [`CreateSubscription`](crate::operation::create_subscription::builders::CreateSubscriptionFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`plan_family(impl Into<String>)`](crate::operation::create_subscription::builders::CreateSubscriptionFluentBuilder::plan_family) / [`set_plan_family(Option<String>)`](crate::operation::create_subscription::builders::CreateSubscriptionFluentBuilder::set_plan_family):<br>required: **true**<br><p>The pricing plan family to subscribe to, such as <code>CloudFront</code>.</p><br>
7 /// - [`plan_tier(impl Into<String>)`](crate::operation::create_subscription::builders::CreateSubscriptionFluentBuilder::plan_tier) / [`set_plan_tier(Option<String>)`](crate::operation::create_subscription::builders::CreateSubscriptionFluentBuilder::set_plan_tier):<br>required: **true**<br><p>The tier level for the subscription, such as <code>FREE</code>, <code>PRO</code>, <code>BUSINESS</code>, or <code>PREMIUM</code>.</p><br>
8 /// - [`usage_level(impl Into<String>)`](crate::operation::create_subscription::builders::CreateSubscriptionFluentBuilder::usage_level) / [`set_usage_level(Option<String>)`](crate::operation::create_subscription::builders::CreateSubscriptionFluentBuilder::set_usage_level):<br>required: **false**<br><p>The usage level within the plan tier. Specify <code>DEFAULT</code> for the base configuration, or a higher level if your plan tier supports it.</p><br>
9 /// - [`resource_arns(impl Into<String>)`](crate::operation::create_subscription::builders::CreateSubscriptionFluentBuilder::resource_arns) / [`set_resource_arns(Option<Vec::<String>>)`](crate::operation::create_subscription::builders::CreateSubscriptionFluentBuilder::set_resource_arns):<br>required: **true**<br><p>The ARNs of the AWS resources to include in the subscription. Specify one or more supported resources.</p><note> <p>For subscriptions in the CloudFront plan family, the resources must include exactly one Amazon CloudFront distribution and exactly one AWS WAF web ACL. You can also include other supported resources, such as Amazon Route 53 hosted zones and CloudFront KeyValueStores.</p> </note><br>
10 /// - [`approval_mode(ApprovalMode)`](crate::operation::create_subscription::builders::CreateSubscriptionFluentBuilder::approval_mode) / [`set_approval_mode(Option<ApprovalMode>)`](crate::operation::create_subscription::builders::CreateSubscriptionFluentBuilder::set_approval_mode):<br>required: **false**<br><p>Determines whether the subscription requires explicit approval before billing starts. Set to <code>MANUAL</code> to require a separate <code>ApprovePaidSubscription</code> call, or <code>IMMEDIATE</code> to activate the subscription right away. Defaults to <code>IMMEDIATE</code> if not specified.</p><br>
11 /// - [`client_token(impl Into<String>)`](crate::operation::create_subscription::builders::CreateSubscriptionFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_subscription::builders::CreateSubscriptionFluentBuilder::set_client_token):<br>required: **false**<br><p>A unique, case-sensitive identifier that you provide to ensure that the request is handled only once. If you send the same request with the same client token, the API returns the original response without creating a duplicate subscription.</p><br>
12 /// - On success, responds with [`CreateSubscriptionOutput`](crate::operation::create_subscription::CreateSubscriptionOutput) with field(s):
13 /// - [`subscription(Option<Subscription>)`](crate::operation::create_subscription::CreateSubscriptionOutput::subscription): <p>The details of the newly created subscription.</p>
14 /// - [`e_tag(String)`](crate::operation::create_subscription::CreateSubscriptionOutput::e_tag): <p>The entity tag for concurrency control. Use this value in the <code>If-Match</code> header for subsequent operations on this subscription.</p>
15 /// - On failure, responds with [`SdkError<CreateSubscriptionError>`](crate::operation::create_subscription::CreateSubscriptionError)
16 pub fn create_subscription(&self) -> crate::operation::create_subscription::builders::CreateSubscriptionFluentBuilder {
17 crate::operation::create_subscription::builders::CreateSubscriptionFluentBuilder::new(self.handle.clone())
18 }
19}