diff --git a/modules/rulesets/pom.xml b/modules/rulesets/pom.xml
new file mode 100644
index 000000000..857369792
--- /dev/null
+++ b/modules/rulesets/pom.xml
@@ -0,0 +1,67 @@
+
+ 4.0.0
+
+
+
+ networking
+ com.ibm.cloud
+ 99-SNAPSHOT
+ ../..
+
+
+
+ rulesets
+
+
+ Cloud Internet Services rulesets
+ jar
+
+
+
+ com.ibm.cloud
+ sdk-core
+
+
+
+ networking-common
+ ${project.groupId}
+
+
+ networking-common
+ ${project.groupId}
+ test-jar
+ tests
+ test
+
+
+ org.testng
+ testng
+ test
+
+
+ com.squareup.okhttp3
+ mockwebserver
+ test
+
+
+ org.powermock
+ powermock-api-mockito2
+ test
+
+
+ org.powermock
+ powermock-module-testng
+ test
+
+
+
+
+
+ IBM Cloud DevX SDK Development
+ devxsdk@us.ibm.com
+ https://www.ibm.com/
+
+
+
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/Rulesets.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/Rulesets.java
new file mode 100644
index 000000000..325ab21c7
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/Rulesets.java
@@ -0,0 +1,1127 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+/*
+ * IBM OpenAPI SDK Code Generator Version: 3.107.0-b68ebf7a-20250811-145645
+ */
+
+package com.ibm.cloud.networking.rulesets.v1;
+
+import com.google.gson.JsonObject;
+import com.ibm.cloud.networking.rulesets.v1.model.CreateInstanceRulesetRuleOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.CreateZoneRulesetRuleOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.DeleteInstanceRulesetOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.DeleteInstanceRulesetRuleOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.DeleteInstanceRulesetVersionOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.DeleteZoneRulesetOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.DeleteZoneRulesetRuleOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.DeleteZoneRulesetVersionOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.GetInstanceEntryPointRulesetVersionOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.GetInstanceEntryPointRulesetVersionsOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.GetInstanceEntrypointRulesetOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.GetInstanceRulesetOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.GetInstanceRulesetVersionByTagOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.GetInstanceRulesetVersionOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.GetInstanceRulesetVersionsOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.GetInstanceRulesetsOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.GetZoneEntryPointRulesetVersionOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.GetZoneEntryPointRulesetVersionsOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.GetZoneEntrypointRulesetOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.GetZoneRulesetOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.GetZoneRulesetVersionOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.GetZoneRulesetVersionsOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.GetZoneRulesetsOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.ListRulesetsResp;
+import com.ibm.cloud.networking.rulesets.v1.model.RuleResp;
+import com.ibm.cloud.networking.rulesets.v1.model.RulesetResp;
+import com.ibm.cloud.networking.rulesets.v1.model.UpdateInstanceEntrypointRulesetOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.UpdateInstanceRulesetOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.UpdateInstanceRulesetRuleOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.UpdateZoneEntrypointRulesetOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.UpdateZoneRulesetOptions;
+import com.ibm.cloud.networking.rulesets.v1.model.UpdateZoneRulesetRuleOptions;
+import com.ibm.cloud.networking.common.SdkCommon;
+import com.ibm.cloud.sdk.core.http.RequestBuilder;
+import com.ibm.cloud.sdk.core.http.ResponseConverter;
+import com.ibm.cloud.sdk.core.http.ServiceCall;
+import com.ibm.cloud.sdk.core.security.Authenticator;
+import com.ibm.cloud.sdk.core.security.ConfigBasedAuthenticatorFactory;
+import com.ibm.cloud.sdk.core.service.BaseService;
+import com.ibm.cloud.sdk.core.util.ResponseConverterUtils;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+
+/**
+ * Rulesets Engine.
+ *
+ * API Version: 1.0.1
+ */
+public class Rulesets extends BaseService {
+
+ /**
+ * Default service name used when configuring the `Rulesets` client.
+ */
+ public static final String DEFAULT_SERVICE_NAME = "rulesets";
+
+ /**
+ * Default service endpoint URL.
+ */
+ public static final String DEFAULT_SERVICE_URL = "https://api.cis.cloud.ibm.com";
+
+ private String crn;
+
+ private String zoneIdentifier;
+
+ /**
+ * Class method which constructs an instance of the `Rulesets` client.
+ * The default service name is used to configure the client instance.
+ *
+ * @param crn Full url-encoded CRN of the service instance.
+ * @param zoneIdentifier zone identifier.
+ * @return an instance of the `Rulesets` client using external configuration
+ */
+ public static Rulesets newInstance(String crn, String zoneIdentifier) {
+ return newInstance(crn, zoneIdentifier, DEFAULT_SERVICE_NAME);
+ }
+
+ /**
+ * Class method which constructs an instance of the `Rulesets` client.
+ * The specified service name is used to configure the client instance.
+ *
+ * @param crn Full url-encoded CRN of the service instance.
+ * @param zoneIdentifier zone identifier.
+ * @param serviceName the service name to be used when configuring the client instance
+ * @return an instance of the `Rulesets` client using external configuration
+ */
+ public static Rulesets newInstance(String crn, String zoneIdentifier, String serviceName) {
+ Authenticator authenticator = ConfigBasedAuthenticatorFactory.getAuthenticator(serviceName);
+ Rulesets service = new Rulesets(crn, zoneIdentifier, serviceName, authenticator);
+ service.configureService(serviceName);
+ return service;
+ }
+
+ /**
+ * Constructs an instance of the `Rulesets` client.
+ * The specified service name and authenticator are used to configure the client instance.
+ *
+ * @param crn Full url-encoded CRN of the service instance.
+ * @param zoneIdentifier zone identifier.
+ * @param serviceName the service name to be used when configuring the client instance
+ * @param authenticator the {@link Authenticator} instance to be configured for this client
+ */
+ public Rulesets(String crn, String zoneIdentifier, String serviceName, Authenticator authenticator) {
+ super(serviceName, authenticator);
+ setServiceUrl(DEFAULT_SERVICE_URL);
+ setCrn(crn);
+ setZoneIdentifier(zoneIdentifier);
+ }
+
+ /**
+ * Gets the crn.
+ *
+ * Full url-encoded CRN of the service instance.
+ *
+ * @return the crn
+ */
+ public String getCrn() {
+ return this.crn;
+ }
+
+ /**
+ * Sets the crn.
+ *
+ * @param crn the new crn
+ */
+ public void setCrn(final String crn) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(crn, "crn cannot be empty.");
+ this.crn = crn;
+ }
+
+ /**
+ * Gets the zoneIdentifier.
+ *
+ * zone identifier.
+ *
+ * @return the zoneIdentifier
+ */
+ public String getZoneIdentifier() {
+ return this.zoneIdentifier;
+ }
+
+ /**
+ * Sets the zoneIdentifier.
+ *
+ * @param zoneIdentifier the new zoneIdentifier
+ */
+ public void setZoneIdentifier(final String zoneIdentifier) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(zoneIdentifier, "zoneIdentifier cannot be empty.");
+ this.zoneIdentifier = zoneIdentifier;
+ }
+
+ /**
+ * List Instance rulesets.
+ *
+ * List all rulesets at the instance level.
+ *
+ * @param getInstanceRulesetsOptions the {@link GetInstanceRulesetsOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ListRulesetsResp}
+ */
+ public ServiceCall getInstanceRulesets(GetInstanceRulesetsOptions getInstanceRulesetsOptions) {
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/rulesets", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "getInstanceRulesets");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * List Instance rulesets.
+ *
+ * List all rulesets at the instance level.
+ *
+ * @return a {@link ServiceCall} with a result of type {@link ListRulesetsResp}
+ */
+ public ServiceCall getInstanceRulesets() {
+ return getInstanceRulesets(null);
+ }
+
+ /**
+ * Get an instance ruleset.
+ *
+ * View a specific instance ruleset.
+ *
+ * @param getInstanceRulesetOptions the {@link GetInstanceRulesetOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RulesetResp}
+ */
+ public ServiceCall getInstanceRuleset(GetInstanceRulesetOptions getInstanceRulesetOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(getInstanceRulesetOptions,
+ "getInstanceRulesetOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("ruleset_id", getInstanceRulesetOptions.rulesetId());
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/rulesets/{ruleset_id}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "getInstanceRuleset");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Update an instance ruleset.
+ *
+ * Update a specific instance ruleset.
+ *
+ * @param updateInstanceRulesetOptions the {@link UpdateInstanceRulesetOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RulesetResp}
+ */
+ public ServiceCall updateInstanceRuleset(UpdateInstanceRulesetOptions updateInstanceRulesetOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(updateInstanceRulesetOptions,
+ "updateInstanceRulesetOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("ruleset_id", updateInstanceRulesetOptions.rulesetId());
+ RequestBuilder builder = RequestBuilder.put(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/rulesets/{ruleset_id}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "updateInstanceRuleset");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ final JsonObject contentJson = new JsonObject();
+ if (updateInstanceRulesetOptions.description() != null) {
+ contentJson.addProperty("description", updateInstanceRulesetOptions.description());
+ }
+ if (updateInstanceRulesetOptions.kind() != null) {
+ contentJson.addProperty("kind", updateInstanceRulesetOptions.kind());
+ }
+ if (updateInstanceRulesetOptions.name() != null) {
+ contentJson.addProperty("name", updateInstanceRulesetOptions.name());
+ }
+ if (updateInstanceRulesetOptions.phase() != null) {
+ contentJson.addProperty("phase", updateInstanceRulesetOptions.phase());
+ }
+ if (updateInstanceRulesetOptions.rules() != null) {
+ contentJson.add("rules", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateInstanceRulesetOptions.rules()));
+ }
+ builder.bodyJson(contentJson);
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Delete an instance ruleset.
+ *
+ * Delete a specific instance ruleset.
+ *
+ * @param deleteInstanceRulesetOptions the {@link DeleteInstanceRulesetOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a void result
+ */
+ public ServiceCall deleteInstanceRuleset(DeleteInstanceRulesetOptions deleteInstanceRulesetOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(deleteInstanceRulesetOptions,
+ "deleteInstanceRulesetOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("ruleset_id", deleteInstanceRulesetOptions.rulesetId());
+ RequestBuilder builder = RequestBuilder.delete(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/rulesets/{ruleset_id}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "deleteInstanceRuleset");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ ResponseConverter responseConverter = ResponseConverterUtils.getVoid();
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * List version of an instance ruleset.
+ *
+ * List all versions of a specific instance ruleset.
+ *
+ * @param getInstanceRulesetVersionsOptions the {@link GetInstanceRulesetVersionsOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ListRulesetsResp}
+ */
+ public ServiceCall getInstanceRulesetVersions(GetInstanceRulesetVersionsOptions getInstanceRulesetVersionsOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(getInstanceRulesetVersionsOptions,
+ "getInstanceRulesetVersionsOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("ruleset_id", getInstanceRulesetVersionsOptions.rulesetId());
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/rulesets/{ruleset_id}/versions", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "getInstanceRulesetVersions");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Get a specific version of an instance ruleset.
+ *
+ * View a specific version of a specific instance ruleset.
+ *
+ * @param getInstanceRulesetVersionOptions the {@link GetInstanceRulesetVersionOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RulesetResp}
+ */
+ public ServiceCall getInstanceRulesetVersion(GetInstanceRulesetVersionOptions getInstanceRulesetVersionOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(getInstanceRulesetVersionOptions,
+ "getInstanceRulesetVersionOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("ruleset_id", getInstanceRulesetVersionOptions.rulesetId());
+ pathParamsMap.put("ruleset_version", getInstanceRulesetVersionOptions.rulesetVersion());
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/rulesets/{ruleset_id}/versions/{ruleset_version}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "getInstanceRulesetVersion");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Delete a specific version of an instance ruleset.
+ *
+ * Delete a specific version of a specific instance ruleset.
+ *
+ * @param deleteInstanceRulesetVersionOptions the {@link DeleteInstanceRulesetVersionOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a void result
+ */
+ public ServiceCall deleteInstanceRulesetVersion(DeleteInstanceRulesetVersionOptions deleteInstanceRulesetVersionOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(deleteInstanceRulesetVersionOptions,
+ "deleteInstanceRulesetVersionOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("ruleset_id", deleteInstanceRulesetVersionOptions.rulesetId());
+ pathParamsMap.put("ruleset_version", deleteInstanceRulesetVersionOptions.rulesetVersion());
+ RequestBuilder builder = RequestBuilder.delete(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/rulesets/{ruleset_id}/versions/{ruleset_version}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "deleteInstanceRulesetVersion");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ ResponseConverter responseConverter = ResponseConverterUtils.getVoid();
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Get an instance entrypoint ruleset.
+ *
+ * Get the instance ruleset for the given phase's entrypoint.
+ *
+ * @param getInstanceEntrypointRulesetOptions the {@link GetInstanceEntrypointRulesetOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RulesetResp}
+ */
+ public ServiceCall getInstanceEntrypointRuleset(GetInstanceEntrypointRulesetOptions getInstanceEntrypointRulesetOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(getInstanceEntrypointRulesetOptions,
+ "getInstanceEntrypointRulesetOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("ruleset_phase", getInstanceEntrypointRulesetOptions.rulesetPhase());
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/rulesets/phases/{ruleset_phase}/entrypoint", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "getInstanceEntrypointRuleset");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Update an instance entrypoint ruleset.
+ *
+ * Updates the instance ruleset for the given phase's entry point.
+ *
+ * @param updateInstanceEntrypointRulesetOptions the {@link UpdateInstanceEntrypointRulesetOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RulesetResp}
+ */
+ public ServiceCall updateInstanceEntrypointRuleset(UpdateInstanceEntrypointRulesetOptions updateInstanceEntrypointRulesetOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(updateInstanceEntrypointRulesetOptions,
+ "updateInstanceEntrypointRulesetOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("ruleset_phase", updateInstanceEntrypointRulesetOptions.rulesetPhase());
+ RequestBuilder builder = RequestBuilder.put(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/rulesets/phases/{ruleset_phase}/entrypoint", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "updateInstanceEntrypointRuleset");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ final JsonObject contentJson = new JsonObject();
+ if (updateInstanceEntrypointRulesetOptions.description() != null) {
+ contentJson.addProperty("description", updateInstanceEntrypointRulesetOptions.description());
+ }
+ if (updateInstanceEntrypointRulesetOptions.kind() != null) {
+ contentJson.addProperty("kind", updateInstanceEntrypointRulesetOptions.kind());
+ }
+ if (updateInstanceEntrypointRulesetOptions.name() != null) {
+ contentJson.addProperty("name", updateInstanceEntrypointRulesetOptions.name());
+ }
+ if (updateInstanceEntrypointRulesetOptions.phase() != null) {
+ contentJson.addProperty("phase", updateInstanceEntrypointRulesetOptions.phase());
+ }
+ if (updateInstanceEntrypointRulesetOptions.rules() != null) {
+ contentJson.add("rules", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateInstanceEntrypointRulesetOptions.rules()));
+ }
+ builder.bodyJson(contentJson);
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * List an instance entry point ruleset's versions.
+ *
+ * Lists the instance ruleset versions for the given phase's entry point.
+ *
+ * @param getInstanceEntryPointRulesetVersionsOptions the {@link GetInstanceEntryPointRulesetVersionsOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ListRulesetsResp}
+ */
+ public ServiceCall getInstanceEntryPointRulesetVersions(GetInstanceEntryPointRulesetVersionsOptions getInstanceEntryPointRulesetVersionsOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(getInstanceEntryPointRulesetVersionsOptions,
+ "getInstanceEntryPointRulesetVersionsOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("ruleset_phase", getInstanceEntryPointRulesetVersionsOptions.rulesetPhase());
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/rulesets/phases/{ruleset_phase}/entrypoint/versions", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "getInstanceEntryPointRulesetVersions");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Get an instance entry point ruleset version.
+ *
+ * Fetches a specific version of an instance entry point ruleset.
+ *
+ * @param getInstanceEntryPointRulesetVersionOptions the {@link GetInstanceEntryPointRulesetVersionOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RulesetResp}
+ */
+ public ServiceCall getInstanceEntryPointRulesetVersion(GetInstanceEntryPointRulesetVersionOptions getInstanceEntryPointRulesetVersionOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(getInstanceEntryPointRulesetVersionOptions,
+ "getInstanceEntryPointRulesetVersionOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("ruleset_phase", getInstanceEntryPointRulesetVersionOptions.rulesetPhase());
+ pathParamsMap.put("ruleset_version", getInstanceEntryPointRulesetVersionOptions.rulesetVersion());
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/rulesets/phases/{ruleset_phase}/entrypoint/versions/{ruleset_version}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "getInstanceEntryPointRulesetVersion");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Create an instance ruleset rule.
+ *
+ * Create an instance ruleset rule.
+ *
+ * @param createInstanceRulesetRuleOptions the {@link CreateInstanceRulesetRuleOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RulesetResp}
+ */
+ public ServiceCall createInstanceRulesetRule(CreateInstanceRulesetRuleOptions createInstanceRulesetRuleOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(createInstanceRulesetRuleOptions,
+ "createInstanceRulesetRuleOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("ruleset_id", createInstanceRulesetRuleOptions.rulesetId());
+ RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/rulesets/{ruleset_id}/rules", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "createInstanceRulesetRule");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ final JsonObject contentJson = new JsonObject();
+ if (createInstanceRulesetRuleOptions.action() != null) {
+ contentJson.addProperty("action", createInstanceRulesetRuleOptions.action());
+ }
+ if (createInstanceRulesetRuleOptions.actionParameters() != null) {
+ contentJson.add("action_parameters", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createInstanceRulesetRuleOptions.actionParameters()));
+ }
+ if (createInstanceRulesetRuleOptions.ratelimit() != null) {
+ contentJson.add("ratelimit", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createInstanceRulesetRuleOptions.ratelimit()));
+ }
+ if (createInstanceRulesetRuleOptions.description() != null) {
+ contentJson.addProperty("description", createInstanceRulesetRuleOptions.description());
+ }
+ if (createInstanceRulesetRuleOptions.enabled() != null) {
+ contentJson.addProperty("enabled", createInstanceRulesetRuleOptions.enabled());
+ }
+ if (createInstanceRulesetRuleOptions.expression() != null) {
+ contentJson.addProperty("expression", createInstanceRulesetRuleOptions.expression());
+ }
+ if (createInstanceRulesetRuleOptions.id() != null) {
+ contentJson.addProperty("id", createInstanceRulesetRuleOptions.id());
+ }
+ if (createInstanceRulesetRuleOptions.logging() != null) {
+ contentJson.add("logging", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createInstanceRulesetRuleOptions.logging()));
+ }
+ if (createInstanceRulesetRuleOptions.ref() != null) {
+ contentJson.addProperty("ref", createInstanceRulesetRuleOptions.ref());
+ }
+ if (createInstanceRulesetRuleOptions.position() != null) {
+ contentJson.add("position", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createInstanceRulesetRuleOptions.position()));
+ }
+ builder.bodyJson(contentJson);
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Update an instance ruleset rule.
+ *
+ * Update an instance ruleset rule.
+ *
+ * @param updateInstanceRulesetRuleOptions the {@link UpdateInstanceRulesetRuleOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RulesetResp}
+ */
+ public ServiceCall updateInstanceRulesetRule(UpdateInstanceRulesetRuleOptions updateInstanceRulesetRuleOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(updateInstanceRulesetRuleOptions,
+ "updateInstanceRulesetRuleOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("ruleset_id", updateInstanceRulesetRuleOptions.rulesetId());
+ pathParamsMap.put("rule_id", updateInstanceRulesetRuleOptions.ruleId());
+ RequestBuilder builder = RequestBuilder.patch(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/rulesets/{ruleset_id}/rules/{rule_id}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "updateInstanceRulesetRule");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ final JsonObject contentJson = new JsonObject();
+ if (updateInstanceRulesetRuleOptions.action() != null) {
+ contentJson.addProperty("action", updateInstanceRulesetRuleOptions.action());
+ }
+ if (updateInstanceRulesetRuleOptions.actionParameters() != null) {
+ contentJson.add("action_parameters", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateInstanceRulesetRuleOptions.actionParameters()));
+ }
+ if (updateInstanceRulesetRuleOptions.ratelimit() != null) {
+ contentJson.add("ratelimit", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateInstanceRulesetRuleOptions.ratelimit()));
+ }
+ if (updateInstanceRulesetRuleOptions.description() != null) {
+ contentJson.addProperty("description", updateInstanceRulesetRuleOptions.description());
+ }
+ if (updateInstanceRulesetRuleOptions.enabled() != null) {
+ contentJson.addProperty("enabled", updateInstanceRulesetRuleOptions.enabled());
+ }
+ if (updateInstanceRulesetRuleOptions.expression() != null) {
+ contentJson.addProperty("expression", updateInstanceRulesetRuleOptions.expression());
+ }
+ if (updateInstanceRulesetRuleOptions.id() != null) {
+ contentJson.addProperty("id", updateInstanceRulesetRuleOptions.id());
+ }
+ if (updateInstanceRulesetRuleOptions.logging() != null) {
+ contentJson.add("logging", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateInstanceRulesetRuleOptions.logging()));
+ }
+ if (updateInstanceRulesetRuleOptions.ref() != null) {
+ contentJson.addProperty("ref", updateInstanceRulesetRuleOptions.ref());
+ }
+ if (updateInstanceRulesetRuleOptions.position() != null) {
+ contentJson.add("position", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateInstanceRulesetRuleOptions.position()));
+ }
+ builder.bodyJson(contentJson);
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Delete an instance ruleset rule.
+ *
+ * Delete an instance ruleset rule.
+ *
+ * @param deleteInstanceRulesetRuleOptions the {@link DeleteInstanceRulesetRuleOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RuleResp}
+ */
+ public ServiceCall deleteInstanceRulesetRule(DeleteInstanceRulesetRuleOptions deleteInstanceRulesetRuleOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(deleteInstanceRulesetRuleOptions,
+ "deleteInstanceRulesetRuleOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("ruleset_id", deleteInstanceRulesetRuleOptions.rulesetId());
+ pathParamsMap.put("rule_id", deleteInstanceRulesetRuleOptions.ruleId());
+ RequestBuilder builder = RequestBuilder.delete(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/rulesets/{ruleset_id}/rules/{rule_id}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "deleteInstanceRulesetRule");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * List an instance ruleset verion's rules by tag.
+ *
+ * Lists rules by tag for a specific version of an instance ruleset.
+ *
+ * @param getInstanceRulesetVersionByTagOptions the {@link GetInstanceRulesetVersionByTagOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RulesetResp}
+ */
+ public ServiceCall getInstanceRulesetVersionByTag(GetInstanceRulesetVersionByTagOptions getInstanceRulesetVersionByTagOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(getInstanceRulesetVersionByTagOptions,
+ "getInstanceRulesetVersionByTagOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("ruleset_id", getInstanceRulesetVersionByTagOptions.rulesetId());
+ pathParamsMap.put("ruleset_version", getInstanceRulesetVersionByTagOptions.rulesetVersion());
+ pathParamsMap.put("rule_tag", getInstanceRulesetVersionByTagOptions.ruleTag());
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/rulesets/{ruleset_id}/versions/{ruleset_version}/by_tag/{rule_tag}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "getInstanceRulesetVersionByTag");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * List zone rulesets.
+ *
+ * List all rulesets at the zone level.
+ *
+ * @param getZoneRulesetsOptions the {@link GetZoneRulesetsOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ListRulesetsResp}
+ */
+ public ServiceCall getZoneRulesets(GetZoneRulesetsOptions getZoneRulesetsOptions) {
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/rulesets", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "getZoneRulesets");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * List zone rulesets.
+ *
+ * List all rulesets at the zone level.
+ *
+ * @return a {@link ServiceCall} with a result of type {@link ListRulesetsResp}
+ */
+ public ServiceCall getZoneRulesets() {
+ return getZoneRulesets(null);
+ }
+
+ /**
+ * Get a zone ruleset.
+ *
+ * View a specific zone ruleset.
+ *
+ * @param getZoneRulesetOptions the {@link GetZoneRulesetOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RulesetResp}
+ */
+ public ServiceCall getZoneRuleset(GetZoneRulesetOptions getZoneRulesetOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(getZoneRulesetOptions,
+ "getZoneRulesetOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ pathParamsMap.put("ruleset_id", getZoneRulesetOptions.rulesetId());
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/rulesets/{ruleset_id}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "getZoneRuleset");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Update a zone ruleset.
+ *
+ * Update a specific zone ruleset.
+ *
+ * @param updateZoneRulesetOptions the {@link UpdateZoneRulesetOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RulesetResp}
+ */
+ public ServiceCall updateZoneRuleset(UpdateZoneRulesetOptions updateZoneRulesetOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(updateZoneRulesetOptions,
+ "updateZoneRulesetOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ pathParamsMap.put("ruleset_id", updateZoneRulesetOptions.rulesetId());
+ RequestBuilder builder = RequestBuilder.put(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/rulesets/{ruleset_id}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "updateZoneRuleset");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ final JsonObject contentJson = new JsonObject();
+ if (updateZoneRulesetOptions.description() != null) {
+ contentJson.addProperty("description", updateZoneRulesetOptions.description());
+ }
+ if (updateZoneRulesetOptions.kind() != null) {
+ contentJson.addProperty("kind", updateZoneRulesetOptions.kind());
+ }
+ if (updateZoneRulesetOptions.name() != null) {
+ contentJson.addProperty("name", updateZoneRulesetOptions.name());
+ }
+ if (updateZoneRulesetOptions.phase() != null) {
+ contentJson.addProperty("phase", updateZoneRulesetOptions.phase());
+ }
+ if (updateZoneRulesetOptions.rules() != null) {
+ contentJson.add("rules", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateZoneRulesetOptions.rules()));
+ }
+ builder.bodyJson(contentJson);
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Delete a zone ruleset.
+ *
+ * Delete a specific zone ruleset.
+ *
+ * @param deleteZoneRulesetOptions the {@link DeleteZoneRulesetOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a void result
+ */
+ public ServiceCall deleteZoneRuleset(DeleteZoneRulesetOptions deleteZoneRulesetOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(deleteZoneRulesetOptions,
+ "deleteZoneRulesetOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ pathParamsMap.put("ruleset_id", deleteZoneRulesetOptions.rulesetId());
+ RequestBuilder builder = RequestBuilder.delete(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/rulesets/{ruleset_id}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "deleteZoneRuleset");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ ResponseConverter responseConverter = ResponseConverterUtils.getVoid();
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * List version of a zone ruleset.
+ *
+ * List all versions of a specific zone ruleset.
+ *
+ * @param getZoneRulesetVersionsOptions the {@link GetZoneRulesetVersionsOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ListRulesetsResp}
+ */
+ public ServiceCall getZoneRulesetVersions(GetZoneRulesetVersionsOptions getZoneRulesetVersionsOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(getZoneRulesetVersionsOptions,
+ "getZoneRulesetVersionsOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ pathParamsMap.put("ruleset_id", getZoneRulesetVersionsOptions.rulesetId());
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/rulesets/{ruleset_id}/versions", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "getZoneRulesetVersions");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Get a specific version of a zone ruleset.
+ *
+ * View a specific version of a specific zone ruleset.
+ *
+ * @param getZoneRulesetVersionOptions the {@link GetZoneRulesetVersionOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RulesetResp}
+ */
+ public ServiceCall getZoneRulesetVersion(GetZoneRulesetVersionOptions getZoneRulesetVersionOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(getZoneRulesetVersionOptions,
+ "getZoneRulesetVersionOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ pathParamsMap.put("ruleset_id", getZoneRulesetVersionOptions.rulesetId());
+ pathParamsMap.put("ruleset_version", getZoneRulesetVersionOptions.rulesetVersion());
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/rulesets/{ruleset_id}/versions/{ruleset_version}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "getZoneRulesetVersion");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Delete a specific version of a zone ruleset.
+ *
+ * Delete a specific version of a specific zone ruleset.
+ *
+ * @param deleteZoneRulesetVersionOptions the {@link DeleteZoneRulesetVersionOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a void result
+ */
+ public ServiceCall deleteZoneRulesetVersion(DeleteZoneRulesetVersionOptions deleteZoneRulesetVersionOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(deleteZoneRulesetVersionOptions,
+ "deleteZoneRulesetVersionOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ pathParamsMap.put("ruleset_id", deleteZoneRulesetVersionOptions.rulesetId());
+ pathParamsMap.put("ruleset_version", deleteZoneRulesetVersionOptions.rulesetVersion());
+ RequestBuilder builder = RequestBuilder.delete(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/rulesets/{ruleset_id}/versions/{ruleset_version}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "deleteZoneRulesetVersion");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ ResponseConverter responseConverter = ResponseConverterUtils.getVoid();
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Get a zone entrypoint ruleset.
+ *
+ * Get the zone ruleset for the given phase's entrypoint.
+ *
+ * @param getZoneEntrypointRulesetOptions the {@link GetZoneEntrypointRulesetOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RulesetResp}
+ */
+ public ServiceCall getZoneEntrypointRuleset(GetZoneEntrypointRulesetOptions getZoneEntrypointRulesetOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(getZoneEntrypointRulesetOptions,
+ "getZoneEntrypointRulesetOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ pathParamsMap.put("ruleset_phase", getZoneEntrypointRulesetOptions.rulesetPhase());
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/rulesets/phases/{ruleset_phase}/entrypoint", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "getZoneEntrypointRuleset");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Update a zone entrypoint ruleset.
+ *
+ * Updates the instance ruleset for the given phase's entry point.
+ *
+ * @param updateZoneEntrypointRulesetOptions the {@link UpdateZoneEntrypointRulesetOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RulesetResp}
+ */
+ public ServiceCall updateZoneEntrypointRuleset(UpdateZoneEntrypointRulesetOptions updateZoneEntrypointRulesetOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(updateZoneEntrypointRulesetOptions,
+ "updateZoneEntrypointRulesetOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ pathParamsMap.put("ruleset_phase", updateZoneEntrypointRulesetOptions.rulesetPhase());
+ RequestBuilder builder = RequestBuilder.put(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/rulesets/phases/{ruleset_phase}/entrypoint", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "updateZoneEntrypointRuleset");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ final JsonObject contentJson = new JsonObject();
+ if (updateZoneEntrypointRulesetOptions.description() != null) {
+ contentJson.addProperty("description", updateZoneEntrypointRulesetOptions.description());
+ }
+ if (updateZoneEntrypointRulesetOptions.kind() != null) {
+ contentJson.addProperty("kind", updateZoneEntrypointRulesetOptions.kind());
+ }
+ if (updateZoneEntrypointRulesetOptions.name() != null) {
+ contentJson.addProperty("name", updateZoneEntrypointRulesetOptions.name());
+ }
+ if (updateZoneEntrypointRulesetOptions.phase() != null) {
+ contentJson.addProperty("phase", updateZoneEntrypointRulesetOptions.phase());
+ }
+ if (updateZoneEntrypointRulesetOptions.rules() != null) {
+ contentJson.add("rules", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateZoneEntrypointRulesetOptions.rules()));
+ }
+ builder.bodyJson(contentJson);
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * List a zone entry point ruleset's versions.
+ *
+ * Lists the zone ruleset versions for the given phase's entry point.
+ *
+ * @param getZoneEntryPointRulesetVersionsOptions the {@link GetZoneEntryPointRulesetVersionsOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ListRulesetsResp}
+ */
+ public ServiceCall getZoneEntryPointRulesetVersions(GetZoneEntryPointRulesetVersionsOptions getZoneEntryPointRulesetVersionsOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(getZoneEntryPointRulesetVersionsOptions,
+ "getZoneEntryPointRulesetVersionsOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ pathParamsMap.put("ruleset_phase", getZoneEntryPointRulesetVersionsOptions.rulesetPhase());
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/rulesets/phases/{ruleset_phase}/entrypoint/versions", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "getZoneEntryPointRulesetVersions");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Get a zone entry point ruleset version.
+ *
+ * Fetches a specific version of a zone entry point ruleset.
+ *
+ * @param getZoneEntryPointRulesetVersionOptions the {@link GetZoneEntryPointRulesetVersionOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RulesetResp}
+ */
+ public ServiceCall getZoneEntryPointRulesetVersion(GetZoneEntryPointRulesetVersionOptions getZoneEntryPointRulesetVersionOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(getZoneEntryPointRulesetVersionOptions,
+ "getZoneEntryPointRulesetVersionOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ pathParamsMap.put("ruleset_phase", getZoneEntryPointRulesetVersionOptions.rulesetPhase());
+ pathParamsMap.put("ruleset_version", getZoneEntryPointRulesetVersionOptions.rulesetVersion());
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/rulesets/phases/{ruleset_phase}/entrypoint/versions/{ruleset_version}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "getZoneEntryPointRulesetVersion");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Create a zone ruleset rule.
+ *
+ * Create a zone ruleset rule.
+ *
+ * @param createZoneRulesetRuleOptions the {@link CreateZoneRulesetRuleOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RulesetResp}
+ */
+ public ServiceCall createZoneRulesetRule(CreateZoneRulesetRuleOptions createZoneRulesetRuleOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(createZoneRulesetRuleOptions,
+ "createZoneRulesetRuleOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ pathParamsMap.put("ruleset_id", createZoneRulesetRuleOptions.rulesetId());
+ RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/rulesets/{ruleset_id}/rules", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "createZoneRulesetRule");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ final JsonObject contentJson = new JsonObject();
+ if (createZoneRulesetRuleOptions.action() != null) {
+ contentJson.addProperty("action", createZoneRulesetRuleOptions.action());
+ }
+ if (createZoneRulesetRuleOptions.actionParameters() != null) {
+ contentJson.add("action_parameters", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createZoneRulesetRuleOptions.actionParameters()));
+ }
+ if (createZoneRulesetRuleOptions.ratelimit() != null) {
+ contentJson.add("ratelimit", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createZoneRulesetRuleOptions.ratelimit()));
+ }
+ if (createZoneRulesetRuleOptions.description() != null) {
+ contentJson.addProperty("description", createZoneRulesetRuleOptions.description());
+ }
+ if (createZoneRulesetRuleOptions.enabled() != null) {
+ contentJson.addProperty("enabled", createZoneRulesetRuleOptions.enabled());
+ }
+ if (createZoneRulesetRuleOptions.expression() != null) {
+ contentJson.addProperty("expression", createZoneRulesetRuleOptions.expression());
+ }
+ if (createZoneRulesetRuleOptions.id() != null) {
+ contentJson.addProperty("id", createZoneRulesetRuleOptions.id());
+ }
+ if (createZoneRulesetRuleOptions.logging() != null) {
+ contentJson.add("logging", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createZoneRulesetRuleOptions.logging()));
+ }
+ if (createZoneRulesetRuleOptions.ref() != null) {
+ contentJson.addProperty("ref", createZoneRulesetRuleOptions.ref());
+ }
+ if (createZoneRulesetRuleOptions.position() != null) {
+ contentJson.add("position", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createZoneRulesetRuleOptions.position()));
+ }
+ builder.bodyJson(contentJson);
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Update a zone ruleset rule.
+ *
+ * Update a zone ruleset rule.
+ *
+ * @param updateZoneRulesetRuleOptions the {@link UpdateZoneRulesetRuleOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RulesetResp}
+ */
+ public ServiceCall updateZoneRulesetRule(UpdateZoneRulesetRuleOptions updateZoneRulesetRuleOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(updateZoneRulesetRuleOptions,
+ "updateZoneRulesetRuleOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ pathParamsMap.put("ruleset_id", updateZoneRulesetRuleOptions.rulesetId());
+ pathParamsMap.put("rule_id", updateZoneRulesetRuleOptions.ruleId());
+ RequestBuilder builder = RequestBuilder.patch(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/rulesets/{ruleset_id}/rules/{rule_id}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "updateZoneRulesetRule");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ final JsonObject contentJson = new JsonObject();
+ if (updateZoneRulesetRuleOptions.action() != null) {
+ contentJson.addProperty("action", updateZoneRulesetRuleOptions.action());
+ }
+ if (updateZoneRulesetRuleOptions.actionParameters() != null) {
+ contentJson.add("action_parameters", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateZoneRulesetRuleOptions.actionParameters()));
+ }
+ if (updateZoneRulesetRuleOptions.ratelimit() != null) {
+ contentJson.add("ratelimit", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateZoneRulesetRuleOptions.ratelimit()));
+ }
+ if (updateZoneRulesetRuleOptions.description() != null) {
+ contentJson.addProperty("description", updateZoneRulesetRuleOptions.description());
+ }
+ if (updateZoneRulesetRuleOptions.enabled() != null) {
+ contentJson.addProperty("enabled", updateZoneRulesetRuleOptions.enabled());
+ }
+ if (updateZoneRulesetRuleOptions.expression() != null) {
+ contentJson.addProperty("expression", updateZoneRulesetRuleOptions.expression());
+ }
+ if (updateZoneRulesetRuleOptions.id() != null) {
+ contentJson.addProperty("id", updateZoneRulesetRuleOptions.id());
+ }
+ if (updateZoneRulesetRuleOptions.logging() != null) {
+ contentJson.add("logging", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateZoneRulesetRuleOptions.logging()));
+ }
+ if (updateZoneRulesetRuleOptions.ref() != null) {
+ contentJson.addProperty("ref", updateZoneRulesetRuleOptions.ref());
+ }
+ if (updateZoneRulesetRuleOptions.position() != null) {
+ contentJson.add("position", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateZoneRulesetRuleOptions.position()));
+ }
+ builder.bodyJson(contentJson);
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Delete a zone ruleset rule.
+ *
+ * Delete an instance ruleset rule.
+ *
+ * @param deleteZoneRulesetRuleOptions the {@link DeleteZoneRulesetRuleOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link RuleResp}
+ */
+ public ServiceCall deleteZoneRulesetRule(DeleteZoneRulesetRuleOptions deleteZoneRulesetRuleOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(deleteZoneRulesetRuleOptions,
+ "deleteZoneRulesetRuleOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ pathParamsMap.put("ruleset_id", deleteZoneRulesetRuleOptions.rulesetId());
+ pathParamsMap.put("rule_id", deleteZoneRulesetRuleOptions.ruleId());
+ RequestBuilder builder = RequestBuilder.delete(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/rulesets/{ruleset_id}/rules/{rule_id}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("rulesets", "v1", "deleteZoneRulesetRule");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+}
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/ActionParameters.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/ActionParameters.java
new file mode 100644
index 000000000..175bb2eab
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/ActionParameters.java
@@ -0,0 +1,325 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * ActionParameters.
+ */
+public class ActionParameters extends GenericModel {
+
+ protected String id;
+ protected Overrides overrides;
+ protected String version;
+ protected String ruleset;
+ protected List rulesets;
+ protected List phases;
+ protected List products;
+ protected ActionParametersResponse response;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String id;
+ private Overrides overrides;
+ private String version;
+ private String ruleset;
+ private List rulesets;
+ private List phases;
+ private List products;
+ private ActionParametersResponse response;
+
+ /**
+ * Instantiates a new Builder from an existing ActionParameters instance.
+ *
+ * @param actionParameters the instance to initialize the Builder with
+ */
+ private Builder(ActionParameters actionParameters) {
+ this.id = actionParameters.id;
+ this.overrides = actionParameters.overrides;
+ this.version = actionParameters.version;
+ this.ruleset = actionParameters.ruleset;
+ this.rulesets = actionParameters.rulesets;
+ this.phases = actionParameters.phases;
+ this.products = actionParameters.products;
+ this.response = actionParameters.response;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Builds a ActionParameters.
+ *
+ * @return the new ActionParameters instance
+ */
+ public ActionParameters build() {
+ return new ActionParameters(this);
+ }
+
+ /**
+ * Adds a new element to rulesets.
+ *
+ * @param rulesets the new element to be added
+ * @return the ActionParameters builder
+ */
+ public Builder addRulesets(String rulesets) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(rulesets,
+ "rulesets cannot be null");
+ if (this.rulesets == null) {
+ this.rulesets = new ArrayList();
+ }
+ this.rulesets.add(rulesets);
+ return this;
+ }
+
+ /**
+ * Adds a new element to phases.
+ *
+ * @param phases the new element to be added
+ * @return the ActionParameters builder
+ */
+ public Builder addPhases(String phases) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(phases,
+ "phases cannot be null");
+ if (this.phases == null) {
+ this.phases = new ArrayList();
+ }
+ this.phases.add(phases);
+ return this;
+ }
+
+ /**
+ * Adds a new element to products.
+ *
+ * @param products the new element to be added
+ * @return the ActionParameters builder
+ */
+ public Builder addProducts(String products) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(products,
+ "products cannot be null");
+ if (this.products == null) {
+ this.products = new ArrayList();
+ }
+ this.products.add(products);
+ return this;
+ }
+
+ /**
+ * Set the id.
+ *
+ * @param id the id
+ * @return the ActionParameters builder
+ */
+ public Builder id(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Set the overrides.
+ *
+ * @param overrides the overrides
+ * @return the ActionParameters builder
+ */
+ public Builder overrides(Overrides overrides) {
+ this.overrides = overrides;
+ return this;
+ }
+
+ /**
+ * Set the version.
+ *
+ * @param version the version
+ * @return the ActionParameters builder
+ */
+ public Builder version(String version) {
+ this.version = version;
+ return this;
+ }
+
+ /**
+ * Set the ruleset.
+ *
+ * @param ruleset the ruleset
+ * @return the ActionParameters builder
+ */
+ public Builder ruleset(String ruleset) {
+ this.ruleset = ruleset;
+ return this;
+ }
+
+ /**
+ * Set the rulesets.
+ * Existing rulesets will be replaced.
+ *
+ * @param rulesets the rulesets
+ * @return the ActionParameters builder
+ */
+ public Builder rulesets(List rulesets) {
+ this.rulesets = rulesets;
+ return this;
+ }
+
+ /**
+ * Set the phases.
+ * Existing phases will be replaced.
+ *
+ * @param phases the phases
+ * @return the ActionParameters builder
+ */
+ public Builder phases(List phases) {
+ this.phases = phases;
+ return this;
+ }
+
+ /**
+ * Set the products.
+ * Existing products will be replaced.
+ *
+ * @param products the products
+ * @return the ActionParameters builder
+ */
+ public Builder products(List products) {
+ this.products = products;
+ return this;
+ }
+
+ /**
+ * Set the response.
+ *
+ * @param response the response
+ * @return the ActionParameters builder
+ */
+ public Builder response(ActionParametersResponse response) {
+ this.response = response;
+ return this;
+ }
+ }
+
+ protected ActionParameters() { }
+
+ protected ActionParameters(Builder builder) {
+ id = builder.id;
+ overrides = builder.overrides;
+ version = builder.version;
+ ruleset = builder.ruleset;
+ rulesets = builder.rulesets;
+ phases = builder.phases;
+ products = builder.products;
+ response = builder.response;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a ActionParameters builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the id.
+ *
+ * unique ID of the ruleset.
+ *
+ * @return the id
+ */
+ public String id() {
+ return id;
+ }
+
+ /**
+ * Gets the overrides.
+ *
+ * @return the overrides
+ */
+ public Overrides overrides() {
+ return overrides;
+ }
+
+ /**
+ * Gets the version.
+ *
+ * The version of the ruleset. Use "latest" to get the latest version.
+ *
+ * @return the version
+ */
+ public String version() {
+ return version;
+ }
+
+ /**
+ * Gets the ruleset.
+ *
+ * Ruleset ID of the ruleset to apply action to. Use "current" to apply to the current ruleset.
+ *
+ * @return the ruleset
+ */
+ public String ruleset() {
+ return ruleset;
+ }
+
+ /**
+ * Gets the rulesets.
+ *
+ * List of ruleset ids to apply action to. Use "current" to apply to the current ruleset.
+ *
+ * @return the rulesets
+ */
+ public List rulesets() {
+ return rulesets;
+ }
+
+ /**
+ * Gets the phases.
+ *
+ * Skips the execution of one or more phases.
+ *
+ * @return the phases
+ */
+ public List phases() {
+ return phases;
+ }
+
+ /**
+ * Gets the products.
+ *
+ * Skips specific security products that are not based on the Ruleset Engine.
+ *
+ * @return the products
+ */
+ public List products() {
+ return products;
+ }
+
+ /**
+ * Gets the response.
+ *
+ * @return the response
+ */
+ public ActionParametersResponse response() {
+ return response;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/ActionParametersResponse.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/ActionParametersResponse.java
new file mode 100644
index 000000000..9620108b0
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/ActionParametersResponse.java
@@ -0,0 +1,165 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * ActionParametersResponse.
+ */
+public class ActionParametersResponse extends GenericModel {
+
+ protected String content;
+ @SerializedName("content_type")
+ protected String contentType;
+ @SerializedName("status_code")
+ protected Long statusCode;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String content;
+ private String contentType;
+ private Long statusCode;
+
+ /**
+ * Instantiates a new Builder from an existing ActionParametersResponse instance.
+ *
+ * @param actionParametersResponse the instance to initialize the Builder with
+ */
+ private Builder(ActionParametersResponse actionParametersResponse) {
+ this.content = actionParametersResponse.content;
+ this.contentType = actionParametersResponse.contentType;
+ this.statusCode = actionParametersResponse.statusCode;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param content the content
+ * @param contentType the contentType
+ * @param statusCode the statusCode
+ */
+ public Builder(String content, String contentType, Long statusCode) {
+ this.content = content;
+ this.contentType = contentType;
+ this.statusCode = statusCode;
+ }
+
+ /**
+ * Builds a ActionParametersResponse.
+ *
+ * @return the new ActionParametersResponse instance
+ */
+ public ActionParametersResponse build() {
+ return new ActionParametersResponse(this);
+ }
+
+ /**
+ * Set the content.
+ *
+ * @param content the content
+ * @return the ActionParametersResponse builder
+ */
+ public Builder content(String content) {
+ this.content = content;
+ return this;
+ }
+
+ /**
+ * Set the contentType.
+ *
+ * @param contentType the contentType
+ * @return the ActionParametersResponse builder
+ */
+ public Builder contentType(String contentType) {
+ this.contentType = contentType;
+ return this;
+ }
+
+ /**
+ * Set the statusCode.
+ *
+ * @param statusCode the statusCode
+ * @return the ActionParametersResponse builder
+ */
+ public Builder statusCode(long statusCode) {
+ this.statusCode = statusCode;
+ return this;
+ }
+ }
+
+ protected ActionParametersResponse() { }
+
+ protected ActionParametersResponse(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(builder.content,
+ "content cannot be null");
+ com.ibm.cloud.sdk.core.util.Validator.notNull(builder.contentType,
+ "contentType cannot be null");
+ com.ibm.cloud.sdk.core.util.Validator.notNull(builder.statusCode,
+ "statusCode cannot be null");
+ content = builder.content;
+ contentType = builder.contentType;
+ statusCode = builder.statusCode;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a ActionParametersResponse builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the content.
+ *
+ * the content to return.
+ *
+ * @return the content
+ */
+ public String content() {
+ return content;
+ }
+
+ /**
+ * Gets the contentType.
+ *
+ * @return the contentType
+ */
+ public String contentType() {
+ return contentType;
+ }
+
+ /**
+ * Gets the statusCode.
+ *
+ * The status code to return.
+ *
+ * @return the statusCode
+ */
+ public Long statusCode() {
+ return statusCode;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/CategoriesOverride.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/CategoriesOverride.java
new file mode 100644
index 000000000..2aa7e6763
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/CategoriesOverride.java
@@ -0,0 +1,143 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * CategoriesOverride.
+ */
+public class CategoriesOverride extends GenericModel {
+
+ protected String category;
+ protected Boolean enabled;
+ protected String action;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String category;
+ private Boolean enabled;
+ private String action;
+
+ /**
+ * Instantiates a new Builder from an existing CategoriesOverride instance.
+ *
+ * @param categoriesOverride the instance to initialize the Builder with
+ */
+ private Builder(CategoriesOverride categoriesOverride) {
+ this.category = categoriesOverride.category;
+ this.enabled = categoriesOverride.enabled;
+ this.action = categoriesOverride.action;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Builds a CategoriesOverride.
+ *
+ * @return the new CategoriesOverride instance
+ */
+ public CategoriesOverride build() {
+ return new CategoriesOverride(this);
+ }
+
+ /**
+ * Set the category.
+ *
+ * @param category the category
+ * @return the CategoriesOverride builder
+ */
+ public Builder category(String category) {
+ this.category = category;
+ return this;
+ }
+
+ /**
+ * Set the enabled.
+ *
+ * @param enabled the enabled
+ * @return the CategoriesOverride builder
+ */
+ public Builder enabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Set the action.
+ *
+ * @param action the action
+ * @return the CategoriesOverride builder
+ */
+ public Builder action(String action) {
+ this.action = action;
+ return this;
+ }
+ }
+
+ protected CategoriesOverride() { }
+
+ protected CategoriesOverride(Builder builder) {
+ category = builder.category;
+ enabled = builder.enabled;
+ action = builder.action;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a CategoriesOverride builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the category.
+ *
+ * The category tag name to override.
+ *
+ * @return the category
+ */
+ public String category() {
+ return category;
+ }
+
+ /**
+ * Gets the enabled.
+ *
+ * @return the enabled
+ */
+ public Boolean enabled() {
+ return enabled;
+ }
+
+ /**
+ * Gets the action.
+ *
+ * What happens when theres a match for the rule expression.
+ *
+ * @return the action
+ */
+ public String action() {
+ return action;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/CreateInstanceRulesetRuleOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/CreateInstanceRulesetRuleOptions.java
new file mode 100644
index 000000000..a2d0b1d4f
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/CreateInstanceRulesetRuleOptions.java
@@ -0,0 +1,350 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The createInstanceRulesetRule options.
+ */
+public class CreateInstanceRulesetRuleOptions extends GenericModel {
+
+ protected String rulesetId;
+ protected String action;
+ protected ActionParameters actionParameters;
+ protected Ratelimit ratelimit;
+ protected String description;
+ protected Boolean enabled;
+ protected String expression;
+ protected String id;
+ protected Logging logging;
+ protected String ref;
+ protected Position position;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetId;
+ private String action;
+ private ActionParameters actionParameters;
+ private Ratelimit ratelimit;
+ private String description;
+ private Boolean enabled;
+ private String expression;
+ private String id;
+ private Logging logging;
+ private String ref;
+ private Position position;
+
+ /**
+ * Instantiates a new Builder from an existing CreateInstanceRulesetRuleOptions instance.
+ *
+ * @param createInstanceRulesetRuleOptions the instance to initialize the Builder with
+ */
+ private Builder(CreateInstanceRulesetRuleOptions createInstanceRulesetRuleOptions) {
+ this.rulesetId = createInstanceRulesetRuleOptions.rulesetId;
+ this.action = createInstanceRulesetRuleOptions.action;
+ this.actionParameters = createInstanceRulesetRuleOptions.actionParameters;
+ this.ratelimit = createInstanceRulesetRuleOptions.ratelimit;
+ this.description = createInstanceRulesetRuleOptions.description;
+ this.enabled = createInstanceRulesetRuleOptions.enabled;
+ this.expression = createInstanceRulesetRuleOptions.expression;
+ this.id = createInstanceRulesetRuleOptions.id;
+ this.logging = createInstanceRulesetRuleOptions.logging;
+ this.ref = createInstanceRulesetRuleOptions.ref;
+ this.position = createInstanceRulesetRuleOptions.position;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetId the rulesetId
+ */
+ public Builder(String rulesetId) {
+ this.rulesetId = rulesetId;
+ }
+
+ /**
+ * Builds a CreateInstanceRulesetRuleOptions.
+ *
+ * @return the new CreateInstanceRulesetRuleOptions instance
+ */
+ public CreateInstanceRulesetRuleOptions build() {
+ return new CreateInstanceRulesetRuleOptions(this);
+ }
+
+ /**
+ * Set the rulesetId.
+ *
+ * @param rulesetId the rulesetId
+ * @return the CreateInstanceRulesetRuleOptions builder
+ */
+ public Builder rulesetId(String rulesetId) {
+ this.rulesetId = rulesetId;
+ return this;
+ }
+
+ /**
+ * Set the action.
+ *
+ * @param action the action
+ * @return the CreateInstanceRulesetRuleOptions builder
+ */
+ public Builder action(String action) {
+ this.action = action;
+ return this;
+ }
+
+ /**
+ * Set the actionParameters.
+ *
+ * @param actionParameters the actionParameters
+ * @return the CreateInstanceRulesetRuleOptions builder
+ */
+ public Builder actionParameters(ActionParameters actionParameters) {
+ this.actionParameters = actionParameters;
+ return this;
+ }
+
+ /**
+ * Set the ratelimit.
+ *
+ * @param ratelimit the ratelimit
+ * @return the CreateInstanceRulesetRuleOptions builder
+ */
+ public Builder ratelimit(Ratelimit ratelimit) {
+ this.ratelimit = ratelimit;
+ return this;
+ }
+
+ /**
+ * Set the description.
+ *
+ * @param description the description
+ * @return the CreateInstanceRulesetRuleOptions builder
+ */
+ public Builder description(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Set the enabled.
+ *
+ * @param enabled the enabled
+ * @return the CreateInstanceRulesetRuleOptions builder
+ */
+ public Builder enabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Set the expression.
+ *
+ * @param expression the expression
+ * @return the CreateInstanceRulesetRuleOptions builder
+ */
+ public Builder expression(String expression) {
+ this.expression = expression;
+ return this;
+ }
+
+ /**
+ * Set the id.
+ *
+ * @param id the id
+ * @return the CreateInstanceRulesetRuleOptions builder
+ */
+ public Builder id(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Set the logging.
+ *
+ * @param logging the logging
+ * @return the CreateInstanceRulesetRuleOptions builder
+ */
+ public Builder logging(Logging logging) {
+ this.logging = logging;
+ return this;
+ }
+
+ /**
+ * Set the ref.
+ *
+ * @param ref the ref
+ * @return the CreateInstanceRulesetRuleOptions builder
+ */
+ public Builder ref(String ref) {
+ this.ref = ref;
+ return this;
+ }
+
+ /**
+ * Set the position.
+ *
+ * @param position the position
+ * @return the CreateInstanceRulesetRuleOptions builder
+ */
+ public Builder position(Position position) {
+ this.position = position;
+ return this;
+ }
+ }
+
+ protected CreateInstanceRulesetRuleOptions() { }
+
+ protected CreateInstanceRulesetRuleOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetId,
+ "rulesetId cannot be empty");
+ rulesetId = builder.rulesetId;
+ action = builder.action;
+ actionParameters = builder.actionParameters;
+ ratelimit = builder.ratelimit;
+ description = builder.description;
+ enabled = builder.enabled;
+ expression = builder.expression;
+ id = builder.id;
+ logging = builder.logging;
+ ref = builder.ref;
+ position = builder.position;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a CreateInstanceRulesetRuleOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetId.
+ *
+ * ID of a specific ruleset.
+ *
+ * @return the rulesetId
+ */
+ public String rulesetId() {
+ return rulesetId;
+ }
+
+ /**
+ * Gets the action.
+ *
+ * What happens when theres a match for the rule expression.
+ *
+ * @return the action
+ */
+ public String action() {
+ return action;
+ }
+
+ /**
+ * Gets the actionParameters.
+ *
+ * @return the actionParameters
+ */
+ public ActionParameters actionParameters() {
+ return actionParameters;
+ }
+
+ /**
+ * Gets the ratelimit.
+ *
+ * @return the ratelimit
+ */
+ public Ratelimit ratelimit() {
+ return ratelimit;
+ }
+
+ /**
+ * Gets the description.
+ *
+ * @return the description
+ */
+ public String description() {
+ return description;
+ }
+
+ /**
+ * Gets the enabled.
+ *
+ * @return the enabled
+ */
+ public Boolean enabled() {
+ return enabled;
+ }
+
+ /**
+ * Gets the expression.
+ *
+ * The expression defining which traffic will match the rule.
+ *
+ * @return the expression
+ */
+ public String expression() {
+ return expression;
+ }
+
+ /**
+ * Gets the id.
+ *
+ * @return the id
+ */
+ public String id() {
+ return id;
+ }
+
+ /**
+ * Gets the logging.
+ *
+ * @return the logging
+ */
+ public Logging logging() {
+ return logging;
+ }
+
+ /**
+ * Gets the ref.
+ *
+ * The reference of the rule (the rule ID by default).
+ *
+ * @return the ref
+ */
+ public String ref() {
+ return ref;
+ }
+
+ /**
+ * Gets the position.
+ *
+ * @return the position
+ */
+ public Position position() {
+ return position;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/CreateZoneRulesetRuleOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/CreateZoneRulesetRuleOptions.java
new file mode 100644
index 000000000..43312527d
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/CreateZoneRulesetRuleOptions.java
@@ -0,0 +1,350 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The createZoneRulesetRule options.
+ */
+public class CreateZoneRulesetRuleOptions extends GenericModel {
+
+ protected String rulesetId;
+ protected String action;
+ protected ActionParameters actionParameters;
+ protected Ratelimit ratelimit;
+ protected String description;
+ protected Boolean enabled;
+ protected String expression;
+ protected String id;
+ protected Logging logging;
+ protected String ref;
+ protected Position position;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetId;
+ private String action;
+ private ActionParameters actionParameters;
+ private Ratelimit ratelimit;
+ private String description;
+ private Boolean enabled;
+ private String expression;
+ private String id;
+ private Logging logging;
+ private String ref;
+ private Position position;
+
+ /**
+ * Instantiates a new Builder from an existing CreateZoneRulesetRuleOptions instance.
+ *
+ * @param createZoneRulesetRuleOptions the instance to initialize the Builder with
+ */
+ private Builder(CreateZoneRulesetRuleOptions createZoneRulesetRuleOptions) {
+ this.rulesetId = createZoneRulesetRuleOptions.rulesetId;
+ this.action = createZoneRulesetRuleOptions.action;
+ this.actionParameters = createZoneRulesetRuleOptions.actionParameters;
+ this.ratelimit = createZoneRulesetRuleOptions.ratelimit;
+ this.description = createZoneRulesetRuleOptions.description;
+ this.enabled = createZoneRulesetRuleOptions.enabled;
+ this.expression = createZoneRulesetRuleOptions.expression;
+ this.id = createZoneRulesetRuleOptions.id;
+ this.logging = createZoneRulesetRuleOptions.logging;
+ this.ref = createZoneRulesetRuleOptions.ref;
+ this.position = createZoneRulesetRuleOptions.position;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetId the rulesetId
+ */
+ public Builder(String rulesetId) {
+ this.rulesetId = rulesetId;
+ }
+
+ /**
+ * Builds a CreateZoneRulesetRuleOptions.
+ *
+ * @return the new CreateZoneRulesetRuleOptions instance
+ */
+ public CreateZoneRulesetRuleOptions build() {
+ return new CreateZoneRulesetRuleOptions(this);
+ }
+
+ /**
+ * Set the rulesetId.
+ *
+ * @param rulesetId the rulesetId
+ * @return the CreateZoneRulesetRuleOptions builder
+ */
+ public Builder rulesetId(String rulesetId) {
+ this.rulesetId = rulesetId;
+ return this;
+ }
+
+ /**
+ * Set the action.
+ *
+ * @param action the action
+ * @return the CreateZoneRulesetRuleOptions builder
+ */
+ public Builder action(String action) {
+ this.action = action;
+ return this;
+ }
+
+ /**
+ * Set the actionParameters.
+ *
+ * @param actionParameters the actionParameters
+ * @return the CreateZoneRulesetRuleOptions builder
+ */
+ public Builder actionParameters(ActionParameters actionParameters) {
+ this.actionParameters = actionParameters;
+ return this;
+ }
+
+ /**
+ * Set the ratelimit.
+ *
+ * @param ratelimit the ratelimit
+ * @return the CreateZoneRulesetRuleOptions builder
+ */
+ public Builder ratelimit(Ratelimit ratelimit) {
+ this.ratelimit = ratelimit;
+ return this;
+ }
+
+ /**
+ * Set the description.
+ *
+ * @param description the description
+ * @return the CreateZoneRulesetRuleOptions builder
+ */
+ public Builder description(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Set the enabled.
+ *
+ * @param enabled the enabled
+ * @return the CreateZoneRulesetRuleOptions builder
+ */
+ public Builder enabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Set the expression.
+ *
+ * @param expression the expression
+ * @return the CreateZoneRulesetRuleOptions builder
+ */
+ public Builder expression(String expression) {
+ this.expression = expression;
+ return this;
+ }
+
+ /**
+ * Set the id.
+ *
+ * @param id the id
+ * @return the CreateZoneRulesetRuleOptions builder
+ */
+ public Builder id(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Set the logging.
+ *
+ * @param logging the logging
+ * @return the CreateZoneRulesetRuleOptions builder
+ */
+ public Builder logging(Logging logging) {
+ this.logging = logging;
+ return this;
+ }
+
+ /**
+ * Set the ref.
+ *
+ * @param ref the ref
+ * @return the CreateZoneRulesetRuleOptions builder
+ */
+ public Builder ref(String ref) {
+ this.ref = ref;
+ return this;
+ }
+
+ /**
+ * Set the position.
+ *
+ * @param position the position
+ * @return the CreateZoneRulesetRuleOptions builder
+ */
+ public Builder position(Position position) {
+ this.position = position;
+ return this;
+ }
+ }
+
+ protected CreateZoneRulesetRuleOptions() { }
+
+ protected CreateZoneRulesetRuleOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetId,
+ "rulesetId cannot be empty");
+ rulesetId = builder.rulesetId;
+ action = builder.action;
+ actionParameters = builder.actionParameters;
+ ratelimit = builder.ratelimit;
+ description = builder.description;
+ enabled = builder.enabled;
+ expression = builder.expression;
+ id = builder.id;
+ logging = builder.logging;
+ ref = builder.ref;
+ position = builder.position;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a CreateZoneRulesetRuleOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetId.
+ *
+ * ID of a specific ruleset.
+ *
+ * @return the rulesetId
+ */
+ public String rulesetId() {
+ return rulesetId;
+ }
+
+ /**
+ * Gets the action.
+ *
+ * What happens when theres a match for the rule expression.
+ *
+ * @return the action
+ */
+ public String action() {
+ return action;
+ }
+
+ /**
+ * Gets the actionParameters.
+ *
+ * @return the actionParameters
+ */
+ public ActionParameters actionParameters() {
+ return actionParameters;
+ }
+
+ /**
+ * Gets the ratelimit.
+ *
+ * @return the ratelimit
+ */
+ public Ratelimit ratelimit() {
+ return ratelimit;
+ }
+
+ /**
+ * Gets the description.
+ *
+ * @return the description
+ */
+ public String description() {
+ return description;
+ }
+
+ /**
+ * Gets the enabled.
+ *
+ * @return the enabled
+ */
+ public Boolean enabled() {
+ return enabled;
+ }
+
+ /**
+ * Gets the expression.
+ *
+ * The expression defining which traffic will match the rule.
+ *
+ * @return the expression
+ */
+ public String expression() {
+ return expression;
+ }
+
+ /**
+ * Gets the id.
+ *
+ * @return the id
+ */
+ public String id() {
+ return id;
+ }
+
+ /**
+ * Gets the logging.
+ *
+ * @return the logging
+ */
+ public Logging logging() {
+ return logging;
+ }
+
+ /**
+ * Gets the ref.
+ *
+ * The reference of the rule (the rule ID by default).
+ *
+ * @return the ref
+ */
+ public String ref() {
+ return ref;
+ }
+
+ /**
+ * Gets the position.
+ *
+ * @return the position
+ */
+ public Position position() {
+ return position;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/DeleteInstanceRulesetOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/DeleteInstanceRulesetOptions.java
new file mode 100644
index 000000000..cee100736
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/DeleteInstanceRulesetOptions.java
@@ -0,0 +1,104 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The deleteInstanceRuleset options.
+ */
+public class DeleteInstanceRulesetOptions extends GenericModel {
+
+ protected String rulesetId;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetId;
+
+ /**
+ * Instantiates a new Builder from an existing DeleteInstanceRulesetOptions instance.
+ *
+ * @param deleteInstanceRulesetOptions the instance to initialize the Builder with
+ */
+ private Builder(DeleteInstanceRulesetOptions deleteInstanceRulesetOptions) {
+ this.rulesetId = deleteInstanceRulesetOptions.rulesetId;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetId the rulesetId
+ */
+ public Builder(String rulesetId) {
+ this.rulesetId = rulesetId;
+ }
+
+ /**
+ * Builds a DeleteInstanceRulesetOptions.
+ *
+ * @return the new DeleteInstanceRulesetOptions instance
+ */
+ public DeleteInstanceRulesetOptions build() {
+ return new DeleteInstanceRulesetOptions(this);
+ }
+
+ /**
+ * Set the rulesetId.
+ *
+ * @param rulesetId the rulesetId
+ * @return the DeleteInstanceRulesetOptions builder
+ */
+ public Builder rulesetId(String rulesetId) {
+ this.rulesetId = rulesetId;
+ return this;
+ }
+ }
+
+ protected DeleteInstanceRulesetOptions() { }
+
+ protected DeleteInstanceRulesetOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetId,
+ "rulesetId cannot be empty");
+ rulesetId = builder.rulesetId;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a DeleteInstanceRulesetOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetId.
+ *
+ * ID of a specific ruleset.
+ *
+ * @return the rulesetId
+ */
+ public String rulesetId() {
+ return rulesetId;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/DeleteInstanceRulesetRuleOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/DeleteInstanceRulesetRuleOptions.java
new file mode 100644
index 000000000..bbda212d2
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/DeleteInstanceRulesetRuleOptions.java
@@ -0,0 +1,134 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The deleteInstanceRulesetRule options.
+ */
+public class DeleteInstanceRulesetRuleOptions extends GenericModel {
+
+ protected String rulesetId;
+ protected String ruleId;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetId;
+ private String ruleId;
+
+ /**
+ * Instantiates a new Builder from an existing DeleteInstanceRulesetRuleOptions instance.
+ *
+ * @param deleteInstanceRulesetRuleOptions the instance to initialize the Builder with
+ */
+ private Builder(DeleteInstanceRulesetRuleOptions deleteInstanceRulesetRuleOptions) {
+ this.rulesetId = deleteInstanceRulesetRuleOptions.rulesetId;
+ this.ruleId = deleteInstanceRulesetRuleOptions.ruleId;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetId the rulesetId
+ * @param ruleId the ruleId
+ */
+ public Builder(String rulesetId, String ruleId) {
+ this.rulesetId = rulesetId;
+ this.ruleId = ruleId;
+ }
+
+ /**
+ * Builds a DeleteInstanceRulesetRuleOptions.
+ *
+ * @return the new DeleteInstanceRulesetRuleOptions instance
+ */
+ public DeleteInstanceRulesetRuleOptions build() {
+ return new DeleteInstanceRulesetRuleOptions(this);
+ }
+
+ /**
+ * Set the rulesetId.
+ *
+ * @param rulesetId the rulesetId
+ * @return the DeleteInstanceRulesetRuleOptions builder
+ */
+ public Builder rulesetId(String rulesetId) {
+ this.rulesetId = rulesetId;
+ return this;
+ }
+
+ /**
+ * Set the ruleId.
+ *
+ * @param ruleId the ruleId
+ * @return the DeleteInstanceRulesetRuleOptions builder
+ */
+ public Builder ruleId(String ruleId) {
+ this.ruleId = ruleId;
+ return this;
+ }
+ }
+
+ protected DeleteInstanceRulesetRuleOptions() { }
+
+ protected DeleteInstanceRulesetRuleOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetId,
+ "rulesetId cannot be empty");
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.ruleId,
+ "ruleId cannot be empty");
+ rulesetId = builder.rulesetId;
+ ruleId = builder.ruleId;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a DeleteInstanceRulesetRuleOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetId.
+ *
+ * ID of a specific ruleset.
+ *
+ * @return the rulesetId
+ */
+ public String rulesetId() {
+ return rulesetId;
+ }
+
+ /**
+ * Gets the ruleId.
+ *
+ * ID of a specific rule.
+ *
+ * @return the ruleId
+ */
+ public String ruleId() {
+ return ruleId;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/DeleteInstanceRulesetVersionOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/DeleteInstanceRulesetVersionOptions.java
new file mode 100644
index 000000000..16bbace86
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/DeleteInstanceRulesetVersionOptions.java
@@ -0,0 +1,134 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The deleteInstanceRulesetVersion options.
+ */
+public class DeleteInstanceRulesetVersionOptions extends GenericModel {
+
+ protected String rulesetId;
+ protected String rulesetVersion;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetId;
+ private String rulesetVersion;
+
+ /**
+ * Instantiates a new Builder from an existing DeleteInstanceRulesetVersionOptions instance.
+ *
+ * @param deleteInstanceRulesetVersionOptions the instance to initialize the Builder with
+ */
+ private Builder(DeleteInstanceRulesetVersionOptions deleteInstanceRulesetVersionOptions) {
+ this.rulesetId = deleteInstanceRulesetVersionOptions.rulesetId;
+ this.rulesetVersion = deleteInstanceRulesetVersionOptions.rulesetVersion;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetId the rulesetId
+ * @param rulesetVersion the rulesetVersion
+ */
+ public Builder(String rulesetId, String rulesetVersion) {
+ this.rulesetId = rulesetId;
+ this.rulesetVersion = rulesetVersion;
+ }
+
+ /**
+ * Builds a DeleteInstanceRulesetVersionOptions.
+ *
+ * @return the new DeleteInstanceRulesetVersionOptions instance
+ */
+ public DeleteInstanceRulesetVersionOptions build() {
+ return new DeleteInstanceRulesetVersionOptions(this);
+ }
+
+ /**
+ * Set the rulesetId.
+ *
+ * @param rulesetId the rulesetId
+ * @return the DeleteInstanceRulesetVersionOptions builder
+ */
+ public Builder rulesetId(String rulesetId) {
+ this.rulesetId = rulesetId;
+ return this;
+ }
+
+ /**
+ * Set the rulesetVersion.
+ *
+ * @param rulesetVersion the rulesetVersion
+ * @return the DeleteInstanceRulesetVersionOptions builder
+ */
+ public Builder rulesetVersion(String rulesetVersion) {
+ this.rulesetVersion = rulesetVersion;
+ return this;
+ }
+ }
+
+ protected DeleteInstanceRulesetVersionOptions() { }
+
+ protected DeleteInstanceRulesetVersionOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetId,
+ "rulesetId cannot be empty");
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetVersion,
+ "rulesetVersion cannot be empty");
+ rulesetId = builder.rulesetId;
+ rulesetVersion = builder.rulesetVersion;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a DeleteInstanceRulesetVersionOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetId.
+ *
+ * ID of a specific ruleset.
+ *
+ * @return the rulesetId
+ */
+ public String rulesetId() {
+ return rulesetId;
+ }
+
+ /**
+ * Gets the rulesetVersion.
+ *
+ * The version of the ruleset.
+ *
+ * @return the rulesetVersion
+ */
+ public String rulesetVersion() {
+ return rulesetVersion;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/DeleteZoneRulesetOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/DeleteZoneRulesetOptions.java
new file mode 100644
index 000000000..f645710f3
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/DeleteZoneRulesetOptions.java
@@ -0,0 +1,104 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The deleteZoneRuleset options.
+ */
+public class DeleteZoneRulesetOptions extends GenericModel {
+
+ protected String rulesetId;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetId;
+
+ /**
+ * Instantiates a new Builder from an existing DeleteZoneRulesetOptions instance.
+ *
+ * @param deleteZoneRulesetOptions the instance to initialize the Builder with
+ */
+ private Builder(DeleteZoneRulesetOptions deleteZoneRulesetOptions) {
+ this.rulesetId = deleteZoneRulesetOptions.rulesetId;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetId the rulesetId
+ */
+ public Builder(String rulesetId) {
+ this.rulesetId = rulesetId;
+ }
+
+ /**
+ * Builds a DeleteZoneRulesetOptions.
+ *
+ * @return the new DeleteZoneRulesetOptions instance
+ */
+ public DeleteZoneRulesetOptions build() {
+ return new DeleteZoneRulesetOptions(this);
+ }
+
+ /**
+ * Set the rulesetId.
+ *
+ * @param rulesetId the rulesetId
+ * @return the DeleteZoneRulesetOptions builder
+ */
+ public Builder rulesetId(String rulesetId) {
+ this.rulesetId = rulesetId;
+ return this;
+ }
+ }
+
+ protected DeleteZoneRulesetOptions() { }
+
+ protected DeleteZoneRulesetOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetId,
+ "rulesetId cannot be empty");
+ rulesetId = builder.rulesetId;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a DeleteZoneRulesetOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetId.
+ *
+ * ID of a specific ruleset.
+ *
+ * @return the rulesetId
+ */
+ public String rulesetId() {
+ return rulesetId;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/DeleteZoneRulesetRuleOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/DeleteZoneRulesetRuleOptions.java
new file mode 100644
index 000000000..af7e82a7c
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/DeleteZoneRulesetRuleOptions.java
@@ -0,0 +1,134 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The deleteZoneRulesetRule options.
+ */
+public class DeleteZoneRulesetRuleOptions extends GenericModel {
+
+ protected String rulesetId;
+ protected String ruleId;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetId;
+ private String ruleId;
+
+ /**
+ * Instantiates a new Builder from an existing DeleteZoneRulesetRuleOptions instance.
+ *
+ * @param deleteZoneRulesetRuleOptions the instance to initialize the Builder with
+ */
+ private Builder(DeleteZoneRulesetRuleOptions deleteZoneRulesetRuleOptions) {
+ this.rulesetId = deleteZoneRulesetRuleOptions.rulesetId;
+ this.ruleId = deleteZoneRulesetRuleOptions.ruleId;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetId the rulesetId
+ * @param ruleId the ruleId
+ */
+ public Builder(String rulesetId, String ruleId) {
+ this.rulesetId = rulesetId;
+ this.ruleId = ruleId;
+ }
+
+ /**
+ * Builds a DeleteZoneRulesetRuleOptions.
+ *
+ * @return the new DeleteZoneRulesetRuleOptions instance
+ */
+ public DeleteZoneRulesetRuleOptions build() {
+ return new DeleteZoneRulesetRuleOptions(this);
+ }
+
+ /**
+ * Set the rulesetId.
+ *
+ * @param rulesetId the rulesetId
+ * @return the DeleteZoneRulesetRuleOptions builder
+ */
+ public Builder rulesetId(String rulesetId) {
+ this.rulesetId = rulesetId;
+ return this;
+ }
+
+ /**
+ * Set the ruleId.
+ *
+ * @param ruleId the ruleId
+ * @return the DeleteZoneRulesetRuleOptions builder
+ */
+ public Builder ruleId(String ruleId) {
+ this.ruleId = ruleId;
+ return this;
+ }
+ }
+
+ protected DeleteZoneRulesetRuleOptions() { }
+
+ protected DeleteZoneRulesetRuleOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetId,
+ "rulesetId cannot be empty");
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.ruleId,
+ "ruleId cannot be empty");
+ rulesetId = builder.rulesetId;
+ ruleId = builder.ruleId;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a DeleteZoneRulesetRuleOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetId.
+ *
+ * ID of a specific ruleset.
+ *
+ * @return the rulesetId
+ */
+ public String rulesetId() {
+ return rulesetId;
+ }
+
+ /**
+ * Gets the ruleId.
+ *
+ * ID of a specific rule.
+ *
+ * @return the ruleId
+ */
+ public String ruleId() {
+ return ruleId;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/DeleteZoneRulesetVersionOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/DeleteZoneRulesetVersionOptions.java
new file mode 100644
index 000000000..3ec1aacf7
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/DeleteZoneRulesetVersionOptions.java
@@ -0,0 +1,134 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The deleteZoneRulesetVersion options.
+ */
+public class DeleteZoneRulesetVersionOptions extends GenericModel {
+
+ protected String rulesetId;
+ protected String rulesetVersion;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetId;
+ private String rulesetVersion;
+
+ /**
+ * Instantiates a new Builder from an existing DeleteZoneRulesetVersionOptions instance.
+ *
+ * @param deleteZoneRulesetVersionOptions the instance to initialize the Builder with
+ */
+ private Builder(DeleteZoneRulesetVersionOptions deleteZoneRulesetVersionOptions) {
+ this.rulesetId = deleteZoneRulesetVersionOptions.rulesetId;
+ this.rulesetVersion = deleteZoneRulesetVersionOptions.rulesetVersion;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetId the rulesetId
+ * @param rulesetVersion the rulesetVersion
+ */
+ public Builder(String rulesetId, String rulesetVersion) {
+ this.rulesetId = rulesetId;
+ this.rulesetVersion = rulesetVersion;
+ }
+
+ /**
+ * Builds a DeleteZoneRulesetVersionOptions.
+ *
+ * @return the new DeleteZoneRulesetVersionOptions instance
+ */
+ public DeleteZoneRulesetVersionOptions build() {
+ return new DeleteZoneRulesetVersionOptions(this);
+ }
+
+ /**
+ * Set the rulesetId.
+ *
+ * @param rulesetId the rulesetId
+ * @return the DeleteZoneRulesetVersionOptions builder
+ */
+ public Builder rulesetId(String rulesetId) {
+ this.rulesetId = rulesetId;
+ return this;
+ }
+
+ /**
+ * Set the rulesetVersion.
+ *
+ * @param rulesetVersion the rulesetVersion
+ * @return the DeleteZoneRulesetVersionOptions builder
+ */
+ public Builder rulesetVersion(String rulesetVersion) {
+ this.rulesetVersion = rulesetVersion;
+ return this;
+ }
+ }
+
+ protected DeleteZoneRulesetVersionOptions() { }
+
+ protected DeleteZoneRulesetVersionOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetId,
+ "rulesetId cannot be empty");
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetVersion,
+ "rulesetVersion cannot be empty");
+ rulesetId = builder.rulesetId;
+ rulesetVersion = builder.rulesetVersion;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a DeleteZoneRulesetVersionOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetId.
+ *
+ * ID of a specific ruleset.
+ *
+ * @return the rulesetId
+ */
+ public String rulesetId() {
+ return rulesetId;
+ }
+
+ /**
+ * Gets the rulesetVersion.
+ *
+ * The version of the ruleset.
+ *
+ * @return the rulesetVersion
+ */
+ public String rulesetVersion() {
+ return rulesetVersion;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceEntryPointRulesetVersionOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceEntryPointRulesetVersionOptions.java
new file mode 100644
index 000000000..557bf2772
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceEntryPointRulesetVersionOptions.java
@@ -0,0 +1,180 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getInstanceEntryPointRulesetVersion options.
+ */
+public class GetInstanceEntryPointRulesetVersionOptions extends GenericModel {
+
+ /**
+ * The phase of the ruleset.
+ */
+ public interface RulesetPhase {
+ /** ddos_l4. */
+ String DDOS_L4 = "ddos_l4";
+ /** ddos_l7. */
+ String DDOS_L7 = "ddos_l7";
+ /** http_config_settings. */
+ String HTTP_CONFIG_SETTINGS = "http_config_settings";
+ /** http_custom_errors. */
+ String HTTP_CUSTOM_ERRORS = "http_custom_errors";
+ /** http_log_custom_fields. */
+ String HTTP_LOG_CUSTOM_FIELDS = "http_log_custom_fields";
+ /** http_ratelimit. */
+ String HTTP_RATELIMIT = "http_ratelimit";
+ /** http_request_cache_settings. */
+ String HTTP_REQUEST_CACHE_SETTINGS = "http_request_cache_settings";
+ /** http_request_dynamic_redirect. */
+ String HTTP_REQUEST_DYNAMIC_REDIRECT = "http_request_dynamic_redirect";
+ /** http_request_firewall_custom. */
+ String HTTP_REQUEST_FIREWALL_CUSTOM = "http_request_firewall_custom";
+ /** http_request_firewall_managed. */
+ String HTTP_REQUEST_FIREWALL_MANAGED = "http_request_firewall_managed";
+ /** http_request_late_transform. */
+ String HTTP_REQUEST_LATE_TRANSFORM = "http_request_late_transform";
+ /** http_request_origin. */
+ String HTTP_REQUEST_ORIGIN = "http_request_origin";
+ /** http_request_redirect. */
+ String HTTP_REQUEST_REDIRECT = "http_request_redirect";
+ /** http_request_sanitize. */
+ String HTTP_REQUEST_SANITIZE = "http_request_sanitize";
+ /** http_request_sbfm. */
+ String HTTP_REQUEST_SBFM = "http_request_sbfm";
+ /** http_request_select_configuration. */
+ String HTTP_REQUEST_SELECT_CONFIGURATION = "http_request_select_configuration";
+ /** http_request_transform. */
+ String HTTP_REQUEST_TRANSFORM = "http_request_transform";
+ /** http_response_compression. */
+ String HTTP_RESPONSE_COMPRESSION = "http_response_compression";
+ /** http_response_firewall_managed. */
+ String HTTP_RESPONSE_FIREWALL_MANAGED = "http_response_firewall_managed";
+ /** http_response_headers_transform. */
+ String HTTP_RESPONSE_HEADERS_TRANSFORM = "http_response_headers_transform";
+ }
+
+ protected String rulesetPhase;
+ protected String rulesetVersion;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetPhase;
+ private String rulesetVersion;
+
+ /**
+ * Instantiates a new Builder from an existing GetInstanceEntryPointRulesetVersionOptions instance.
+ *
+ * @param getInstanceEntryPointRulesetVersionOptions the instance to initialize the Builder with
+ */
+ private Builder(GetInstanceEntryPointRulesetVersionOptions getInstanceEntryPointRulesetVersionOptions) {
+ this.rulesetPhase = getInstanceEntryPointRulesetVersionOptions.rulesetPhase;
+ this.rulesetVersion = getInstanceEntryPointRulesetVersionOptions.rulesetVersion;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetPhase the rulesetPhase
+ * @param rulesetVersion the rulesetVersion
+ */
+ public Builder(String rulesetPhase, String rulesetVersion) {
+ this.rulesetPhase = rulesetPhase;
+ this.rulesetVersion = rulesetVersion;
+ }
+
+ /**
+ * Builds a GetInstanceEntryPointRulesetVersionOptions.
+ *
+ * @return the new GetInstanceEntryPointRulesetVersionOptions instance
+ */
+ public GetInstanceEntryPointRulesetVersionOptions build() {
+ return new GetInstanceEntryPointRulesetVersionOptions(this);
+ }
+
+ /**
+ * Set the rulesetPhase.
+ *
+ * @param rulesetPhase the rulesetPhase
+ * @return the GetInstanceEntryPointRulesetVersionOptions builder
+ */
+ public Builder rulesetPhase(String rulesetPhase) {
+ this.rulesetPhase = rulesetPhase;
+ return this;
+ }
+
+ /**
+ * Set the rulesetVersion.
+ *
+ * @param rulesetVersion the rulesetVersion
+ * @return the GetInstanceEntryPointRulesetVersionOptions builder
+ */
+ public Builder rulesetVersion(String rulesetVersion) {
+ this.rulesetVersion = rulesetVersion;
+ return this;
+ }
+ }
+
+ protected GetInstanceEntryPointRulesetVersionOptions() { }
+
+ protected GetInstanceEntryPointRulesetVersionOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetPhase,
+ "rulesetPhase cannot be empty");
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetVersion,
+ "rulesetVersion cannot be empty");
+ rulesetPhase = builder.rulesetPhase;
+ rulesetVersion = builder.rulesetVersion;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a GetInstanceEntryPointRulesetVersionOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetPhase.
+ *
+ * The phase of the ruleset.
+ *
+ * @return the rulesetPhase
+ */
+ public String rulesetPhase() {
+ return rulesetPhase;
+ }
+
+ /**
+ * Gets the rulesetVersion.
+ *
+ * The version of the ruleset.
+ *
+ * @return the rulesetVersion
+ */
+ public String rulesetVersion() {
+ return rulesetVersion;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceEntryPointRulesetVersionsOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceEntryPointRulesetVersionsOptions.java
new file mode 100644
index 000000000..0e422744f
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceEntryPointRulesetVersionsOptions.java
@@ -0,0 +1,150 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getInstanceEntryPointRulesetVersions options.
+ */
+public class GetInstanceEntryPointRulesetVersionsOptions extends GenericModel {
+
+ /**
+ * The phase of the ruleset.
+ */
+ public interface RulesetPhase {
+ /** ddos_l4. */
+ String DDOS_L4 = "ddos_l4";
+ /** ddos_l7. */
+ String DDOS_L7 = "ddos_l7";
+ /** http_config_settings. */
+ String HTTP_CONFIG_SETTINGS = "http_config_settings";
+ /** http_custom_errors. */
+ String HTTP_CUSTOM_ERRORS = "http_custom_errors";
+ /** http_log_custom_fields. */
+ String HTTP_LOG_CUSTOM_FIELDS = "http_log_custom_fields";
+ /** http_ratelimit. */
+ String HTTP_RATELIMIT = "http_ratelimit";
+ /** http_request_cache_settings. */
+ String HTTP_REQUEST_CACHE_SETTINGS = "http_request_cache_settings";
+ /** http_request_dynamic_redirect. */
+ String HTTP_REQUEST_DYNAMIC_REDIRECT = "http_request_dynamic_redirect";
+ /** http_request_firewall_custom. */
+ String HTTP_REQUEST_FIREWALL_CUSTOM = "http_request_firewall_custom";
+ /** http_request_firewall_managed. */
+ String HTTP_REQUEST_FIREWALL_MANAGED = "http_request_firewall_managed";
+ /** http_request_late_transform. */
+ String HTTP_REQUEST_LATE_TRANSFORM = "http_request_late_transform";
+ /** http_request_origin. */
+ String HTTP_REQUEST_ORIGIN = "http_request_origin";
+ /** http_request_redirect. */
+ String HTTP_REQUEST_REDIRECT = "http_request_redirect";
+ /** http_request_sanitize. */
+ String HTTP_REQUEST_SANITIZE = "http_request_sanitize";
+ /** http_request_sbfm. */
+ String HTTP_REQUEST_SBFM = "http_request_sbfm";
+ /** http_request_select_configuration. */
+ String HTTP_REQUEST_SELECT_CONFIGURATION = "http_request_select_configuration";
+ /** http_request_transform. */
+ String HTTP_REQUEST_TRANSFORM = "http_request_transform";
+ /** http_response_compression. */
+ String HTTP_RESPONSE_COMPRESSION = "http_response_compression";
+ /** http_response_firewall_managed. */
+ String HTTP_RESPONSE_FIREWALL_MANAGED = "http_response_firewall_managed";
+ /** http_response_headers_transform. */
+ String HTTP_RESPONSE_HEADERS_TRANSFORM = "http_response_headers_transform";
+ }
+
+ protected String rulesetPhase;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetPhase;
+
+ /**
+ * Instantiates a new Builder from an existing GetInstanceEntryPointRulesetVersionsOptions instance.
+ *
+ * @param getInstanceEntryPointRulesetVersionsOptions the instance to initialize the Builder with
+ */
+ private Builder(GetInstanceEntryPointRulesetVersionsOptions getInstanceEntryPointRulesetVersionsOptions) {
+ this.rulesetPhase = getInstanceEntryPointRulesetVersionsOptions.rulesetPhase;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetPhase the rulesetPhase
+ */
+ public Builder(String rulesetPhase) {
+ this.rulesetPhase = rulesetPhase;
+ }
+
+ /**
+ * Builds a GetInstanceEntryPointRulesetVersionsOptions.
+ *
+ * @return the new GetInstanceEntryPointRulesetVersionsOptions instance
+ */
+ public GetInstanceEntryPointRulesetVersionsOptions build() {
+ return new GetInstanceEntryPointRulesetVersionsOptions(this);
+ }
+
+ /**
+ * Set the rulesetPhase.
+ *
+ * @param rulesetPhase the rulesetPhase
+ * @return the GetInstanceEntryPointRulesetVersionsOptions builder
+ */
+ public Builder rulesetPhase(String rulesetPhase) {
+ this.rulesetPhase = rulesetPhase;
+ return this;
+ }
+ }
+
+ protected GetInstanceEntryPointRulesetVersionsOptions() { }
+
+ protected GetInstanceEntryPointRulesetVersionsOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetPhase,
+ "rulesetPhase cannot be empty");
+ rulesetPhase = builder.rulesetPhase;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a GetInstanceEntryPointRulesetVersionsOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetPhase.
+ *
+ * The phase of the ruleset.
+ *
+ * @return the rulesetPhase
+ */
+ public String rulesetPhase() {
+ return rulesetPhase;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceEntrypointRulesetOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceEntrypointRulesetOptions.java
new file mode 100644
index 000000000..4d95466af
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceEntrypointRulesetOptions.java
@@ -0,0 +1,150 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getInstanceEntrypointRuleset options.
+ */
+public class GetInstanceEntrypointRulesetOptions extends GenericModel {
+
+ /**
+ * The phase of the ruleset.
+ */
+ public interface RulesetPhase {
+ /** ddos_l4. */
+ String DDOS_L4 = "ddos_l4";
+ /** ddos_l7. */
+ String DDOS_L7 = "ddos_l7";
+ /** http_config_settings. */
+ String HTTP_CONFIG_SETTINGS = "http_config_settings";
+ /** http_custom_errors. */
+ String HTTP_CUSTOM_ERRORS = "http_custom_errors";
+ /** http_log_custom_fields. */
+ String HTTP_LOG_CUSTOM_FIELDS = "http_log_custom_fields";
+ /** http_ratelimit. */
+ String HTTP_RATELIMIT = "http_ratelimit";
+ /** http_request_cache_settings. */
+ String HTTP_REQUEST_CACHE_SETTINGS = "http_request_cache_settings";
+ /** http_request_dynamic_redirect. */
+ String HTTP_REQUEST_DYNAMIC_REDIRECT = "http_request_dynamic_redirect";
+ /** http_request_firewall_custom. */
+ String HTTP_REQUEST_FIREWALL_CUSTOM = "http_request_firewall_custom";
+ /** http_request_firewall_managed. */
+ String HTTP_REQUEST_FIREWALL_MANAGED = "http_request_firewall_managed";
+ /** http_request_late_transform. */
+ String HTTP_REQUEST_LATE_TRANSFORM = "http_request_late_transform";
+ /** http_request_origin. */
+ String HTTP_REQUEST_ORIGIN = "http_request_origin";
+ /** http_request_redirect. */
+ String HTTP_REQUEST_REDIRECT = "http_request_redirect";
+ /** http_request_sanitize. */
+ String HTTP_REQUEST_SANITIZE = "http_request_sanitize";
+ /** http_request_sbfm. */
+ String HTTP_REQUEST_SBFM = "http_request_sbfm";
+ /** http_request_select_configuration. */
+ String HTTP_REQUEST_SELECT_CONFIGURATION = "http_request_select_configuration";
+ /** http_request_transform. */
+ String HTTP_REQUEST_TRANSFORM = "http_request_transform";
+ /** http_response_compression. */
+ String HTTP_RESPONSE_COMPRESSION = "http_response_compression";
+ /** http_response_firewall_managed. */
+ String HTTP_RESPONSE_FIREWALL_MANAGED = "http_response_firewall_managed";
+ /** http_response_headers_transform. */
+ String HTTP_RESPONSE_HEADERS_TRANSFORM = "http_response_headers_transform";
+ }
+
+ protected String rulesetPhase;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetPhase;
+
+ /**
+ * Instantiates a new Builder from an existing GetInstanceEntrypointRulesetOptions instance.
+ *
+ * @param getInstanceEntrypointRulesetOptions the instance to initialize the Builder with
+ */
+ private Builder(GetInstanceEntrypointRulesetOptions getInstanceEntrypointRulesetOptions) {
+ this.rulesetPhase = getInstanceEntrypointRulesetOptions.rulesetPhase;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetPhase the rulesetPhase
+ */
+ public Builder(String rulesetPhase) {
+ this.rulesetPhase = rulesetPhase;
+ }
+
+ /**
+ * Builds a GetInstanceEntrypointRulesetOptions.
+ *
+ * @return the new GetInstanceEntrypointRulesetOptions instance
+ */
+ public GetInstanceEntrypointRulesetOptions build() {
+ return new GetInstanceEntrypointRulesetOptions(this);
+ }
+
+ /**
+ * Set the rulesetPhase.
+ *
+ * @param rulesetPhase the rulesetPhase
+ * @return the GetInstanceEntrypointRulesetOptions builder
+ */
+ public Builder rulesetPhase(String rulesetPhase) {
+ this.rulesetPhase = rulesetPhase;
+ return this;
+ }
+ }
+
+ protected GetInstanceEntrypointRulesetOptions() { }
+
+ protected GetInstanceEntrypointRulesetOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetPhase,
+ "rulesetPhase cannot be empty");
+ rulesetPhase = builder.rulesetPhase;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a GetInstanceEntrypointRulesetOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetPhase.
+ *
+ * The phase of the ruleset.
+ *
+ * @return the rulesetPhase
+ */
+ public String rulesetPhase() {
+ return rulesetPhase;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceRulesetOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceRulesetOptions.java
new file mode 100644
index 000000000..510c419a6
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceRulesetOptions.java
@@ -0,0 +1,104 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getInstanceRuleset options.
+ */
+public class GetInstanceRulesetOptions extends GenericModel {
+
+ protected String rulesetId;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetId;
+
+ /**
+ * Instantiates a new Builder from an existing GetInstanceRulesetOptions instance.
+ *
+ * @param getInstanceRulesetOptions the instance to initialize the Builder with
+ */
+ private Builder(GetInstanceRulesetOptions getInstanceRulesetOptions) {
+ this.rulesetId = getInstanceRulesetOptions.rulesetId;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetId the rulesetId
+ */
+ public Builder(String rulesetId) {
+ this.rulesetId = rulesetId;
+ }
+
+ /**
+ * Builds a GetInstanceRulesetOptions.
+ *
+ * @return the new GetInstanceRulesetOptions instance
+ */
+ public GetInstanceRulesetOptions build() {
+ return new GetInstanceRulesetOptions(this);
+ }
+
+ /**
+ * Set the rulesetId.
+ *
+ * @param rulesetId the rulesetId
+ * @return the GetInstanceRulesetOptions builder
+ */
+ public Builder rulesetId(String rulesetId) {
+ this.rulesetId = rulesetId;
+ return this;
+ }
+ }
+
+ protected GetInstanceRulesetOptions() { }
+
+ protected GetInstanceRulesetOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetId,
+ "rulesetId cannot be empty");
+ rulesetId = builder.rulesetId;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a GetInstanceRulesetOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetId.
+ *
+ * ID of a specific ruleset.
+ *
+ * @return the rulesetId
+ */
+ public String rulesetId() {
+ return rulesetId;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceRulesetVersionByTagOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceRulesetVersionByTagOptions.java
new file mode 100644
index 000000000..d31792caa
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceRulesetVersionByTagOptions.java
@@ -0,0 +1,164 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getInstanceRulesetVersionByTag options.
+ */
+public class GetInstanceRulesetVersionByTagOptions extends GenericModel {
+
+ protected String rulesetId;
+ protected String rulesetVersion;
+ protected String ruleTag;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetId;
+ private String rulesetVersion;
+ private String ruleTag;
+
+ /**
+ * Instantiates a new Builder from an existing GetInstanceRulesetVersionByTagOptions instance.
+ *
+ * @param getInstanceRulesetVersionByTagOptions the instance to initialize the Builder with
+ */
+ private Builder(GetInstanceRulesetVersionByTagOptions getInstanceRulesetVersionByTagOptions) {
+ this.rulesetId = getInstanceRulesetVersionByTagOptions.rulesetId;
+ this.rulesetVersion = getInstanceRulesetVersionByTagOptions.rulesetVersion;
+ this.ruleTag = getInstanceRulesetVersionByTagOptions.ruleTag;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetId the rulesetId
+ * @param rulesetVersion the rulesetVersion
+ * @param ruleTag the ruleTag
+ */
+ public Builder(String rulesetId, String rulesetVersion, String ruleTag) {
+ this.rulesetId = rulesetId;
+ this.rulesetVersion = rulesetVersion;
+ this.ruleTag = ruleTag;
+ }
+
+ /**
+ * Builds a GetInstanceRulesetVersionByTagOptions.
+ *
+ * @return the new GetInstanceRulesetVersionByTagOptions instance
+ */
+ public GetInstanceRulesetVersionByTagOptions build() {
+ return new GetInstanceRulesetVersionByTagOptions(this);
+ }
+
+ /**
+ * Set the rulesetId.
+ *
+ * @param rulesetId the rulesetId
+ * @return the GetInstanceRulesetVersionByTagOptions builder
+ */
+ public Builder rulesetId(String rulesetId) {
+ this.rulesetId = rulesetId;
+ return this;
+ }
+
+ /**
+ * Set the rulesetVersion.
+ *
+ * @param rulesetVersion the rulesetVersion
+ * @return the GetInstanceRulesetVersionByTagOptions builder
+ */
+ public Builder rulesetVersion(String rulesetVersion) {
+ this.rulesetVersion = rulesetVersion;
+ return this;
+ }
+
+ /**
+ * Set the ruleTag.
+ *
+ * @param ruleTag the ruleTag
+ * @return the GetInstanceRulesetVersionByTagOptions builder
+ */
+ public Builder ruleTag(String ruleTag) {
+ this.ruleTag = ruleTag;
+ return this;
+ }
+ }
+
+ protected GetInstanceRulesetVersionByTagOptions() { }
+
+ protected GetInstanceRulesetVersionByTagOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetId,
+ "rulesetId cannot be empty");
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetVersion,
+ "rulesetVersion cannot be empty");
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.ruleTag,
+ "ruleTag cannot be empty");
+ rulesetId = builder.rulesetId;
+ rulesetVersion = builder.rulesetVersion;
+ ruleTag = builder.ruleTag;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a GetInstanceRulesetVersionByTagOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetId.
+ *
+ * ID of a specific ruleset.
+ *
+ * @return the rulesetId
+ */
+ public String rulesetId() {
+ return rulesetId;
+ }
+
+ /**
+ * Gets the rulesetVersion.
+ *
+ * The version of the ruleset.
+ *
+ * @return the rulesetVersion
+ */
+ public String rulesetVersion() {
+ return rulesetVersion;
+ }
+
+ /**
+ * Gets the ruleTag.
+ *
+ * A category of the rule.
+ *
+ * @return the ruleTag
+ */
+ public String ruleTag() {
+ return ruleTag;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceRulesetVersionOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceRulesetVersionOptions.java
new file mode 100644
index 000000000..853e3813a
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceRulesetVersionOptions.java
@@ -0,0 +1,134 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getInstanceRulesetVersion options.
+ */
+public class GetInstanceRulesetVersionOptions extends GenericModel {
+
+ protected String rulesetId;
+ protected String rulesetVersion;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetId;
+ private String rulesetVersion;
+
+ /**
+ * Instantiates a new Builder from an existing GetInstanceRulesetVersionOptions instance.
+ *
+ * @param getInstanceRulesetVersionOptions the instance to initialize the Builder with
+ */
+ private Builder(GetInstanceRulesetVersionOptions getInstanceRulesetVersionOptions) {
+ this.rulesetId = getInstanceRulesetVersionOptions.rulesetId;
+ this.rulesetVersion = getInstanceRulesetVersionOptions.rulesetVersion;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetId the rulesetId
+ * @param rulesetVersion the rulesetVersion
+ */
+ public Builder(String rulesetId, String rulesetVersion) {
+ this.rulesetId = rulesetId;
+ this.rulesetVersion = rulesetVersion;
+ }
+
+ /**
+ * Builds a GetInstanceRulesetVersionOptions.
+ *
+ * @return the new GetInstanceRulesetVersionOptions instance
+ */
+ public GetInstanceRulesetVersionOptions build() {
+ return new GetInstanceRulesetVersionOptions(this);
+ }
+
+ /**
+ * Set the rulesetId.
+ *
+ * @param rulesetId the rulesetId
+ * @return the GetInstanceRulesetVersionOptions builder
+ */
+ public Builder rulesetId(String rulesetId) {
+ this.rulesetId = rulesetId;
+ return this;
+ }
+
+ /**
+ * Set the rulesetVersion.
+ *
+ * @param rulesetVersion the rulesetVersion
+ * @return the GetInstanceRulesetVersionOptions builder
+ */
+ public Builder rulesetVersion(String rulesetVersion) {
+ this.rulesetVersion = rulesetVersion;
+ return this;
+ }
+ }
+
+ protected GetInstanceRulesetVersionOptions() { }
+
+ protected GetInstanceRulesetVersionOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetId,
+ "rulesetId cannot be empty");
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetVersion,
+ "rulesetVersion cannot be empty");
+ rulesetId = builder.rulesetId;
+ rulesetVersion = builder.rulesetVersion;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a GetInstanceRulesetVersionOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetId.
+ *
+ * ID of a specific ruleset.
+ *
+ * @return the rulesetId
+ */
+ public String rulesetId() {
+ return rulesetId;
+ }
+
+ /**
+ * Gets the rulesetVersion.
+ *
+ * The version of the ruleset.
+ *
+ * @return the rulesetVersion
+ */
+ public String rulesetVersion() {
+ return rulesetVersion;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceRulesetVersionsOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceRulesetVersionsOptions.java
new file mode 100644
index 000000000..7081b3ed4
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceRulesetVersionsOptions.java
@@ -0,0 +1,104 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getInstanceRulesetVersions options.
+ */
+public class GetInstanceRulesetVersionsOptions extends GenericModel {
+
+ protected String rulesetId;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetId;
+
+ /**
+ * Instantiates a new Builder from an existing GetInstanceRulesetVersionsOptions instance.
+ *
+ * @param getInstanceRulesetVersionsOptions the instance to initialize the Builder with
+ */
+ private Builder(GetInstanceRulesetVersionsOptions getInstanceRulesetVersionsOptions) {
+ this.rulesetId = getInstanceRulesetVersionsOptions.rulesetId;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetId the rulesetId
+ */
+ public Builder(String rulesetId) {
+ this.rulesetId = rulesetId;
+ }
+
+ /**
+ * Builds a GetInstanceRulesetVersionsOptions.
+ *
+ * @return the new GetInstanceRulesetVersionsOptions instance
+ */
+ public GetInstanceRulesetVersionsOptions build() {
+ return new GetInstanceRulesetVersionsOptions(this);
+ }
+
+ /**
+ * Set the rulesetId.
+ *
+ * @param rulesetId the rulesetId
+ * @return the GetInstanceRulesetVersionsOptions builder
+ */
+ public Builder rulesetId(String rulesetId) {
+ this.rulesetId = rulesetId;
+ return this;
+ }
+ }
+
+ protected GetInstanceRulesetVersionsOptions() { }
+
+ protected GetInstanceRulesetVersionsOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetId,
+ "rulesetId cannot be empty");
+ rulesetId = builder.rulesetId;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a GetInstanceRulesetVersionsOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetId.
+ *
+ * ID of a specific ruleset.
+ *
+ * @return the rulesetId
+ */
+ public String rulesetId() {
+ return rulesetId;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceRulesetsOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceRulesetsOptions.java
new file mode 100644
index 000000000..52fc2d401
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetInstanceRulesetsOptions.java
@@ -0,0 +1,29 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getInstanceRulesets options.
+ */
+public class GetInstanceRulesetsOptions extends GenericModel {
+
+ /**
+ * Construct a new instance of GetInstanceRulesetsOptions.
+ */
+ public GetInstanceRulesetsOptions() {
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneEntryPointRulesetVersionOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneEntryPointRulesetVersionOptions.java
new file mode 100644
index 000000000..eec09ab07
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneEntryPointRulesetVersionOptions.java
@@ -0,0 +1,180 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getZoneEntryPointRulesetVersion options.
+ */
+public class GetZoneEntryPointRulesetVersionOptions extends GenericModel {
+
+ /**
+ * The phase of the ruleset.
+ */
+ public interface RulesetPhase {
+ /** ddos_l4. */
+ String DDOS_L4 = "ddos_l4";
+ /** ddos_l7. */
+ String DDOS_L7 = "ddos_l7";
+ /** http_config_settings. */
+ String HTTP_CONFIG_SETTINGS = "http_config_settings";
+ /** http_custom_errors. */
+ String HTTP_CUSTOM_ERRORS = "http_custom_errors";
+ /** http_log_custom_fields. */
+ String HTTP_LOG_CUSTOM_FIELDS = "http_log_custom_fields";
+ /** http_ratelimit. */
+ String HTTP_RATELIMIT = "http_ratelimit";
+ /** http_request_cache_settings. */
+ String HTTP_REQUEST_CACHE_SETTINGS = "http_request_cache_settings";
+ /** http_request_dynamic_redirect. */
+ String HTTP_REQUEST_DYNAMIC_REDIRECT = "http_request_dynamic_redirect";
+ /** http_request_firewall_custom. */
+ String HTTP_REQUEST_FIREWALL_CUSTOM = "http_request_firewall_custom";
+ /** http_request_firewall_managed. */
+ String HTTP_REQUEST_FIREWALL_MANAGED = "http_request_firewall_managed";
+ /** http_request_late_transform. */
+ String HTTP_REQUEST_LATE_TRANSFORM = "http_request_late_transform";
+ /** http_request_origin. */
+ String HTTP_REQUEST_ORIGIN = "http_request_origin";
+ /** http_request_redirect. */
+ String HTTP_REQUEST_REDIRECT = "http_request_redirect";
+ /** http_request_sanitize. */
+ String HTTP_REQUEST_SANITIZE = "http_request_sanitize";
+ /** http_request_sbfm. */
+ String HTTP_REQUEST_SBFM = "http_request_sbfm";
+ /** http_request_select_configuration. */
+ String HTTP_REQUEST_SELECT_CONFIGURATION = "http_request_select_configuration";
+ /** http_request_transform. */
+ String HTTP_REQUEST_TRANSFORM = "http_request_transform";
+ /** http_response_compression. */
+ String HTTP_RESPONSE_COMPRESSION = "http_response_compression";
+ /** http_response_firewall_managed. */
+ String HTTP_RESPONSE_FIREWALL_MANAGED = "http_response_firewall_managed";
+ /** http_response_headers_transform. */
+ String HTTP_RESPONSE_HEADERS_TRANSFORM = "http_response_headers_transform";
+ }
+
+ protected String rulesetPhase;
+ protected String rulesetVersion;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetPhase;
+ private String rulesetVersion;
+
+ /**
+ * Instantiates a new Builder from an existing GetZoneEntryPointRulesetVersionOptions instance.
+ *
+ * @param getZoneEntryPointRulesetVersionOptions the instance to initialize the Builder with
+ */
+ private Builder(GetZoneEntryPointRulesetVersionOptions getZoneEntryPointRulesetVersionOptions) {
+ this.rulesetPhase = getZoneEntryPointRulesetVersionOptions.rulesetPhase;
+ this.rulesetVersion = getZoneEntryPointRulesetVersionOptions.rulesetVersion;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetPhase the rulesetPhase
+ * @param rulesetVersion the rulesetVersion
+ */
+ public Builder(String rulesetPhase, String rulesetVersion) {
+ this.rulesetPhase = rulesetPhase;
+ this.rulesetVersion = rulesetVersion;
+ }
+
+ /**
+ * Builds a GetZoneEntryPointRulesetVersionOptions.
+ *
+ * @return the new GetZoneEntryPointRulesetVersionOptions instance
+ */
+ public GetZoneEntryPointRulesetVersionOptions build() {
+ return new GetZoneEntryPointRulesetVersionOptions(this);
+ }
+
+ /**
+ * Set the rulesetPhase.
+ *
+ * @param rulesetPhase the rulesetPhase
+ * @return the GetZoneEntryPointRulesetVersionOptions builder
+ */
+ public Builder rulesetPhase(String rulesetPhase) {
+ this.rulesetPhase = rulesetPhase;
+ return this;
+ }
+
+ /**
+ * Set the rulesetVersion.
+ *
+ * @param rulesetVersion the rulesetVersion
+ * @return the GetZoneEntryPointRulesetVersionOptions builder
+ */
+ public Builder rulesetVersion(String rulesetVersion) {
+ this.rulesetVersion = rulesetVersion;
+ return this;
+ }
+ }
+
+ protected GetZoneEntryPointRulesetVersionOptions() { }
+
+ protected GetZoneEntryPointRulesetVersionOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetPhase,
+ "rulesetPhase cannot be empty");
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetVersion,
+ "rulesetVersion cannot be empty");
+ rulesetPhase = builder.rulesetPhase;
+ rulesetVersion = builder.rulesetVersion;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a GetZoneEntryPointRulesetVersionOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetPhase.
+ *
+ * The phase of the ruleset.
+ *
+ * @return the rulesetPhase
+ */
+ public String rulesetPhase() {
+ return rulesetPhase;
+ }
+
+ /**
+ * Gets the rulesetVersion.
+ *
+ * The version of the ruleset.
+ *
+ * @return the rulesetVersion
+ */
+ public String rulesetVersion() {
+ return rulesetVersion;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneEntryPointRulesetVersionsOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneEntryPointRulesetVersionsOptions.java
new file mode 100644
index 000000000..c9dc6314f
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneEntryPointRulesetVersionsOptions.java
@@ -0,0 +1,150 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getZoneEntryPointRulesetVersions options.
+ */
+public class GetZoneEntryPointRulesetVersionsOptions extends GenericModel {
+
+ /**
+ * The phase of the ruleset.
+ */
+ public interface RulesetPhase {
+ /** ddos_l4. */
+ String DDOS_L4 = "ddos_l4";
+ /** ddos_l7. */
+ String DDOS_L7 = "ddos_l7";
+ /** http_config_settings. */
+ String HTTP_CONFIG_SETTINGS = "http_config_settings";
+ /** http_custom_errors. */
+ String HTTP_CUSTOM_ERRORS = "http_custom_errors";
+ /** http_log_custom_fields. */
+ String HTTP_LOG_CUSTOM_FIELDS = "http_log_custom_fields";
+ /** http_ratelimit. */
+ String HTTP_RATELIMIT = "http_ratelimit";
+ /** http_request_cache_settings. */
+ String HTTP_REQUEST_CACHE_SETTINGS = "http_request_cache_settings";
+ /** http_request_dynamic_redirect. */
+ String HTTP_REQUEST_DYNAMIC_REDIRECT = "http_request_dynamic_redirect";
+ /** http_request_firewall_custom. */
+ String HTTP_REQUEST_FIREWALL_CUSTOM = "http_request_firewall_custom";
+ /** http_request_firewall_managed. */
+ String HTTP_REQUEST_FIREWALL_MANAGED = "http_request_firewall_managed";
+ /** http_request_late_transform. */
+ String HTTP_REQUEST_LATE_TRANSFORM = "http_request_late_transform";
+ /** http_request_origin. */
+ String HTTP_REQUEST_ORIGIN = "http_request_origin";
+ /** http_request_redirect. */
+ String HTTP_REQUEST_REDIRECT = "http_request_redirect";
+ /** http_request_sanitize. */
+ String HTTP_REQUEST_SANITIZE = "http_request_sanitize";
+ /** http_request_sbfm. */
+ String HTTP_REQUEST_SBFM = "http_request_sbfm";
+ /** http_request_select_configuration. */
+ String HTTP_REQUEST_SELECT_CONFIGURATION = "http_request_select_configuration";
+ /** http_request_transform. */
+ String HTTP_REQUEST_TRANSFORM = "http_request_transform";
+ /** http_response_compression. */
+ String HTTP_RESPONSE_COMPRESSION = "http_response_compression";
+ /** http_response_firewall_managed. */
+ String HTTP_RESPONSE_FIREWALL_MANAGED = "http_response_firewall_managed";
+ /** http_response_headers_transform. */
+ String HTTP_RESPONSE_HEADERS_TRANSFORM = "http_response_headers_transform";
+ }
+
+ protected String rulesetPhase;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetPhase;
+
+ /**
+ * Instantiates a new Builder from an existing GetZoneEntryPointRulesetVersionsOptions instance.
+ *
+ * @param getZoneEntryPointRulesetVersionsOptions the instance to initialize the Builder with
+ */
+ private Builder(GetZoneEntryPointRulesetVersionsOptions getZoneEntryPointRulesetVersionsOptions) {
+ this.rulesetPhase = getZoneEntryPointRulesetVersionsOptions.rulesetPhase;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetPhase the rulesetPhase
+ */
+ public Builder(String rulesetPhase) {
+ this.rulesetPhase = rulesetPhase;
+ }
+
+ /**
+ * Builds a GetZoneEntryPointRulesetVersionsOptions.
+ *
+ * @return the new GetZoneEntryPointRulesetVersionsOptions instance
+ */
+ public GetZoneEntryPointRulesetVersionsOptions build() {
+ return new GetZoneEntryPointRulesetVersionsOptions(this);
+ }
+
+ /**
+ * Set the rulesetPhase.
+ *
+ * @param rulesetPhase the rulesetPhase
+ * @return the GetZoneEntryPointRulesetVersionsOptions builder
+ */
+ public Builder rulesetPhase(String rulesetPhase) {
+ this.rulesetPhase = rulesetPhase;
+ return this;
+ }
+ }
+
+ protected GetZoneEntryPointRulesetVersionsOptions() { }
+
+ protected GetZoneEntryPointRulesetVersionsOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetPhase,
+ "rulesetPhase cannot be empty");
+ rulesetPhase = builder.rulesetPhase;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a GetZoneEntryPointRulesetVersionsOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetPhase.
+ *
+ * The phase of the ruleset.
+ *
+ * @return the rulesetPhase
+ */
+ public String rulesetPhase() {
+ return rulesetPhase;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneEntrypointRulesetOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneEntrypointRulesetOptions.java
new file mode 100644
index 000000000..11a0fbd15
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneEntrypointRulesetOptions.java
@@ -0,0 +1,150 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getZoneEntrypointRuleset options.
+ */
+public class GetZoneEntrypointRulesetOptions extends GenericModel {
+
+ /**
+ * The phase of the ruleset.
+ */
+ public interface RulesetPhase {
+ /** ddos_l4. */
+ String DDOS_L4 = "ddos_l4";
+ /** ddos_l7. */
+ String DDOS_L7 = "ddos_l7";
+ /** http_config_settings. */
+ String HTTP_CONFIG_SETTINGS = "http_config_settings";
+ /** http_custom_errors. */
+ String HTTP_CUSTOM_ERRORS = "http_custom_errors";
+ /** http_log_custom_fields. */
+ String HTTP_LOG_CUSTOM_FIELDS = "http_log_custom_fields";
+ /** http_ratelimit. */
+ String HTTP_RATELIMIT = "http_ratelimit";
+ /** http_request_cache_settings. */
+ String HTTP_REQUEST_CACHE_SETTINGS = "http_request_cache_settings";
+ /** http_request_dynamic_redirect. */
+ String HTTP_REQUEST_DYNAMIC_REDIRECT = "http_request_dynamic_redirect";
+ /** http_request_firewall_custom. */
+ String HTTP_REQUEST_FIREWALL_CUSTOM = "http_request_firewall_custom";
+ /** http_request_firewall_managed. */
+ String HTTP_REQUEST_FIREWALL_MANAGED = "http_request_firewall_managed";
+ /** http_request_late_transform. */
+ String HTTP_REQUEST_LATE_TRANSFORM = "http_request_late_transform";
+ /** http_request_origin. */
+ String HTTP_REQUEST_ORIGIN = "http_request_origin";
+ /** http_request_redirect. */
+ String HTTP_REQUEST_REDIRECT = "http_request_redirect";
+ /** http_request_sanitize. */
+ String HTTP_REQUEST_SANITIZE = "http_request_sanitize";
+ /** http_request_sbfm. */
+ String HTTP_REQUEST_SBFM = "http_request_sbfm";
+ /** http_request_select_configuration. */
+ String HTTP_REQUEST_SELECT_CONFIGURATION = "http_request_select_configuration";
+ /** http_request_transform. */
+ String HTTP_REQUEST_TRANSFORM = "http_request_transform";
+ /** http_response_compression. */
+ String HTTP_RESPONSE_COMPRESSION = "http_response_compression";
+ /** http_response_firewall_managed. */
+ String HTTP_RESPONSE_FIREWALL_MANAGED = "http_response_firewall_managed";
+ /** http_response_headers_transform. */
+ String HTTP_RESPONSE_HEADERS_TRANSFORM = "http_response_headers_transform";
+ }
+
+ protected String rulesetPhase;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetPhase;
+
+ /**
+ * Instantiates a new Builder from an existing GetZoneEntrypointRulesetOptions instance.
+ *
+ * @param getZoneEntrypointRulesetOptions the instance to initialize the Builder with
+ */
+ private Builder(GetZoneEntrypointRulesetOptions getZoneEntrypointRulesetOptions) {
+ this.rulesetPhase = getZoneEntrypointRulesetOptions.rulesetPhase;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetPhase the rulesetPhase
+ */
+ public Builder(String rulesetPhase) {
+ this.rulesetPhase = rulesetPhase;
+ }
+
+ /**
+ * Builds a GetZoneEntrypointRulesetOptions.
+ *
+ * @return the new GetZoneEntrypointRulesetOptions instance
+ */
+ public GetZoneEntrypointRulesetOptions build() {
+ return new GetZoneEntrypointRulesetOptions(this);
+ }
+
+ /**
+ * Set the rulesetPhase.
+ *
+ * @param rulesetPhase the rulesetPhase
+ * @return the GetZoneEntrypointRulesetOptions builder
+ */
+ public Builder rulesetPhase(String rulesetPhase) {
+ this.rulesetPhase = rulesetPhase;
+ return this;
+ }
+ }
+
+ protected GetZoneEntrypointRulesetOptions() { }
+
+ protected GetZoneEntrypointRulesetOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetPhase,
+ "rulesetPhase cannot be empty");
+ rulesetPhase = builder.rulesetPhase;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a GetZoneEntrypointRulesetOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetPhase.
+ *
+ * The phase of the ruleset.
+ *
+ * @return the rulesetPhase
+ */
+ public String rulesetPhase() {
+ return rulesetPhase;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneRulesetOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneRulesetOptions.java
new file mode 100644
index 000000000..e7ba6d3d9
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneRulesetOptions.java
@@ -0,0 +1,104 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getZoneRuleset options.
+ */
+public class GetZoneRulesetOptions extends GenericModel {
+
+ protected String rulesetId;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetId;
+
+ /**
+ * Instantiates a new Builder from an existing GetZoneRulesetOptions instance.
+ *
+ * @param getZoneRulesetOptions the instance to initialize the Builder with
+ */
+ private Builder(GetZoneRulesetOptions getZoneRulesetOptions) {
+ this.rulesetId = getZoneRulesetOptions.rulesetId;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetId the rulesetId
+ */
+ public Builder(String rulesetId) {
+ this.rulesetId = rulesetId;
+ }
+
+ /**
+ * Builds a GetZoneRulesetOptions.
+ *
+ * @return the new GetZoneRulesetOptions instance
+ */
+ public GetZoneRulesetOptions build() {
+ return new GetZoneRulesetOptions(this);
+ }
+
+ /**
+ * Set the rulesetId.
+ *
+ * @param rulesetId the rulesetId
+ * @return the GetZoneRulesetOptions builder
+ */
+ public Builder rulesetId(String rulesetId) {
+ this.rulesetId = rulesetId;
+ return this;
+ }
+ }
+
+ protected GetZoneRulesetOptions() { }
+
+ protected GetZoneRulesetOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetId,
+ "rulesetId cannot be empty");
+ rulesetId = builder.rulesetId;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a GetZoneRulesetOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetId.
+ *
+ * ID of a specific ruleset.
+ *
+ * @return the rulesetId
+ */
+ public String rulesetId() {
+ return rulesetId;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneRulesetVersionOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneRulesetVersionOptions.java
new file mode 100644
index 000000000..b4c1da3c8
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneRulesetVersionOptions.java
@@ -0,0 +1,134 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getZoneRulesetVersion options.
+ */
+public class GetZoneRulesetVersionOptions extends GenericModel {
+
+ protected String rulesetId;
+ protected String rulesetVersion;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetId;
+ private String rulesetVersion;
+
+ /**
+ * Instantiates a new Builder from an existing GetZoneRulesetVersionOptions instance.
+ *
+ * @param getZoneRulesetVersionOptions the instance to initialize the Builder with
+ */
+ private Builder(GetZoneRulesetVersionOptions getZoneRulesetVersionOptions) {
+ this.rulesetId = getZoneRulesetVersionOptions.rulesetId;
+ this.rulesetVersion = getZoneRulesetVersionOptions.rulesetVersion;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetId the rulesetId
+ * @param rulesetVersion the rulesetVersion
+ */
+ public Builder(String rulesetId, String rulesetVersion) {
+ this.rulesetId = rulesetId;
+ this.rulesetVersion = rulesetVersion;
+ }
+
+ /**
+ * Builds a GetZoneRulesetVersionOptions.
+ *
+ * @return the new GetZoneRulesetVersionOptions instance
+ */
+ public GetZoneRulesetVersionOptions build() {
+ return new GetZoneRulesetVersionOptions(this);
+ }
+
+ /**
+ * Set the rulesetId.
+ *
+ * @param rulesetId the rulesetId
+ * @return the GetZoneRulesetVersionOptions builder
+ */
+ public Builder rulesetId(String rulesetId) {
+ this.rulesetId = rulesetId;
+ return this;
+ }
+
+ /**
+ * Set the rulesetVersion.
+ *
+ * @param rulesetVersion the rulesetVersion
+ * @return the GetZoneRulesetVersionOptions builder
+ */
+ public Builder rulesetVersion(String rulesetVersion) {
+ this.rulesetVersion = rulesetVersion;
+ return this;
+ }
+ }
+
+ protected GetZoneRulesetVersionOptions() { }
+
+ protected GetZoneRulesetVersionOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetId,
+ "rulesetId cannot be empty");
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetVersion,
+ "rulesetVersion cannot be empty");
+ rulesetId = builder.rulesetId;
+ rulesetVersion = builder.rulesetVersion;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a GetZoneRulesetVersionOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetId.
+ *
+ * ID of a specific ruleset.
+ *
+ * @return the rulesetId
+ */
+ public String rulesetId() {
+ return rulesetId;
+ }
+
+ /**
+ * Gets the rulesetVersion.
+ *
+ * The version of the ruleset.
+ *
+ * @return the rulesetVersion
+ */
+ public String rulesetVersion() {
+ return rulesetVersion;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneRulesetVersionsOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneRulesetVersionsOptions.java
new file mode 100644
index 000000000..75f631f00
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneRulesetVersionsOptions.java
@@ -0,0 +1,104 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getZoneRulesetVersions options.
+ */
+public class GetZoneRulesetVersionsOptions extends GenericModel {
+
+ protected String rulesetId;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetId;
+
+ /**
+ * Instantiates a new Builder from an existing GetZoneRulesetVersionsOptions instance.
+ *
+ * @param getZoneRulesetVersionsOptions the instance to initialize the Builder with
+ */
+ private Builder(GetZoneRulesetVersionsOptions getZoneRulesetVersionsOptions) {
+ this.rulesetId = getZoneRulesetVersionsOptions.rulesetId;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetId the rulesetId
+ */
+ public Builder(String rulesetId) {
+ this.rulesetId = rulesetId;
+ }
+
+ /**
+ * Builds a GetZoneRulesetVersionsOptions.
+ *
+ * @return the new GetZoneRulesetVersionsOptions instance
+ */
+ public GetZoneRulesetVersionsOptions build() {
+ return new GetZoneRulesetVersionsOptions(this);
+ }
+
+ /**
+ * Set the rulesetId.
+ *
+ * @param rulesetId the rulesetId
+ * @return the GetZoneRulesetVersionsOptions builder
+ */
+ public Builder rulesetId(String rulesetId) {
+ this.rulesetId = rulesetId;
+ return this;
+ }
+ }
+
+ protected GetZoneRulesetVersionsOptions() { }
+
+ protected GetZoneRulesetVersionsOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetId,
+ "rulesetId cannot be empty");
+ rulesetId = builder.rulesetId;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a GetZoneRulesetVersionsOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetId.
+ *
+ * ID of a specific ruleset.
+ *
+ * @return the rulesetId
+ */
+ public String rulesetId() {
+ return rulesetId;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneRulesetsOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneRulesetsOptions.java
new file mode 100644
index 000000000..f6a988692
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/GetZoneRulesetsOptions.java
@@ -0,0 +1,29 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getZoneRulesets options.
+ */
+public class GetZoneRulesetsOptions extends GenericModel {
+
+ /**
+ * Construct a new instance of GetZoneRulesetsOptions.
+ */
+ public GetZoneRulesetsOptions() {
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/ListRulesetsResp.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/ListRulesetsResp.java
new file mode 100644
index 000000000..0edb624f9
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/ListRulesetsResp.java
@@ -0,0 +1,76 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * List rulesets response.
+ */
+public class ListRulesetsResp extends GenericModel {
+
+ protected Boolean success;
+ protected List errors;
+ protected List messages;
+ protected List result;
+
+ protected ListRulesetsResp() { }
+
+ /**
+ * Gets the success.
+ *
+ * Was operation successful.
+ *
+ * @return the success
+ */
+ public Boolean isSuccess() {
+ return success;
+ }
+
+ /**
+ * Gets the errors.
+ *
+ * Array of errors encountered.
+ *
+ * @return the errors
+ */
+ public List getErrors() {
+ return errors;
+ }
+
+ /**
+ * Gets the messages.
+ *
+ * Array of messages returned.
+ *
+ * @return the messages
+ */
+ public List getMessages() {
+ return messages;
+ }
+
+ /**
+ * Gets the result.
+ *
+ * Container for response information.
+ *
+ * @return the result
+ */
+ public List getResult() {
+ return result;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/ListedRuleset.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/ListedRuleset.java
new file mode 100644
index 000000000..c62819725
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/ListedRuleset.java
@@ -0,0 +1,167 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * ListedRuleset.
+ */
+public class ListedRuleset extends GenericModel {
+
+ public interface Kind {
+ /** managed. */
+ String MANAGED = "managed";
+ /** custom. */
+ String CUSTOM = "custom";
+ /** root. */
+ String ROOT = "root";
+ /** zone. */
+ String ZONE = "zone";
+ }
+
+ /**
+ * The phase of the ruleset.
+ */
+ public interface Phase {
+ /** ddos_l4. */
+ String DDOS_L4 = "ddos_l4";
+ /** ddos_l7. */
+ String DDOS_L7 = "ddos_l7";
+ /** http_config_settings. */
+ String HTTP_CONFIG_SETTINGS = "http_config_settings";
+ /** http_custom_errors. */
+ String HTTP_CUSTOM_ERRORS = "http_custom_errors";
+ /** http_log_custom_fields. */
+ String HTTP_LOG_CUSTOM_FIELDS = "http_log_custom_fields";
+ /** http_ratelimit. */
+ String HTTP_RATELIMIT = "http_ratelimit";
+ /** http_request_cache_settings. */
+ String HTTP_REQUEST_CACHE_SETTINGS = "http_request_cache_settings";
+ /** http_request_dynamic_redirect. */
+ String HTTP_REQUEST_DYNAMIC_REDIRECT = "http_request_dynamic_redirect";
+ /** http_request_firewall_custom. */
+ String HTTP_REQUEST_FIREWALL_CUSTOM = "http_request_firewall_custom";
+ /** http_request_firewall_managed. */
+ String HTTP_REQUEST_FIREWALL_MANAGED = "http_request_firewall_managed";
+ /** http_request_late_transform. */
+ String HTTP_REQUEST_LATE_TRANSFORM = "http_request_late_transform";
+ /** http_request_origin. */
+ String HTTP_REQUEST_ORIGIN = "http_request_origin";
+ /** http_request_redirect. */
+ String HTTP_REQUEST_REDIRECT = "http_request_redirect";
+ /** http_request_sanitize. */
+ String HTTP_REQUEST_SANITIZE = "http_request_sanitize";
+ /** http_request_sbfm. */
+ String HTTP_REQUEST_SBFM = "http_request_sbfm";
+ /** http_request_select_configuration. */
+ String HTTP_REQUEST_SELECT_CONFIGURATION = "http_request_select_configuration";
+ /** http_request_transform. */
+ String HTTP_REQUEST_TRANSFORM = "http_request_transform";
+ /** http_response_compression. */
+ String HTTP_RESPONSE_COMPRESSION = "http_response_compression";
+ /** http_response_firewall_managed. */
+ String HTTP_RESPONSE_FIREWALL_MANAGED = "http_response_firewall_managed";
+ /** http_response_headers_transform. */
+ String HTTP_RESPONSE_HEADERS_TRANSFORM = "http_response_headers_transform";
+ }
+
+ protected String description;
+ protected String id;
+ protected String kind;
+ @SerializedName("last_updated")
+ protected String lastUpdated;
+ protected String name;
+ protected String phase;
+ protected String version;
+
+ protected ListedRuleset() { }
+
+ /**
+ * Gets the description.
+ *
+ * description of the ruleset.
+ *
+ * @return the description
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * Gets the id.
+ *
+ * unique ID of the ruleset.
+ *
+ * @return the id
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Gets the kind.
+ *
+ * @return the kind
+ */
+ public String getKind() {
+ return kind;
+ }
+
+ /**
+ * Gets the lastUpdated.
+ *
+ * The timestamp of when the resource was last modified.
+ *
+ * @return the lastUpdated
+ */
+ public String getLastUpdated() {
+ return lastUpdated;
+ }
+
+ /**
+ * Gets the name.
+ *
+ * human readable name of the ruleset.
+ *
+ * @return the name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Gets the phase.
+ *
+ * The phase of the ruleset.
+ *
+ * @return the phase
+ */
+ public String getPhase() {
+ return phase;
+ }
+
+ /**
+ * Gets the version.
+ *
+ * The version of the ruleset.
+ *
+ * @return the version
+ */
+ public String getVersion() {
+ return version;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/Logging.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/Logging.java
new file mode 100644
index 000000000..d535d2a86
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/Logging.java
@@ -0,0 +1,102 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * Logging.
+ */
+public class Logging extends GenericModel {
+
+ protected Boolean enabled;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private Boolean enabled;
+
+ /**
+ * Instantiates a new Builder from an existing Logging instance.
+ *
+ * @param logging the instance to initialize the Builder with
+ */
+ private Builder(Logging logging) {
+ this.enabled = logging.enabled;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param enabled the enabled
+ */
+ public Builder(Boolean enabled) {
+ this.enabled = enabled;
+ }
+
+ /**
+ * Builds a Logging.
+ *
+ * @return the new Logging instance
+ */
+ public Logging build() {
+ return new Logging(this);
+ }
+
+ /**
+ * Set the enabled.
+ *
+ * @param enabled the enabled
+ * @return the Logging builder
+ */
+ public Builder enabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+ }
+
+ protected Logging() { }
+
+ protected Logging(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(builder.enabled,
+ "enabled cannot be null");
+ enabled = builder.enabled;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a Logging builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the enabled.
+ *
+ * @return the enabled
+ */
+ public Boolean enabled() {
+ return enabled;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/Message.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/Message.java
new file mode 100644
index 000000000..9b98dc501
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/Message.java
@@ -0,0 +1,62 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * Message.
+ */
+public class Message extends GenericModel {
+
+ protected Long code;
+ protected String message;
+ protected MessageSource source;
+
+ protected Message() { }
+
+ /**
+ * Gets the code.
+ *
+ * A unique code for this message.
+ *
+ * @return the code
+ */
+ public Long getCode() {
+ return code;
+ }
+
+ /**
+ * Gets the message.
+ *
+ * A text description of this message.
+ *
+ * @return the message
+ */
+ public String getMessage() {
+ return message;
+ }
+
+ /**
+ * Gets the source.
+ *
+ * The source of this message.
+ *
+ * @return the source
+ */
+ public MessageSource getSource() {
+ return source;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/MessageSource.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/MessageSource.java
new file mode 100644
index 000000000..31617c6c5
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/MessageSource.java
@@ -0,0 +1,38 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The source of this message.
+ */
+public class MessageSource extends GenericModel {
+
+ protected String pointer;
+
+ protected MessageSource() { }
+
+ /**
+ * Gets the pointer.
+ *
+ * A JSON pointer to the field that is the source of the message.
+ *
+ * @return the pointer
+ */
+ public String getPointer() {
+ return pointer;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/Overrides.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/Overrides.java
new file mode 100644
index 000000000..9533e5018
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/Overrides.java
@@ -0,0 +1,242 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * Overrides.
+ */
+public class Overrides extends GenericModel {
+
+ /**
+ * The sensitivity level of the rule.
+ */
+ public interface SensitivityLevel {
+ /** high. */
+ String HIGH = "high";
+ /** medium. */
+ String MEDIUM = "medium";
+ /** low. */
+ String LOW = "low";
+ }
+
+ protected String action;
+ protected Boolean enabled;
+ @SerializedName("sensitivity_level")
+ protected String sensitivityLevel;
+ protected List rules;
+ protected List categories;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String action;
+ private Boolean enabled;
+ private String sensitivityLevel;
+ private List rules;
+ private List categories;
+
+ /**
+ * Instantiates a new Builder from an existing Overrides instance.
+ *
+ * @param overrides the instance to initialize the Builder with
+ */
+ private Builder(Overrides overrides) {
+ this.action = overrides.action;
+ this.enabled = overrides.enabled;
+ this.sensitivityLevel = overrides.sensitivityLevel;
+ this.rules = overrides.rules;
+ this.categories = overrides.categories;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Builds a Overrides.
+ *
+ * @return the new Overrides instance
+ */
+ public Overrides build() {
+ return new Overrides(this);
+ }
+
+ /**
+ * Adds a new element to rules.
+ *
+ * @param rules the new element to be added
+ * @return the Overrides builder
+ */
+ public Builder addRules(RulesOverride rules) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(rules,
+ "rules cannot be null");
+ if (this.rules == null) {
+ this.rules = new ArrayList();
+ }
+ this.rules.add(rules);
+ return this;
+ }
+
+ /**
+ * Adds a new element to categories.
+ *
+ * @param categories the new element to be added
+ * @return the Overrides builder
+ */
+ public Builder addCategories(CategoriesOverride categories) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(categories,
+ "categories cannot be null");
+ if (this.categories == null) {
+ this.categories = new ArrayList();
+ }
+ this.categories.add(categories);
+ return this;
+ }
+
+ /**
+ * Set the action.
+ *
+ * @param action the action
+ * @return the Overrides builder
+ */
+ public Builder action(String action) {
+ this.action = action;
+ return this;
+ }
+
+ /**
+ * Set the enabled.
+ *
+ * @param enabled the enabled
+ * @return the Overrides builder
+ */
+ public Builder enabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Set the sensitivityLevel.
+ *
+ * @param sensitivityLevel the sensitivityLevel
+ * @return the Overrides builder
+ */
+ public Builder sensitivityLevel(String sensitivityLevel) {
+ this.sensitivityLevel = sensitivityLevel;
+ return this;
+ }
+
+ /**
+ * Set the rules.
+ * Existing rules will be replaced.
+ *
+ * @param rules the rules
+ * @return the Overrides builder
+ */
+ public Builder rules(List rules) {
+ this.rules = rules;
+ return this;
+ }
+
+ /**
+ * Set the categories.
+ * Existing categories will be replaced.
+ *
+ * @param categories the categories
+ * @return the Overrides builder
+ */
+ public Builder categories(List categories) {
+ this.categories = categories;
+ return this;
+ }
+ }
+
+ protected Overrides() { }
+
+ protected Overrides(Builder builder) {
+ action = builder.action;
+ enabled = builder.enabled;
+ sensitivityLevel = builder.sensitivityLevel;
+ rules = builder.rules;
+ categories = builder.categories;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a Overrides builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the action.
+ *
+ * What happens when theres a match for the rule expression.
+ *
+ * @return the action
+ */
+ public String action() {
+ return action;
+ }
+
+ /**
+ * Gets the enabled.
+ *
+ * @return the enabled
+ */
+ public Boolean enabled() {
+ return enabled;
+ }
+
+ /**
+ * Gets the sensitivityLevel.
+ *
+ * The sensitivity level of the rule.
+ *
+ * @return the sensitivityLevel
+ */
+ public String sensitivityLevel() {
+ return sensitivityLevel;
+ }
+
+ /**
+ * Gets the rules.
+ *
+ * @return the rules
+ */
+ public List rules() {
+ return rules;
+ }
+
+ /**
+ * Gets the categories.
+ *
+ * @return the categories
+ */
+ public List categories() {
+ return categories;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/Position.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/Position.java
new file mode 100644
index 000000000..9674168f6
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/Position.java
@@ -0,0 +1,145 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * Position.
+ */
+public class Position extends GenericModel {
+
+ protected String before;
+ protected String after;
+ protected Long index;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String before;
+ private String after;
+ private Long index;
+
+ /**
+ * Instantiates a new Builder from an existing Position instance.
+ *
+ * @param position the instance to initialize the Builder with
+ */
+ private Builder(Position position) {
+ this.before = position.before;
+ this.after = position.after;
+ this.index = position.index;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Builds a Position.
+ *
+ * @return the new Position instance
+ */
+ public Position build() {
+ return new Position(this);
+ }
+
+ /**
+ * Set the before.
+ *
+ * @param before the before
+ * @return the Position builder
+ */
+ public Builder before(String before) {
+ this.before = before;
+ return this;
+ }
+
+ /**
+ * Set the after.
+ *
+ * @param after the after
+ * @return the Position builder
+ */
+ public Builder after(String after) {
+ this.after = after;
+ return this;
+ }
+
+ /**
+ * Set the index.
+ *
+ * @param index the index
+ * @return the Position builder
+ */
+ public Builder index(long index) {
+ this.index = index;
+ return this;
+ }
+ }
+
+ protected Position() { }
+
+ protected Position(Builder builder) {
+ before = builder.before;
+ after = builder.after;
+ index = builder.index;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a Position builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the before.
+ *
+ * The rule ID to place this rule before.
+ *
+ * @return the before
+ */
+ public String before() {
+ return before;
+ }
+
+ /**
+ * Gets the after.
+ *
+ * The rule ID to place this rule after.
+ *
+ * @return the after
+ */
+ public String after() {
+ return after;
+ }
+
+ /**
+ * Gets the index.
+ *
+ * The index to place this rule at.
+ *
+ * @return the index
+ */
+ public Long index() {
+ return index;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/Ratelimit.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/Ratelimit.java
new file mode 100644
index 000000000..1c410afd8
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/Ratelimit.java
@@ -0,0 +1,222 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * Ratelimit.
+ */
+public class Ratelimit extends GenericModel {
+
+ protected List characteristics;
+ @SerializedName("counting_expression")
+ protected String countingExpression;
+ @SerializedName("mitigation_timeout")
+ protected Long mitigationTimeout;
+ protected Long period;
+ @SerializedName("requests_per_period")
+ protected Long requestsPerPeriod;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private List characteristics;
+ private String countingExpression;
+ private Long mitigationTimeout;
+ private Long period;
+ private Long requestsPerPeriod;
+
+ /**
+ * Instantiates a new Builder from an existing Ratelimit instance.
+ *
+ * @param ratelimit the instance to initialize the Builder with
+ */
+ private Builder(Ratelimit ratelimit) {
+ this.characteristics = ratelimit.characteristics;
+ this.countingExpression = ratelimit.countingExpression;
+ this.mitigationTimeout = ratelimit.mitigationTimeout;
+ this.period = ratelimit.period;
+ this.requestsPerPeriod = ratelimit.requestsPerPeriod;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Builds a Ratelimit.
+ *
+ * @return the new Ratelimit instance
+ */
+ public Ratelimit build() {
+ return new Ratelimit(this);
+ }
+
+ /**
+ * Adds a new element to characteristics.
+ *
+ * @param characteristics the new element to be added
+ * @return the Ratelimit builder
+ */
+ public Builder addCharacteristics(String characteristics) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(characteristics,
+ "characteristics cannot be null");
+ if (this.characteristics == null) {
+ this.characteristics = new ArrayList();
+ }
+ this.characteristics.add(characteristics);
+ return this;
+ }
+
+ /**
+ * Set the characteristics.
+ * Existing characteristics will be replaced.
+ *
+ * @param characteristics the characteristics
+ * @return the Ratelimit builder
+ */
+ public Builder characteristics(List characteristics) {
+ this.characteristics = characteristics;
+ return this;
+ }
+
+ /**
+ * Set the countingExpression.
+ *
+ * @param countingExpression the countingExpression
+ * @return the Ratelimit builder
+ */
+ public Builder countingExpression(String countingExpression) {
+ this.countingExpression = countingExpression;
+ return this;
+ }
+
+ /**
+ * Set the mitigationTimeout.
+ *
+ * @param mitigationTimeout the mitigationTimeout
+ * @return the Ratelimit builder
+ */
+ public Builder mitigationTimeout(long mitigationTimeout) {
+ this.mitigationTimeout = mitigationTimeout;
+ return this;
+ }
+
+ /**
+ * Set the period.
+ *
+ * @param period the period
+ * @return the Ratelimit builder
+ */
+ public Builder period(long period) {
+ this.period = period;
+ return this;
+ }
+
+ /**
+ * Set the requestsPerPeriod.
+ *
+ * @param requestsPerPeriod the requestsPerPeriod
+ * @return the Ratelimit builder
+ */
+ public Builder requestsPerPeriod(long requestsPerPeriod) {
+ this.requestsPerPeriod = requestsPerPeriod;
+ return this;
+ }
+ }
+
+ protected Ratelimit() { }
+
+ protected Ratelimit(Builder builder) {
+ characteristics = builder.characteristics;
+ countingExpression = builder.countingExpression;
+ mitigationTimeout = builder.mitigationTimeout;
+ period = builder.period;
+ requestsPerPeriod = builder.requestsPerPeriod;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a Ratelimit builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the characteristics.
+ *
+ * The set of parameters that define how rate for this rule is tracked.
+ *
+ * @return the characteristics
+ */
+ public List characteristics() {
+ return characteristics;
+ }
+
+ /**
+ * Gets the countingExpression.
+ *
+ * Expression that specifies the criteria you are matching traffic on.
+ *
+ * @return the countingExpression
+ */
+ public String countingExpression() {
+ return countingExpression;
+ }
+
+ /**
+ * Gets the mitigationTimeout.
+ *
+ * Once the rate is reached, the rate limiting rule blocks further requests for the period of time defined in this
+ * field.
+ *
+ * @return the mitigationTimeout
+ */
+ public Long mitigationTimeout() {
+ return mitigationTimeout;
+ }
+
+ /**
+ * Gets the period.
+ *
+ * The period of time to consider (in seconds) when evaluating the rate.
+ *
+ * @return the period
+ */
+ public Long period() {
+ return period;
+ }
+
+ /**
+ * Gets the requestsPerPeriod.
+ *
+ * The number of requests over the period of time that will trigger the rate limiting rule.
+ *
+ * @return the requestsPerPeriod
+ */
+ public Long requestsPerPeriod() {
+ return requestsPerPeriod;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/RuleCreate.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/RuleCreate.java
new file mode 100644
index 000000000..9e1aefb59
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/RuleCreate.java
@@ -0,0 +1,330 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * RuleCreate.
+ */
+public class RuleCreate extends GenericModel {
+
+ protected String action;
+ @SerializedName("action_parameters")
+ protected ActionParameters actionParameters;
+ protected Ratelimit ratelimit;
+ protected String description;
+ protected Boolean enabled;
+ protected String expression;
+ protected String id;
+ protected Logging logging;
+ protected String ref;
+ protected Position position;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String action;
+ private ActionParameters actionParameters;
+ private Ratelimit ratelimit;
+ private String description;
+ private Boolean enabled;
+ private String expression;
+ private String id;
+ private Logging logging;
+ private String ref;
+ private Position position;
+
+ /**
+ * Instantiates a new Builder from an existing RuleCreate instance.
+ *
+ * @param ruleCreate the instance to initialize the Builder with
+ */
+ private Builder(RuleCreate ruleCreate) {
+ this.action = ruleCreate.action;
+ this.actionParameters = ruleCreate.actionParameters;
+ this.ratelimit = ruleCreate.ratelimit;
+ this.description = ruleCreate.description;
+ this.enabled = ruleCreate.enabled;
+ this.expression = ruleCreate.expression;
+ this.id = ruleCreate.id;
+ this.logging = ruleCreate.logging;
+ this.ref = ruleCreate.ref;
+ this.position = ruleCreate.position;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param action the action
+ * @param expression the expression
+ */
+ public Builder(String action, String expression) {
+ this.action = action;
+ this.expression = expression;
+ }
+
+ /**
+ * Builds a RuleCreate.
+ *
+ * @return the new RuleCreate instance
+ */
+ public RuleCreate build() {
+ return new RuleCreate(this);
+ }
+
+ /**
+ * Set the action.
+ *
+ * @param action the action
+ * @return the RuleCreate builder
+ */
+ public Builder action(String action) {
+ this.action = action;
+ return this;
+ }
+
+ /**
+ * Set the actionParameters.
+ *
+ * @param actionParameters the actionParameters
+ * @return the RuleCreate builder
+ */
+ public Builder actionParameters(ActionParameters actionParameters) {
+ this.actionParameters = actionParameters;
+ return this;
+ }
+
+ /**
+ * Set the ratelimit.
+ *
+ * @param ratelimit the ratelimit
+ * @return the RuleCreate builder
+ */
+ public Builder ratelimit(Ratelimit ratelimit) {
+ this.ratelimit = ratelimit;
+ return this;
+ }
+
+ /**
+ * Set the description.
+ *
+ * @param description the description
+ * @return the RuleCreate builder
+ */
+ public Builder description(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Set the enabled.
+ *
+ * @param enabled the enabled
+ * @return the RuleCreate builder
+ */
+ public Builder enabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Set the expression.
+ *
+ * @param expression the expression
+ * @return the RuleCreate builder
+ */
+ public Builder expression(String expression) {
+ this.expression = expression;
+ return this;
+ }
+
+ /**
+ * Set the id.
+ *
+ * @param id the id
+ * @return the RuleCreate builder
+ */
+ public Builder id(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Set the logging.
+ *
+ * @param logging the logging
+ * @return the RuleCreate builder
+ */
+ public Builder logging(Logging logging) {
+ this.logging = logging;
+ return this;
+ }
+
+ /**
+ * Set the ref.
+ *
+ * @param ref the ref
+ * @return the RuleCreate builder
+ */
+ public Builder ref(String ref) {
+ this.ref = ref;
+ return this;
+ }
+
+ /**
+ * Set the position.
+ *
+ * @param position the position
+ * @return the RuleCreate builder
+ */
+ public Builder position(Position position) {
+ this.position = position;
+ return this;
+ }
+ }
+
+ protected RuleCreate() { }
+
+ protected RuleCreate(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(builder.action,
+ "action cannot be null");
+ com.ibm.cloud.sdk.core.util.Validator.notNull(builder.expression,
+ "expression cannot be null");
+ action = builder.action;
+ actionParameters = builder.actionParameters;
+ ratelimit = builder.ratelimit;
+ description = builder.description;
+ enabled = builder.enabled;
+ expression = builder.expression;
+ id = builder.id;
+ logging = builder.logging;
+ ref = builder.ref;
+ position = builder.position;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a RuleCreate builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the action.
+ *
+ * What happens when theres a match for the rule expression.
+ *
+ * @return the action
+ */
+ public String action() {
+ return action;
+ }
+
+ /**
+ * Gets the actionParameters.
+ *
+ * @return the actionParameters
+ */
+ public ActionParameters actionParameters() {
+ return actionParameters;
+ }
+
+ /**
+ * Gets the ratelimit.
+ *
+ * @return the ratelimit
+ */
+ public Ratelimit ratelimit() {
+ return ratelimit;
+ }
+
+ /**
+ * Gets the description.
+ *
+ * @return the description
+ */
+ public String description() {
+ return description;
+ }
+
+ /**
+ * Gets the enabled.
+ *
+ * @return the enabled
+ */
+ public Boolean enabled() {
+ return enabled;
+ }
+
+ /**
+ * Gets the expression.
+ *
+ * The expression defining which traffic will match the rule.
+ *
+ * @return the expression
+ */
+ public String expression() {
+ return expression;
+ }
+
+ /**
+ * Gets the id.
+ *
+ * @return the id
+ */
+ public String id() {
+ return id;
+ }
+
+ /**
+ * Gets the logging.
+ *
+ * @return the logging
+ */
+ public Logging logging() {
+ return logging;
+ }
+
+ /**
+ * Gets the ref.
+ *
+ * The reference of the rule (the rule ID by default).
+ *
+ * @return the ref
+ */
+ public String ref() {
+ return ref;
+ }
+
+ /**
+ * Gets the position.
+ *
+ * @return the position
+ */
+ public Position position() {
+ return position;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/RuleDetails.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/RuleDetails.java
new file mode 100644
index 000000000..3fcb86c7c
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/RuleDetails.java
@@ -0,0 +1,159 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import java.util.List;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * RuleDetails.
+ */
+public class RuleDetails extends GenericModel {
+
+ protected String id;
+ protected String version;
+ protected String action;
+ @SerializedName("action_parameters")
+ protected ActionParameters actionParameters;
+ protected List categories;
+ protected Boolean enabled;
+ protected String description;
+ protected String expression;
+ protected String ref;
+ protected Logging logging;
+ @SerializedName("last_updated")
+ protected String lastUpdated;
+
+ protected RuleDetails() { }
+
+ /**
+ * Gets the id.
+ *
+ * unique ID of rule.
+ *
+ * @return the id
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Gets the version.
+ *
+ * The version of the rule.
+ *
+ * @return the version
+ */
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * Gets the action.
+ *
+ * What happens when theres a match for the rule expression.
+ *
+ * @return the action
+ */
+ public String getAction() {
+ return action;
+ }
+
+ /**
+ * Gets the actionParameters.
+ *
+ * @return the actionParameters
+ */
+ public ActionParameters getActionParameters() {
+ return actionParameters;
+ }
+
+ /**
+ * Gets the categories.
+ *
+ * List of categories for the rule.
+ *
+ * @return the categories
+ */
+ public List getCategories() {
+ return categories;
+ }
+
+ /**
+ * Gets the enabled.
+ *
+ * Is the rule enabled.
+ *
+ * @return the enabled
+ */
+ public Boolean isEnabled() {
+ return enabled;
+ }
+
+ /**
+ * Gets the description.
+ *
+ * description of the rule.
+ *
+ * @return the description
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * Gets the expression.
+ *
+ * The expression defining which traffic will match the rule.
+ *
+ * @return the expression
+ */
+ public String getExpression() {
+ return expression;
+ }
+
+ /**
+ * Gets the ref.
+ *
+ * The reference of the rule (the rule ID by default).
+ *
+ * @return the ref
+ */
+ public String getRef() {
+ return ref;
+ }
+
+ /**
+ * Gets the logging.
+ *
+ * @return the logging
+ */
+ public Logging getLogging() {
+ return logging;
+ }
+
+ /**
+ * Gets the lastUpdated.
+ *
+ * The timestamp of when the resource was last modified.
+ *
+ * @return the lastUpdated
+ */
+ public String getLastUpdated() {
+ return lastUpdated;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/RuleResp.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/RuleResp.java
new file mode 100644
index 000000000..7e88639ff
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/RuleResp.java
@@ -0,0 +1,74 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * List rules response.
+ */
+public class RuleResp extends GenericModel {
+
+ protected Boolean success;
+ protected List errors;
+ protected List messages;
+ protected RuleDetails result;
+
+ protected RuleResp() { }
+
+ /**
+ * Gets the success.
+ *
+ * Was operation successful.
+ *
+ * @return the success
+ */
+ public Boolean isSuccess() {
+ return success;
+ }
+
+ /**
+ * Gets the errors.
+ *
+ * Array of errors encountered.
+ *
+ * @return the errors
+ */
+ public List getErrors() {
+ return errors;
+ }
+
+ /**
+ * Gets the messages.
+ *
+ * Array of messages returned.
+ *
+ * @return the messages
+ */
+ public List getMessages() {
+ return messages;
+ }
+
+ /**
+ * Gets the result.
+ *
+ * @return the result
+ */
+ public RuleDetails getResult() {
+ return result;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/RulesOverride.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/RulesOverride.java
new file mode 100644
index 000000000..bbf2d981f
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/RulesOverride.java
@@ -0,0 +1,208 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * RulesOverride.
+ */
+public class RulesOverride extends GenericModel {
+
+ /**
+ * The sensitivity level of the rule.
+ */
+ public interface SensitivityLevel {
+ /** high. */
+ String HIGH = "high";
+ /** medium. */
+ String MEDIUM = "medium";
+ /** low. */
+ String LOW = "low";
+ }
+
+ protected String id;
+ protected Boolean enabled;
+ protected String action;
+ @SerializedName("sensitivity_level")
+ protected String sensitivityLevel;
+ @SerializedName("score_threshold")
+ protected Long scoreThreshold;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String id;
+ private Boolean enabled;
+ private String action;
+ private String sensitivityLevel;
+ private Long scoreThreshold;
+
+ /**
+ * Instantiates a new Builder from an existing RulesOverride instance.
+ *
+ * @param rulesOverride the instance to initialize the Builder with
+ */
+ private Builder(RulesOverride rulesOverride) {
+ this.id = rulesOverride.id;
+ this.enabled = rulesOverride.enabled;
+ this.action = rulesOverride.action;
+ this.sensitivityLevel = rulesOverride.sensitivityLevel;
+ this.scoreThreshold = rulesOverride.scoreThreshold;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Builds a RulesOverride.
+ *
+ * @return the new RulesOverride instance
+ */
+ public RulesOverride build() {
+ return new RulesOverride(this);
+ }
+
+ /**
+ * Set the id.
+ *
+ * @param id the id
+ * @return the RulesOverride builder
+ */
+ public Builder id(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Set the enabled.
+ *
+ * @param enabled the enabled
+ * @return the RulesOverride builder
+ */
+ public Builder enabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Set the action.
+ *
+ * @param action the action
+ * @return the RulesOverride builder
+ */
+ public Builder action(String action) {
+ this.action = action;
+ return this;
+ }
+
+ /**
+ * Set the sensitivityLevel.
+ *
+ * @param sensitivityLevel the sensitivityLevel
+ * @return the RulesOverride builder
+ */
+ public Builder sensitivityLevel(String sensitivityLevel) {
+ this.sensitivityLevel = sensitivityLevel;
+ return this;
+ }
+
+ /**
+ * Set the scoreThreshold.
+ *
+ * @param scoreThreshold the scoreThreshold
+ * @return the RulesOverride builder
+ */
+ public Builder scoreThreshold(long scoreThreshold) {
+ this.scoreThreshold = scoreThreshold;
+ return this;
+ }
+ }
+
+ protected RulesOverride() { }
+
+ protected RulesOverride(Builder builder) {
+ id = builder.id;
+ enabled = builder.enabled;
+ action = builder.action;
+ sensitivityLevel = builder.sensitivityLevel;
+ scoreThreshold = builder.scoreThreshold;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a RulesOverride builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the id.
+ *
+ * @return the id
+ */
+ public String id() {
+ return id;
+ }
+
+ /**
+ * Gets the enabled.
+ *
+ * @return the enabled
+ */
+ public Boolean enabled() {
+ return enabled;
+ }
+
+ /**
+ * Gets the action.
+ *
+ * What happens when theres a match for the rule expression.
+ *
+ * @return the action
+ */
+ public String action() {
+ return action;
+ }
+
+ /**
+ * Gets the sensitivityLevel.
+ *
+ * The sensitivity level of the rule.
+ *
+ * @return the sensitivityLevel
+ */
+ public String sensitivityLevel() {
+ return sensitivityLevel;
+ }
+
+ /**
+ * Gets the scoreThreshold.
+ *
+ * The score threshold of the rule.
+ *
+ * @return the scoreThreshold
+ */
+ public Long scoreThreshold() {
+ return scoreThreshold;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/RulesetDetails.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/RulesetDetails.java
new file mode 100644
index 000000000..e0386b833
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/RulesetDetails.java
@@ -0,0 +1,179 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import java.util.List;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * RulesetDetails.
+ */
+public class RulesetDetails extends GenericModel {
+
+ public interface Kind {
+ /** managed. */
+ String MANAGED = "managed";
+ /** custom. */
+ String CUSTOM = "custom";
+ /** root. */
+ String ROOT = "root";
+ /** zone. */
+ String ZONE = "zone";
+ }
+
+ /**
+ * The phase of the ruleset.
+ */
+ public interface Phase {
+ /** ddos_l4. */
+ String DDOS_L4 = "ddos_l4";
+ /** ddos_l7. */
+ String DDOS_L7 = "ddos_l7";
+ /** http_config_settings. */
+ String HTTP_CONFIG_SETTINGS = "http_config_settings";
+ /** http_custom_errors. */
+ String HTTP_CUSTOM_ERRORS = "http_custom_errors";
+ /** http_log_custom_fields. */
+ String HTTP_LOG_CUSTOM_FIELDS = "http_log_custom_fields";
+ /** http_ratelimit. */
+ String HTTP_RATELIMIT = "http_ratelimit";
+ /** http_request_cache_settings. */
+ String HTTP_REQUEST_CACHE_SETTINGS = "http_request_cache_settings";
+ /** http_request_dynamic_redirect. */
+ String HTTP_REQUEST_DYNAMIC_REDIRECT = "http_request_dynamic_redirect";
+ /** http_request_firewall_custom. */
+ String HTTP_REQUEST_FIREWALL_CUSTOM = "http_request_firewall_custom";
+ /** http_request_firewall_managed. */
+ String HTTP_REQUEST_FIREWALL_MANAGED = "http_request_firewall_managed";
+ /** http_request_late_transform. */
+ String HTTP_REQUEST_LATE_TRANSFORM = "http_request_late_transform";
+ /** http_request_origin. */
+ String HTTP_REQUEST_ORIGIN = "http_request_origin";
+ /** http_request_redirect. */
+ String HTTP_REQUEST_REDIRECT = "http_request_redirect";
+ /** http_request_sanitize. */
+ String HTTP_REQUEST_SANITIZE = "http_request_sanitize";
+ /** http_request_sbfm. */
+ String HTTP_REQUEST_SBFM = "http_request_sbfm";
+ /** http_request_select_configuration. */
+ String HTTP_REQUEST_SELECT_CONFIGURATION = "http_request_select_configuration";
+ /** http_request_transform. */
+ String HTTP_REQUEST_TRANSFORM = "http_request_transform";
+ /** http_response_compression. */
+ String HTTP_RESPONSE_COMPRESSION = "http_response_compression";
+ /** http_response_firewall_managed. */
+ String HTTP_RESPONSE_FIREWALL_MANAGED = "http_response_firewall_managed";
+ /** http_response_headers_transform. */
+ String HTTP_RESPONSE_HEADERS_TRANSFORM = "http_response_headers_transform";
+ }
+
+ protected String description;
+ protected String id;
+ protected String kind;
+ @SerializedName("last_updated")
+ protected String lastUpdated;
+ protected String name;
+ protected String phase;
+ protected String version;
+ protected List rules;
+
+ protected RulesetDetails() { }
+
+ /**
+ * Gets the description.
+ *
+ * description of the ruleset.
+ *
+ * @return the description
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * Gets the id.
+ *
+ * unique ID of the ruleset.
+ *
+ * @return the id
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Gets the kind.
+ *
+ * @return the kind
+ */
+ public String getKind() {
+ return kind;
+ }
+
+ /**
+ * Gets the lastUpdated.
+ *
+ * The timestamp of when the resource was last modified.
+ *
+ * @return the lastUpdated
+ */
+ public String getLastUpdated() {
+ return lastUpdated;
+ }
+
+ /**
+ * Gets the name.
+ *
+ * human readable name of the ruleset.
+ *
+ * @return the name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Gets the phase.
+ *
+ * The phase of the ruleset.
+ *
+ * @return the phase
+ */
+ public String getPhase() {
+ return phase;
+ }
+
+ /**
+ * Gets the version.
+ *
+ * The version of the ruleset.
+ *
+ * @return the version
+ */
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * Gets the rules.
+ *
+ * @return the rules
+ */
+ public List getRules() {
+ return rules;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/RulesetResp.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/RulesetResp.java
new file mode 100644
index 000000000..b385e9b8a
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/RulesetResp.java
@@ -0,0 +1,74 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * Ruleset response.
+ */
+public class RulesetResp extends GenericModel {
+
+ protected Boolean success;
+ protected List errors;
+ protected List messages;
+ protected RulesetDetails result;
+
+ protected RulesetResp() { }
+
+ /**
+ * Gets the success.
+ *
+ * Was operation successful.
+ *
+ * @return the success
+ */
+ public Boolean isSuccess() {
+ return success;
+ }
+
+ /**
+ * Gets the errors.
+ *
+ * Array of errors encountered.
+ *
+ * @return the errors
+ */
+ public List getErrors() {
+ return errors;
+ }
+
+ /**
+ * Gets the messages.
+ *
+ * Array of messages returned.
+ *
+ * @return the messages
+ */
+ public List getMessages() {
+ return messages;
+ }
+
+ /**
+ * Gets the result.
+ *
+ * @return the result
+ */
+ public RulesetDetails getResult() {
+ return result;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/UpdateInstanceEntrypointRulesetOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/UpdateInstanceEntrypointRulesetOptions.java
new file mode 100644
index 000000000..1bce99c35
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/UpdateInstanceEntrypointRulesetOptions.java
@@ -0,0 +1,353 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The updateInstanceEntrypointRuleset options.
+ */
+public class UpdateInstanceEntrypointRulesetOptions extends GenericModel {
+
+ /**
+ * The phase of the ruleset.
+ */
+ public interface RulesetPhase {
+ /** ddos_l4. */
+ String DDOS_L4 = "ddos_l4";
+ /** ddos_l7. */
+ String DDOS_L7 = "ddos_l7";
+ /** http_config_settings. */
+ String HTTP_CONFIG_SETTINGS = "http_config_settings";
+ /** http_custom_errors. */
+ String HTTP_CUSTOM_ERRORS = "http_custom_errors";
+ /** http_log_custom_fields. */
+ String HTTP_LOG_CUSTOM_FIELDS = "http_log_custom_fields";
+ /** http_ratelimit. */
+ String HTTP_RATELIMIT = "http_ratelimit";
+ /** http_request_cache_settings. */
+ String HTTP_REQUEST_CACHE_SETTINGS = "http_request_cache_settings";
+ /** http_request_dynamic_redirect. */
+ String HTTP_REQUEST_DYNAMIC_REDIRECT = "http_request_dynamic_redirect";
+ /** http_request_firewall_custom. */
+ String HTTP_REQUEST_FIREWALL_CUSTOM = "http_request_firewall_custom";
+ /** http_request_firewall_managed. */
+ String HTTP_REQUEST_FIREWALL_MANAGED = "http_request_firewall_managed";
+ /** http_request_late_transform. */
+ String HTTP_REQUEST_LATE_TRANSFORM = "http_request_late_transform";
+ /** http_request_origin. */
+ String HTTP_REQUEST_ORIGIN = "http_request_origin";
+ /** http_request_redirect. */
+ String HTTP_REQUEST_REDIRECT = "http_request_redirect";
+ /** http_request_sanitize. */
+ String HTTP_REQUEST_SANITIZE = "http_request_sanitize";
+ /** http_request_sbfm. */
+ String HTTP_REQUEST_SBFM = "http_request_sbfm";
+ /** http_request_select_configuration. */
+ String HTTP_REQUEST_SELECT_CONFIGURATION = "http_request_select_configuration";
+ /** http_request_transform. */
+ String HTTP_REQUEST_TRANSFORM = "http_request_transform";
+ /** http_response_compression. */
+ String HTTP_RESPONSE_COMPRESSION = "http_response_compression";
+ /** http_response_firewall_managed. */
+ String HTTP_RESPONSE_FIREWALL_MANAGED = "http_response_firewall_managed";
+ /** http_response_headers_transform. */
+ String HTTP_RESPONSE_HEADERS_TRANSFORM = "http_response_headers_transform";
+ }
+
+ public interface Kind {
+ /** managed. */
+ String MANAGED = "managed";
+ /** custom. */
+ String CUSTOM = "custom";
+ /** root. */
+ String ROOT = "root";
+ /** zone. */
+ String ZONE = "zone";
+ }
+
+ /**
+ * The phase of the ruleset.
+ */
+ public interface Phase {
+ /** ddos_l4. */
+ String DDOS_L4 = "ddos_l4";
+ /** ddos_l7. */
+ String DDOS_L7 = "ddos_l7";
+ /** http_config_settings. */
+ String HTTP_CONFIG_SETTINGS = "http_config_settings";
+ /** http_custom_errors. */
+ String HTTP_CUSTOM_ERRORS = "http_custom_errors";
+ /** http_log_custom_fields. */
+ String HTTP_LOG_CUSTOM_FIELDS = "http_log_custom_fields";
+ /** http_ratelimit. */
+ String HTTP_RATELIMIT = "http_ratelimit";
+ /** http_request_cache_settings. */
+ String HTTP_REQUEST_CACHE_SETTINGS = "http_request_cache_settings";
+ /** http_request_dynamic_redirect. */
+ String HTTP_REQUEST_DYNAMIC_REDIRECT = "http_request_dynamic_redirect";
+ /** http_request_firewall_custom. */
+ String HTTP_REQUEST_FIREWALL_CUSTOM = "http_request_firewall_custom";
+ /** http_request_firewall_managed. */
+ String HTTP_REQUEST_FIREWALL_MANAGED = "http_request_firewall_managed";
+ /** http_request_late_transform. */
+ String HTTP_REQUEST_LATE_TRANSFORM = "http_request_late_transform";
+ /** http_request_origin. */
+ String HTTP_REQUEST_ORIGIN = "http_request_origin";
+ /** http_request_redirect. */
+ String HTTP_REQUEST_REDIRECT = "http_request_redirect";
+ /** http_request_sanitize. */
+ String HTTP_REQUEST_SANITIZE = "http_request_sanitize";
+ /** http_request_sbfm. */
+ String HTTP_REQUEST_SBFM = "http_request_sbfm";
+ /** http_request_select_configuration. */
+ String HTTP_REQUEST_SELECT_CONFIGURATION = "http_request_select_configuration";
+ /** http_request_transform. */
+ String HTTP_REQUEST_TRANSFORM = "http_request_transform";
+ /** http_response_compression. */
+ String HTTP_RESPONSE_COMPRESSION = "http_response_compression";
+ /** http_response_firewall_managed. */
+ String HTTP_RESPONSE_FIREWALL_MANAGED = "http_response_firewall_managed";
+ /** http_response_headers_transform. */
+ String HTTP_RESPONSE_HEADERS_TRANSFORM = "http_response_headers_transform";
+ }
+
+ protected String rulesetPhase;
+ protected String description;
+ protected String kind;
+ protected String name;
+ protected String phase;
+ protected List rules;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String rulesetPhase;
+ private String description;
+ private String kind;
+ private String name;
+ private String phase;
+ private List rules;
+
+ /**
+ * Instantiates a new Builder from an existing UpdateInstanceEntrypointRulesetOptions instance.
+ *
+ * @param updateInstanceEntrypointRulesetOptions the instance to initialize the Builder with
+ */
+ private Builder(UpdateInstanceEntrypointRulesetOptions updateInstanceEntrypointRulesetOptions) {
+ this.rulesetPhase = updateInstanceEntrypointRulesetOptions.rulesetPhase;
+ this.description = updateInstanceEntrypointRulesetOptions.description;
+ this.kind = updateInstanceEntrypointRulesetOptions.kind;
+ this.name = updateInstanceEntrypointRulesetOptions.name;
+ this.phase = updateInstanceEntrypointRulesetOptions.phase;
+ this.rules = updateInstanceEntrypointRulesetOptions.rules;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param rulesetPhase the rulesetPhase
+ */
+ public Builder(String rulesetPhase) {
+ this.rulesetPhase = rulesetPhase;
+ }
+
+ /**
+ * Builds a UpdateInstanceEntrypointRulesetOptions.
+ *
+ * @return the new UpdateInstanceEntrypointRulesetOptions instance
+ */
+ public UpdateInstanceEntrypointRulesetOptions build() {
+ return new UpdateInstanceEntrypointRulesetOptions(this);
+ }
+
+ /**
+ * Adds a new element to rules.
+ *
+ * @param rules the new element to be added
+ * @return the UpdateInstanceEntrypointRulesetOptions builder
+ */
+ public Builder addRules(RuleCreate rules) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(rules,
+ "rules cannot be null");
+ if (this.rules == null) {
+ this.rules = new ArrayList();
+ }
+ this.rules.add(rules);
+ return this;
+ }
+
+ /**
+ * Set the rulesetPhase.
+ *
+ * @param rulesetPhase the rulesetPhase
+ * @return the UpdateInstanceEntrypointRulesetOptions builder
+ */
+ public Builder rulesetPhase(String rulesetPhase) {
+ this.rulesetPhase = rulesetPhase;
+ return this;
+ }
+
+ /**
+ * Set the description.
+ *
+ * @param description the description
+ * @return the UpdateInstanceEntrypointRulesetOptions builder
+ */
+ public Builder description(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Set the kind.
+ *
+ * @param kind the kind
+ * @return the UpdateInstanceEntrypointRulesetOptions builder
+ */
+ public Builder kind(String kind) {
+ this.kind = kind;
+ return this;
+ }
+
+ /**
+ * Set the name.
+ *
+ * @param name the name
+ * @return the UpdateInstanceEntrypointRulesetOptions builder
+ */
+ public Builder name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Set the phase.
+ *
+ * @param phase the phase
+ * @return the UpdateInstanceEntrypointRulesetOptions builder
+ */
+ public Builder phase(String phase) {
+ this.phase = phase;
+ return this;
+ }
+
+ /**
+ * Set the rules.
+ * Existing rules will be replaced.
+ *
+ * @param rules the rules
+ * @return the UpdateInstanceEntrypointRulesetOptions builder
+ */
+ public Builder rules(List rules) {
+ this.rules = rules;
+ return this;
+ }
+ }
+
+ protected UpdateInstanceEntrypointRulesetOptions() { }
+
+ protected UpdateInstanceEntrypointRulesetOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.rulesetPhase,
+ "rulesetPhase cannot be empty");
+ rulesetPhase = builder.rulesetPhase;
+ description = builder.description;
+ kind = builder.kind;
+ name = builder.name;
+ phase = builder.phase;
+ rules = builder.rules;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a UpdateInstanceEntrypointRulesetOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the rulesetPhase.
+ *
+ * The phase of the ruleset.
+ *
+ * @return the rulesetPhase
+ */
+ public String rulesetPhase() {
+ return rulesetPhase;
+ }
+
+ /**
+ * Gets the description.
+ *
+ * description of the ruleset.
+ *
+ * @return the description
+ */
+ public String description() {
+ return description;
+ }
+
+ /**
+ * Gets the kind.
+ *
+ * @return the kind
+ */
+ public String kind() {
+ return kind;
+ }
+
+ /**
+ * Gets the name.
+ *
+ * human readable name of the ruleset.
+ *
+ * @return the name
+ */
+ public String name() {
+ return name;
+ }
+
+ /**
+ * Gets the phase.
+ *
+ * The phase of the ruleset.
+ *
+ * @return the phase
+ */
+ public String phase() {
+ return phase;
+ }
+
+ /**
+ * Gets the rules.
+ *
+ * @return the rules
+ */
+ public List rules() {
+ return rules;
+ }
+}
+
diff --git a/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/UpdateInstanceRulesetOptions.java b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/UpdateInstanceRulesetOptions.java
new file mode 100644
index 000000000..d2bb91f36
--- /dev/null
+++ b/modules/rulesets/src/main/java/com/ibm/cloud/networking/rulesets/v1/model/UpdateInstanceRulesetOptions.java
@@ -0,0 +1,307 @@
+/*
+ * (C) Copyright IBM Corp. 2025.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.rulesets.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The updateInstanceRuleset options.
+ */
+public class UpdateInstanceRulesetOptions extends GenericModel {
+
+ public interface Kind {
+ /** managed. */
+ String MANAGED = "managed";
+ /** custom. */
+ String CUSTOM = "custom";
+ /** root. */
+ String ROOT = "root";
+ /** zone. */
+ String ZONE = "zone";
+ }
+
+ /**
+ * The phase of the ruleset.
+ */
+ public interface Phase {
+ /** ddos_l4. */
+ String DDOS_L4 = "ddos_l4";
+ /** ddos_l7. */
+ String DDOS_L7 = "ddos_l7";
+ /** http_config_settings. */
+ String HTTP_CONFIG_SETTINGS = "http_config_settings";
+ /** http_custom_errors. */
+ String HTTP_CUSTOM_ERRORS = "http_custom_errors";
+ /** http_log_custom_fields. */
+ String HTTP_LOG_CUSTOM_FIELDS = "http_log_custom_fields";
+ /** http_ratelimit. */
+ String HTTP_RATELIMIT = "http_ratelimit";
+ /** http_request_cache_settings. */
+ String HTTP_REQUEST_CACHE_SETTINGS = "http_request_cache_settings";
+ /** http_request_dynamic_redirect. */
+ String HTTP_REQUEST_DYNAMIC_REDIRECT = "http_request_dynamic_redirect";
+ /** http_request_firewall_custom. */
+ String HTTP_REQUEST_FIREWALL_CUSTOM = "http_request_firewall_custom";
+ /** http_request_firewall_managed. */
+ String HTTP_REQUEST_FIREWALL_MANAGED = "http_request_firewall_managed";
+ /** http_request_late_transform. */
+ String HTTP_REQUEST_LATE_TRANSFORM = "http_request_late_transform";
+ /** http_request_origin. */
+ String HTTP_REQUEST_ORIGIN = "http_request_origin";
+ /** http_request_redirect. */
+ String HTTP_REQUEST_REDIRECT = "http_request_redirect";
+ /** http_request_sanitize. */
+ String HTTP_REQUEST_SANITIZE = "http_request_sanitize";
+ /** http_request_sbfm. */
+ String HTTP_REQUEST_SBFM = "http_request_sbfm";
+ /** http_request_select_configuration. */
+ String HTTP_REQUEST_SELECT_CONFIGURATION = "http_request_select_configuration";
+ /** http_request_transform. */
+ String HTTP_REQUEST_TRANSFORM = "http_request_transform";
+ /** http_response_compression. */
+ String HTTP_RESPONSE_COMPRESSION = "http_response_compression";
+ /** http_response_firewall_managed. */
+ String HTTP_RESPONSE_FIREWALL_MANAGED = "http_response_firewall_managed";
+ /** http_response_headers_transform. */
+ String HTTP_RESPONSE_HEADERS_TRANSFORM = "http_response_headers_transform";
+ }
+
+ protected String rulesetId;
+ protected String description;
+ protected String kind;
+ protected String name;
+ protected String phase;
+ protected List