// Path: src/main/java/com/amazon/dtasdk/base/InstantAccessOperationValue.java
// public enum InstantAccessOperationValue {
//     PURCHASE("Purchase"),
//     REVOKE("Revoke"),
//     GETUSERID("GetUserId"),
//     SUBSCRIPTIONGET("SubscriptionGet"),
//     SUBSCRIPTIONACTIVATE("SubscriptionActivate"),
//     SUBSCRIPTIONDEACTIVATE("SubscriptionDeactivate"),
//     SUBSCRIPTIONUPDATE("SubscriptionUpdate");
// 
//     private String apiName;
// 
//     /**
//      * @param apiName
//      *            The string representation of the operation according to the API
//      */
//     InstantAccessOperationValue(String apiName) {
//         this.apiName = apiName;
//     }
// 
//     @JsonValue
//     public String toJson() {
//         return apiName;
//     }
// 
//     @JsonCreator
//     public static InstantAccessOperationValue fromJson(String text) {
//         // ignore the case when deserializing
//         return valueOf(text.toUpperCase());
//     }
// }
// 
// Path: src/main/java/com/amazon/dtasdk/base/SubscriptionRequest.java
// @JsonIgnoreProperties(ignoreUnknown = true)
// public class SubscriptionRequest extends InstantAccessRequest {
// 
//     protected String subscriptionId;
// 
//     protected String productId;
// 
//     protected String userId;
// 
//     public String getSubscriptionId() {
//         return subscriptionId;
//     }
// 
//     public SubscriptionRequest setSubscriptionId(String subscriptionId) {
//         this.subscriptionId = subscriptionId;
//         return this;
//     }
// 
//     public String getProductId() {
//         return productId;
//     }
// 
//     public SubscriptionRequest setProductId(String productId) {
//         this.productId = productId;
//         return this;
//     }
// 
//     public String getUserId() {
//         return userId;
//     }
// 
//     public SubscriptionRequest setUserId(String userId) {
//         this.userId = userId;
//         return this;
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (o == null || getClass() != o.getClass()) return false;
//         if (!super.equals(o)) return false;
// 
//         final SubscriptionRequest that = (SubscriptionRequest) o;
// 
//         if (subscriptionId != null ? !subscriptionId.equals(that.subscriptionId) : that.subscriptionId != null)
//             return false;
// 
//         return true;
//     }
// 
//     @Override
//     public int hashCode() {
//         int result = super.hashCode();
//         result = 31 * result + (subscriptionId != null ? subscriptionId.hashCode() : 0);
//         return result;
//     }
// }


import com.amazon.dtasdk.base.InstantAccessOperationValue;
import com.amazon.dtasdk.base.SubscriptionRequest;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
    }

    public SubscriptionUpdateRequest setNumberOfLicenses(Integer numberOfLicenses) {
        this.numberOfLicenses = numberOfLicenses;
        return this;
    }

    public Boolean getRemoveAllUnassignedLicenses() {
        return removeAllUnassignedLicenses;
    }

    public SubscriptionUpdateRequest setRemoveAllUnassignedLicenses(Boolean removeAllUnassignedLicenses) {
        this.removeAllUnassignedLicenses = removeAllUnassignedLicenses;
        return this;
    }

    public SubscriptionUpdateRequest setProductId(String productId) {
        this.productId = productId;
        return this;
    }

    public String getUserId() {
        return userId;
    }

    public SubscriptionUpdateRequest setUserId(String userId) {
        this.userId = userId;
        return this;
    }

// Path: src/main/java/com/amazon/dtasdk/base/InstantAccessOperationValue.java
// public enum InstantAccessOperationValue {
//     PURCHASE("Purchase"),
//     REVOKE("Revoke"),
//     GETUSERID("GetUserId"),
//     SUBSCRIPTIONGET("SubscriptionGet"),
//     SUBSCRIPTIONACTIVATE("SubscriptionActivate"),
//     SUBSCRIPTIONDEACTIVATE("SubscriptionDeactivate"),
//     SUBSCRIPTIONUPDATE("SubscriptionUpdate");
// 
//     private String apiName;
// 
//     /**
//      * @param apiName
//      *            The string representation of the operation according to the API
//      */
//     InstantAccessOperationValue(String apiName) {
//         this.apiName = apiName;
//     }
// 
//     @JsonValue
//     public String toJson() {
//         return apiName;
//     }
// 
//     @JsonCreator
//     public static InstantAccessOperationValue fromJson(String text) {
//         // ignore the case when deserializing
//         return valueOf(text.toUpperCase());
//     }
// }
// 
// Path: src/main/java/com/amazon/dtasdk/base/SubscriptionRequest.java
// @JsonIgnoreProperties(ignoreUnknown = true)
// public class SubscriptionRequest extends InstantAccessRequest {
// 
//     protected String subscriptionId;
// 
//     protected String productId;
// 
//     protected String userId;
// 
//     public String getSubscriptionId() {
//         return subscriptionId;
//     }
// 
//     public SubscriptionRequest setSubscriptionId(String subscriptionId) {
//         this.subscriptionId = subscriptionId;
//         return this;
//     }
// 
//     public String getProductId() {
//         return productId;
//     }
// 
//     public SubscriptionRequest setProductId(String productId) {
//         this.productId = productId;
//         return this;
//     }
// 
//     public String getUserId() {
//         return userId;
//     }
// 
//     public SubscriptionRequest setUserId(String userId) {
//         this.userId = userId;
//         return this;
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (o == null || getClass() != o.getClass()) return false;
//         if (!super.equals(o)) return false;
// 
//         final SubscriptionRequest that = (SubscriptionRequest) o;
// 
//         if (subscriptionId != null ? !subscriptionId.equals(that.subscriptionId) : that.subscriptionId != null)
//             return false;
// 
//         return true;
//     }
// 
//     @Override
//     public int hashCode() {
//         int result = super.hashCode();
//         result = 31 * result + (subscriptionId != null ? subscriptionId.hashCode() : 0);
//         return result;
//     }
// }


// Path: src/main/java/com/amazon/dtasdk/v3/serialization/messages/SubscriptionUpdateRequest.java
import com.amazon.dtasdk.base.InstantAccessOperationValue;
import com.amazon.dtasdk.base.SubscriptionRequest;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

    }

    public SubscriptionUpdateRequest setNumberOfLicenses(Integer numberOfLicenses) {
        this.numberOfLicenses = numberOfLicenses;
        return this;
    }

    public Boolean getRemoveAllUnassignedLicenses() {
        return removeAllUnassignedLicenses;
    }

    public SubscriptionUpdateRequest setRemoveAllUnassignedLicenses(Boolean removeAllUnassignedLicenses) {
        this.removeAllUnassignedLicenses = removeAllUnassignedLicenses;
        return this;
    }

    public SubscriptionUpdateRequest setProductId(String productId) {
        this.productId = productId;
        return this;
    }

    public String getUserId() {
        return userId;
    }

    public SubscriptionUpdateRequest setUserId(String userId) {
        this.userId = userId;
        return this;
    }

    @Override