diff --git a/.fern/metadata.json b/.fern/metadata.json index f1c86d7..5edca41 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,7 +1,7 @@ { "cliVersion": "5.6.0", "generatorName": "fernapi/fern-java-sdk", - "generatorVersion": "4.8.5", + "generatorVersion": "4.8.7", "generatorConfig": { "client-class-name": "BaseSchematic", "generate-unknown-as-json-node": true, @@ -14,7 +14,7 @@ "implementation redis.clients:jedis:5.2.0" ] }, - "originGitCommit": "4fd82021eff164a6f2484d4504850c46fe8f4a95", + "originGitCommit": "a0658700ca9b3d362ce6594c0740c41d9286e429", "originGitCommitIsDirty": false, "invokedBy": "ci", "requestedVersion": "1.4.0", diff --git a/reference.md b/reference.md index c701f34..6938eb4 100644 --- a/reference.md +++ b/reference.md @@ -2332,6 +2332,14 @@ client.billing().upsertBillingPrice(
+**intervalCount:** `Optional` + +
+
+ +
+
+ **isActive:** `Boolean`
@@ -9589,6 +9597,7 @@ client.entitlements().listFeatureUsage( ) .companyId("company_id") .includeUsageAggregation(true) + .managedBy(BillingProviderType.ORB) .q("q") .withoutNegativeEntitlements(true) .limit(1000000L) @@ -9641,6 +9650,14 @@ client.entitlements().listFeatureUsage(
+**managedBy:** `Optional` — Filter for features managed by a billing provider, or by Schematic (no billing provider) + +
+
+ +
+
+ **q:** `Optional`
@@ -9779,6 +9796,7 @@ client.entitlements().countFeatureUsage( ) .companyId("company_id") .includeUsageAggregation(true) + .managedBy(BillingProviderType.ORB) .q("q") .withoutNegativeEntitlements(true) .limit(1000000L) @@ -9831,6 +9849,14 @@ client.entitlements().countFeatureUsage(
+**managedBy:** `Optional` — Filter for features managed by a billing provider, or by Schematic (no billing provider) + +
+
+ +
+
+ **q:** `Optional`
@@ -10325,6 +10351,38 @@ client.entitlements().createPlanEntitlement(
+**quarterlyMeteredPriceId:** `Optional` + +
+
+ +
+
+ +**quarterlyPriceTiers:** `Optional>` + +
+
+ +
+
+ +**quarterlyUnitPrice:** `Optional` + +
+
+ +
+
+ +**quarterlyUnitPriceDecimal:** `Optional` + +
+
+ +
+
+ **softLimit:** `Optional`
@@ -10611,6 +10669,38 @@ client.entitlements().updatePlanEntitlement(
+**quarterlyMeteredPriceId:** `Optional` + +
+
+ +
+
+ +**quarterlyPriceTiers:** `Optional>` + +
+
+ +
+
+ +**quarterlyUnitPrice:** `Optional` + +
+
+ +
+
+ +**quarterlyUnitPriceDecimal:** `Optional` + +
+
+ +
+
+ **softLimit:** `Optional`
@@ -10932,6 +11022,38 @@ client.entitlements().upsertPlanEntitlementForBillingProduct(
+**quarterlyMeteredPriceId:** `Optional` + +
+
+ +
+
+ +**quarterlyPriceTiers:** `Optional>` + +
+
+ +
+
+ +**quarterlyUnitPrice:** `Optional` + +
+
+ +
+
+ +**quarterlyUnitPriceDecimal:** `Optional` + +
+
+ +
+
+ **softLimit:** `Optional`
@@ -13062,8 +13184,8 @@ client.components().previewComponentData(
-## dataexports -
client.dataexports.createDataExport(request) -> CreateDataExportResponse +## planbundle +
client.planbundle.createCustomPlanBundle(request) -> CreateCustomPlanBundleResponse
@@ -13076,12 +13198,17 @@ client.components().previewComponentData(
```java -client.dataexports().createDataExport( - CreateDataExportRequestBody +client.planbundle().createCustomPlanBundle( + CreateCustomPlanBundleRequestBody .builder() - .exportType("company-feature-usage") - .metadata("metadata") - .outputFileType("csv") + .entitlements( + Arrays.asList( + PlanBundleEntitlementRequestBody + .builder() + .action(PlanBundleAction.CREATE) + .build() + ) + ) .build() ); ``` @@ -13098,7 +13225,7 @@ client.dataexports().createDataExport(
-**exportType:** `String` +**billingProduct:** `Optional`
@@ -13106,7 +13233,7 @@ client.dataexports().createDataExport(
-**metadata:** `String` +**entitlements:** `List`
@@ -13114,7 +13241,7 @@ client.dataexports().createDataExport(
-**outputFileType:** `String` +**plan:** `Optional`
@@ -13126,7 +13253,7 @@ client.dataexports().createDataExport(
-
client.dataexports.getDataExportArtifact(dataExportId) -> InputStream +
client.planbundle.createPlanBundle(request) -> CreatePlanBundleResponse
@@ -13139,7 +13266,19 @@ client.dataexports().createDataExport(
```java -client.dataexports().getDataExportArtifact("data_export_id"); +client.planbundle().createPlanBundle( + CreatePlanBundleRequestBody + .builder() + .entitlements( + Arrays.asList( + PlanBundleEntitlementRequestBody + .builder() + .action(PlanBundleAction.CREATE) + .build() + ) + ) + .build() +); ```
@@ -13154,60 +13293,39 @@ client.dataexports().getDataExportArtifact("data_export_id");
-**dataExportId:** `String` — data_export_id +**billingProduct:** `Optional`
- -
+
+
+**creditGrants:** `Optional>` +
- -## events -
client.events.createEventBatch(request) -> CreateEventBatchResponse
-#### 🔌 Usage - -
-
+**entitlements:** `List` + +
+
-```java -client.events().createEventBatch( - CreateEventBatchRequestBody - .builder() - .events( - Arrays.asList( - CreateEventRequestBody - .builder() - .eventType(EventType.FLAG_CHECK) - .build() - ) - ) - .build() -); -``` -
-
+**plan:** `Optional` +
-#### ⚙️ Parameters - -
-
-
-**events:** `List` +**traits:** `Optional>`
@@ -13219,7 +13337,7 @@ client.events().createEventBatch(
-
client.events.getEventSummaries() -> GetEventSummariesResponse +
client.planbundle.updatePlanBundle(planBundleId, request) -> UpdatePlanBundleResponse
@@ -13232,15 +13350,18 @@ client.events().createEventBatch(
```java -client.events().getEventSummaries( - GetEventSummariesRequest +client.planbundle().updatePlanBundle( + "plan_bundle_id", + UpdatePlanBundleRequestBody .builder() - .eventSubtypes( - Arrays.asList("event_subtypes") + .entitlements( + Arrays.asList( + PlanBundleEntitlementRequestBody + .builder() + .action(PlanBundleAction.CREATE) + .build() + ) ) - .q("q") - .limit(1000000L) - .offset(1000000L) .build() ); ``` @@ -13257,7 +13378,7 @@ client.events().getEventSummaries(
-**q:** `Optional` +**planBundleId:** `String` — plan_bundle_id
@@ -13265,7 +13386,7 @@ client.events().getEventSummaries(
-**eventSubtypes:** `Optional` +**billingProduct:** `Optional`
@@ -13273,7 +13394,7 @@ client.events().getEventSummaries(
-**limit:** `Optional` — Page limit (default 100) +**creditGrants:** `Optional>`
@@ -13281,7 +13402,31 @@ client.events().getEventSummaries(
-**offset:** `Optional` — Page offset (default 0) +**entitlements:** `List` + +
+
+ +
+
+ +**plan:** `Optional` + +
+
+ +
+
+ +**planVersionId:** `Optional` + +
+
+ +
+
+ +**traits:** `Optional>`
@@ -13293,7 +13438,8 @@ client.events().getEventSummaries(
-
client.events.listEvents() -> ListEventsResponse +## dataexports +
client.dataexports.createDataExport(request) -> CreateDataExportResponse
@@ -13306,16 +13452,246 @@ client.events().getEventSummaries(
```java -client.events().listEvents( - ListEventsRequest +client.dataexports().createDataExport( + CreateDataExportRequestBody .builder() - .eventTypes( - Arrays.asList(EventType.FLAG_CHECK) - ) - .companyId("company_id") - .eventSubtype("event_subtype") - .flagId("flag_id") - .idempotencyKey("idempotency_key") + .exportType("company-feature-usage") + .metadata("metadata") + .outputFileType("csv") + .build() +); +``` +
+
+ +
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**exportType:** `String` + +
+
+ +
+
+ +**metadata:** `String` + +
+
+ +
+
+ +**outputFileType:** `String` + +
+
+
+
+ + + +
+ + +
client.dataexports.getDataExportArtifact(dataExportId) -> InputStream +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.dataexports().getDataExportArtifact("data_export_id"); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**dataExportId:** `String` — data_export_id + +
+
+
+
+ + +
+
+
+ +## events +
client.events.createEventBatch(request) -> CreateEventBatchResponse +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.events().createEventBatch( + CreateEventBatchRequestBody + .builder() + .events( + Arrays.asList( + CreateEventRequestBody + .builder() + .eventType(EventType.FLAG_CHECK) + .build() + ) + ) + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**events:** `List` + +
+
+
+
+ + +
+
+
+ +
client.events.getEventSummaries() -> GetEventSummariesResponse +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.events().getEventSummaries( + GetEventSummariesRequest + .builder() + .eventSubtypes( + Arrays.asList("event_subtypes") + ) + .q("q") + .limit(1000000L) + .offset(1000000L) + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**q:** `Optional` + +
+
+ +
+
+ +**eventSubtypes:** `Optional` + +
+
+ +
+
+ +**limit:** `Optional` — Page limit (default 100) + +
+
+ +
+
+ +**offset:** `Optional` — Page offset (default 0) + +
+
+
+
+ + +
+
+
+ +
client.events.listEvents() -> ListEventsResponse +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.events().listEvents( + ListEventsRequest + .builder() + .eventTypes( + Arrays.asList(EventType.FLAG_CHECK) + ) + .companyId("company_id") + .eventSubtype("event_subtype") + .flagId("flag_id") + .idempotencyKey("idempotency_key") .userId("user_id") .limit(1000000L) .offset(1000000L) @@ -15481,192 +15857,6 @@ client.integrationsapi().uninstallIntegration("integration_id");
-
-
-
- -## planbundle -
client.planbundle.createPlanBundle(request) -> CreatePlanBundleResponse -
-
- -#### 🔌 Usage - -
-
- -
-
- -```java -client.planbundle().createPlanBundle( - CreatePlanBundleRequestBody - .builder() - .entitlements( - Arrays.asList( - PlanBundleEntitlementRequestBody - .builder() - .action(PlanBundleAction.CREATE) - .build() - ) - ) - .build() -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**billingProduct:** `Optional` - -
-
- -
-
- -**creditGrants:** `Optional>` - -
-
- -
-
- -**entitlements:** `List` - -
-
- -
-
- -**plan:** `Optional` - -
-
- -
-
- -**traits:** `Optional>` - -
-
-
-
- - -
-
-
- -
client.planbundle.updatePlanBundle(planBundleId, request) -> UpdatePlanBundleResponse -
-
- -#### 🔌 Usage - -
-
- -
-
- -```java -client.planbundle().updatePlanBundle( - "plan_bundle_id", - UpdatePlanBundleRequestBody - .builder() - .entitlements( - Arrays.asList( - PlanBundleEntitlementRequestBody - .builder() - .action(PlanBundleAction.CREATE) - .build() - ) - ) - .build() -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**planBundleId:** `String` — plan_bundle_id - -
-
- -
-
- -**billingProduct:** `Optional` - -
-
- -
-
- -**creditGrants:** `Optional>` - -
-
- -
-
- -**entitlements:** `List` - -
-
- -
-
- -**plan:** `Optional` - -
-
- -
-
- -**planVersionId:** `Optional` - -
-
- -
-
- -**traits:** `Optional>` - -
-
-
-
- -
diff --git a/src/main/java/com/schematic/api/AsyncBaseSchematic.java b/src/main/java/com/schematic/api/AsyncBaseSchematic.java index 93714ed..16df612 100644 --- a/src/main/java/com/schematic/api/AsyncBaseSchematic.java +++ b/src/main/java/com/schematic/api/AsyncBaseSchematic.java @@ -46,6 +46,8 @@ public class AsyncBaseSchematic { protected final Supplier componentsClient; + protected final Supplier planbundleClient; + protected final Supplier dataexportsClient; protected final Supplier eventsClient; @@ -56,8 +58,6 @@ public class AsyncBaseSchematic { protected final Supplier integrationsapiClient; - protected final Supplier planbundleClient; - protected final Supplier plangroupsClient; protected final Supplier planmigrationsClient; @@ -80,12 +80,12 @@ public AsyncBaseSchematic(ClientOptions clientOptions) { this.entitlementsClient = Suppliers.memoize(() -> new AsyncEntitlementsClient(clientOptions)); this.plansClient = Suppliers.memoize(() -> new AsyncPlansClient(clientOptions)); this.componentsClient = Suppliers.memoize(() -> new AsyncComponentsClient(clientOptions)); + this.planbundleClient = Suppliers.memoize(() -> new AsyncPlanbundleClient(clientOptions)); this.dataexportsClient = Suppliers.memoize(() -> new AsyncDataexportsClient(clientOptions)); this.eventsClient = Suppliers.memoize(() -> new AsyncEventsClient(clientOptions)); this.featuresClient = Suppliers.memoize(() -> new AsyncFeaturesClient(clientOptions)); this.insightsClient = Suppliers.memoize(() -> new AsyncInsightsClient(clientOptions)); this.integrationsapiClient = Suppliers.memoize(() -> new AsyncIntegrationsapiClient(clientOptions)); - this.planbundleClient = Suppliers.memoize(() -> new AsyncPlanbundleClient(clientOptions)); this.plangroupsClient = Suppliers.memoize(() -> new AsyncPlangroupsClient(clientOptions)); this.planmigrationsClient = Suppliers.memoize(() -> new AsyncPlanmigrationsClient(clientOptions)); this.componentspublicClient = Suppliers.memoize(() -> new AsyncComponentspublicClient(clientOptions)); @@ -126,6 +126,10 @@ public AsyncComponentsClient components() { return this.componentsClient.get(); } + public AsyncPlanbundleClient planbundle() { + return this.planbundleClient.get(); + } + public AsyncDataexportsClient dataexports() { return this.dataexportsClient.get(); } @@ -146,10 +150,6 @@ public AsyncIntegrationsapiClient integrationsapi() { return this.integrationsapiClient.get(); } - public AsyncPlanbundleClient planbundle() { - return this.planbundleClient.get(); - } - public AsyncPlangroupsClient plangroups() { return this.plangroupsClient.get(); } diff --git a/src/main/java/com/schematic/api/resources/billing/requests/CreateBillingPriceRequestBody.java b/src/main/java/com/schematic/api/resources/billing/requests/CreateBillingPriceRequestBody.java index 2fbd9b1..f64d193 100644 --- a/src/main/java/com/schematic/api/resources/billing/requests/CreateBillingPriceRequestBody.java +++ b/src/main/java/com/schematic/api/resources/billing/requests/CreateBillingPriceRequestBody.java @@ -36,6 +36,8 @@ public final class CreateBillingPriceRequestBody { private final String interval; + private final Optional intervalCount; + private final boolean isActive; private final Optional meterId; @@ -67,6 +69,7 @@ private CreateBillingPriceRequestBody( String currency, String externalAccountId, String interval, + Optional intervalCount, boolean isActive, Optional meterId, Optional nickname, @@ -84,6 +87,7 @@ private CreateBillingPriceRequestBody( this.currency = currency; this.externalAccountId = externalAccountId; this.interval = interval; + this.intervalCount = intervalCount; this.isActive = isActive; this.meterId = meterId; this.nickname = nickname; @@ -119,6 +123,11 @@ public String getInterval() { return interval; } + @JsonProperty("interval_count") + public Optional getIntervalCount() { + return intervalCount; + } + @JsonProperty("is_active") public boolean getIsActive() { return isActive; @@ -195,6 +204,7 @@ private boolean equalTo(CreateBillingPriceRequestBody other) { && currency.equals(other.currency) && externalAccountId.equals(other.externalAccountId) && interval.equals(other.interval) + && intervalCount.equals(other.intervalCount) && isActive == other.isActive && meterId.equals(other.meterId) && nickname.equals(other.nickname) @@ -216,6 +226,7 @@ public int hashCode() { this.currency, this.externalAccountId, this.interval, + this.intervalCount, this.isActive, this.meterId, this.nickname, @@ -284,6 +295,10 @@ public interface _FinalStage { _FinalStage additionalProperties(Map additionalProperties); + _FinalStage intervalCount(Optional intervalCount); + + _FinalStage intervalCount(Long intervalCount); + _FinalStage meterId(Optional meterId); _FinalStage meterId(String meterId); @@ -359,6 +374,8 @@ public static final class Builder private Optional meterId = Optional.empty(); + private Optional intervalCount = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -370,6 +387,7 @@ public Builder from(CreateBillingPriceRequestBody other) { currency(other.getCurrency()); externalAccountId(other.getExternalAccountId()); interval(other.getInterval()); + intervalCount(other.getIntervalCount()); isActive(other.getIsActive()); meterId(other.getMeterId()); nickname(other.getNickname()); @@ -550,6 +568,19 @@ public _FinalStage meterId(Optional meterId) { return this; } + @java.lang.Override + public _FinalStage intervalCount(Long intervalCount) { + this.intervalCount = Optional.ofNullable(intervalCount); + return this; + } + + @java.lang.Override + @JsonSetter(value = "interval_count", nulls = Nulls.SKIP) + public _FinalStage intervalCount(Optional intervalCount) { + this.intervalCount = intervalCount; + return this; + } + @java.lang.Override public CreateBillingPriceRequestBody build() { return new CreateBillingPriceRequestBody( @@ -557,6 +588,7 @@ public CreateBillingPriceRequestBody build() { currency, externalAccountId, interval, + intervalCount, isActive, meterId, nickname, diff --git a/src/main/java/com/schematic/api/resources/entitlements/AsyncRawEntitlementsClient.java b/src/main/java/com/schematic/api/resources/entitlements/AsyncRawEntitlementsClient.java index 641cccc..39b3696 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/AsyncRawEntitlementsClient.java +++ b/src/main/java/com/schematic/api/resources/entitlements/AsyncRawEntitlementsClient.java @@ -924,6 +924,10 @@ public CompletableFuture> li request.getIncludeUsageAggregation().get(), false); } + if (request.getManagedBy().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "managed_by", request.getManagedBy().get(), false); + } if (request.getQ().isPresent()) { QueryStringMapper.addQueryParameter(httpUrl, "q", request.getQ().get(), false); } @@ -1145,6 +1149,10 @@ public CompletableFuture> c request.getIncludeUsageAggregation().get(), false); } + if (request.getManagedBy().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "managed_by", request.getManagedBy().get(), false); + } if (request.getQ().isPresent()) { QueryStringMapper.addQueryParameter(httpUrl, "q", request.getQ().get(), false); } diff --git a/src/main/java/com/schematic/api/resources/entitlements/RawEntitlementsClient.java b/src/main/java/com/schematic/api/resources/entitlements/RawEntitlementsClient.java index 07b87ba..9f00ad4 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/RawEntitlementsClient.java +++ b/src/main/java/com/schematic/api/resources/entitlements/RawEntitlementsClient.java @@ -725,6 +725,10 @@ public BaseSchematicHttpResponse listFeatureUsage( request.getIncludeUsageAggregation().get(), false); } + if (request.getManagedBy().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "managed_by", request.getManagedBy().get(), false); + } if (request.getQ().isPresent()) { QueryStringMapper.addQueryParameter(httpUrl, "q", request.getQ().get(), false); } @@ -899,6 +903,10 @@ public BaseSchematicHttpResponse countFeatureUsage( request.getIncludeUsageAggregation().get(), false); } + if (request.getManagedBy().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "managed_by", request.getManagedBy().get(), false); + } if (request.getQ().isPresent()) { QueryStringMapper.addQueryParameter(httpUrl, "q", request.getQ().get(), false); } diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/CountFeatureUsageRequest.java b/src/main/java/com/schematic/api/resources/entitlements/requests/CountFeatureUsageRequest.java index 378680e..c21dc52 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/CountFeatureUsageRequest.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/CountFeatureUsageRequest.java @@ -12,6 +12,7 @@ import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.BillingProviderType; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -30,6 +31,8 @@ public final class CountFeatureUsageRequest { private final Optional includeUsageAggregation; + private final Optional managedBy; + private final Optional q; private final Optional withoutNegativeEntitlements; @@ -45,6 +48,7 @@ private CountFeatureUsageRequest( Optional companyId, Optional> companyKeys, Optional includeUsageAggregation, + Optional managedBy, Optional q, Optional withoutNegativeEntitlements, Optional limit, @@ -54,6 +58,7 @@ private CountFeatureUsageRequest( this.companyId = companyId; this.companyKeys = companyKeys; this.includeUsageAggregation = includeUsageAggregation; + this.managedBy = managedBy; this.q = q; this.withoutNegativeEntitlements = withoutNegativeEntitlements; this.limit = limit; @@ -84,6 +89,14 @@ public Optional getIncludeUsageAggregation() { return includeUsageAggregation; } + /** + * @return Filter for features managed by a billing provider, or by Schematic (no billing provider) + */ + @JsonProperty("managed_by") + public Optional getManagedBy() { + return managedBy; + } + @JsonProperty("q") public Optional getQ() { return q; @@ -126,6 +139,7 @@ private boolean equalTo(CountFeatureUsageRequest other) { && companyId.equals(other.companyId) && companyKeys.equals(other.companyKeys) && includeUsageAggregation.equals(other.includeUsageAggregation) + && managedBy.equals(other.managedBy) && q.equals(other.q) && withoutNegativeEntitlements.equals(other.withoutNegativeEntitlements) && limit.equals(other.limit) @@ -139,6 +153,7 @@ public int hashCode() { this.companyId, this.companyKeys, this.includeUsageAggregation, + this.managedBy, this.q, this.withoutNegativeEntitlements, this.limit, @@ -164,6 +179,8 @@ public static final class Builder { private Optional includeUsageAggregation = Optional.empty(); + private Optional managedBy = Optional.empty(); + private Optional q = Optional.empty(); private Optional withoutNegativeEntitlements = Optional.empty(); @@ -182,6 +199,7 @@ public Builder from(CountFeatureUsageRequest other) { companyId(other.getCompanyId()); companyKeys(other.getCompanyKeys()); includeUsageAggregation(other.getIncludeUsageAggregation()); + managedBy(other.getManagedBy()); q(other.getQ()); withoutNegativeEntitlements(other.getWithoutNegativeEntitlements()); limit(other.getLimit()); @@ -241,6 +259,20 @@ public Builder includeUsageAggregation(Boolean includeUsageAggregation) { return this; } + /** + *

Filter for features managed by a billing provider, or by Schematic (no billing provider)

+ */ + @JsonSetter(value = "managed_by", nulls = Nulls.SKIP) + public Builder managedBy(Optional managedBy) { + this.managedBy = managedBy; + return this; + } + + public Builder managedBy(BillingProviderType managedBy) { + this.managedBy = Optional.ofNullable(managedBy); + return this; + } + @JsonSetter(value = "q", nulls = Nulls.SKIP) public Builder q(Optional q) { this.q = q; @@ -297,6 +329,7 @@ public CountFeatureUsageRequest build() { companyId, companyKeys, includeUsageAggregation, + managedBy, q, withoutNegativeEntitlements, limit, diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/CreateBillingLinkedPlanEntitlementRequestBody.java b/src/main/java/com/schematic/api/resources/entitlements/requests/CreateBillingLinkedPlanEntitlementRequestBody.java index 766ae4e..88a4a4b 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/CreateBillingLinkedPlanEntitlementRequestBody.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/CreateBillingLinkedPlanEntitlementRequestBody.java @@ -68,6 +68,14 @@ public final class CreateBillingLinkedPlanEntitlementRequestBody { private final Optional> priceTiers; + private final Optional quarterlyMeteredPriceId; + + private final Optional> quarterlyPriceTiers; + + private final Optional quarterlyUnitPrice; + + private final Optional quarterlyUnitPriceDecimal; + private final Optional softLimit; private final Optional tierMode; @@ -112,6 +120,10 @@ private CreateBillingLinkedPlanEntitlementRequestBody( Optional planVersionId, Optional priceBehavior, Optional> priceTiers, + Optional quarterlyMeteredPriceId, + Optional> quarterlyPriceTiers, + Optional quarterlyUnitPrice, + Optional quarterlyUnitPriceDecimal, Optional softLimit, Optional tierMode, Optional valueBool, @@ -143,6 +155,10 @@ private CreateBillingLinkedPlanEntitlementRequestBody( this.planVersionId = planVersionId; this.priceBehavior = priceBehavior; this.priceTiers = priceTiers; + this.quarterlyMeteredPriceId = quarterlyMeteredPriceId; + this.quarterlyPriceTiers = quarterlyPriceTiers; + this.quarterlyUnitPrice = quarterlyUnitPrice; + this.quarterlyUnitPriceDecimal = quarterlyUnitPriceDecimal; this.softLimit = softLimit; this.tierMode = tierMode; this.valueBool = valueBool; @@ -255,6 +271,26 @@ public Optional> getPriceTiers() { return priceTiers; } + @JsonProperty("quarterly_metered_price_id") + public Optional getQuarterlyMeteredPriceId() { + return quarterlyMeteredPriceId; + } + + @JsonProperty("quarterly_price_tiers") + public Optional> getQuarterlyPriceTiers() { + return quarterlyPriceTiers; + } + + @JsonProperty("quarterly_unit_price") + public Optional getQuarterlyUnitPrice() { + return quarterlyUnitPrice; + } + + @JsonProperty("quarterly_unit_price_decimal") + public Optional getQuarterlyUnitPriceDecimal() { + return quarterlyUnitPriceDecimal; + } + @JsonProperty("soft_limit") public Optional getSoftLimit() { return softLimit; @@ -342,6 +378,10 @@ private boolean equalTo(CreateBillingLinkedPlanEntitlementRequestBody other) { && planVersionId.equals(other.planVersionId) && priceBehavior.equals(other.priceBehavior) && priceTiers.equals(other.priceTiers) + && quarterlyMeteredPriceId.equals(other.quarterlyMeteredPriceId) + && quarterlyPriceTiers.equals(other.quarterlyPriceTiers) + && quarterlyUnitPrice.equals(other.quarterlyUnitPrice) + && quarterlyUnitPriceDecimal.equals(other.quarterlyUnitPriceDecimal) && softLimit.equals(other.softLimit) && tierMode.equals(other.tierMode) && valueBool.equals(other.valueBool) @@ -377,6 +417,10 @@ public int hashCode() { this.planVersionId, this.priceBehavior, this.priceTiers, + this.quarterlyMeteredPriceId, + this.quarterlyPriceTiers, + this.quarterlyUnitPrice, + this.quarterlyUnitPriceDecimal, this.softLimit, this.tierMode, this.valueBool, @@ -491,6 +535,22 @@ public interface _FinalStage { _FinalStage priceTiers(List priceTiers); + _FinalStage quarterlyMeteredPriceId(Optional quarterlyMeteredPriceId); + + _FinalStage quarterlyMeteredPriceId(String quarterlyMeteredPriceId); + + _FinalStage quarterlyPriceTiers(Optional> quarterlyPriceTiers); + + _FinalStage quarterlyPriceTiers(List quarterlyPriceTiers); + + _FinalStage quarterlyUnitPrice(Optional quarterlyUnitPrice); + + _FinalStage quarterlyUnitPrice(Long quarterlyUnitPrice); + + _FinalStage quarterlyUnitPriceDecimal(Optional quarterlyUnitPriceDecimal); + + _FinalStage quarterlyUnitPriceDecimal(String quarterlyUnitPriceDecimal); + _FinalStage softLimit(Optional softLimit); _FinalStage softLimit(Long softLimit); @@ -570,6 +630,14 @@ public static final class Builder private Optional softLimit = Optional.empty(); + private Optional quarterlyUnitPriceDecimal = Optional.empty(); + + private Optional quarterlyUnitPrice = Optional.empty(); + + private Optional> quarterlyPriceTiers = Optional.empty(); + + private Optional quarterlyMeteredPriceId = Optional.empty(); + private Optional> priceTiers = Optional.empty(); private Optional priceBehavior = Optional.empty(); @@ -626,6 +694,10 @@ public Builder from(CreateBillingLinkedPlanEntitlementRequestBody other) { planVersionId(other.getPlanVersionId()); priceBehavior(other.getPriceBehavior()); priceTiers(other.getPriceTiers()); + quarterlyMeteredPriceId(other.getQuarterlyMeteredPriceId()); + quarterlyPriceTiers(other.getQuarterlyPriceTiers()); + quarterlyUnitPrice(other.getQuarterlyUnitPrice()); + quarterlyUnitPriceDecimal(other.getQuarterlyUnitPriceDecimal()); softLimit(other.getSoftLimit()); tierMode(other.getTierMode()); valueBool(other.getValueBool()); @@ -805,6 +877,58 @@ public _FinalStage softLimit(Optional softLimit) { return this; } + @java.lang.Override + public _FinalStage quarterlyUnitPriceDecimal(String quarterlyUnitPriceDecimal) { + this.quarterlyUnitPriceDecimal = Optional.ofNullable(quarterlyUnitPriceDecimal); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_unit_price_decimal", nulls = Nulls.SKIP) + public _FinalStage quarterlyUnitPriceDecimal(Optional quarterlyUnitPriceDecimal) { + this.quarterlyUnitPriceDecimal = quarterlyUnitPriceDecimal; + return this; + } + + @java.lang.Override + public _FinalStage quarterlyUnitPrice(Long quarterlyUnitPrice) { + this.quarterlyUnitPrice = Optional.ofNullable(quarterlyUnitPrice); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_unit_price", nulls = Nulls.SKIP) + public _FinalStage quarterlyUnitPrice(Optional quarterlyUnitPrice) { + this.quarterlyUnitPrice = quarterlyUnitPrice; + return this; + } + + @java.lang.Override + public _FinalStage quarterlyPriceTiers(List quarterlyPriceTiers) { + this.quarterlyPriceTiers = Optional.ofNullable(quarterlyPriceTiers); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_price_tiers", nulls = Nulls.SKIP) + public _FinalStage quarterlyPriceTiers(Optional> quarterlyPriceTiers) { + this.quarterlyPriceTiers = quarterlyPriceTiers; + return this; + } + + @java.lang.Override + public _FinalStage quarterlyMeteredPriceId(String quarterlyMeteredPriceId) { + this.quarterlyMeteredPriceId = Optional.ofNullable(quarterlyMeteredPriceId); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_metered_price_id", nulls = Nulls.SKIP) + public _FinalStage quarterlyMeteredPriceId(Optional quarterlyMeteredPriceId) { + this.quarterlyMeteredPriceId = quarterlyMeteredPriceId; + return this; + } + /** *

Use MonthlyPriceTiers or YearlyPriceTiers instead

* @return Reference to {@code this} so that method calls can be chained together. @@ -1029,6 +1153,10 @@ public CreateBillingLinkedPlanEntitlementRequestBody build() { planVersionId, priceBehavior, priceTiers, + quarterlyMeteredPriceId, + quarterlyPriceTiers, + quarterlyUnitPrice, + quarterlyUnitPriceDecimal, softLimit, tierMode, valueBool, diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/CreatePlanEntitlementRequestBody.java b/src/main/java/com/schematic/api/resources/entitlements/requests/CreatePlanEntitlementRequestBody.java index f9b8717..67b6de5 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/CreatePlanEntitlementRequestBody.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/CreatePlanEntitlementRequestBody.java @@ -63,6 +63,14 @@ public final class CreatePlanEntitlementRequestBody { private final Optional> priceTiers; + private final Optional quarterlyMeteredPriceId; + + private final Optional> quarterlyPriceTiers; + + private final Optional quarterlyUnitPrice; + + private final Optional quarterlyUnitPriceDecimal; + private final Optional softLimit; private final Optional tierMode; @@ -105,6 +113,10 @@ private CreatePlanEntitlementRequestBody( Optional planVersionId, Optional priceBehavior, Optional> priceTiers, + Optional quarterlyMeteredPriceId, + Optional> quarterlyPriceTiers, + Optional quarterlyUnitPrice, + Optional quarterlyUnitPriceDecimal, Optional softLimit, Optional tierMode, Optional valueBool, @@ -134,6 +146,10 @@ private CreatePlanEntitlementRequestBody( this.planVersionId = planVersionId; this.priceBehavior = priceBehavior; this.priceTiers = priceTiers; + this.quarterlyMeteredPriceId = quarterlyMeteredPriceId; + this.quarterlyPriceTiers = quarterlyPriceTiers; + this.quarterlyUnitPrice = quarterlyUnitPrice; + this.quarterlyUnitPriceDecimal = quarterlyUnitPriceDecimal; this.softLimit = softLimit; this.tierMode = tierMode; this.valueBool = valueBool; @@ -236,6 +252,26 @@ public Optional> getPriceTiers() { return priceTiers; } + @JsonProperty("quarterly_metered_price_id") + public Optional getQuarterlyMeteredPriceId() { + return quarterlyMeteredPriceId; + } + + @JsonProperty("quarterly_price_tiers") + public Optional> getQuarterlyPriceTiers() { + return quarterlyPriceTiers; + } + + @JsonProperty("quarterly_unit_price") + public Optional getQuarterlyUnitPrice() { + return quarterlyUnitPrice; + } + + @JsonProperty("quarterly_unit_price_decimal") + public Optional getQuarterlyUnitPriceDecimal() { + return quarterlyUnitPriceDecimal; + } + @JsonProperty("soft_limit") public Optional getSoftLimit() { return softLimit; @@ -320,6 +356,10 @@ private boolean equalTo(CreatePlanEntitlementRequestBody other) { && planVersionId.equals(other.planVersionId) && priceBehavior.equals(other.priceBehavior) && priceTiers.equals(other.priceTiers) + && quarterlyMeteredPriceId.equals(other.quarterlyMeteredPriceId) + && quarterlyPriceTiers.equals(other.quarterlyPriceTiers) + && quarterlyUnitPrice.equals(other.quarterlyUnitPrice) + && quarterlyUnitPriceDecimal.equals(other.quarterlyUnitPriceDecimal) && softLimit.equals(other.softLimit) && tierMode.equals(other.tierMode) && valueBool.equals(other.valueBool) @@ -353,6 +393,10 @@ public int hashCode() { this.planVersionId, this.priceBehavior, this.priceTiers, + this.quarterlyMeteredPriceId, + this.quarterlyPriceTiers, + this.quarterlyUnitPrice, + this.quarterlyUnitPriceDecimal, this.softLimit, this.tierMode, this.valueBool, @@ -459,6 +503,22 @@ public interface _FinalStage { _FinalStage priceTiers(List priceTiers); + _FinalStage quarterlyMeteredPriceId(Optional quarterlyMeteredPriceId); + + _FinalStage quarterlyMeteredPriceId(String quarterlyMeteredPriceId); + + _FinalStage quarterlyPriceTiers(Optional> quarterlyPriceTiers); + + _FinalStage quarterlyPriceTiers(List quarterlyPriceTiers); + + _FinalStage quarterlyUnitPrice(Optional quarterlyUnitPrice); + + _FinalStage quarterlyUnitPrice(Long quarterlyUnitPrice); + + _FinalStage quarterlyUnitPriceDecimal(Optional quarterlyUnitPriceDecimal); + + _FinalStage quarterlyUnitPriceDecimal(String quarterlyUnitPriceDecimal); + _FinalStage softLimit(Optional softLimit); _FinalStage softLimit(Long softLimit); @@ -528,6 +588,14 @@ public static final class Builder implements FeatureIdStage, PlanIdStage, ValueT private Optional softLimit = Optional.empty(); + private Optional quarterlyUnitPriceDecimal = Optional.empty(); + + private Optional quarterlyUnitPrice = Optional.empty(); + + private Optional> quarterlyPriceTiers = Optional.empty(); + + private Optional quarterlyMeteredPriceId = Optional.empty(); + private Optional> priceTiers = Optional.empty(); private Optional priceBehavior = Optional.empty(); @@ -582,6 +650,10 @@ public Builder from(CreatePlanEntitlementRequestBody other) { planVersionId(other.getPlanVersionId()); priceBehavior(other.getPriceBehavior()); priceTiers(other.getPriceTiers()); + quarterlyMeteredPriceId(other.getQuarterlyMeteredPriceId()); + quarterlyPriceTiers(other.getQuarterlyPriceTiers()); + quarterlyUnitPrice(other.getQuarterlyUnitPrice()); + quarterlyUnitPriceDecimal(other.getQuarterlyUnitPriceDecimal()); softLimit(other.getSoftLimit()); tierMode(other.getTierMode()); valueBool(other.getValueBool()); @@ -747,6 +819,58 @@ public _FinalStage softLimit(Optional softLimit) { return this; } + @java.lang.Override + public _FinalStage quarterlyUnitPriceDecimal(String quarterlyUnitPriceDecimal) { + this.quarterlyUnitPriceDecimal = Optional.ofNullable(quarterlyUnitPriceDecimal); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_unit_price_decimal", nulls = Nulls.SKIP) + public _FinalStage quarterlyUnitPriceDecimal(Optional quarterlyUnitPriceDecimal) { + this.quarterlyUnitPriceDecimal = quarterlyUnitPriceDecimal; + return this; + } + + @java.lang.Override + public _FinalStage quarterlyUnitPrice(Long quarterlyUnitPrice) { + this.quarterlyUnitPrice = Optional.ofNullable(quarterlyUnitPrice); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_unit_price", nulls = Nulls.SKIP) + public _FinalStage quarterlyUnitPrice(Optional quarterlyUnitPrice) { + this.quarterlyUnitPrice = quarterlyUnitPrice; + return this; + } + + @java.lang.Override + public _FinalStage quarterlyPriceTiers(List quarterlyPriceTiers) { + this.quarterlyPriceTiers = Optional.ofNullable(quarterlyPriceTiers); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_price_tiers", nulls = Nulls.SKIP) + public _FinalStage quarterlyPriceTiers(Optional> quarterlyPriceTiers) { + this.quarterlyPriceTiers = quarterlyPriceTiers; + return this; + } + + @java.lang.Override + public _FinalStage quarterlyMeteredPriceId(String quarterlyMeteredPriceId) { + this.quarterlyMeteredPriceId = Optional.ofNullable(quarterlyMeteredPriceId); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_metered_price_id", nulls = Nulls.SKIP) + public _FinalStage quarterlyMeteredPriceId(Optional quarterlyMeteredPriceId) { + this.quarterlyMeteredPriceId = quarterlyMeteredPriceId; + return this; + } + /** *

Use MonthlyPriceTiers or YearlyPriceTiers instead

* @return Reference to {@code this} so that method calls can be chained together. @@ -969,6 +1093,10 @@ public CreatePlanEntitlementRequestBody build() { planVersionId, priceBehavior, priceTiers, + quarterlyMeteredPriceId, + quarterlyPriceTiers, + quarterlyUnitPrice, + quarterlyUnitPriceDecimal, softLimit, tierMode, valueBool, diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/ListFeatureUsageRequest.java b/src/main/java/com/schematic/api/resources/entitlements/requests/ListFeatureUsageRequest.java index 14394b6..584dc77 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/ListFeatureUsageRequest.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/ListFeatureUsageRequest.java @@ -12,6 +12,7 @@ import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.BillingProviderType; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -30,6 +31,8 @@ public final class ListFeatureUsageRequest { private final Optional includeUsageAggregation; + private final Optional managedBy; + private final Optional q; private final Optional withoutNegativeEntitlements; @@ -45,6 +48,7 @@ private ListFeatureUsageRequest( Optional companyId, Optional> companyKeys, Optional includeUsageAggregation, + Optional managedBy, Optional q, Optional withoutNegativeEntitlements, Optional limit, @@ -54,6 +58,7 @@ private ListFeatureUsageRequest( this.companyId = companyId; this.companyKeys = companyKeys; this.includeUsageAggregation = includeUsageAggregation; + this.managedBy = managedBy; this.q = q; this.withoutNegativeEntitlements = withoutNegativeEntitlements; this.limit = limit; @@ -84,6 +89,14 @@ public Optional getIncludeUsageAggregation() { return includeUsageAggregation; } + /** + * @return Filter for features managed by a billing provider, or by Schematic (no billing provider) + */ + @JsonProperty("managed_by") + public Optional getManagedBy() { + return managedBy; + } + @JsonProperty("q") public Optional getQ() { return q; @@ -126,6 +139,7 @@ private boolean equalTo(ListFeatureUsageRequest other) { && companyId.equals(other.companyId) && companyKeys.equals(other.companyKeys) && includeUsageAggregation.equals(other.includeUsageAggregation) + && managedBy.equals(other.managedBy) && q.equals(other.q) && withoutNegativeEntitlements.equals(other.withoutNegativeEntitlements) && limit.equals(other.limit) @@ -139,6 +153,7 @@ public int hashCode() { this.companyId, this.companyKeys, this.includeUsageAggregation, + this.managedBy, this.q, this.withoutNegativeEntitlements, this.limit, @@ -164,6 +179,8 @@ public static final class Builder { private Optional includeUsageAggregation = Optional.empty(); + private Optional managedBy = Optional.empty(); + private Optional q = Optional.empty(); private Optional withoutNegativeEntitlements = Optional.empty(); @@ -182,6 +199,7 @@ public Builder from(ListFeatureUsageRequest other) { companyId(other.getCompanyId()); companyKeys(other.getCompanyKeys()); includeUsageAggregation(other.getIncludeUsageAggregation()); + managedBy(other.getManagedBy()); q(other.getQ()); withoutNegativeEntitlements(other.getWithoutNegativeEntitlements()); limit(other.getLimit()); @@ -241,6 +259,20 @@ public Builder includeUsageAggregation(Boolean includeUsageAggregation) { return this; } + /** + *

Filter for features managed by a billing provider, or by Schematic (no billing provider)

+ */ + @JsonSetter(value = "managed_by", nulls = Nulls.SKIP) + public Builder managedBy(Optional managedBy) { + this.managedBy = managedBy; + return this; + } + + public Builder managedBy(BillingProviderType managedBy) { + this.managedBy = Optional.ofNullable(managedBy); + return this; + } + @JsonSetter(value = "q", nulls = Nulls.SKIP) public Builder q(Optional q) { this.q = q; @@ -297,6 +329,7 @@ public ListFeatureUsageRequest build() { companyId, companyKeys, includeUsageAggregation, + managedBy, q, withoutNegativeEntitlements, limit, diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/UpdatePlanEntitlementRequestBody.java b/src/main/java/com/schematic/api/resources/entitlements/requests/UpdatePlanEntitlementRequestBody.java index 78e9e48..2a39f38 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/UpdatePlanEntitlementRequestBody.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/UpdatePlanEntitlementRequestBody.java @@ -57,6 +57,14 @@ public final class UpdatePlanEntitlementRequestBody { private final Optional> priceTiers; + private final Optional quarterlyMeteredPriceId; + + private final Optional> quarterlyPriceTiers; + + private final Optional quarterlyUnitPrice; + + private final Optional quarterlyUnitPriceDecimal; + private final Optional softLimit; private final Optional tierMode; @@ -96,6 +104,10 @@ private UpdatePlanEntitlementRequestBody( Optional overageBillingProductId, Optional priceBehavior, Optional> priceTiers, + Optional quarterlyMeteredPriceId, + Optional> quarterlyPriceTiers, + Optional quarterlyUnitPrice, + Optional quarterlyUnitPriceDecimal, Optional softLimit, Optional tierMode, Optional valueBool, @@ -122,6 +134,10 @@ private UpdatePlanEntitlementRequestBody( this.overageBillingProductId = overageBillingProductId; this.priceBehavior = priceBehavior; this.priceTiers = priceTiers; + this.quarterlyMeteredPriceId = quarterlyMeteredPriceId; + this.quarterlyPriceTiers = quarterlyPriceTiers; + this.quarterlyUnitPrice = quarterlyUnitPrice; + this.quarterlyUnitPriceDecimal = quarterlyUnitPriceDecimal; this.softLimit = softLimit; this.tierMode = tierMode; this.valueBool = valueBool; @@ -209,6 +225,26 @@ public Optional> getPriceTiers() { return priceTiers; } + @JsonProperty("quarterly_metered_price_id") + public Optional getQuarterlyMeteredPriceId() { + return quarterlyMeteredPriceId; + } + + @JsonProperty("quarterly_price_tiers") + public Optional> getQuarterlyPriceTiers() { + return quarterlyPriceTiers; + } + + @JsonProperty("quarterly_unit_price") + public Optional getQuarterlyUnitPrice() { + return quarterlyUnitPrice; + } + + @JsonProperty("quarterly_unit_price_decimal") + public Optional getQuarterlyUnitPriceDecimal() { + return quarterlyUnitPriceDecimal; + } + @JsonProperty("soft_limit") public Optional getSoftLimit() { return softLimit; @@ -290,6 +326,10 @@ private boolean equalTo(UpdatePlanEntitlementRequestBody other) { && overageBillingProductId.equals(other.overageBillingProductId) && priceBehavior.equals(other.priceBehavior) && priceTiers.equals(other.priceTiers) + && quarterlyMeteredPriceId.equals(other.quarterlyMeteredPriceId) + && quarterlyPriceTiers.equals(other.quarterlyPriceTiers) + && quarterlyUnitPrice.equals(other.quarterlyUnitPrice) + && quarterlyUnitPriceDecimal.equals(other.quarterlyUnitPriceDecimal) && softLimit.equals(other.softLimit) && tierMode.equals(other.tierMode) && valueBool.equals(other.valueBool) @@ -320,6 +360,10 @@ public int hashCode() { this.overageBillingProductId, this.priceBehavior, this.priceTiers, + this.quarterlyMeteredPriceId, + this.quarterlyPriceTiers, + this.quarterlyUnitPrice, + this.quarterlyUnitPriceDecimal, this.softLimit, this.tierMode, this.valueBool, @@ -414,6 +458,22 @@ public interface _FinalStage { _FinalStage priceTiers(List priceTiers); + _FinalStage quarterlyMeteredPriceId(Optional quarterlyMeteredPriceId); + + _FinalStage quarterlyMeteredPriceId(String quarterlyMeteredPriceId); + + _FinalStage quarterlyPriceTiers(Optional> quarterlyPriceTiers); + + _FinalStage quarterlyPriceTiers(List quarterlyPriceTiers); + + _FinalStage quarterlyUnitPrice(Optional quarterlyUnitPrice); + + _FinalStage quarterlyUnitPrice(Long quarterlyUnitPrice); + + _FinalStage quarterlyUnitPriceDecimal(Optional quarterlyUnitPriceDecimal); + + _FinalStage quarterlyUnitPriceDecimal(String quarterlyUnitPriceDecimal); + _FinalStage softLimit(Optional softLimit); _FinalStage softLimit(Long softLimit); @@ -479,6 +539,14 @@ public static final class Builder implements ValueTypeStage, _FinalStage { private Optional softLimit = Optional.empty(); + private Optional quarterlyUnitPriceDecimal = Optional.empty(); + + private Optional quarterlyUnitPrice = Optional.empty(); + + private Optional> quarterlyPriceTiers = Optional.empty(); + + private Optional quarterlyMeteredPriceId = Optional.empty(); + private Optional> priceTiers = Optional.empty(); private Optional priceBehavior = Optional.empty(); @@ -528,6 +596,10 @@ public Builder from(UpdatePlanEntitlementRequestBody other) { overageBillingProductId(other.getOverageBillingProductId()); priceBehavior(other.getPriceBehavior()); priceTiers(other.getPriceTiers()); + quarterlyMeteredPriceId(other.getQuarterlyMeteredPriceId()); + quarterlyPriceTiers(other.getQuarterlyPriceTiers()); + quarterlyUnitPrice(other.getQuarterlyUnitPrice()); + quarterlyUnitPriceDecimal(other.getQuarterlyUnitPriceDecimal()); softLimit(other.getSoftLimit()); tierMode(other.getTierMode()); valueBool(other.getValueBool()); @@ -679,6 +751,58 @@ public _FinalStage softLimit(Optional softLimit) { return this; } + @java.lang.Override + public _FinalStage quarterlyUnitPriceDecimal(String quarterlyUnitPriceDecimal) { + this.quarterlyUnitPriceDecimal = Optional.ofNullable(quarterlyUnitPriceDecimal); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_unit_price_decimal", nulls = Nulls.SKIP) + public _FinalStage quarterlyUnitPriceDecimal(Optional quarterlyUnitPriceDecimal) { + this.quarterlyUnitPriceDecimal = quarterlyUnitPriceDecimal; + return this; + } + + @java.lang.Override + public _FinalStage quarterlyUnitPrice(Long quarterlyUnitPrice) { + this.quarterlyUnitPrice = Optional.ofNullable(quarterlyUnitPrice); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_unit_price", nulls = Nulls.SKIP) + public _FinalStage quarterlyUnitPrice(Optional quarterlyUnitPrice) { + this.quarterlyUnitPrice = quarterlyUnitPrice; + return this; + } + + @java.lang.Override + public _FinalStage quarterlyPriceTiers(List quarterlyPriceTiers) { + this.quarterlyPriceTiers = Optional.ofNullable(quarterlyPriceTiers); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_price_tiers", nulls = Nulls.SKIP) + public _FinalStage quarterlyPriceTiers(Optional> quarterlyPriceTiers) { + this.quarterlyPriceTiers = quarterlyPriceTiers; + return this; + } + + @java.lang.Override + public _FinalStage quarterlyMeteredPriceId(String quarterlyMeteredPriceId) { + this.quarterlyMeteredPriceId = Optional.ofNullable(quarterlyMeteredPriceId); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_metered_price_id", nulls = Nulls.SKIP) + public _FinalStage quarterlyMeteredPriceId(Optional quarterlyMeteredPriceId) { + this.quarterlyMeteredPriceId = quarterlyMeteredPriceId; + return this; + } + /** *

Use MonthlyPriceTiers or YearlyPriceTiers instead

* @return Reference to {@code this} so that method calls can be chained together. @@ -885,6 +1009,10 @@ public UpdatePlanEntitlementRequestBody build() { overageBillingProductId, priceBehavior, priceTiers, + quarterlyMeteredPriceId, + quarterlyPriceTiers, + quarterlyUnitPrice, + quarterlyUnitPriceDecimal, softLimit, tierMode, valueBool, diff --git a/src/main/java/com/schematic/api/resources/entitlements/types/CountFeatureUsageParams.java b/src/main/java/com/schematic/api/resources/entitlements/types/CountFeatureUsageParams.java index 29e3f30..5626b54 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/types/CountFeatureUsageParams.java +++ b/src/main/java/com/schematic/api/resources/entitlements/types/CountFeatureUsageParams.java @@ -12,6 +12,7 @@ import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.BillingProviderType; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -31,6 +32,8 @@ public final class CountFeatureUsageParams { private final Optional limit; + private final Optional managedBy; + private final Optional offset; private final Optional q; @@ -45,6 +48,7 @@ private CountFeatureUsageParams( Optional> featureIds, Optional includeUsageAggregation, Optional limit, + Optional managedBy, Optional offset, Optional q, Optional withoutNegativeEntitlements, @@ -54,6 +58,7 @@ private CountFeatureUsageParams( this.featureIds = featureIds; this.includeUsageAggregation = includeUsageAggregation; this.limit = limit; + this.managedBy = managedBy; this.offset = offset; this.q = q; this.withoutNegativeEntitlements = withoutNegativeEntitlements; @@ -91,6 +96,14 @@ public Optional getLimit() { return limit; } + /** + * @return Filter for features managed by a billing provider, or by Schematic (no billing provider) + */ + @JsonProperty("managed_by") + public Optional getManagedBy() { + return managedBy; + } + /** * @return Page offset (default 0) */ @@ -126,6 +139,7 @@ private boolean equalTo(CountFeatureUsageParams other) { && featureIds.equals(other.featureIds) && includeUsageAggregation.equals(other.includeUsageAggregation) && limit.equals(other.limit) + && managedBy.equals(other.managedBy) && offset.equals(other.offset) && q.equals(other.q) && withoutNegativeEntitlements.equals(other.withoutNegativeEntitlements); @@ -139,6 +153,7 @@ public int hashCode() { this.featureIds, this.includeUsageAggregation, this.limit, + this.managedBy, this.offset, this.q, this.withoutNegativeEntitlements); @@ -165,6 +180,8 @@ public static final class Builder { private Optional limit = Optional.empty(); + private Optional managedBy = Optional.empty(); + private Optional offset = Optional.empty(); private Optional q = Optional.empty(); @@ -182,6 +199,7 @@ public Builder from(CountFeatureUsageParams other) { featureIds(other.getFeatureIds()); includeUsageAggregation(other.getIncludeUsageAggregation()); limit(other.getLimit()); + managedBy(other.getManagedBy()); offset(other.getOffset()); q(other.getQ()); withoutNegativeEntitlements(other.getWithoutNegativeEntitlements()); @@ -249,6 +267,20 @@ public Builder limit(Long limit) { return this; } + /** + *

Filter for features managed by a billing provider, or by Schematic (no billing provider)

+ */ + @JsonSetter(value = "managed_by", nulls = Nulls.SKIP) + public Builder managedBy(Optional managedBy) { + this.managedBy = managedBy; + return this; + } + + public Builder managedBy(BillingProviderType managedBy) { + this.managedBy = Optional.ofNullable(managedBy); + return this; + } + /** *

Page offset (default 0)

*/ @@ -292,6 +324,7 @@ public CountFeatureUsageParams build() { featureIds, includeUsageAggregation, limit, + managedBy, offset, q, withoutNegativeEntitlements, diff --git a/src/main/java/com/schematic/api/resources/entitlements/types/ListFeatureUsageParams.java b/src/main/java/com/schematic/api/resources/entitlements/types/ListFeatureUsageParams.java index d39d1ec..4ace8f4 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/types/ListFeatureUsageParams.java +++ b/src/main/java/com/schematic/api/resources/entitlements/types/ListFeatureUsageParams.java @@ -12,6 +12,7 @@ import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.BillingProviderType; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -31,6 +32,8 @@ public final class ListFeatureUsageParams { private final Optional limit; + private final Optional managedBy; + private final Optional offset; private final Optional q; @@ -45,6 +48,7 @@ private ListFeatureUsageParams( Optional> featureIds, Optional includeUsageAggregation, Optional limit, + Optional managedBy, Optional offset, Optional q, Optional withoutNegativeEntitlements, @@ -54,6 +58,7 @@ private ListFeatureUsageParams( this.featureIds = featureIds; this.includeUsageAggregation = includeUsageAggregation; this.limit = limit; + this.managedBy = managedBy; this.offset = offset; this.q = q; this.withoutNegativeEntitlements = withoutNegativeEntitlements; @@ -91,6 +96,14 @@ public Optional getLimit() { return limit; } + /** + * @return Filter for features managed by a billing provider, or by Schematic (no billing provider) + */ + @JsonProperty("managed_by") + public Optional getManagedBy() { + return managedBy; + } + /** * @return Page offset (default 0) */ @@ -126,6 +139,7 @@ private boolean equalTo(ListFeatureUsageParams other) { && featureIds.equals(other.featureIds) && includeUsageAggregation.equals(other.includeUsageAggregation) && limit.equals(other.limit) + && managedBy.equals(other.managedBy) && offset.equals(other.offset) && q.equals(other.q) && withoutNegativeEntitlements.equals(other.withoutNegativeEntitlements); @@ -139,6 +153,7 @@ public int hashCode() { this.featureIds, this.includeUsageAggregation, this.limit, + this.managedBy, this.offset, this.q, this.withoutNegativeEntitlements); @@ -165,6 +180,8 @@ public static final class Builder { private Optional limit = Optional.empty(); + private Optional managedBy = Optional.empty(); + private Optional offset = Optional.empty(); private Optional q = Optional.empty(); @@ -182,6 +199,7 @@ public Builder from(ListFeatureUsageParams other) { featureIds(other.getFeatureIds()); includeUsageAggregation(other.getIncludeUsageAggregation()); limit(other.getLimit()); + managedBy(other.getManagedBy()); offset(other.getOffset()); q(other.getQ()); withoutNegativeEntitlements(other.getWithoutNegativeEntitlements()); @@ -249,6 +267,20 @@ public Builder limit(Long limit) { return this; } + /** + *

Filter for features managed by a billing provider, or by Schematic (no billing provider)

+ */ + @JsonSetter(value = "managed_by", nulls = Nulls.SKIP) + public Builder managedBy(Optional managedBy) { + this.managedBy = managedBy; + return this; + } + + public Builder managedBy(BillingProviderType managedBy) { + this.managedBy = Optional.ofNullable(managedBy); + return this; + } + /** *

Page offset (default 0)

*/ @@ -292,6 +324,7 @@ public ListFeatureUsageParams build() { featureIds, includeUsageAggregation, limit, + managedBy, offset, q, withoutNegativeEntitlements, diff --git a/src/main/java/com/schematic/api/resources/planbundle/AsyncPlanbundleClient.java b/src/main/java/com/schematic/api/resources/planbundle/AsyncPlanbundleClient.java index c21a831..943f99e 100644 --- a/src/main/java/com/schematic/api/resources/planbundle/AsyncPlanbundleClient.java +++ b/src/main/java/com/schematic/api/resources/planbundle/AsyncPlanbundleClient.java @@ -5,8 +5,10 @@ import com.schematic.api.core.ClientOptions; import com.schematic.api.core.RequestOptions; +import com.schematic.api.resources.planbundle.requests.CreateCustomPlanBundleRequestBody; import com.schematic.api.resources.planbundle.requests.CreatePlanBundleRequestBody; import com.schematic.api.resources.planbundle.requests.UpdatePlanBundleRequestBody; +import com.schematic.api.resources.planbundle.types.CreateCustomPlanBundleResponse; import com.schematic.api.resources.planbundle.types.CreatePlanBundleResponse; import com.schematic.api.resources.planbundle.types.UpdatePlanBundleResponse; import java.util.concurrent.CompletableFuture; @@ -28,6 +30,16 @@ public AsyncRawPlanbundleClient withRawResponse() { return this.rawClient; } + public CompletableFuture createCustomPlanBundle( + CreateCustomPlanBundleRequestBody request) { + return this.rawClient.createCustomPlanBundle(request).thenApply(response -> response.body()); + } + + public CompletableFuture createCustomPlanBundle( + CreateCustomPlanBundleRequestBody request, RequestOptions requestOptions) { + return this.rawClient.createCustomPlanBundle(request, requestOptions).thenApply(response -> response.body()); + } + public CompletableFuture createPlanBundle(CreatePlanBundleRequestBody request) { return this.rawClient.createPlanBundle(request).thenApply(response -> response.body()); } diff --git a/src/main/java/com/schematic/api/resources/planbundle/AsyncRawPlanbundleClient.java b/src/main/java/com/schematic/api/resources/planbundle/AsyncRawPlanbundleClient.java index 82dfd1a..f911cd2 100644 --- a/src/main/java/com/schematic/api/resources/planbundle/AsyncRawPlanbundleClient.java +++ b/src/main/java/com/schematic/api/resources/planbundle/AsyncRawPlanbundleClient.java @@ -16,8 +16,10 @@ import com.schematic.api.errors.InternalServerError; import com.schematic.api.errors.NotFoundError; import com.schematic.api.errors.UnauthorizedError; +import com.schematic.api.resources.planbundle.requests.CreateCustomPlanBundleRequestBody; import com.schematic.api.resources.planbundle.requests.CreatePlanBundleRequestBody; import com.schematic.api.resources.planbundle.requests.UpdatePlanBundleRequestBody; +import com.schematic.api.resources.planbundle.types.CreateCustomPlanBundleResponse; import com.schematic.api.resources.planbundle.types.CreatePlanBundleResponse; import com.schematic.api.resources.planbundle.types.UpdatePlanBundleResponse; import com.schematic.api.types.ApiError; @@ -41,6 +43,100 @@ public AsyncRawPlanbundleClient(ClientOptions clientOptions) { this.clientOptions = clientOptions; } + public CompletableFuture> createCustomPlanBundle( + CreateCustomPlanBundleRequestBody request) { + return createCustomPlanBundle(request, null); + } + + public CompletableFuture> createCustomPlanBundle( + CreateCustomPlanBundleRequestBody request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("custom-plan-bundles"); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + RequestBody body; + try { + body = RequestBody.create( + ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaTypes.APPLICATION_JSON); + } catch (JsonProcessingException e) { + throw new BaseSchematicException("Failed to serialize request", e); + } + Request okhttpRequest = new Request.Builder() + .url(httpUrl.build()) + .method("POST", body) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json") + .addHeader("Accept", "application/json") + .build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + CompletableFuture> future = new CompletableFuture<>(); + client.newCall(okhttpRequest).enqueue(new Callback() { + @Override + public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { + try (ResponseBody responseBody = response.body()) { + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + future.complete(new BaseSchematicHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, CreateCustomPlanBundleResponse.class), + response)); + return; + } + try { + switch (response.code()) { + case 400: + future.completeExceptionally(new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 401: + future.completeExceptionally(new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 403: + future.completeExceptionally(new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 404: + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 500: + future.completeExceptionally(new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new BaseSchematicApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (IOException e) { + future.completeExceptionally(new BaseSchematicException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new BaseSchematicException("Network error executing HTTP request", e)); + } + }); + return future; + } + public CompletableFuture> createPlanBundle( CreatePlanBundleRequestBody request) { return createPlanBundle(request, null); diff --git a/src/main/java/com/schematic/api/resources/planbundle/PlanbundleClient.java b/src/main/java/com/schematic/api/resources/planbundle/PlanbundleClient.java index ff6d028..e471363 100644 --- a/src/main/java/com/schematic/api/resources/planbundle/PlanbundleClient.java +++ b/src/main/java/com/schematic/api/resources/planbundle/PlanbundleClient.java @@ -5,8 +5,10 @@ import com.schematic.api.core.ClientOptions; import com.schematic.api.core.RequestOptions; +import com.schematic.api.resources.planbundle.requests.CreateCustomPlanBundleRequestBody; import com.schematic.api.resources.planbundle.requests.CreatePlanBundleRequestBody; import com.schematic.api.resources.planbundle.requests.UpdatePlanBundleRequestBody; +import com.schematic.api.resources.planbundle.types.CreateCustomPlanBundleResponse; import com.schematic.api.resources.planbundle.types.CreatePlanBundleResponse; import com.schematic.api.resources.planbundle.types.UpdatePlanBundleResponse; @@ -27,6 +29,15 @@ public RawPlanbundleClient withRawResponse() { return this.rawClient; } + public CreateCustomPlanBundleResponse createCustomPlanBundle(CreateCustomPlanBundleRequestBody request) { + return this.rawClient.createCustomPlanBundle(request).body(); + } + + public CreateCustomPlanBundleResponse createCustomPlanBundle( + CreateCustomPlanBundleRequestBody request, RequestOptions requestOptions) { + return this.rawClient.createCustomPlanBundle(request, requestOptions).body(); + } + public CreatePlanBundleResponse createPlanBundle(CreatePlanBundleRequestBody request) { return this.rawClient.createPlanBundle(request).body(); } diff --git a/src/main/java/com/schematic/api/resources/planbundle/RawPlanbundleClient.java b/src/main/java/com/schematic/api/resources/planbundle/RawPlanbundleClient.java index 2fab6fb..6b25734 100644 --- a/src/main/java/com/schematic/api/resources/planbundle/RawPlanbundleClient.java +++ b/src/main/java/com/schematic/api/resources/planbundle/RawPlanbundleClient.java @@ -16,8 +16,10 @@ import com.schematic.api.errors.InternalServerError; import com.schematic.api.errors.NotFoundError; import com.schematic.api.errors.UnauthorizedError; +import com.schematic.api.resources.planbundle.requests.CreateCustomPlanBundleRequestBody; import com.schematic.api.resources.planbundle.requests.CreatePlanBundleRequestBody; import com.schematic.api.resources.planbundle.requests.UpdatePlanBundleRequestBody; +import com.schematic.api.resources.planbundle.types.CreateCustomPlanBundleResponse; import com.schematic.api.resources.planbundle.types.CreatePlanBundleResponse; import com.schematic.api.resources.planbundle.types.UpdatePlanBundleResponse; import com.schematic.api.types.ApiError; @@ -37,6 +39,76 @@ public RawPlanbundleClient(ClientOptions clientOptions) { this.clientOptions = clientOptions; } + public BaseSchematicHttpResponse createCustomPlanBundle( + CreateCustomPlanBundleRequestBody request) { + return createCustomPlanBundle(request, null); + } + + public BaseSchematicHttpResponse createCustomPlanBundle( + CreateCustomPlanBundleRequestBody request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("custom-plan-bundles"); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + RequestBody body; + try { + body = RequestBody.create( + ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaTypes.APPLICATION_JSON); + } catch (JsonProcessingException e) { + throw new BaseSchematicException("Failed to serialize request", e); + } + Request okhttpRequest = new Request.Builder() + .url(httpUrl.build()) + .method("POST", body) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json") + .addHeader("Accept", "application/json") + .build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new BaseSchematicHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, CreateCustomPlanBundleResponse.class), + response); + } + try { + switch (response.code()) { + case 400: + throw new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 401: + throw new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 403: + throw new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 404: + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 500: + throw new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new BaseSchematicApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (IOException e) { + throw new BaseSchematicException("Network error executing HTTP request", e); + } + } + public BaseSchematicHttpResponse createPlanBundle(CreatePlanBundleRequestBody request) { return createPlanBundle(request, null); } diff --git a/src/main/java/com/schematic/api/resources/planbundle/requests/CreateCustomPlanBundleRequestBody.java b/src/main/java/com/schematic/api/resources/planbundle/requests/CreateCustomPlanBundleRequestBody.java new file mode 100644 index 0000000..e918c72 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/planbundle/requests/CreateCustomPlanBundleRequestBody.java @@ -0,0 +1,170 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.planbundle.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.CreateCustomPlanBundlePlanRequestBody; +import com.schematic.api.types.PlanBundleEntitlementRequestBody; +import com.schematic.api.types.UpsertBillingProductRequestBody; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = CreateCustomPlanBundleRequestBody.Builder.class) +public final class CreateCustomPlanBundleRequestBody { + private final Optional billingProduct; + + private final List entitlements; + + private final Optional plan; + + private final Map additionalProperties; + + private CreateCustomPlanBundleRequestBody( + Optional billingProduct, + List entitlements, + Optional plan, + Map additionalProperties) { + this.billingProduct = billingProduct; + this.entitlements = entitlements; + this.plan = plan; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("billing_product") + public Optional getBillingProduct() { + return billingProduct; + } + + @JsonProperty("entitlements") + public List getEntitlements() { + return entitlements; + } + + @JsonProperty("plan") + public Optional getPlan() { + return plan; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreateCustomPlanBundleRequestBody && equalTo((CreateCustomPlanBundleRequestBody) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(CreateCustomPlanBundleRequestBody other) { + return billingProduct.equals(other.billingProduct) + && entitlements.equals(other.entitlements) + && plan.equals(other.plan); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.billingProduct, this.entitlements, this.plan); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional billingProduct = Optional.empty(); + + private List entitlements = new ArrayList<>(); + + private Optional plan = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(CreateCustomPlanBundleRequestBody other) { + billingProduct(other.getBillingProduct()); + entitlements(other.getEntitlements()); + plan(other.getPlan()); + return this; + } + + @JsonSetter(value = "billing_product", nulls = Nulls.SKIP) + public Builder billingProduct(Optional billingProduct) { + this.billingProduct = billingProduct; + return this; + } + + public Builder billingProduct(UpsertBillingProductRequestBody billingProduct) { + this.billingProduct = Optional.ofNullable(billingProduct); + return this; + } + + @JsonSetter(value = "entitlements", nulls = Nulls.SKIP) + public Builder entitlements(List entitlements) { + this.entitlements.clear(); + if (entitlements != null) { + this.entitlements.addAll(entitlements); + } + return this; + } + + public Builder addEntitlements(PlanBundleEntitlementRequestBody entitlements) { + this.entitlements.add(entitlements); + return this; + } + + public Builder addAllEntitlements(List entitlements) { + if (entitlements != null) { + this.entitlements.addAll(entitlements); + } + return this; + } + + @JsonSetter(value = "plan", nulls = Nulls.SKIP) + public Builder plan(Optional plan) { + this.plan = plan; + return this; + } + + public Builder plan(CreateCustomPlanBundlePlanRequestBody plan) { + this.plan = Optional.ofNullable(plan); + return this; + } + + public CreateCustomPlanBundleRequestBody build() { + return new CreateCustomPlanBundleRequestBody(billingProduct, entitlements, plan, additionalProperties); + } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/planbundle/types/CreateCustomPlanBundleResponse.java b/src/main/java/com/schematic/api/resources/planbundle/types/CreateCustomPlanBundleResponse.java new file mode 100644 index 0000000..f7cbb72 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/planbundle/types/CreateCustomPlanBundleResponse.java @@ -0,0 +1,181 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.planbundle.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.PlanBundleResponseData; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = CreateCustomPlanBundleResponse.Builder.class) +public final class CreateCustomPlanBundleResponse { + private final PlanBundleResponseData data; + + private final Map params; + + private final Map additionalProperties; + + private CreateCustomPlanBundleResponse( + PlanBundleResponseData data, Map params, Map additionalProperties) { + this.data = data; + this.params = params; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("data") + public PlanBundleResponseData getData() { + return data; + } + + /** + * @return Input parameters + */ + @JsonProperty("params") + public Map getParams() { + return params; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreateCustomPlanBundleResponse && equalTo((CreateCustomPlanBundleResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(CreateCustomPlanBundleResponse other) { + return data.equals(other.data) && params.equals(other.params); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.data, this.params); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static DataStage builder() { + return new Builder(); + } + + public interface DataStage { + _FinalStage data(@NotNull PlanBundleResponseData data); + + Builder from(CreateCustomPlanBundleResponse other); + } + + public interface _FinalStage { + CreateCustomPlanBundleResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + /** + *

Input parameters

+ */ + _FinalStage params(Map params); + + _FinalStage putAllParams(Map params); + + _FinalStage params(String key, JsonNode value); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements DataStage, _FinalStage { + private PlanBundleResponseData data; + + private Map params = new LinkedHashMap<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(CreateCustomPlanBundleResponse other) { + data(other.getData()); + params(other.getParams()); + return this; + } + + @java.lang.Override + @JsonSetter("data") + public _FinalStage data(@NotNull PlanBundleResponseData data) { + this.data = Objects.requireNonNull(data, "data must not be null"); + return this; + } + + /** + *

Input parameters

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage params(String key, JsonNode value) { + this.params.put(key, value); + return this; + } + + /** + *

Input parameters

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage putAllParams(Map params) { + if (params != null) { + this.params.putAll(params); + } + return this; + } + + /** + *

Input parameters

+ */ + @java.lang.Override + @JsonSetter(value = "params", nulls = Nulls.SKIP) + public _FinalStage params(Map params) { + this.params.clear(); + if (params != null) { + this.params.putAll(params); + } + return this; + } + + @java.lang.Override + public CreateCustomPlanBundleResponse build() { + return new CreateCustomPlanBundleResponse(data, params, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/types/BillingPriceResponseData.java b/src/main/java/com/schematic/api/types/BillingPriceResponseData.java index bda48ca..0c3260d 100644 --- a/src/main/java/com/schematic/api/types/BillingPriceResponseData.java +++ b/src/main/java/com/schematic/api/types/BillingPriceResponseData.java @@ -29,6 +29,8 @@ public final class BillingPriceResponseData { private final BillingProductPriceInterval interval; + private final long intervalCount; + private final Optional nickname; private final long price; @@ -46,6 +48,7 @@ private BillingPriceResponseData( String externalPriceId, String id, BillingProductPriceInterval interval, + long intervalCount, Optional nickname, long price, Optional priceDecimal, @@ -56,6 +59,7 @@ private BillingPriceResponseData( this.externalPriceId = externalPriceId; this.id = id; this.interval = interval; + this.intervalCount = intervalCount; this.nickname = nickname; this.price = price; this.priceDecimal = priceDecimal; @@ -84,6 +88,11 @@ public BillingProductPriceInterval getInterval() { return interval; } + @JsonProperty("interval_count") + public long getIntervalCount() { + return intervalCount; + } + @JsonProperty("nickname") public Optional getNickname() { return nickname; @@ -125,6 +134,7 @@ private boolean equalTo(BillingPriceResponseData other) { && externalPriceId.equals(other.externalPriceId) && id.equals(other.id) && interval.equals(other.interval) + && intervalCount == other.intervalCount && nickname.equals(other.nickname) && price == other.price && priceDecimal.equals(other.priceDecimal) @@ -139,6 +149,7 @@ public int hashCode() { this.externalPriceId, this.id, this.interval, + this.intervalCount, this.nickname, this.price, this.priceDecimal, @@ -170,7 +181,11 @@ public interface IdStage { } public interface IntervalStage { - PriceStage interval(@NotNull BillingProductPriceInterval interval); + IntervalCountStage interval(@NotNull BillingProductPriceInterval interval); + } + + public interface IntervalCountStage { + PriceStage intervalCount(long intervalCount); } public interface PriceStage { @@ -207,6 +222,7 @@ public static final class Builder ExternalPriceIdStage, IdStage, IntervalStage, + IntervalCountStage, PriceStage, ProviderTypeStage, SchemeStage, @@ -219,6 +235,8 @@ public static final class Builder private BillingProductPriceInterval interval; + private long intervalCount; + private long price; private BillingProviderType providerType; @@ -240,6 +258,7 @@ public Builder from(BillingPriceResponseData other) { externalPriceId(other.getExternalPriceId()); id(other.getId()); interval(other.getInterval()); + intervalCount(other.getIntervalCount()); nickname(other.getNickname()); price(other.getPrice()); priceDecimal(other.getPriceDecimal()); @@ -271,11 +290,18 @@ public IntervalStage id(@NotNull String id) { @java.lang.Override @JsonSetter("interval") - public PriceStage interval(@NotNull BillingProductPriceInterval interval) { + public IntervalCountStage interval(@NotNull BillingProductPriceInterval interval) { this.interval = Objects.requireNonNull(interval, "interval must not be null"); return this; } + @java.lang.Override + @JsonSetter("interval_count") + public PriceStage intervalCount(long intervalCount) { + this.intervalCount = intervalCount; + return this; + } + @java.lang.Override @JsonSetter("price") public ProviderTypeStage price(long price) { @@ -330,6 +356,7 @@ public BillingPriceResponseData build() { externalPriceId, id, interval, + intervalCount, nickname, price, priceDecimal, diff --git a/src/main/java/com/schematic/api/types/BillingPriceView.java b/src/main/java/com/schematic/api/types/BillingPriceView.java index e6e0591..ad2af85 100644 --- a/src/main/java/com/schematic/api/types/BillingPriceView.java +++ b/src/main/java/com/schematic/api/types/BillingPriceView.java @@ -34,6 +34,8 @@ public final class BillingPriceView { private final BillingProductPriceInterval interval; + private final long intervalCount; + private final boolean isActive; private final Optional meterEventName; @@ -78,6 +80,7 @@ private BillingPriceView( String currency, String id, BillingProductPriceInterval interval, + long intervalCount, boolean isActive, Optional meterEventName, Optional meterEventPayloadKey, @@ -102,6 +105,7 @@ private BillingPriceView( this.currency = currency; this.id = id; this.interval = interval; + this.intervalCount = intervalCount; this.isActive = isActive; this.meterEventName = meterEventName; this.meterEventPayloadKey = meterEventPayloadKey; @@ -148,6 +152,11 @@ public BillingProductPriceInterval getInterval() { return interval; } + @JsonProperty("interval_count") + public long getIntervalCount() { + return intervalCount; + } + @JsonProperty("is_active") public boolean getIsActive() { return isActive; @@ -255,6 +264,7 @@ private boolean equalTo(BillingPriceView other) { && currency.equals(other.currency) && id.equals(other.id) && interval.equals(other.interval) + && intervalCount == other.intervalCount && isActive == other.isActive && meterEventName.equals(other.meterEventName) && meterEventPayloadKey.equals(other.meterEventPayloadKey) @@ -283,6 +293,7 @@ public int hashCode() { this.currency, this.id, this.interval, + this.intervalCount, this.isActive, this.meterEventName, this.meterEventPayloadKey, @@ -331,7 +342,11 @@ public interface IdStage { } public interface IntervalStage { - IsActiveStage interval(@NotNull BillingProductPriceInterval interval); + IntervalCountStage interval(@NotNull BillingProductPriceInterval interval); + } + + public interface IntervalCountStage { + IsActiveStage intervalCount(long intervalCount); } public interface IsActiveStage { @@ -423,6 +438,7 @@ public static final class Builder CurrencyStage, IdStage, IntervalStage, + IntervalCountStage, IsActiveStage, PackageSizeStage, PriceStage, @@ -445,6 +461,8 @@ public static final class Builder private BillingProductPriceInterval interval; + private long intervalCount; + private boolean isActive; private long packageSize; @@ -493,6 +511,7 @@ public Builder from(BillingPriceView other) { currency(other.getCurrency()); id(other.getId()); interval(other.getInterval()); + intervalCount(other.getIntervalCount()); isActive(other.getIsActive()); meterEventName(other.getMeterEventName()); meterEventPayloadKey(other.getMeterEventPayloadKey()); @@ -544,11 +563,18 @@ public IntervalStage id(@NotNull String id) { @java.lang.Override @JsonSetter("interval") - public IsActiveStage interval(@NotNull BillingProductPriceInterval interval) { + public IntervalCountStage interval(@NotNull BillingProductPriceInterval interval) { this.interval = Objects.requireNonNull(interval, "interval must not be null"); return this; } + @java.lang.Override + @JsonSetter("interval_count") + public IsActiveStage intervalCount(long intervalCount) { + this.intervalCount = intervalCount; + return this; + } + @java.lang.Override @JsonSetter("is_active") public PackageSizeStage isActive(boolean isActive) { @@ -736,6 +762,7 @@ public BillingPriceView build() { currency, id, interval, + intervalCount, isActive, meterEventName, meterEventPayloadKey, diff --git a/src/main/java/com/schematic/api/types/BillingProductForSubscriptionResponseData.java b/src/main/java/com/schematic/api/types/BillingProductForSubscriptionResponseData.java index 4f5a344..d700f04 100644 --- a/src/main/java/com/schematic/api/types/BillingProductForSubscriptionResponseData.java +++ b/src/main/java/com/schematic/api/types/BillingProductForSubscriptionResponseData.java @@ -40,6 +40,8 @@ public final class BillingProductForSubscriptionResponseData { private final String interval; + private final Optional intervalCount; + private final Optional meterId; private final String name; @@ -79,6 +81,7 @@ private BillingProductForSubscriptionResponseData( String externalId, String id, String interval, + Optional intervalCount, Optional meterId, String name, long packageSize, @@ -102,6 +105,7 @@ private BillingProductForSubscriptionResponseData( this.externalId = externalId; this.id = id; this.interval = interval; + this.intervalCount = intervalCount; this.meterId = meterId; this.name = name; this.packageSize = packageSize; @@ -159,6 +163,11 @@ public String getInterval() { return interval; } + @JsonProperty("interval_count") + public Optional getIntervalCount() { + return intervalCount; + } + @JsonProperty("meter_id") public Optional getMeterId() { return meterId; @@ -250,6 +259,7 @@ private boolean equalTo(BillingProductForSubscriptionResponseData other) { && externalId.equals(other.externalId) && id.equals(other.id) && interval.equals(other.interval) + && intervalCount.equals(other.intervalCount) && meterId.equals(other.meterId) && name.equals(other.name) && packageSize == other.packageSize @@ -277,6 +287,7 @@ public int hashCode() { this.externalId, this.id, this.interval, + this.intervalCount, this.meterId, this.name, this.packageSize, @@ -383,6 +394,10 @@ public interface _FinalStage { _FinalStage billingThreshold(Long billingThreshold); + _FinalStage intervalCount(Optional intervalCount); + + _FinalStage intervalCount(Long intervalCount); + _FinalStage meterId(Optional meterId); _FinalStage meterId(String meterId); @@ -464,6 +479,8 @@ public static final class Builder private Optional meterId = Optional.empty(); + private Optional intervalCount = Optional.empty(); + private Optional billingThreshold = Optional.empty(); @JsonAnySetter @@ -481,6 +498,7 @@ public Builder from(BillingProductForSubscriptionResponseData other) { externalId(other.getExternalId()); id(other.getId()); interval(other.getInterval()); + intervalCount(other.getIntervalCount()); meterId(other.getMeterId()); name(other.getName()); packageSize(other.getPackageSize()); @@ -680,6 +698,19 @@ public _FinalStage meterId(Optional meterId) { return this; } + @java.lang.Override + public _FinalStage intervalCount(Long intervalCount) { + this.intervalCount = Optional.ofNullable(intervalCount); + return this; + } + + @java.lang.Override + @JsonSetter(value = "interval_count", nulls = Nulls.SKIP) + public _FinalStage intervalCount(Optional intervalCount) { + this.intervalCount = intervalCount; + return this; + } + @java.lang.Override public _FinalStage billingThreshold(Long billingThreshold) { this.billingThreshold = Optional.ofNullable(billingThreshold); @@ -704,6 +735,7 @@ public BillingProductForSubscriptionResponseData build() { externalId, id, interval, + intervalCount, meterId, name, packageSize, diff --git a/src/main/java/com/schematic/api/types/BillingProductPriceResponseData.java b/src/main/java/com/schematic/api/types/BillingProductPriceResponseData.java index 2836677..073c27b 100644 --- a/src/main/java/com/schematic/api/types/BillingProductPriceResponseData.java +++ b/src/main/java/com/schematic/api/types/BillingProductPriceResponseData.java @@ -32,6 +32,8 @@ public final class BillingProductPriceResponseData { private final BillingProductPriceInterval interval; + private final long intervalCount; + private final boolean isActive; private final Optional meterId; @@ -64,6 +66,7 @@ private BillingProductPriceResponseData( String currency, String id, BillingProductPriceInterval interval, + long intervalCount, boolean isActive, Optional meterId, Optional nickname, @@ -82,6 +85,7 @@ private BillingProductPriceResponseData( this.currency = currency; this.id = id; this.interval = interval; + this.intervalCount = intervalCount; this.isActive = isActive; this.meterId = meterId; this.nickname = nickname; @@ -122,6 +126,11 @@ public BillingProductPriceInterval getInterval() { return interval; } + @JsonProperty("interval_count") + public long getIntervalCount() { + return intervalCount; + } + @JsonProperty("is_active") public boolean getIsActive() { return isActive; @@ -199,6 +208,7 @@ private boolean equalTo(BillingProductPriceResponseData other) { && currency.equals(other.currency) && id.equals(other.id) && interval.equals(other.interval) + && intervalCount == other.intervalCount && isActive == other.isActive && meterId.equals(other.meterId) && nickname.equals(other.nickname) @@ -221,6 +231,7 @@ public int hashCode() { this.currency, this.id, this.interval, + this.intervalCount, this.isActive, this.meterId, this.nickname, @@ -263,7 +274,11 @@ public interface IdStage { } public interface IntervalStage { - IsActiveStage interval(@NotNull BillingProductPriceInterval interval); + IntervalCountStage interval(@NotNull BillingProductPriceInterval interval); + } + + public interface IntervalCountStage { + IsActiveStage intervalCount(long intervalCount); } public interface IsActiveStage { @@ -329,6 +344,7 @@ public static final class Builder CurrencyStage, IdStage, IntervalStage, + IntervalCountStage, IsActiveStage, PackageSizeStage, PriceStage, @@ -348,6 +364,8 @@ public static final class Builder private BillingProductPriceInterval interval; + private long intervalCount; + private boolean isActive; private long packageSize; @@ -384,6 +402,7 @@ public Builder from(BillingProductPriceResponseData other) { currency(other.getCurrency()); id(other.getId()); interval(other.getInterval()); + intervalCount(other.getIntervalCount()); isActive(other.getIsActive()); meterId(other.getMeterId()); nickname(other.getNickname()); @@ -429,11 +448,18 @@ public IntervalStage id(@NotNull String id) { @java.lang.Override @JsonSetter("interval") - public IsActiveStage interval(@NotNull BillingProductPriceInterval interval) { + public IntervalCountStage interval(@NotNull BillingProductPriceInterval interval) { this.interval = Objects.requireNonNull(interval, "interval must not be null"); return this; } + @java.lang.Override + @JsonSetter("interval_count") + public IsActiveStage intervalCount(long intervalCount) { + this.intervalCount = intervalCount; + return this; + } + @java.lang.Override @JsonSetter("is_active") public PackageSizeStage isActive(boolean isActive) { @@ -550,6 +576,7 @@ public BillingProductPriceResponseData build() { currency, id, interval, + intervalCount, isActive, meterId, nickname, diff --git a/src/main/java/com/schematic/api/types/CompanyPlanDetailResponseData.java b/src/main/java/com/schematic/api/types/CompanyPlanDetailResponseData.java index 5c728b8..7601d7d 100644 --- a/src/main/java/com/schematic/api/types/CompanyPlanDetailResponseData.java +++ b/src/main/java/com/schematic/api/types/CompanyPlanDetailResponseData.java @@ -90,6 +90,8 @@ public final class CompanyPlanDetailResponseData { private final PlanType planType; + private final Optional quarterlyPrice; + private final Optional trialDays; private final OffsetDateTime updatedAt; @@ -138,6 +140,7 @@ private CompanyPlanDetailResponseData( String name, Optional oneTimePrice, PlanType planType, + Optional quarterlyPrice, Optional trialDays, OffsetDateTime updatedAt, List usageViolations, @@ -178,6 +181,7 @@ private CompanyPlanDetailResponseData( this.name = name; this.oneTimePrice = oneTimePrice; this.planType = planType; + this.quarterlyPrice = quarterlyPrice; this.trialDays = trialDays; this.updatedAt = updatedAt; this.usageViolations = usageViolations; @@ -352,6 +356,11 @@ public PlanType getPlanType() { return planType; } + @JsonProperty("quarterly_price") + public Optional getQuarterlyPrice() { + return quarterlyPrice; + } + @JsonProperty("trial_days") public Optional getTrialDays() { return trialDays; @@ -427,6 +436,7 @@ private boolean equalTo(CompanyPlanDetailResponseData other) { && name.equals(other.name) && oneTimePrice.equals(other.oneTimePrice) && planType.equals(other.planType) + && quarterlyPrice.equals(other.quarterlyPrice) && trialDays.equals(other.trialDays) && updatedAt.equals(other.updatedAt) && usageViolations.equals(other.usageViolations) @@ -471,6 +481,7 @@ public int hashCode() { this.name, this.oneTimePrice, this.planType, + this.quarterlyPrice, this.trialDays, this.updatedAt, this.usageViolations, @@ -647,6 +658,10 @@ public interface _FinalStage { _FinalStage oneTimePrice(BillingPriceResponseData oneTimePrice); + _FinalStage quarterlyPrice(Optional quarterlyPrice); + + _FinalStage quarterlyPrice(BillingPriceResponseData quarterlyPrice); + _FinalStage trialDays(Optional trialDays); _FinalStage trialDays(Long trialDays); @@ -733,6 +748,8 @@ public static final class Builder private Optional trialDays = Optional.empty(); + private Optional quarterlyPrice = Optional.empty(); + private Optional oneTimePrice = Optional.empty(); private Optional monthlyPrice = Optional.empty(); @@ -807,6 +824,7 @@ public Builder from(CompanyPlanDetailResponseData other) { name(other.getName()); oneTimePrice(other.getOneTimePrice()); planType(other.getPlanType()); + quarterlyPrice(other.getQuarterlyPrice()); trialDays(other.getTrialDays()); updatedAt(other.getUpdatedAt()); usageViolations(other.getUsageViolations()); @@ -1016,6 +1034,19 @@ public _FinalStage trialDays(Optional trialDays) { return this; } + @java.lang.Override + public _FinalStage quarterlyPrice(BillingPriceResponseData quarterlyPrice) { + this.quarterlyPrice = Optional.ofNullable(quarterlyPrice); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_price", nulls = Nulls.SKIP) + public _FinalStage quarterlyPrice(Optional quarterlyPrice) { + this.quarterlyPrice = quarterlyPrice; + return this; + } + @java.lang.Override public _FinalStage oneTimePrice(BillingPriceResponseData oneTimePrice) { this.oneTimePrice = Optional.ofNullable(oneTimePrice); @@ -1328,6 +1359,7 @@ public CompanyPlanDetailResponseData build() { name, oneTimePrice, planType, + quarterlyPrice, trialDays, updatedAt, usageViolations, diff --git a/src/main/java/com/schematic/api/types/CreateCustomPlanBundlePlanRequestBody.java b/src/main/java/com/schematic/api/types/CreateCustomPlanBundlePlanRequestBody.java new file mode 100644 index 0000000..7f016fc --- /dev/null +++ b/src/main/java/com/schematic/api/types/CreateCustomPlanBundlePlanRequestBody.java @@ -0,0 +1,201 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = CreateCustomPlanBundlePlanRequestBody.Builder.class) +public final class CreateCustomPlanBundlePlanRequestBody { + private final String companyId; + + private final String description; + + private final Optional icon; + + private final String name; + + private final Map additionalProperties; + + private CreateCustomPlanBundlePlanRequestBody( + String companyId, + String description, + Optional icon, + String name, + Map additionalProperties) { + this.companyId = companyId; + this.description = description; + this.icon = icon; + this.name = name; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("company_id") + public String getCompanyId() { + return companyId; + } + + @JsonProperty("description") + public String getDescription() { + return description; + } + + @JsonProperty("icon") + public Optional getIcon() { + return icon; + } + + @JsonProperty("name") + public String getName() { + return name; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreateCustomPlanBundlePlanRequestBody + && equalTo((CreateCustomPlanBundlePlanRequestBody) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(CreateCustomPlanBundlePlanRequestBody other) { + return companyId.equals(other.companyId) + && description.equals(other.description) + && icon.equals(other.icon) + && name.equals(other.name); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.companyId, this.description, this.icon, this.name); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CompanyIdStage builder() { + return new Builder(); + } + + public interface CompanyIdStage { + DescriptionStage companyId(@NotNull String companyId); + + Builder from(CreateCustomPlanBundlePlanRequestBody other); + } + + public interface DescriptionStage { + NameStage description(@NotNull String description); + } + + public interface NameStage { + _FinalStage name(@NotNull String name); + } + + public interface _FinalStage { + CreateCustomPlanBundlePlanRequestBody build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage icon(Optional icon); + + _FinalStage icon(PlanIcon icon); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CompanyIdStage, DescriptionStage, NameStage, _FinalStage { + private String companyId; + + private String description; + + private String name; + + private Optional icon = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(CreateCustomPlanBundlePlanRequestBody other) { + companyId(other.getCompanyId()); + description(other.getDescription()); + icon(other.getIcon()); + name(other.getName()); + return this; + } + + @java.lang.Override + @JsonSetter("company_id") + public DescriptionStage companyId(@NotNull String companyId) { + this.companyId = Objects.requireNonNull(companyId, "companyId must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("description") + public NameStage description(@NotNull String description) { + this.description = Objects.requireNonNull(description, "description must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("name") + public _FinalStage name(@NotNull String name) { + this.name = Objects.requireNonNull(name, "name must not be null"); + return this; + } + + @java.lang.Override + public _FinalStage icon(PlanIcon icon) { + this.icon = Optional.ofNullable(icon); + return this; + } + + @java.lang.Override + @JsonSetter(value = "icon", nulls = Nulls.SKIP) + public _FinalStage icon(Optional icon) { + this.icon = icon; + return this; + } + + @java.lang.Override + public CreateCustomPlanBundlePlanRequestBody build() { + return new CreateCustomPlanBundlePlanRequestBody(companyId, description, icon, name, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/types/CreateEntitlementInBundleRequestBody.java b/src/main/java/com/schematic/api/types/CreateEntitlementInBundleRequestBody.java index 0a7e766..c89ff19 100644 --- a/src/main/java/com/schematic/api/types/CreateEntitlementInBundleRequestBody.java +++ b/src/main/java/com/schematic/api/types/CreateEntitlementInBundleRequestBody.java @@ -56,6 +56,14 @@ public final class CreateEntitlementInBundleRequestBody { private final Optional> priceTiers; + private final Optional quarterlyMeteredPriceId; + + private final Optional> quarterlyPriceTiers; + + private final Optional quarterlyUnitPrice; + + private final Optional quarterlyUnitPriceDecimal; + private final Optional softLimit; private final Optional tierMode; @@ -98,6 +106,10 @@ private CreateEntitlementInBundleRequestBody( Optional planVersionId, Optional priceBehavior, Optional> priceTiers, + Optional quarterlyMeteredPriceId, + Optional> quarterlyPriceTiers, + Optional quarterlyUnitPrice, + Optional quarterlyUnitPriceDecimal, Optional softLimit, Optional tierMode, Optional valueBool, @@ -127,6 +139,10 @@ private CreateEntitlementInBundleRequestBody( this.planVersionId = planVersionId; this.priceBehavior = priceBehavior; this.priceTiers = priceTiers; + this.quarterlyMeteredPriceId = quarterlyMeteredPriceId; + this.quarterlyPriceTiers = quarterlyPriceTiers; + this.quarterlyUnitPrice = quarterlyUnitPrice; + this.quarterlyUnitPriceDecimal = quarterlyUnitPriceDecimal; this.softLimit = softLimit; this.tierMode = tierMode; this.valueBool = valueBool; @@ -229,6 +245,26 @@ public Optional> getPriceTiers() { return priceTiers; } + @JsonProperty("quarterly_metered_price_id") + public Optional getQuarterlyMeteredPriceId() { + return quarterlyMeteredPriceId; + } + + @JsonProperty("quarterly_price_tiers") + public Optional> getQuarterlyPriceTiers() { + return quarterlyPriceTiers; + } + + @JsonProperty("quarterly_unit_price") + public Optional getQuarterlyUnitPrice() { + return quarterlyUnitPrice; + } + + @JsonProperty("quarterly_unit_price_decimal") + public Optional getQuarterlyUnitPriceDecimal() { + return quarterlyUnitPriceDecimal; + } + @JsonProperty("soft_limit") public Optional getSoftLimit() { return softLimit; @@ -314,6 +350,10 @@ private boolean equalTo(CreateEntitlementInBundleRequestBody other) { && planVersionId.equals(other.planVersionId) && priceBehavior.equals(other.priceBehavior) && priceTiers.equals(other.priceTiers) + && quarterlyMeteredPriceId.equals(other.quarterlyMeteredPriceId) + && quarterlyPriceTiers.equals(other.quarterlyPriceTiers) + && quarterlyUnitPrice.equals(other.quarterlyUnitPrice) + && quarterlyUnitPriceDecimal.equals(other.quarterlyUnitPriceDecimal) && softLimit.equals(other.softLimit) && tierMode.equals(other.tierMode) && valueBool.equals(other.valueBool) @@ -347,6 +387,10 @@ public int hashCode() { this.planVersionId, this.priceBehavior, this.priceTiers, + this.quarterlyMeteredPriceId, + this.quarterlyPriceTiers, + this.quarterlyUnitPrice, + this.quarterlyUnitPriceDecimal, this.softLimit, this.tierMode, this.valueBool, @@ -453,6 +497,22 @@ public interface _FinalStage { _FinalStage priceTiers(List priceTiers); + _FinalStage quarterlyMeteredPriceId(Optional quarterlyMeteredPriceId); + + _FinalStage quarterlyMeteredPriceId(String quarterlyMeteredPriceId); + + _FinalStage quarterlyPriceTiers(Optional> quarterlyPriceTiers); + + _FinalStage quarterlyPriceTiers(List quarterlyPriceTiers); + + _FinalStage quarterlyUnitPrice(Optional quarterlyUnitPrice); + + _FinalStage quarterlyUnitPrice(Long quarterlyUnitPrice); + + _FinalStage quarterlyUnitPriceDecimal(Optional quarterlyUnitPriceDecimal); + + _FinalStage quarterlyUnitPriceDecimal(String quarterlyUnitPriceDecimal); + _FinalStage softLimit(Optional softLimit); _FinalStage softLimit(Long softLimit); @@ -522,6 +582,14 @@ public static final class Builder implements FeatureIdStage, PlanIdStage, ValueT private Optional softLimit = Optional.empty(); + private Optional quarterlyUnitPriceDecimal = Optional.empty(); + + private Optional quarterlyUnitPrice = Optional.empty(); + + private Optional> quarterlyPriceTiers = Optional.empty(); + + private Optional quarterlyMeteredPriceId = Optional.empty(); + private Optional> priceTiers = Optional.empty(); private Optional priceBehavior = Optional.empty(); @@ -576,6 +644,10 @@ public Builder from(CreateEntitlementInBundleRequestBody other) { planVersionId(other.getPlanVersionId()); priceBehavior(other.getPriceBehavior()); priceTiers(other.getPriceTiers()); + quarterlyMeteredPriceId(other.getQuarterlyMeteredPriceId()); + quarterlyPriceTiers(other.getQuarterlyPriceTiers()); + quarterlyUnitPrice(other.getQuarterlyUnitPrice()); + quarterlyUnitPriceDecimal(other.getQuarterlyUnitPriceDecimal()); softLimit(other.getSoftLimit()); tierMode(other.getTierMode()); valueBool(other.getValueBool()); @@ -741,6 +813,58 @@ public _FinalStage softLimit(Optional softLimit) { return this; } + @java.lang.Override + public _FinalStage quarterlyUnitPriceDecimal(String quarterlyUnitPriceDecimal) { + this.quarterlyUnitPriceDecimal = Optional.ofNullable(quarterlyUnitPriceDecimal); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_unit_price_decimal", nulls = Nulls.SKIP) + public _FinalStage quarterlyUnitPriceDecimal(Optional quarterlyUnitPriceDecimal) { + this.quarterlyUnitPriceDecimal = quarterlyUnitPriceDecimal; + return this; + } + + @java.lang.Override + public _FinalStage quarterlyUnitPrice(Long quarterlyUnitPrice) { + this.quarterlyUnitPrice = Optional.ofNullable(quarterlyUnitPrice); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_unit_price", nulls = Nulls.SKIP) + public _FinalStage quarterlyUnitPrice(Optional quarterlyUnitPrice) { + this.quarterlyUnitPrice = quarterlyUnitPrice; + return this; + } + + @java.lang.Override + public _FinalStage quarterlyPriceTiers(List quarterlyPriceTiers) { + this.quarterlyPriceTiers = Optional.ofNullable(quarterlyPriceTiers); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_price_tiers", nulls = Nulls.SKIP) + public _FinalStage quarterlyPriceTiers(Optional> quarterlyPriceTiers) { + this.quarterlyPriceTiers = quarterlyPriceTiers; + return this; + } + + @java.lang.Override + public _FinalStage quarterlyMeteredPriceId(String quarterlyMeteredPriceId) { + this.quarterlyMeteredPriceId = Optional.ofNullable(quarterlyMeteredPriceId); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_metered_price_id", nulls = Nulls.SKIP) + public _FinalStage quarterlyMeteredPriceId(Optional quarterlyMeteredPriceId) { + this.quarterlyMeteredPriceId = quarterlyMeteredPriceId; + return this; + } + /** *

Use MonthlyPriceTiers or YearlyPriceTiers instead

* @return Reference to {@code this} so that method calls can be chained together. @@ -963,6 +1087,10 @@ public CreateEntitlementInBundleRequestBody build() { planVersionId, priceBehavior, priceTiers, + quarterlyMeteredPriceId, + quarterlyPriceTiers, + quarterlyUnitPrice, + quarterlyUnitPriceDecimal, softLimit, tierMode, valueBool, diff --git a/src/main/java/com/schematic/api/types/CurrencyPriceRequestBody.java b/src/main/java/com/schematic/api/types/CurrencyPriceRequestBody.java index f4438d8..95695e6 100644 --- a/src/main/java/com/schematic/api/types/CurrencyPriceRequestBody.java +++ b/src/main/java/com/schematic/api/types/CurrencyPriceRequestBody.java @@ -30,6 +30,12 @@ public final class CurrencyPriceRequestBody { private final Optional monthlyUnitPriceDecimal; + private final Optional> quarterlyPriceTiers; + + private final Optional quarterlyUnitPrice; + + private final Optional quarterlyUnitPriceDecimal; + private final Optional> yearlyPriceTiers; private final Optional yearlyUnitPrice; @@ -43,6 +49,9 @@ private CurrencyPriceRequestBody( Optional> monthlyPriceTiers, Optional monthlyUnitPrice, Optional monthlyUnitPriceDecimal, + Optional> quarterlyPriceTiers, + Optional quarterlyUnitPrice, + Optional quarterlyUnitPriceDecimal, Optional> yearlyPriceTiers, Optional yearlyUnitPrice, Optional yearlyUnitPriceDecimal, @@ -51,6 +60,9 @@ private CurrencyPriceRequestBody( this.monthlyPriceTiers = monthlyPriceTiers; this.monthlyUnitPrice = monthlyUnitPrice; this.monthlyUnitPriceDecimal = monthlyUnitPriceDecimal; + this.quarterlyPriceTiers = quarterlyPriceTiers; + this.quarterlyUnitPrice = quarterlyUnitPrice; + this.quarterlyUnitPriceDecimal = quarterlyUnitPriceDecimal; this.yearlyPriceTiers = yearlyPriceTiers; this.yearlyUnitPrice = yearlyUnitPrice; this.yearlyUnitPriceDecimal = yearlyUnitPriceDecimal; @@ -77,6 +89,21 @@ public Optional getMonthlyUnitPriceDecimal() { return monthlyUnitPriceDecimal; } + @JsonProperty("quarterly_price_tiers") + public Optional> getQuarterlyPriceTiers() { + return quarterlyPriceTiers; + } + + @JsonProperty("quarterly_unit_price") + public Optional getQuarterlyUnitPrice() { + return quarterlyUnitPrice; + } + + @JsonProperty("quarterly_unit_price_decimal") + public Optional getQuarterlyUnitPriceDecimal() { + return quarterlyUnitPriceDecimal; + } + @JsonProperty("yearly_price_tiers") public Optional> getYearlyPriceTiers() { return yearlyPriceTiers; @@ -108,6 +135,9 @@ private boolean equalTo(CurrencyPriceRequestBody other) { && monthlyPriceTiers.equals(other.monthlyPriceTiers) && monthlyUnitPrice.equals(other.monthlyUnitPrice) && monthlyUnitPriceDecimal.equals(other.monthlyUnitPriceDecimal) + && quarterlyPriceTiers.equals(other.quarterlyPriceTiers) + && quarterlyUnitPrice.equals(other.quarterlyUnitPrice) + && quarterlyUnitPriceDecimal.equals(other.quarterlyUnitPriceDecimal) && yearlyPriceTiers.equals(other.yearlyPriceTiers) && yearlyUnitPrice.equals(other.yearlyUnitPrice) && yearlyUnitPriceDecimal.equals(other.yearlyUnitPriceDecimal); @@ -120,6 +150,9 @@ public int hashCode() { this.monthlyPriceTiers, this.monthlyUnitPrice, this.monthlyUnitPriceDecimal, + this.quarterlyPriceTiers, + this.quarterlyUnitPrice, + this.quarterlyUnitPriceDecimal, this.yearlyPriceTiers, this.yearlyUnitPrice, this.yearlyUnitPriceDecimal); @@ -159,6 +192,18 @@ public interface _FinalStage { _FinalStage monthlyUnitPriceDecimal(String monthlyUnitPriceDecimal); + _FinalStage quarterlyPriceTiers(Optional> quarterlyPriceTiers); + + _FinalStage quarterlyPriceTiers(List quarterlyPriceTiers); + + _FinalStage quarterlyUnitPrice(Optional quarterlyUnitPrice); + + _FinalStage quarterlyUnitPrice(Long quarterlyUnitPrice); + + _FinalStage quarterlyUnitPriceDecimal(Optional quarterlyUnitPriceDecimal); + + _FinalStage quarterlyUnitPriceDecimal(String quarterlyUnitPriceDecimal); + _FinalStage yearlyPriceTiers(Optional> yearlyPriceTiers); _FinalStage yearlyPriceTiers(List yearlyPriceTiers); @@ -182,6 +227,12 @@ public static final class Builder implements CurrencyStage, _FinalStage { private Optional> yearlyPriceTiers = Optional.empty(); + private Optional quarterlyUnitPriceDecimal = Optional.empty(); + + private Optional quarterlyUnitPrice = Optional.empty(); + + private Optional> quarterlyPriceTiers = Optional.empty(); + private Optional monthlyUnitPriceDecimal = Optional.empty(); private Optional monthlyUnitPrice = Optional.empty(); @@ -199,6 +250,9 @@ public Builder from(CurrencyPriceRequestBody other) { monthlyPriceTiers(other.getMonthlyPriceTiers()); monthlyUnitPrice(other.getMonthlyUnitPrice()); monthlyUnitPriceDecimal(other.getMonthlyUnitPriceDecimal()); + quarterlyPriceTiers(other.getQuarterlyPriceTiers()); + quarterlyUnitPrice(other.getQuarterlyUnitPrice()); + quarterlyUnitPriceDecimal(other.getQuarterlyUnitPriceDecimal()); yearlyPriceTiers(other.getYearlyPriceTiers()); yearlyUnitPrice(other.getYearlyUnitPrice()); yearlyUnitPriceDecimal(other.getYearlyUnitPriceDecimal()); @@ -251,6 +305,45 @@ public _FinalStage yearlyPriceTiers(Optional> y return this; } + @java.lang.Override + public _FinalStage quarterlyUnitPriceDecimal(String quarterlyUnitPriceDecimal) { + this.quarterlyUnitPriceDecimal = Optional.ofNullable(quarterlyUnitPriceDecimal); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_unit_price_decimal", nulls = Nulls.SKIP) + public _FinalStage quarterlyUnitPriceDecimal(Optional quarterlyUnitPriceDecimal) { + this.quarterlyUnitPriceDecimal = quarterlyUnitPriceDecimal; + return this; + } + + @java.lang.Override + public _FinalStage quarterlyUnitPrice(Long quarterlyUnitPrice) { + this.quarterlyUnitPrice = Optional.ofNullable(quarterlyUnitPrice); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_unit_price", nulls = Nulls.SKIP) + public _FinalStage quarterlyUnitPrice(Optional quarterlyUnitPrice) { + this.quarterlyUnitPrice = quarterlyUnitPrice; + return this; + } + + @java.lang.Override + public _FinalStage quarterlyPriceTiers(List quarterlyPriceTiers) { + this.quarterlyPriceTiers = Optional.ofNullable(quarterlyPriceTiers); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_price_tiers", nulls = Nulls.SKIP) + public _FinalStage quarterlyPriceTiers(Optional> quarterlyPriceTiers) { + this.quarterlyPriceTiers = quarterlyPriceTiers; + return this; + } + @java.lang.Override public _FinalStage monthlyUnitPriceDecimal(String monthlyUnitPriceDecimal) { this.monthlyUnitPriceDecimal = Optional.ofNullable(monthlyUnitPriceDecimal); @@ -297,6 +390,9 @@ public CurrencyPriceRequestBody build() { monthlyPriceTiers, monthlyUnitPrice, monthlyUnitPriceDecimal, + quarterlyPriceTiers, + quarterlyUnitPrice, + quarterlyUnitPriceDecimal, yearlyPriceTiers, yearlyUnitPrice, yearlyUnitPriceDecimal, diff --git a/src/main/java/com/schematic/api/types/EntitlementCurrencyPricesResponseData.java b/src/main/java/com/schematic/api/types/EntitlementCurrencyPricesResponseData.java index a2fce3f..f63b180 100644 --- a/src/main/java/com/schematic/api/types/EntitlementCurrencyPricesResponseData.java +++ b/src/main/java/com/schematic/api/types/EntitlementCurrencyPricesResponseData.java @@ -25,6 +25,8 @@ public final class EntitlementCurrencyPricesResponseData { private final Optional monthlyPrice; + private final Optional quarterlyPrice; + private final Optional yearlyPrice; private final Map additionalProperties; @@ -32,10 +34,12 @@ public final class EntitlementCurrencyPricesResponseData { private EntitlementCurrencyPricesResponseData( String currency, Optional monthlyPrice, + Optional quarterlyPrice, Optional yearlyPrice, Map additionalProperties) { this.currency = currency; this.monthlyPrice = monthlyPrice; + this.quarterlyPrice = quarterlyPrice; this.yearlyPrice = yearlyPrice; this.additionalProperties = additionalProperties; } @@ -50,6 +54,11 @@ public Optional getMonthlyPrice() { return monthlyPrice; } + @JsonProperty("quarterly_price") + public Optional getQuarterlyPrice() { + return quarterlyPrice; + } + @JsonProperty("yearly_price") public Optional getYearlyPrice() { return yearlyPrice; @@ -70,12 +79,13 @@ public Map getAdditionalProperties() { private boolean equalTo(EntitlementCurrencyPricesResponseData other) { return currency.equals(other.currency) && monthlyPrice.equals(other.monthlyPrice) + && quarterlyPrice.equals(other.quarterlyPrice) && yearlyPrice.equals(other.yearlyPrice); } @java.lang.Override public int hashCode() { - return Objects.hash(this.currency, this.monthlyPrice, this.yearlyPrice); + return Objects.hash(this.currency, this.monthlyPrice, this.quarterlyPrice, this.yearlyPrice); } @java.lang.Override @@ -104,6 +114,10 @@ public interface _FinalStage { _FinalStage monthlyPrice(BillingPriceView monthlyPrice); + _FinalStage quarterlyPrice(Optional quarterlyPrice); + + _FinalStage quarterlyPrice(BillingPriceView quarterlyPrice); + _FinalStage yearlyPrice(Optional yearlyPrice); _FinalStage yearlyPrice(BillingPriceView yearlyPrice); @@ -115,6 +129,8 @@ public static final class Builder implements CurrencyStage, _FinalStage { private Optional yearlyPrice = Optional.empty(); + private Optional quarterlyPrice = Optional.empty(); + private Optional monthlyPrice = Optional.empty(); @JsonAnySetter @@ -126,6 +142,7 @@ private Builder() {} public Builder from(EntitlementCurrencyPricesResponseData other) { currency(other.getCurrency()); monthlyPrice(other.getMonthlyPrice()); + quarterlyPrice(other.getQuarterlyPrice()); yearlyPrice(other.getYearlyPrice()); return this; } @@ -150,6 +167,19 @@ public _FinalStage yearlyPrice(Optional yearlyPrice) { return this; } + @java.lang.Override + public _FinalStage quarterlyPrice(BillingPriceView quarterlyPrice) { + this.quarterlyPrice = Optional.ofNullable(quarterlyPrice); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_price", nulls = Nulls.SKIP) + public _FinalStage quarterlyPrice(Optional quarterlyPrice) { + this.quarterlyPrice = quarterlyPrice; + return this; + } + @java.lang.Override public _FinalStage monthlyPrice(BillingPriceView monthlyPrice) { this.monthlyPrice = Optional.ofNullable(monthlyPrice); @@ -165,7 +195,8 @@ public _FinalStage monthlyPrice(Optional monthlyPrice) { @java.lang.Override public EntitlementCurrencyPricesResponseData build() { - return new EntitlementCurrencyPricesResponseData(currency, monthlyPrice, yearlyPrice, additionalProperties); + return new EntitlementCurrencyPricesResponseData( + currency, monthlyPrice, quarterlyPrice, yearlyPrice, additionalProperties); } @java.lang.Override diff --git a/src/main/java/com/schematic/api/types/FeatureCompanyResponseData.java b/src/main/java/com/schematic/api/types/FeatureCompanyResponseData.java index 7521dbb..e511302 100644 --- a/src/main/java/com/schematic/api/types/FeatureCompanyResponseData.java +++ b/src/main/java/com/schematic/api/types/FeatureCompanyResponseData.java @@ -89,6 +89,8 @@ public final class FeatureCompanyResponseData { private final Optional priceBehavior; + private final Optional quarterlyUsageBasedPrice; + private final Optional softLimit; private final Optional usage; @@ -131,6 +133,7 @@ private FeatureCompanyResponseData( Optional plan, Optional planEntitlement, Optional priceBehavior, + Optional quarterlyUsageBasedPrice, Optional softLimit, Optional usage, Optional yearlyUsageBasedPrice, @@ -168,6 +171,7 @@ private FeatureCompanyResponseData( this.plan = plan; this.planEntitlement = planEntitlement; this.priceBehavior = priceBehavior; + this.quarterlyUsageBasedPrice = quarterlyUsageBasedPrice; this.softLimit = softLimit; this.usage = usage; this.yearlyUsageBasedPrice = yearlyUsageBasedPrice; @@ -393,6 +397,11 @@ public Optional getPriceBehavior() { return priceBehavior; } + @JsonProperty("quarterly_usage_based_price") + public Optional getQuarterlyUsageBasedPrice() { + return quarterlyUsageBasedPrice; + } + /** * @return The soft limit for the feature usage. Available only for overage price behavior */ @@ -459,6 +468,7 @@ private boolean equalTo(FeatureCompanyResponseData other) { && plan.equals(other.plan) && planEntitlement.equals(other.planEntitlement) && priceBehavior.equals(other.priceBehavior) + && quarterlyUsageBasedPrice.equals(other.quarterlyUsageBasedPrice) && softLimit.equals(other.softLimit) && usage.equals(other.usage) && yearlyUsageBasedPrice.equals(other.yearlyUsageBasedPrice); @@ -500,6 +510,7 @@ public int hashCode() { this.plan, this.planEntitlement, this.priceBehavior, + this.quarterlyUsageBasedPrice, this.softLimit, this.usage, this.yearlyUsageBasedPrice); @@ -709,6 +720,10 @@ public interface _FinalStage { _FinalStage priceBehavior(EntitlementPriceBehavior priceBehavior); + _FinalStage quarterlyUsageBasedPrice(Optional quarterlyUsageBasedPrice); + + _FinalStage quarterlyUsageBasedPrice(BillingPriceView quarterlyUsageBasedPrice); + /** *

The soft limit for the feature usage. Available only for overage price behavior

*/ @@ -745,6 +760,8 @@ public static final class Builder private Optional softLimit = Optional.empty(); + private Optional quarterlyUsageBasedPrice = Optional.empty(); + private Optional priceBehavior = Optional.empty(); private Optional planEntitlement = Optional.empty(); @@ -843,6 +860,7 @@ public Builder from(FeatureCompanyResponseData other) { plan(other.getPlan()); planEntitlement(other.getPlanEntitlement()); priceBehavior(other.getPriceBehavior()); + quarterlyUsageBasedPrice(other.getQuarterlyUsageBasedPrice()); softLimit(other.getSoftLimit()); usage(other.getUsage()); yearlyUsageBasedPrice(other.getYearlyUsageBasedPrice()); @@ -940,6 +958,19 @@ public _FinalStage softLimit(Optional softLimit) { return this; } + @java.lang.Override + public _FinalStage quarterlyUsageBasedPrice(BillingPriceView quarterlyUsageBasedPrice) { + this.quarterlyUsageBasedPrice = Optional.ofNullable(quarterlyUsageBasedPrice); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_usage_based_price", nulls = Nulls.SKIP) + public _FinalStage quarterlyUsageBasedPrice(Optional quarterlyUsageBasedPrice) { + this.quarterlyUsageBasedPrice = quarterlyUsageBasedPrice; + return this; + } + @java.lang.Override public _FinalStage priceBehavior(EntitlementPriceBehavior priceBehavior) { this.priceBehavior = Optional.ofNullable(priceBehavior); @@ -1465,6 +1496,7 @@ public FeatureCompanyResponseData build() { plan, planEntitlement, priceBehavior, + quarterlyUsageBasedPrice, softLimit, usage, yearlyUsageBasedPrice, diff --git a/src/main/java/com/schematic/api/types/FeatureUsageResponseData.java b/src/main/java/com/schematic/api/types/FeatureUsageResponseData.java index 79dbbf0..3929d43 100644 --- a/src/main/java/com/schematic/api/types/FeatureUsageResponseData.java +++ b/src/main/java/com/schematic/api/types/FeatureUsageResponseData.java @@ -85,6 +85,8 @@ public final class FeatureUsageResponseData { private final Optional priceBehavior; + private final Optional quarterlyUsageBasedPrice; + private final Optional softLimit; private final Optional usage; @@ -125,6 +127,7 @@ private FeatureUsageResponseData( Optional plan, Optional planEntitlement, Optional priceBehavior, + Optional quarterlyUsageBasedPrice, Optional softLimit, Optional usage, Optional yearlyUsageBasedPrice, @@ -160,6 +163,7 @@ private FeatureUsageResponseData( this.plan = plan; this.planEntitlement = planEntitlement; this.priceBehavior = priceBehavior; + this.quarterlyUsageBasedPrice = quarterlyUsageBasedPrice; this.softLimit = softLimit; this.usage = usage; this.yearlyUsageBasedPrice = yearlyUsageBasedPrice; @@ -375,6 +379,11 @@ public Optional getPriceBehavior() { return priceBehavior; } + @JsonProperty("quarterly_usage_based_price") + public Optional getQuarterlyUsageBasedPrice() { + return quarterlyUsageBasedPrice; + } + /** * @return The soft limit for the feature usage. Available only for overage price behavior */ @@ -439,6 +448,7 @@ private boolean equalTo(FeatureUsageResponseData other) { && plan.equals(other.plan) && planEntitlement.equals(other.planEntitlement) && priceBehavior.equals(other.priceBehavior) + && quarterlyUsageBasedPrice.equals(other.quarterlyUsageBasedPrice) && softLimit.equals(other.softLimit) && usage.equals(other.usage) && yearlyUsageBasedPrice.equals(other.yearlyUsageBasedPrice); @@ -478,6 +488,7 @@ public int hashCode() { this.plan, this.planEntitlement, this.priceBehavior, + this.quarterlyUsageBasedPrice, this.softLimit, this.usage, this.yearlyUsageBasedPrice); @@ -679,6 +690,10 @@ public interface _FinalStage { _FinalStage priceBehavior(EntitlementPriceBehavior priceBehavior); + _FinalStage quarterlyUsageBasedPrice(Optional quarterlyUsageBasedPrice); + + _FinalStage quarterlyUsageBasedPrice(BillingPriceView quarterlyUsageBasedPrice); + /** *

The soft limit for the feature usage. Available only for overage price behavior

*/ @@ -715,6 +730,8 @@ public static final class Builder private Optional softLimit = Optional.empty(); + private Optional quarterlyUsageBasedPrice = Optional.empty(); + private Optional priceBehavior = Optional.empty(); private Optional planEntitlement = Optional.empty(); @@ -807,6 +824,7 @@ public Builder from(FeatureUsageResponseData other) { plan(other.getPlan()); planEntitlement(other.getPlanEntitlement()); priceBehavior(other.getPriceBehavior()); + quarterlyUsageBasedPrice(other.getQuarterlyUsageBasedPrice()); softLimit(other.getSoftLimit()); usage(other.getUsage()); yearlyUsageBasedPrice(other.getYearlyUsageBasedPrice()); @@ -904,6 +922,19 @@ public _FinalStage softLimit(Optional softLimit) { return this; } + @java.lang.Override + public _FinalStage quarterlyUsageBasedPrice(BillingPriceView quarterlyUsageBasedPrice) { + this.quarterlyUsageBasedPrice = Optional.ofNullable(quarterlyUsageBasedPrice); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_usage_based_price", nulls = Nulls.SKIP) + public _FinalStage quarterlyUsageBasedPrice(Optional quarterlyUsageBasedPrice) { + this.quarterlyUsageBasedPrice = quarterlyUsageBasedPrice; + return this; + } + @java.lang.Override public _FinalStage priceBehavior(EntitlementPriceBehavior priceBehavior) { this.priceBehavior = Optional.ofNullable(priceBehavior); @@ -1401,6 +1432,7 @@ public FeatureUsageResponseData build() { plan, planEntitlement, priceBehavior, + quarterlyUsageBasedPrice, softLimit, usage, yearlyUsageBasedPrice, diff --git a/src/main/java/com/schematic/api/types/PlanCurrencyPriceRequestBody.java b/src/main/java/com/schematic/api/types/PlanCurrencyPriceRequestBody.java index f0cef05..27eb1b3 100644 --- a/src/main/java/com/schematic/api/types/PlanCurrencyPriceRequestBody.java +++ b/src/main/java/com/schematic/api/types/PlanCurrencyPriceRequestBody.java @@ -27,6 +27,8 @@ public final class PlanCurrencyPriceRequestBody { private final Optional oneTimePrice; + private final Optional quarterlyPrice; + private final Optional yearlyPrice; private final Map additionalProperties; @@ -35,11 +37,13 @@ private PlanCurrencyPriceRequestBody( String currency, Optional monthlyPrice, Optional oneTimePrice, + Optional quarterlyPrice, Optional yearlyPrice, Map additionalProperties) { this.currency = currency; this.monthlyPrice = monthlyPrice; this.oneTimePrice = oneTimePrice; + this.quarterlyPrice = quarterlyPrice; this.yearlyPrice = yearlyPrice; this.additionalProperties = additionalProperties; } @@ -59,6 +63,11 @@ public Optional getOneTimePrice() { return oneTimePrice; } + @JsonProperty("quarterly_price") + public Optional getQuarterlyPrice() { + return quarterlyPrice; + } + @JsonProperty("yearly_price") public Optional getYearlyPrice() { return yearlyPrice; @@ -79,12 +88,13 @@ private boolean equalTo(PlanCurrencyPriceRequestBody other) { return currency.equals(other.currency) && monthlyPrice.equals(other.monthlyPrice) && oneTimePrice.equals(other.oneTimePrice) + && quarterlyPrice.equals(other.quarterlyPrice) && yearlyPrice.equals(other.yearlyPrice); } @java.lang.Override public int hashCode() { - return Objects.hash(this.currency, this.monthlyPrice, this.oneTimePrice, this.yearlyPrice); + return Objects.hash(this.currency, this.monthlyPrice, this.oneTimePrice, this.quarterlyPrice, this.yearlyPrice); } @java.lang.Override @@ -117,6 +127,10 @@ public interface _FinalStage { _FinalStage oneTimePrice(Long oneTimePrice); + _FinalStage quarterlyPrice(Optional quarterlyPrice); + + _FinalStage quarterlyPrice(Long quarterlyPrice); + _FinalStage yearlyPrice(Optional yearlyPrice); _FinalStage yearlyPrice(Long yearlyPrice); @@ -128,6 +142,8 @@ public static final class Builder implements CurrencyStage, _FinalStage { private Optional yearlyPrice = Optional.empty(); + private Optional quarterlyPrice = Optional.empty(); + private Optional oneTimePrice = Optional.empty(); private Optional monthlyPrice = Optional.empty(); @@ -142,6 +158,7 @@ public Builder from(PlanCurrencyPriceRequestBody other) { currency(other.getCurrency()); monthlyPrice(other.getMonthlyPrice()); oneTimePrice(other.getOneTimePrice()); + quarterlyPrice(other.getQuarterlyPrice()); yearlyPrice(other.getYearlyPrice()); return this; } @@ -166,6 +183,19 @@ public _FinalStage yearlyPrice(Optional yearlyPrice) { return this; } + @java.lang.Override + public _FinalStage quarterlyPrice(Long quarterlyPrice) { + this.quarterlyPrice = Optional.ofNullable(quarterlyPrice); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_price", nulls = Nulls.SKIP) + public _FinalStage quarterlyPrice(Optional quarterlyPrice) { + this.quarterlyPrice = quarterlyPrice; + return this; + } + @java.lang.Override public _FinalStage oneTimePrice(Long oneTimePrice) { this.oneTimePrice = Optional.ofNullable(oneTimePrice); @@ -195,7 +225,7 @@ public _FinalStage monthlyPrice(Optional monthlyPrice) { @java.lang.Override public PlanCurrencyPriceRequestBody build() { return new PlanCurrencyPriceRequestBody( - currency, monthlyPrice, oneTimePrice, yearlyPrice, additionalProperties); + currency, monthlyPrice, oneTimePrice, quarterlyPrice, yearlyPrice, additionalProperties); } @java.lang.Override diff --git a/src/main/java/com/schematic/api/types/PlanCurrencyPricesResponseData.java b/src/main/java/com/schematic/api/types/PlanCurrencyPricesResponseData.java index 738d39b..deb65e0 100644 --- a/src/main/java/com/schematic/api/types/PlanCurrencyPricesResponseData.java +++ b/src/main/java/com/schematic/api/types/PlanCurrencyPricesResponseData.java @@ -27,6 +27,8 @@ public final class PlanCurrencyPricesResponseData { private final Optional oneTimePrice; + private final Optional quarterlyPrice; + private final Optional yearlyPrice; private final Map additionalProperties; @@ -35,11 +37,13 @@ private PlanCurrencyPricesResponseData( String currency, Optional monthlyPrice, Optional oneTimePrice, + Optional quarterlyPrice, Optional yearlyPrice, Map additionalProperties) { this.currency = currency; this.monthlyPrice = monthlyPrice; this.oneTimePrice = oneTimePrice; + this.quarterlyPrice = quarterlyPrice; this.yearlyPrice = yearlyPrice; this.additionalProperties = additionalProperties; } @@ -59,6 +63,11 @@ public Optional getOneTimePrice() { return oneTimePrice; } + @JsonProperty("quarterly_price") + public Optional getQuarterlyPrice() { + return quarterlyPrice; + } + @JsonProperty("yearly_price") public Optional getYearlyPrice() { return yearlyPrice; @@ -79,12 +88,13 @@ private boolean equalTo(PlanCurrencyPricesResponseData other) { return currency.equals(other.currency) && monthlyPrice.equals(other.monthlyPrice) && oneTimePrice.equals(other.oneTimePrice) + && quarterlyPrice.equals(other.quarterlyPrice) && yearlyPrice.equals(other.yearlyPrice); } @java.lang.Override public int hashCode() { - return Objects.hash(this.currency, this.monthlyPrice, this.oneTimePrice, this.yearlyPrice); + return Objects.hash(this.currency, this.monthlyPrice, this.oneTimePrice, this.quarterlyPrice, this.yearlyPrice); } @java.lang.Override @@ -117,6 +127,10 @@ public interface _FinalStage { _FinalStage oneTimePrice(BillingPriceResponseData oneTimePrice); + _FinalStage quarterlyPrice(Optional quarterlyPrice); + + _FinalStage quarterlyPrice(BillingPriceResponseData quarterlyPrice); + _FinalStage yearlyPrice(Optional yearlyPrice); _FinalStage yearlyPrice(BillingPriceResponseData yearlyPrice); @@ -128,6 +142,8 @@ public static final class Builder implements CurrencyStage, _FinalStage { private Optional yearlyPrice = Optional.empty(); + private Optional quarterlyPrice = Optional.empty(); + private Optional oneTimePrice = Optional.empty(); private Optional monthlyPrice = Optional.empty(); @@ -142,6 +158,7 @@ public Builder from(PlanCurrencyPricesResponseData other) { currency(other.getCurrency()); monthlyPrice(other.getMonthlyPrice()); oneTimePrice(other.getOneTimePrice()); + quarterlyPrice(other.getQuarterlyPrice()); yearlyPrice(other.getYearlyPrice()); return this; } @@ -166,6 +183,19 @@ public _FinalStage yearlyPrice(Optional yearlyPrice) { return this; } + @java.lang.Override + public _FinalStage quarterlyPrice(BillingPriceResponseData quarterlyPrice) { + this.quarterlyPrice = Optional.ofNullable(quarterlyPrice); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_price", nulls = Nulls.SKIP) + public _FinalStage quarterlyPrice(Optional quarterlyPrice) { + this.quarterlyPrice = quarterlyPrice; + return this; + } + @java.lang.Override public _FinalStage oneTimePrice(BillingPriceResponseData oneTimePrice) { this.oneTimePrice = Optional.ofNullable(oneTimePrice); @@ -195,7 +225,7 @@ public _FinalStage monthlyPrice(Optional monthlyPrice) @java.lang.Override public PlanCurrencyPricesResponseData build() { return new PlanCurrencyPricesResponseData( - currency, monthlyPrice, oneTimePrice, yearlyPrice, additionalProperties); + currency, monthlyPrice, oneTimePrice, quarterlyPrice, yearlyPrice, additionalProperties); } @java.lang.Override diff --git a/src/main/java/com/schematic/api/types/PlanDetailResponseData.java b/src/main/java/com/schematic/api/types/PlanDetailResponseData.java index 82106a7..521f21e 100644 --- a/src/main/java/com/schematic/api/types/PlanDetailResponseData.java +++ b/src/main/java/com/schematic/api/types/PlanDetailResponseData.java @@ -74,6 +74,8 @@ public final class PlanDetailResponseData { private final PlanType planType; + private final Optional quarterlyPrice; + private final Optional trialDays; private final OffsetDateTime updatedAt; @@ -110,6 +112,7 @@ private PlanDetailResponseData( String name, Optional oneTimePrice, PlanType planType, + Optional quarterlyPrice, Optional trialDays, OffsetDateTime updatedAt, List versions, @@ -140,6 +143,7 @@ private PlanDetailResponseData( this.name = name; this.oneTimePrice = oneTimePrice; this.planType = planType; + this.quarterlyPrice = quarterlyPrice; this.trialDays = trialDays; this.updatedAt = updatedAt; this.versions = versions; @@ -272,6 +276,11 @@ public PlanType getPlanType() { return planType; } + @JsonProperty("quarterly_price") + public Optional getQuarterlyPrice() { + return quarterlyPrice; + } + @JsonProperty("trial_days") public Optional getTrialDays() { return trialDays; @@ -329,6 +338,7 @@ private boolean equalTo(PlanDetailResponseData other) { && name.equals(other.name) && oneTimePrice.equals(other.oneTimePrice) && planType.equals(other.planType) + && quarterlyPrice.equals(other.quarterlyPrice) && trialDays.equals(other.trialDays) && updatedAt.equals(other.updatedAt) && versions.equals(other.versions) @@ -363,6 +373,7 @@ public int hashCode() { this.name, this.oneTimePrice, this.planType, + this.quarterlyPrice, this.trialDays, this.updatedAt, this.versions, @@ -495,6 +506,10 @@ public interface _FinalStage { _FinalStage oneTimePrice(BillingPriceResponseData oneTimePrice); + _FinalStage quarterlyPrice(Optional quarterlyPrice); + + _FinalStage quarterlyPrice(BillingPriceResponseData quarterlyPrice); + _FinalStage trialDays(Optional trialDays); _FinalStage trialDays(Long trialDays); @@ -558,6 +573,8 @@ public static final class Builder private Optional trialDays = Optional.empty(); + private Optional quarterlyPrice = Optional.empty(); + private Optional oneTimePrice = Optional.empty(); private Optional monthlyPrice = Optional.empty(); @@ -616,6 +633,7 @@ public Builder from(PlanDetailResponseData other) { name(other.getName()); oneTimePrice(other.getOneTimePrice()); planType(other.getPlanType()); + quarterlyPrice(other.getQuarterlyPrice()); trialDays(other.getTrialDays()); updatedAt(other.getUpdatedAt()); versions(other.getVersions()); @@ -764,6 +782,19 @@ public _FinalStage trialDays(Optional trialDays) { return this; } + @java.lang.Override + public _FinalStage quarterlyPrice(BillingPriceResponseData quarterlyPrice) { + this.quarterlyPrice = Optional.ofNullable(quarterlyPrice); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_price", nulls = Nulls.SKIP) + public _FinalStage quarterlyPrice(Optional quarterlyPrice) { + this.quarterlyPrice = quarterlyPrice; + return this; + } + @java.lang.Override public _FinalStage oneTimePrice(BillingPriceResponseData oneTimePrice) { this.oneTimePrice = Optional.ofNullable(oneTimePrice); @@ -984,6 +1015,7 @@ public PlanDetailResponseData build() { name, oneTimePrice, planType, + quarterlyPrice, trialDays, updatedAt, versions, diff --git a/src/main/java/com/schematic/api/types/PlanEntitlementResponseData.java b/src/main/java/com/schematic/api/types/PlanEntitlementResponseData.java index af38319..71e1921 100644 --- a/src/main/java/com/schematic/api/types/PlanEntitlementResponseData.java +++ b/src/main/java/com/schematic/api/types/PlanEntitlementResponseData.java @@ -44,6 +44,8 @@ public final class PlanEntitlementResponseData { private final Optional meteredMonthlyPrice; + private final Optional meteredQuarterlyPrice; + private final Optional meteredYearlyPrice; private final Optional metricPeriod; @@ -91,6 +93,7 @@ private PlanEntitlementResponseData( String featureId, String id, Optional meteredMonthlyPrice, + Optional meteredQuarterlyPrice, Optional meteredYearlyPrice, Optional metricPeriod, Optional metricPeriodMonthReset, @@ -119,6 +122,7 @@ private PlanEntitlementResponseData( this.featureId = featureId; this.id = id; this.meteredMonthlyPrice = meteredMonthlyPrice; + this.meteredQuarterlyPrice = meteredQuarterlyPrice; this.meteredYearlyPrice = meteredYearlyPrice; this.metricPeriod = metricPeriod; this.metricPeriodMonthReset = metricPeriodMonthReset; @@ -189,6 +193,11 @@ public Optional getMeteredMonthlyPrice() { return meteredMonthlyPrice; } + @JsonProperty("metered_quarterly_price") + public Optional getMeteredQuarterlyPrice() { + return meteredQuarterlyPrice; + } + @JsonProperty("metered_yearly_price") public Optional getMeteredYearlyPrice() { return meteredYearlyPrice; @@ -296,6 +305,7 @@ private boolean equalTo(PlanEntitlementResponseData other) { && featureId.equals(other.featureId) && id.equals(other.id) && meteredMonthlyPrice.equals(other.meteredMonthlyPrice) + && meteredQuarterlyPrice.equals(other.meteredQuarterlyPrice) && meteredYearlyPrice.equals(other.meteredYearlyPrice) && metricPeriod.equals(other.metricPeriod) && metricPeriodMonthReset.equals(other.metricPeriodMonthReset) @@ -328,6 +338,7 @@ public int hashCode() { this.featureId, this.id, this.meteredMonthlyPrice, + this.meteredQuarterlyPrice, this.meteredYearlyPrice, this.metricPeriod, this.metricPeriodMonthReset, @@ -423,6 +434,10 @@ public interface _FinalStage { _FinalStage meteredMonthlyPrice(BillingPriceView meteredMonthlyPrice); + _FinalStage meteredQuarterlyPrice(Optional meteredQuarterlyPrice); + + _FinalStage meteredQuarterlyPrice(BillingPriceView meteredQuarterlyPrice); + _FinalStage meteredYearlyPrice(Optional meteredYearlyPrice); _FinalStage meteredYearlyPrice(BillingPriceView meteredYearlyPrice); @@ -529,6 +544,8 @@ public static final class Builder private Optional meteredYearlyPrice = Optional.empty(); + private Optional meteredQuarterlyPrice = Optional.empty(); + private Optional meteredMonthlyPrice = Optional.empty(); private Optional feature = Optional.empty(); @@ -558,6 +575,7 @@ public Builder from(PlanEntitlementResponseData other) { featureId(other.getFeatureId()); id(other.getId()); meteredMonthlyPrice(other.getMeteredMonthlyPrice()); + meteredQuarterlyPrice(other.getMeteredQuarterlyPrice()); meteredYearlyPrice(other.getMeteredYearlyPrice()); metricPeriod(other.getMetricPeriod()); metricPeriodMonthReset(other.getMetricPeriodMonthReset()); @@ -803,6 +821,19 @@ public _FinalStage meteredYearlyPrice(Optional meteredYearlyPr return this; } + @java.lang.Override + public _FinalStage meteredQuarterlyPrice(BillingPriceView meteredQuarterlyPrice) { + this.meteredQuarterlyPrice = Optional.ofNullable(meteredQuarterlyPrice); + return this; + } + + @java.lang.Override + @JsonSetter(value = "metered_quarterly_price", nulls = Nulls.SKIP) + public _FinalStage meteredQuarterlyPrice(Optional meteredQuarterlyPrice) { + this.meteredQuarterlyPrice = meteredQuarterlyPrice; + return this; + } + @java.lang.Override public _FinalStage meteredMonthlyPrice(BillingPriceView meteredMonthlyPrice) { this.meteredMonthlyPrice = Optional.ofNullable(meteredMonthlyPrice); @@ -905,6 +936,7 @@ public PlanEntitlementResponseData build() { featureId, id, meteredMonthlyPrice, + meteredQuarterlyPrice, meteredYearlyPrice, metricPeriod, metricPeriodMonthReset, diff --git a/src/main/java/com/schematic/api/types/PlanGroupPlanDetailResponseData.java b/src/main/java/com/schematic/api/types/PlanGroupPlanDetailResponseData.java index be9256b..7fe2f86 100644 --- a/src/main/java/com/schematic/api/types/PlanGroupPlanDetailResponseData.java +++ b/src/main/java/com/schematic/api/types/PlanGroupPlanDetailResponseData.java @@ -82,6 +82,8 @@ public final class PlanGroupPlanDetailResponseData { private final PlanType planType; + private final Optional quarterlyPrice; + private final Optional trialDays; private final OffsetDateTime updatedAt; @@ -122,6 +124,7 @@ private PlanGroupPlanDetailResponseData( String name, Optional oneTimePrice, PlanType planType, + Optional quarterlyPrice, Optional trialDays, OffsetDateTime updatedAt, List versions, @@ -156,6 +159,7 @@ private PlanGroupPlanDetailResponseData( this.name = name; this.oneTimePrice = oneTimePrice; this.planType = planType; + this.quarterlyPrice = quarterlyPrice; this.trialDays = trialDays; this.updatedAt = updatedAt; this.versions = versions; @@ -308,6 +312,11 @@ public PlanType getPlanType() { return planType; } + @JsonProperty("quarterly_price") + public Optional getQuarterlyPrice() { + return quarterlyPrice; + } + @JsonProperty("trial_days") public Optional getTrialDays() { return trialDays; @@ -369,6 +378,7 @@ private boolean equalTo(PlanGroupPlanDetailResponseData other) { && name.equals(other.name) && oneTimePrice.equals(other.oneTimePrice) && planType.equals(other.planType) + && quarterlyPrice.equals(other.quarterlyPrice) && trialDays.equals(other.trialDays) && updatedAt.equals(other.updatedAt) && versions.equals(other.versions) @@ -407,6 +417,7 @@ public int hashCode() { this.name, this.oneTimePrice, this.planType, + this.quarterlyPrice, this.trialDays, this.updatedAt, this.versions, @@ -559,6 +570,10 @@ public interface _FinalStage { _FinalStage oneTimePrice(BillingPriceResponseData oneTimePrice); + _FinalStage quarterlyPrice(Optional quarterlyPrice); + + _FinalStage quarterlyPrice(BillingPriceResponseData quarterlyPrice); + _FinalStage trialDays(Optional trialDays); _FinalStage trialDays(Long trialDays); @@ -625,6 +640,8 @@ public static final class Builder private Optional trialDays = Optional.empty(); + private Optional quarterlyPrice = Optional.empty(); + private Optional oneTimePrice = Optional.empty(); private Optional monthlyPrice = Optional.empty(); @@ -693,6 +710,7 @@ public Builder from(PlanGroupPlanDetailResponseData other) { name(other.getName()); oneTimePrice(other.getOneTimePrice()); planType(other.getPlanType()); + quarterlyPrice(other.getQuarterlyPrice()); trialDays(other.getTrialDays()); updatedAt(other.getUpdatedAt()); versions(other.getVersions()); @@ -848,6 +866,19 @@ public _FinalStage trialDays(Optional trialDays) { return this; } + @java.lang.Override + public _FinalStage quarterlyPrice(BillingPriceResponseData quarterlyPrice) { + this.quarterlyPrice = Optional.ofNullable(quarterlyPrice); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_price", nulls = Nulls.SKIP) + public _FinalStage quarterlyPrice(Optional quarterlyPrice) { + this.quarterlyPrice = quarterlyPrice; + return this; + } + @java.lang.Override public _FinalStage oneTimePrice(BillingPriceResponseData oneTimePrice) { this.oneTimePrice = Optional.ofNullable(oneTimePrice); @@ -1133,6 +1164,7 @@ public PlanGroupPlanDetailResponseData build() { name, oneTimePrice, planType, + quarterlyPrice, trialDays, updatedAt, versions, diff --git a/src/main/java/com/schematic/api/types/PlanViewPublicResponseData.java b/src/main/java/com/schematic/api/types/PlanViewPublicResponseData.java index 21ffa76..c7d78a8 100644 --- a/src/main/java/com/schematic/api/types/PlanViewPublicResponseData.java +++ b/src/main/java/com/schematic/api/types/PlanViewPublicResponseData.java @@ -84,6 +84,8 @@ public final class PlanViewPublicResponseData { private final PlanType planType; + private final Optional quarterlyPrice; + private final Optional trialDays; private final OffsetDateTime updatedAt; @@ -125,6 +127,7 @@ private PlanViewPublicResponseData( String name, Optional oneTimePrice, PlanType planType, + Optional quarterlyPrice, Optional trialDays, OffsetDateTime updatedAt, List versions, @@ -160,6 +163,7 @@ private PlanViewPublicResponseData( this.name = name; this.oneTimePrice = oneTimePrice; this.planType = planType; + this.quarterlyPrice = quarterlyPrice; this.trialDays = trialDays; this.updatedAt = updatedAt; this.versions = versions; @@ -317,6 +321,11 @@ public PlanType getPlanType() { return planType; } + @JsonProperty("quarterly_price") + public Optional getQuarterlyPrice() { + return quarterlyPrice; + } + @JsonProperty("trial_days") public Optional getTrialDays() { return trialDays; @@ -379,6 +388,7 @@ private boolean equalTo(PlanViewPublicResponseData other) { && name.equals(other.name) && oneTimePrice.equals(other.oneTimePrice) && planType.equals(other.planType) + && quarterlyPrice.equals(other.quarterlyPrice) && trialDays.equals(other.trialDays) && updatedAt.equals(other.updatedAt) && versions.equals(other.versions) @@ -418,6 +428,7 @@ public int hashCode() { this.name, this.oneTimePrice, this.planType, + this.quarterlyPrice, this.trialDays, this.updatedAt, this.versions, @@ -576,6 +587,10 @@ public interface _FinalStage { _FinalStage oneTimePrice(BillingPriceResponseData oneTimePrice); + _FinalStage quarterlyPrice(Optional quarterlyPrice); + + _FinalStage quarterlyPrice(BillingPriceResponseData quarterlyPrice); + _FinalStage trialDays(Optional trialDays); _FinalStage trialDays(Long trialDays); @@ -645,6 +660,8 @@ public static final class Builder private Optional trialDays = Optional.empty(); + private Optional quarterlyPrice = Optional.empty(); + private Optional oneTimePrice = Optional.empty(); private Optional monthlyPrice = Optional.empty(); @@ -714,6 +731,7 @@ public Builder from(PlanViewPublicResponseData other) { name(other.getName()); oneTimePrice(other.getOneTimePrice()); planType(other.getPlanType()); + quarterlyPrice(other.getQuarterlyPrice()); trialDays(other.getTrialDays()); updatedAt(other.getUpdatedAt()); versions(other.getVersions()); @@ -876,6 +894,19 @@ public _FinalStage trialDays(Optional trialDays) { return this; } + @java.lang.Override + public _FinalStage quarterlyPrice(BillingPriceResponseData quarterlyPrice) { + this.quarterlyPrice = Optional.ofNullable(quarterlyPrice); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_price", nulls = Nulls.SKIP) + public _FinalStage quarterlyPrice(Optional quarterlyPrice) { + this.quarterlyPrice = quarterlyPrice; + return this; + } + @java.lang.Override public _FinalStage oneTimePrice(BillingPriceResponseData oneTimePrice) { this.oneTimePrice = Optional.ofNullable(oneTimePrice); @@ -1172,6 +1203,7 @@ public PlanViewPublicResponseData build() { name, oneTimePrice, planType, + quarterlyPrice, trialDays, updatedAt, versions, diff --git a/src/main/java/com/schematic/api/types/UpsertBillingProductRequestBody.java b/src/main/java/com/schematic/api/types/UpsertBillingProductRequestBody.java index 6578980..0fa6cbb 100644 --- a/src/main/java/com/schematic/api/types/UpsertBillingProductRequestBody.java +++ b/src/main/java/com/schematic/api/types/UpsertBillingProductRequestBody.java @@ -40,6 +40,10 @@ public final class UpsertBillingProductRequestBody { private final Optional oneTimePriceId; + private final Optional quarterlyPrice; + + private final Optional quarterlyPriceId; + private final Optional trialDays; private final Optional yearlyPrice; @@ -58,6 +62,8 @@ private UpsertBillingProductRequestBody( Optional monthlyPriceId, Optional oneTimePrice, Optional oneTimePriceId, + Optional quarterlyPrice, + Optional quarterlyPriceId, Optional trialDays, Optional yearlyPrice, Optional yearlyPriceId, @@ -71,6 +77,8 @@ private UpsertBillingProductRequestBody( this.monthlyPriceId = monthlyPriceId; this.oneTimePrice = oneTimePrice; this.oneTimePriceId = oneTimePriceId; + this.quarterlyPrice = quarterlyPrice; + this.quarterlyPriceId = quarterlyPriceId; this.trialDays = trialDays; this.yearlyPrice = yearlyPrice; this.yearlyPriceId = yearlyPriceId; @@ -122,6 +130,16 @@ public Optional getOneTimePriceId() { return oneTimePriceId; } + @JsonProperty("quarterly_price") + public Optional getQuarterlyPrice() { + return quarterlyPrice; + } + + @JsonProperty("quarterly_price_id") + public Optional getQuarterlyPriceId() { + return quarterlyPriceId; + } + @JsonProperty("trial_days") public Optional getTrialDays() { return trialDays; @@ -158,6 +176,8 @@ private boolean equalTo(UpsertBillingProductRequestBody other) { && monthlyPriceId.equals(other.monthlyPriceId) && oneTimePrice.equals(other.oneTimePrice) && oneTimePriceId.equals(other.oneTimePriceId) + && quarterlyPrice.equals(other.quarterlyPrice) + && quarterlyPriceId.equals(other.quarterlyPriceId) && trialDays.equals(other.trialDays) && yearlyPrice.equals(other.yearlyPrice) && yearlyPriceId.equals(other.yearlyPriceId); @@ -175,6 +195,8 @@ public int hashCode() { this.monthlyPriceId, this.oneTimePrice, this.oneTimePriceId, + this.quarterlyPrice, + this.quarterlyPriceId, this.trialDays, this.yearlyPrice, this.yearlyPriceId); @@ -234,6 +256,14 @@ public interface _FinalStage { _FinalStage oneTimePriceId(String oneTimePriceId); + _FinalStage quarterlyPrice(Optional quarterlyPrice); + + _FinalStage quarterlyPrice(Long quarterlyPrice); + + _FinalStage quarterlyPriceId(Optional quarterlyPriceId); + + _FinalStage quarterlyPriceId(String quarterlyPriceId); + _FinalStage trialDays(Optional trialDays); _FinalStage trialDays(Long trialDays); @@ -259,6 +289,10 @@ public static final class Builder implements ChargeTypeStage, IsTrialableStage, private Optional trialDays = Optional.empty(); + private Optional quarterlyPriceId = Optional.empty(); + + private Optional quarterlyPrice = Optional.empty(); + private Optional oneTimePriceId = Optional.empty(); private Optional oneTimePrice = Optional.empty(); @@ -289,6 +323,8 @@ public Builder from(UpsertBillingProductRequestBody other) { monthlyPriceId(other.getMonthlyPriceId()); oneTimePrice(other.getOneTimePrice()); oneTimePriceId(other.getOneTimePriceId()); + quarterlyPrice(other.getQuarterlyPrice()); + quarterlyPriceId(other.getQuarterlyPriceId()); trialDays(other.getTrialDays()); yearlyPrice(other.getYearlyPrice()); yearlyPriceId(other.getYearlyPriceId()); @@ -348,6 +384,32 @@ public _FinalStage trialDays(Optional trialDays) { return this; } + @java.lang.Override + public _FinalStage quarterlyPriceId(String quarterlyPriceId) { + this.quarterlyPriceId = Optional.ofNullable(quarterlyPriceId); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_price_id", nulls = Nulls.SKIP) + public _FinalStage quarterlyPriceId(Optional quarterlyPriceId) { + this.quarterlyPriceId = quarterlyPriceId; + return this; + } + + @java.lang.Override + public _FinalStage quarterlyPrice(Long quarterlyPrice) { + this.quarterlyPrice = Optional.ofNullable(quarterlyPrice); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_price", nulls = Nulls.SKIP) + public _FinalStage quarterlyPrice(Optional quarterlyPrice) { + this.quarterlyPrice = quarterlyPrice; + return this; + } + @java.lang.Override public _FinalStage oneTimePriceId(String oneTimePriceId) { this.oneTimePriceId = Optional.ofNullable(oneTimePriceId); @@ -451,6 +513,8 @@ public UpsertBillingProductRequestBody build() { monthlyPriceId, oneTimePrice, oneTimePriceId, + quarterlyPrice, + quarterlyPriceId, trialDays, yearlyPrice, yearlyPriceId, diff --git a/src/main/java/com/schematic/api/types/UsageBasedEntitlementRequestBody.java b/src/main/java/com/schematic/api/types/UsageBasedEntitlementRequestBody.java index 1f1255b..e3d29f4 100644 --- a/src/main/java/com/schematic/api/types/UsageBasedEntitlementRequestBody.java +++ b/src/main/java/com/schematic/api/types/UsageBasedEntitlementRequestBody.java @@ -43,6 +43,14 @@ public final class UsageBasedEntitlementRequestBody { private final Optional> priceTiers; + private final Optional quarterlyMeteredPriceId; + + private final Optional> quarterlyPriceTiers; + + private final Optional quarterlyUnitPrice; + + private final Optional quarterlyUnitPriceDecimal; + private final Optional softLimit; private final Optional tierMode; @@ -69,6 +77,10 @@ private UsageBasedEntitlementRequestBody( Optional overageBillingProductId, Optional priceBehavior, Optional> priceTiers, + Optional quarterlyMeteredPriceId, + Optional> quarterlyPriceTiers, + Optional quarterlyUnitPrice, + Optional quarterlyUnitPriceDecimal, Optional softLimit, Optional tierMode, Optional yearlyMeteredPriceId, @@ -87,6 +99,10 @@ private UsageBasedEntitlementRequestBody( this.overageBillingProductId = overageBillingProductId; this.priceBehavior = priceBehavior; this.priceTiers = priceTiers; + this.quarterlyMeteredPriceId = quarterlyMeteredPriceId; + this.quarterlyPriceTiers = quarterlyPriceTiers; + this.quarterlyUnitPrice = quarterlyUnitPrice; + this.quarterlyUnitPriceDecimal = quarterlyUnitPriceDecimal; this.softLimit = softLimit; this.tierMode = tierMode; this.yearlyMeteredPriceId = yearlyMeteredPriceId; @@ -154,6 +170,26 @@ public Optional> getPriceTiers() { return priceTiers; } + @JsonProperty("quarterly_metered_price_id") + public Optional getQuarterlyMeteredPriceId() { + return quarterlyMeteredPriceId; + } + + @JsonProperty("quarterly_price_tiers") + public Optional> getQuarterlyPriceTiers() { + return quarterlyPriceTiers; + } + + @JsonProperty("quarterly_unit_price") + public Optional getQuarterlyUnitPrice() { + return quarterlyUnitPrice; + } + + @JsonProperty("quarterly_unit_price_decimal") + public Optional getQuarterlyUnitPriceDecimal() { + return quarterlyUnitPriceDecimal; + } + @JsonProperty("soft_limit") public Optional getSoftLimit() { return softLimit; @@ -207,6 +243,10 @@ private boolean equalTo(UsageBasedEntitlementRequestBody other) { && overageBillingProductId.equals(other.overageBillingProductId) && priceBehavior.equals(other.priceBehavior) && priceTiers.equals(other.priceTiers) + && quarterlyMeteredPriceId.equals(other.quarterlyMeteredPriceId) + && quarterlyPriceTiers.equals(other.quarterlyPriceTiers) + && quarterlyUnitPrice.equals(other.quarterlyUnitPrice) + && quarterlyUnitPriceDecimal.equals(other.quarterlyUnitPriceDecimal) && softLimit.equals(other.softLimit) && tierMode.equals(other.tierMode) && yearlyMeteredPriceId.equals(other.yearlyMeteredPriceId) @@ -229,6 +269,10 @@ public int hashCode() { this.overageBillingProductId, this.priceBehavior, this.priceTiers, + this.quarterlyMeteredPriceId, + this.quarterlyPriceTiers, + this.quarterlyUnitPrice, + this.quarterlyUnitPriceDecimal, this.softLimit, this.tierMode, this.yearlyMeteredPriceId, @@ -270,6 +314,14 @@ public static final class Builder { private Optional> priceTiers = Optional.empty(); + private Optional quarterlyMeteredPriceId = Optional.empty(); + + private Optional> quarterlyPriceTiers = Optional.empty(); + + private Optional quarterlyUnitPrice = Optional.empty(); + + private Optional quarterlyUnitPriceDecimal = Optional.empty(); + private Optional softLimit = Optional.empty(); private Optional tierMode = Optional.empty(); @@ -299,6 +351,10 @@ public Builder from(UsageBasedEntitlementRequestBody other) { overageBillingProductId(other.getOverageBillingProductId()); priceBehavior(other.getPriceBehavior()); priceTiers(other.getPriceTiers()); + quarterlyMeteredPriceId(other.getQuarterlyMeteredPriceId()); + quarterlyPriceTiers(other.getQuarterlyPriceTiers()); + quarterlyUnitPrice(other.getQuarterlyUnitPrice()); + quarterlyUnitPriceDecimal(other.getQuarterlyUnitPriceDecimal()); softLimit(other.getSoftLimit()); tierMode(other.getTierMode()); yearlyMeteredPriceId(other.getYearlyMeteredPriceId()); @@ -432,6 +488,50 @@ public Builder priceTiers(List priceTiers) { return this; } + @JsonSetter(value = "quarterly_metered_price_id", nulls = Nulls.SKIP) + public Builder quarterlyMeteredPriceId(Optional quarterlyMeteredPriceId) { + this.quarterlyMeteredPriceId = quarterlyMeteredPriceId; + return this; + } + + public Builder quarterlyMeteredPriceId(String quarterlyMeteredPriceId) { + this.quarterlyMeteredPriceId = Optional.ofNullable(quarterlyMeteredPriceId); + return this; + } + + @JsonSetter(value = "quarterly_price_tiers", nulls = Nulls.SKIP) + public Builder quarterlyPriceTiers(Optional> quarterlyPriceTiers) { + this.quarterlyPriceTiers = quarterlyPriceTiers; + return this; + } + + public Builder quarterlyPriceTiers(List quarterlyPriceTiers) { + this.quarterlyPriceTiers = Optional.ofNullable(quarterlyPriceTiers); + return this; + } + + @JsonSetter(value = "quarterly_unit_price", nulls = Nulls.SKIP) + public Builder quarterlyUnitPrice(Optional quarterlyUnitPrice) { + this.quarterlyUnitPrice = quarterlyUnitPrice; + return this; + } + + public Builder quarterlyUnitPrice(Long quarterlyUnitPrice) { + this.quarterlyUnitPrice = Optional.ofNullable(quarterlyUnitPrice); + return this; + } + + @JsonSetter(value = "quarterly_unit_price_decimal", nulls = Nulls.SKIP) + public Builder quarterlyUnitPriceDecimal(Optional quarterlyUnitPriceDecimal) { + this.quarterlyUnitPriceDecimal = quarterlyUnitPriceDecimal; + return this; + } + + public Builder quarterlyUnitPriceDecimal(String quarterlyUnitPriceDecimal) { + this.quarterlyUnitPriceDecimal = Optional.ofNullable(quarterlyUnitPriceDecimal); + return this; + } + @JsonSetter(value = "soft_limit", nulls = Nulls.SKIP) public Builder softLimit(Optional softLimit) { this.softLimit = softLimit; @@ -511,6 +611,10 @@ public UsageBasedEntitlementRequestBody build() { overageBillingProductId, priceBehavior, priceTiers, + quarterlyMeteredPriceId, + quarterlyPriceTiers, + quarterlyUnitPrice, + quarterlyUnitPriceDecimal, softLimit, tierMode, yearlyMeteredPriceId, diff --git a/src/main/java/com/schematic/api/types/UsageBasedEntitlementResponseData.java b/src/main/java/com/schematic/api/types/UsageBasedEntitlementResponseData.java index 07cc4c0..6c3b134 100644 --- a/src/main/java/com/schematic/api/types/UsageBasedEntitlementResponseData.java +++ b/src/main/java/com/schematic/api/types/UsageBasedEntitlementResponseData.java @@ -37,6 +37,8 @@ public final class UsageBasedEntitlementResponseData { private final Optional priceBehavior; + private final Optional quarterlyUsageBasedPrice; + private final Optional valueBool; private final Optional valueNumeric; @@ -56,6 +58,7 @@ private UsageBasedEntitlementResponseData( Optional metricPeriodMonthReset, Optional monthlyUsageBasedPrice, Optional priceBehavior, + Optional quarterlyUsageBasedPrice, Optional valueBool, Optional valueNumeric, EntitlementValueType valueType, @@ -69,6 +72,7 @@ private UsageBasedEntitlementResponseData( this.metricPeriodMonthReset = metricPeriodMonthReset; this.monthlyUsageBasedPrice = monthlyUsageBasedPrice; this.priceBehavior = priceBehavior; + this.quarterlyUsageBasedPrice = quarterlyUsageBasedPrice; this.valueBool = valueBool; this.valueNumeric = valueNumeric; this.valueType = valueType; @@ -116,6 +120,11 @@ public Optional getPriceBehavior() { return priceBehavior; } + @JsonProperty("quarterly_usage_based_price") + public Optional getQuarterlyUsageBasedPrice() { + return quarterlyUsageBasedPrice; + } + @JsonProperty("value_bool") public Optional getValueBool() { return valueBool; @@ -156,6 +165,7 @@ private boolean equalTo(UsageBasedEntitlementResponseData other) { && metricPeriodMonthReset.equals(other.metricPeriodMonthReset) && monthlyUsageBasedPrice.equals(other.monthlyUsageBasedPrice) && priceBehavior.equals(other.priceBehavior) + && quarterlyUsageBasedPrice.equals(other.quarterlyUsageBasedPrice) && valueBool.equals(other.valueBool) && valueNumeric.equals(other.valueNumeric) && valueType.equals(other.valueType) @@ -173,6 +183,7 @@ public int hashCode() { this.metricPeriodMonthReset, this.monthlyUsageBasedPrice, this.priceBehavior, + this.quarterlyUsageBasedPrice, this.valueBool, this.valueNumeric, this.valueType, @@ -233,6 +244,10 @@ public interface _FinalStage { _FinalStage priceBehavior(EntitlementPriceBehavior priceBehavior); + _FinalStage quarterlyUsageBasedPrice(Optional quarterlyUsageBasedPrice); + + _FinalStage quarterlyUsageBasedPrice(BillingPriceView quarterlyUsageBasedPrice); + _FinalStage valueBool(Optional valueBool); _FinalStage valueBool(Boolean valueBool); @@ -258,6 +273,8 @@ public static final class Builder implements FeatureIdStage, ValueTypeStage, _Fi private Optional valueBool = Optional.empty(); + private Optional quarterlyUsageBasedPrice = Optional.empty(); + private Optional priceBehavior = Optional.empty(); private Optional monthlyUsageBasedPrice = Optional.empty(); @@ -287,6 +304,7 @@ public Builder from(UsageBasedEntitlementResponseData other) { metricPeriodMonthReset(other.getMetricPeriodMonthReset()); monthlyUsageBasedPrice(other.getMonthlyUsageBasedPrice()); priceBehavior(other.getPriceBehavior()); + quarterlyUsageBasedPrice(other.getQuarterlyUsageBasedPrice()); valueBool(other.getValueBool()); valueNumeric(other.getValueNumeric()); valueType(other.getValueType()); @@ -347,6 +365,19 @@ public _FinalStage valueBool(Optional valueBool) { return this; } + @java.lang.Override + public _FinalStage quarterlyUsageBasedPrice(BillingPriceView quarterlyUsageBasedPrice) { + this.quarterlyUsageBasedPrice = Optional.ofNullable(quarterlyUsageBasedPrice); + return this; + } + + @java.lang.Override + @JsonSetter(value = "quarterly_usage_based_price", nulls = Nulls.SKIP) + public _FinalStage quarterlyUsageBasedPrice(Optional quarterlyUsageBasedPrice) { + this.quarterlyUsageBasedPrice = quarterlyUsageBasedPrice; + return this; + } + @java.lang.Override public _FinalStage priceBehavior(EntitlementPriceBehavior priceBehavior) { this.priceBehavior = Optional.ofNullable(priceBehavior); @@ -449,6 +480,7 @@ public UsageBasedEntitlementResponseData build() { metricPeriodMonthReset, monthlyUsageBasedPrice, priceBehavior, + quarterlyUsageBasedPrice, valueBool, valueNumeric, valueType,