1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateLicenseConfiguration`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`name(impl Into<String>)`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::set_name): <p>Name of the license configuration.</p>
    ///   - [`description(impl Into<String>)`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::set_description): <p>Description of the license configuration.</p>
    ///   - [`license_counting_type(LicenseCountingType)`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::license_counting_type) / [`set_license_counting_type(Option<LicenseCountingType>)`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::set_license_counting_type): <p>Dimension used to track the license inventory.</p>
    ///   - [`license_count(i64)`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::license_count) / [`set_license_count(Option<i64>)`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::set_license_count): <p>Number of licenses managed by the license configuration.</p>
    ///   - [`license_count_hard_limit(bool)`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::license_count_hard_limit) / [`set_license_count_hard_limit(Option<bool>)`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::set_license_count_hard_limit): <p>Indicates whether hard or soft license enforcement is used. Exceeding a hard limit blocks the launch of new instances.</p>
    ///   - [`license_rules(impl Into<String>)`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::license_rules) / [`set_license_rules(Option<Vec<String>>)`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::set_license_rules): <p>License rules. The syntax is #name=value (for example, #allowedTenancy=EC2-DedicatedHost). The available rules vary by dimension, as follows.</p>  <ul>   <li> <p> <code>Cores</code> dimension: <code>allowedTenancy</code> | <code>licenseAffinityToHost</code> | <code>maximumCores</code> | <code>minimumCores</code> </p> </li>   <li> <p> <code>Instances</code> dimension: <code>allowedTenancy</code> | <code>maximumCores</code> | <code>minimumCores</code> | <code>maximumSockets</code> | <code>minimumSockets</code> | <code>maximumVcpus</code> | <code>minimumVcpus</code> </p> </li>   <li> <p> <code>Sockets</code> dimension: <code>allowedTenancy</code> | <code>licenseAffinityToHost</code> | <code>maximumSockets</code> | <code>minimumSockets</code> </p> </li>   <li> <p> <code>vCPUs</code> dimension: <code>allowedTenancy</code> | <code>honorVcpuOptimization</code> | <code>maximumVcpus</code> | <code>minimumVcpus</code> </p> </li>  </ul>  <p>The unit for <code>licenseAffinityToHost</code> is days and the range is 1 to 180. The possible values for <code>allowedTenancy</code> are <code>EC2-Default</code>, <code>EC2-DedicatedHost</code>, and <code>EC2-DedicatedInstance</code>. The possible values for <code>honorVcpuOptimization</code> are <code>True</code> and <code>False</code>.</p>
    ///   - [`tags(Tag)`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::tags) / [`set_tags(Option<Vec<Tag>>)`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::set_tags): <p>Tags to add to the license configuration.</p>
    ///   - [`disassociate_when_not_found(bool)`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::disassociate_when_not_found) / [`set_disassociate_when_not_found(Option<bool>)`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::set_disassociate_when_not_found): <p>When true, disassociates a resource when software is uninstalled.</p>
    ///   - [`product_information_list(ProductInformation)`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::product_information_list) / [`set_product_information_list(Option<Vec<ProductInformation>>)`](crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::set_product_information_list): <p>Product information.</p>
    /// - On success, responds with [`CreateLicenseConfigurationOutput`](crate::operation::create_license_configuration::CreateLicenseConfigurationOutput) with field(s):
    ///   - [`license_configuration_arn(Option<String>)`](crate::operation::create_license_configuration::CreateLicenseConfigurationOutput::license_configuration_arn): <p>Amazon Resource Name (ARN) of the license configuration.</p>
    /// - On failure, responds with [`SdkError<CreateLicenseConfigurationError>`](crate::operation::create_license_configuration::CreateLicenseConfigurationError)
    pub fn create_license_configuration(&self) -> crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder {
        crate::operation::create_license_configuration::builders::CreateLicenseConfigurationFluentBuilder::new(self.handle.clone())
    }
}