/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.licensemanager.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateLicenseConfigurationRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* Name of the license configuration. *
*/ private String name; /** ** Description of the license configuration. *
*/ private String description; /** ** Dimension used to track the license inventory. *
*/ private String licenseCountingType; /** ** Number of licenses managed by the license configuration. *
*/ private Long licenseCount; /** ** Indicates whether hard or soft license enforcement is used. Exceeding a hard limit blocks the launch of new * instances. *
*/ private Boolean licenseCountHardLimit; /** ** License rules. The syntax is #name=value (for example, #allowedTenancy=EC2-DedicatedHost). The available rules * vary by dimension, as follows. *
*
* Cores
dimension: allowedTenancy
| licenseAffinityToHost
|
* maximumCores
| minimumCores
*
* Instances
dimension: allowedTenancy
| maximumCores
|
* minimumCores
| maximumSockets
| minimumSockets
| maximumVcpus
* | minimumVcpus
*
* Sockets
dimension: allowedTenancy
| licenseAffinityToHost
|
* maximumSockets
| minimumSockets
*
* vCPUs
dimension: allowedTenancy
| honorVcpuOptimization
|
* maximumVcpus
| minimumVcpus
*
* The unit for licenseAffinityToHost
is days and the range is 1 to 180. The possible values for
* allowedTenancy
are EC2-Default
, EC2-DedicatedHost
, and
* EC2-DedicatedInstance
. The possible values for honorVcpuOptimization
are
* True
and False
.
*
* Tags to add to the license configuration. *
*/ private java.util.List* When true, disassociates a resource when software is uninstalled. *
*/ private Boolean disassociateWhenNotFound; /** ** Product information. *
*/ private java.util.List* Name of the license configuration. *
* * @param name * Name of the license configuration. */ public void setName(String name) { this.name = name; } /** ** Name of the license configuration. *
* * @return Name of the license configuration. */ public String getName() { return this.name; } /** ** Name of the license configuration. *
* * @param name * Name of the license configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLicenseConfigurationRequest withName(String name) { setName(name); return this; } /** ** Description of the license configuration. *
* * @param description * Description of the license configuration. */ public void setDescription(String description) { this.description = description; } /** ** Description of the license configuration. *
* * @return Description of the license configuration. */ public String getDescription() { return this.description; } /** ** Description of the license configuration. *
* * @param description * Description of the license configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLicenseConfigurationRequest withDescription(String description) { setDescription(description); return this; } /** ** Dimension used to track the license inventory. *
* * @param licenseCountingType * Dimension used to track the license inventory. * @see LicenseCountingType */ public void setLicenseCountingType(String licenseCountingType) { this.licenseCountingType = licenseCountingType; } /** ** Dimension used to track the license inventory. *
* * @return Dimension used to track the license inventory. * @see LicenseCountingType */ public String getLicenseCountingType() { return this.licenseCountingType; } /** ** Dimension used to track the license inventory. *
* * @param licenseCountingType * Dimension used to track the license inventory. * @return Returns a reference to this object so that method calls can be chained together. * @see LicenseCountingType */ public CreateLicenseConfigurationRequest withLicenseCountingType(String licenseCountingType) { setLicenseCountingType(licenseCountingType); return this; } /** ** Dimension used to track the license inventory. *
* * @param licenseCountingType * Dimension used to track the license inventory. * @return Returns a reference to this object so that method calls can be chained together. * @see LicenseCountingType */ public CreateLicenseConfigurationRequest withLicenseCountingType(LicenseCountingType licenseCountingType) { this.licenseCountingType = licenseCountingType.toString(); return this; } /** ** Number of licenses managed by the license configuration. *
* * @param licenseCount * Number of licenses managed by the license configuration. */ public void setLicenseCount(Long licenseCount) { this.licenseCount = licenseCount; } /** ** Number of licenses managed by the license configuration. *
* * @return Number of licenses managed by the license configuration. */ public Long getLicenseCount() { return this.licenseCount; } /** ** Number of licenses managed by the license configuration. *
* * @param licenseCount * Number of licenses managed by the license configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLicenseConfigurationRequest withLicenseCount(Long licenseCount) { setLicenseCount(licenseCount); return this; } /** ** Indicates whether hard or soft license enforcement is used. Exceeding a hard limit blocks the launch of new * instances. *
* * @param licenseCountHardLimit * Indicates whether hard or soft license enforcement is used. Exceeding a hard limit blocks the launch of * new instances. */ public void setLicenseCountHardLimit(Boolean licenseCountHardLimit) { this.licenseCountHardLimit = licenseCountHardLimit; } /** ** Indicates whether hard or soft license enforcement is used. Exceeding a hard limit blocks the launch of new * instances. *
* * @return Indicates whether hard or soft license enforcement is used. Exceeding a hard limit blocks the launch of * new instances. */ public Boolean getLicenseCountHardLimit() { return this.licenseCountHardLimit; } /** ** Indicates whether hard or soft license enforcement is used. Exceeding a hard limit blocks the launch of new * instances. *
* * @param licenseCountHardLimit * Indicates whether hard or soft license enforcement is used. Exceeding a hard limit blocks the launch of * new instances. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLicenseConfigurationRequest withLicenseCountHardLimit(Boolean licenseCountHardLimit) { setLicenseCountHardLimit(licenseCountHardLimit); return this; } /** ** Indicates whether hard or soft license enforcement is used. Exceeding a hard limit blocks the launch of new * instances. *
* * @return Indicates whether hard or soft license enforcement is used. Exceeding a hard limit blocks the launch of * new instances. */ public Boolean isLicenseCountHardLimit() { return this.licenseCountHardLimit; } /** ** License rules. The syntax is #name=value (for example, #allowedTenancy=EC2-DedicatedHost). The available rules * vary by dimension, as follows. *
*
* Cores
dimension: allowedTenancy
| licenseAffinityToHost
|
* maximumCores
| minimumCores
*
* Instances
dimension: allowedTenancy
| maximumCores
|
* minimumCores
| maximumSockets
| minimumSockets
| maximumVcpus
* | minimumVcpus
*
* Sockets
dimension: allowedTenancy
| licenseAffinityToHost
|
* maximumSockets
| minimumSockets
*
* vCPUs
dimension: allowedTenancy
| honorVcpuOptimization
|
* maximumVcpus
| minimumVcpus
*
* The unit for licenseAffinityToHost
is days and the range is 1 to 180. The possible values for
* allowedTenancy
are EC2-Default
, EC2-DedicatedHost
, and
* EC2-DedicatedInstance
. The possible values for honorVcpuOptimization
are
* True
and False
.
*
* Cores
dimension: allowedTenancy
| licenseAffinityToHost
|
* maximumCores
| minimumCores
*
* Instances
dimension: allowedTenancy
| maximumCores
|
* minimumCores
| maximumSockets
| minimumSockets
|
* maximumVcpus
| minimumVcpus
*
* Sockets
dimension: allowedTenancy
| licenseAffinityToHost
|
* maximumSockets
| minimumSockets
*
* vCPUs
dimension: allowedTenancy
| honorVcpuOptimization
|
* maximumVcpus
| minimumVcpus
*
* The unit for
* License rules. The syntax is #name=value (for example, #allowedTenancy=EC2-DedicatedHost). The available rules
* vary by dimension, as follows.
*
*
*
*
*
* The unit for licenseAffinityToHost
is days and the range is 1 to 180. The possible values
* for allowedTenancy
are EC2-Default
, EC2-DedicatedHost
, and
* EC2-DedicatedInstance
. The possible values for honorVcpuOptimization
are
* True
and False
.
*/
public java.util.List
*
* Cores
dimension: allowedTenancy
| licenseAffinityToHost
|
* maximumCores
| minimumCores
* Instances
dimension: allowedTenancy
| maximumCores
|
* minimumCores
| maximumSockets
| minimumSockets
| maximumVcpus
* | minimumVcpus
* Sockets
dimension: allowedTenancy
| licenseAffinityToHost
|
* maximumSockets
| minimumSockets
* vCPUs
dimension: allowedTenancy
| honorVcpuOptimization
|
* maximumVcpus
| minimumVcpus
* licenseAffinityToHost
is days and the range is 1 to 180. The possible values for
* allowedTenancy
are EC2-Default
, EC2-DedicatedHost
, and
* EC2-DedicatedInstance
. The possible values for honorVcpuOptimization
are
* True
and False
.
*
* Cores
dimension: allowedTenancy
| licenseAffinityToHost
|
* maximumCores
| minimumCores
*
* Instances
dimension: allowedTenancy
| maximumCores
|
* minimumCores
| maximumSockets
| minimumSockets
|
* maximumVcpus
| minimumVcpus
*
* Sockets
dimension: allowedTenancy
| licenseAffinityToHost
|
* maximumSockets
| minimumSockets
*
* vCPUs
dimension: allowedTenancy
| honorVcpuOptimization
|
* maximumVcpus
| minimumVcpus
*
* The unit for
* License rules. The syntax is #name=value (for example, #allowedTenancy=EC2-DedicatedHost). The available rules
* vary by dimension, as follows.
*
*
*
*
*
* The unit for
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setLicenseRules(java.util.Collection)} or {@link #withLicenseRules(java.util.Collection)} if you want to
* override the existing values.
* licenseAffinityToHost
is days and the range is 1 to 180. The possible values for
* allowedTenancy
are EC2-Default
, EC2-DedicatedHost
, and
* EC2-DedicatedInstance
. The possible values for honorVcpuOptimization
are
* True
and False
.
*/
public void setLicenseRules(java.util.Collection
*
* Cores
dimension: allowedTenancy
| licenseAffinityToHost
|
* maximumCores
| minimumCores
* Instances
dimension: allowedTenancy
| maximumCores
|
* minimumCores
| maximumSockets
| minimumSockets
| maximumVcpus
* | minimumVcpus
* Sockets
dimension: allowedTenancy
| licenseAffinityToHost
|
* maximumSockets
| minimumSockets
* vCPUs
dimension: allowedTenancy
| honorVcpuOptimization
|
* maximumVcpus
| minimumVcpus
* licenseAffinityToHost
is days and the range is 1 to 180. The possible values for
* allowedTenancy
are EC2-Default
, EC2-DedicatedHost
, and
* EC2-DedicatedInstance
. The possible values for honorVcpuOptimization
are
* True
and False
.
*
* Cores
dimension: allowedTenancy
| licenseAffinityToHost
|
* maximumCores
| minimumCores
*
* Instances
dimension: allowedTenancy
| maximumCores
|
* minimumCores
| maximumSockets
| minimumSockets
|
* maximumVcpus
| minimumVcpus
*
* Sockets
dimension: allowedTenancy
| licenseAffinityToHost
|
* maximumSockets
| minimumSockets
*
* vCPUs
dimension: allowedTenancy
| honorVcpuOptimization
|
* maximumVcpus
| minimumVcpus
*
* The unit for
* License rules. The syntax is #name=value (for example, #allowedTenancy=EC2-DedicatedHost). The available rules
* vary by dimension, as follows.
*
*
*
*
*
* The unit for licenseAffinityToHost
is days and the range is 1 to 180. The possible values for
* allowedTenancy
are EC2-Default
, EC2-DedicatedHost
, and
* EC2-DedicatedInstance
. The possible values for honorVcpuOptimization
are
* True
and False
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateLicenseConfigurationRequest withLicenseRules(String... licenseRules) {
if (this.licenseRules == null) {
setLicenseRules(new java.util.ArrayList
*
* Cores
dimension: allowedTenancy
| licenseAffinityToHost
|
* maximumCores
| minimumCores
* Instances
dimension: allowedTenancy
| maximumCores
|
* minimumCores
| maximumSockets
| minimumSockets
| maximumVcpus
* | minimumVcpus
* Sockets
dimension: allowedTenancy
| licenseAffinityToHost
|
* maximumSockets
| minimumSockets
* vCPUs
dimension: allowedTenancy
| honorVcpuOptimization
|
* maximumVcpus
| minimumVcpus
* licenseAffinityToHost
is days and the range is 1 to 180. The possible values for
* allowedTenancy
are EC2-Default
, EC2-DedicatedHost
, and
* EC2-DedicatedInstance
. The possible values for honorVcpuOptimization
are
* True
and False
.
*
* Cores
dimension: allowedTenancy
| licenseAffinityToHost
|
* maximumCores
| minimumCores
*
* Instances
dimension: allowedTenancy
| maximumCores
|
* minimumCores
| maximumSockets
| minimumSockets
|
* maximumVcpus
| minimumVcpus
*
* Sockets
dimension: allowedTenancy
| licenseAffinityToHost
|
* maximumSockets
| minimumSockets
*
* vCPUs
dimension: allowedTenancy
| honorVcpuOptimization
|
* maximumVcpus
| minimumVcpus
*
* The unit for
* Tags to add to the license configuration.
*
* Tags to add to the license configuration.
*
* Tags to add to the license configuration.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the
* existing values.
*
* Tags to add to the license configuration.
*
* When true, disassociates a resource when software is uninstalled.
*
* When true, disassociates a resource when software is uninstalled.
*
* When true, disassociates a resource when software is uninstalled.
*
* When true, disassociates a resource when software is uninstalled.
*
* Product information.
*
* Product information.
*
* Product information.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setProductInformationList(java.util.Collection)} or
* {@link #withProductInformationList(java.util.Collection)} if you want to override the existing values.
*
* Product information.
* licenseAffinityToHost
is days and the range is 1 to 180. The possible values for
* allowedTenancy
are EC2-Default
, EC2-DedicatedHost
, and
* EC2-DedicatedInstance
. The possible values for honorVcpuOptimization
are
* True
and False
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateLicenseConfigurationRequest withLicenseRules(java.util.Collection