diff --git a/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/TransitGatewayApis.java b/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/TransitGatewayApis.java index ae34cdfd5..b761bcc8b 100644 --- a/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/TransitGatewayApis.java +++ b/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/TransitGatewayApis.java @@ -41,6 +41,7 @@ import com.ibm.cloud.networking.transit_gateway_apis.v1.model.ListTransitGatewaysOptions; import com.ibm.cloud.networking.transit_gateway_apis.v1.model.PrefixFilterCollection; import com.ibm.cloud.networking.transit_gateway_apis.v1.model.PrefixFilterCust; +import com.ibm.cloud.networking.transit_gateway_apis.v1.model.ReplaceTransitGatewayConnectionPrefixFilterOptions; import com.ibm.cloud.networking.transit_gateway_apis.v1.model.RouteReport; import com.ibm.cloud.networking.transit_gateway_apis.v1.model.RouteReportCollection; import com.ibm.cloud.networking.transit_gateway_apis.v1.model.TSCollection; @@ -143,278 +144,314 @@ public void setVersion(final String version) { } /** - * Retrieves all connections. + * Retrieves all Transit Gateways. * - * List all transit gateway connections associated with this account. + * List all Transit Gateways in account the caller is authorized to view. * - * @param listConnectionsOptions the {@link ListConnectionsOptions} containing the options for the call - * @return a {@link ServiceCall} with a result of type {@link TransitConnectionCollection} + * @param listTransitGatewaysOptions the {@link ListTransitGatewaysOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link TransitGatewayCollection} */ - public ServiceCall listConnections(ListConnectionsOptions listConnectionsOptions) { - if (listConnectionsOptions == null) { - listConnectionsOptions = new ListConnectionsOptions.Builder().build(); + public ServiceCall listTransitGateways(ListTransitGatewaysOptions listTransitGatewaysOptions) { + if (listTransitGatewaysOptions == null) { + listTransitGatewaysOptions = new ListTransitGatewaysOptions.Builder().build(); } - RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/connections")); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "listConnections"); + RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways")); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "listTransitGateways"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); - if (listConnectionsOptions.limit() != null) { - builder.query("limit", String.valueOf(listConnectionsOptions.limit())); - } - if (listConnectionsOptions.start() != null) { - builder.query("start", String.valueOf(listConnectionsOptions.start())); + if (listTransitGatewaysOptions.limit() != null) { + builder.query("limit", String.valueOf(listTransitGatewaysOptions.limit())); } - if (listConnectionsOptions.networkId() != null) { - builder.query("network_id", String.valueOf(listConnectionsOptions.networkId())); + if (listTransitGatewaysOptions.start() != null) { + builder.query("start", String.valueOf(listTransitGatewaysOptions.start())); } - ResponseConverter responseConverter = - ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } /** - * Retrieves all connections. + * Retrieves all Transit Gateways. * - * List all transit gateway connections associated with this account. + * List all Transit Gateways in account the caller is authorized to view. * - * @return a {@link ServiceCall} with a result of type {@link TransitConnectionCollection} + * @return a {@link ServiceCall} with a result of type {@link TransitGatewayCollection} */ - public ServiceCall listConnections() { - return listConnections(null); + public ServiceCall listTransitGateways() { + return listTransitGateways(null); } /** - * Retrieves all prefix filters in a Transit Gateway connection. + * Creates a Transit Gateway. * - * This request retrieves all prefix filters in a Transit Gateway connection. + * Create a Transit Gateway based on the supplied input template. * - * @param listTransitGatewayConnectionPrefixFiltersOptions the {@link ListTransitGatewayConnectionPrefixFiltersOptions} containing the options for the call - * @return a {@link ServiceCall} with a result of type {@link PrefixFilterCollection} + * @param createTransitGatewayOptions the {@link CreateTransitGatewayOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link TransitGateway} */ - public ServiceCall listTransitGatewayConnectionPrefixFilters(ListTransitGatewayConnectionPrefixFiltersOptions listTransitGatewayConnectionPrefixFiltersOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(listTransitGatewayConnectionPrefixFiltersOptions, - "listTransitGatewayConnectionPrefixFiltersOptions cannot be null"); - Map pathParamsMap = new HashMap(); - pathParamsMap.put("transit_gateway_id", listTransitGatewayConnectionPrefixFiltersOptions.transitGatewayId()); - pathParamsMap.put("id", listTransitGatewayConnectionPrefixFiltersOptions.id()); - RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "listTransitGatewayConnectionPrefixFilters"); + public ServiceCall createTransitGateway(CreateTransitGatewayOptions createTransitGatewayOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(createTransitGatewayOptions, + "createTransitGatewayOptions cannot be null"); + RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways")); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "createTransitGateway"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); - ResponseConverter responseConverter = - ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); + final JsonObject contentJson = new JsonObject(); + contentJson.addProperty("location", createTransitGatewayOptions.location()); + contentJson.addProperty("name", createTransitGatewayOptions.name()); + if (createTransitGatewayOptions.global() != null) { + contentJson.addProperty("global", createTransitGatewayOptions.global()); + } + if (createTransitGatewayOptions.resourceGroup() != null) { + contentJson.add("resource_group", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createTransitGatewayOptions.resourceGroup())); + } + builder.bodyJson(contentJson); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } /** - * Add a prefix filter to a Transit Gateway Connection. + * Deletes specified Transit Gateway. * - * Add a prefix filter to a Transit Gateway Connection. + * This request deletes a Transit Gateway. This operation cannot be reversed. For this request to succeed, the Transit + * Gateway must not contain connections. * - * @param createTransitGatewayConnectionPrefixFilterOptions the {@link CreateTransitGatewayConnectionPrefixFilterOptions} containing the options for the call - * @return a {@link ServiceCall} with a result of type {@link PrefixFilterCust} + * @param deleteTransitGatewayOptions the {@link DeleteTransitGatewayOptions} containing the options for the call + * @return a {@link ServiceCall} with a void result */ - public ServiceCall createTransitGatewayConnectionPrefixFilter(CreateTransitGatewayConnectionPrefixFilterOptions createTransitGatewayConnectionPrefixFilterOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(createTransitGatewayConnectionPrefixFilterOptions, - "createTransitGatewayConnectionPrefixFilterOptions cannot be null"); + public ServiceCall deleteTransitGateway(DeleteTransitGatewayOptions deleteTransitGatewayOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(deleteTransitGatewayOptions, + "deleteTransitGatewayOptions cannot be null"); Map pathParamsMap = new HashMap(); - pathParamsMap.put("transit_gateway_id", createTransitGatewayConnectionPrefixFilterOptions.transitGatewayId()); - pathParamsMap.put("id", createTransitGatewayConnectionPrefixFilterOptions.id()); - RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "createTransitGatewayConnectionPrefixFilter"); + pathParamsMap.put("id", deleteTransitGatewayOptions.id()); + RequestBuilder builder = RequestBuilder.delete(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{id}", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "deleteTransitGateway"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } - builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); - final JsonObject contentJson = new JsonObject(); - contentJson.addProperty("action", createTransitGatewayConnectionPrefixFilterOptions.action()); - contentJson.addProperty("prefix", createTransitGatewayConnectionPrefixFilterOptions.prefix()); - if (createTransitGatewayConnectionPrefixFilterOptions.before() != null) { - contentJson.addProperty("before", createTransitGatewayConnectionPrefixFilterOptions.before()); - } - if (createTransitGatewayConnectionPrefixFilterOptions.ge() != null) { - contentJson.addProperty("ge", createTransitGatewayConnectionPrefixFilterOptions.ge()); - } - if (createTransitGatewayConnectionPrefixFilterOptions.le() != null) { - contentJson.addProperty("le", createTransitGatewayConnectionPrefixFilterOptions.le()); - } - builder.bodyJson(contentJson); - ResponseConverter responseConverter = - ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); + ResponseConverter responseConverter = ResponseConverterUtils.getVoid(); return createServiceCall(builder.build(), responseConverter); } /** - * Remove prefix filter from Transit Gateway Connection. + * Retrieves specified Transit Gateway. * - * Delete a prefix filter. + * This request retrieves a single Transit Gateway specified by the identifier in the URL. * - * @param deleteTransitGatewayConnectionPrefixFilterOptions the {@link DeleteTransitGatewayConnectionPrefixFilterOptions} containing the options for the call - * @return a {@link ServiceCall} with a void result + * @param getTransitGatewayOptions the {@link GetTransitGatewayOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link TransitGateway} */ - public ServiceCall deleteTransitGatewayConnectionPrefixFilter(DeleteTransitGatewayConnectionPrefixFilterOptions deleteTransitGatewayConnectionPrefixFilterOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(deleteTransitGatewayConnectionPrefixFilterOptions, - "deleteTransitGatewayConnectionPrefixFilterOptions cannot be null"); + public ServiceCall getTransitGateway(GetTransitGatewayOptions getTransitGatewayOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(getTransitGatewayOptions, + "getTransitGatewayOptions cannot be null"); Map pathParamsMap = new HashMap(); - pathParamsMap.put("transit_gateway_id", deleteTransitGatewayConnectionPrefixFilterOptions.transitGatewayId()); - pathParamsMap.put("id", deleteTransitGatewayConnectionPrefixFilterOptions.id()); - pathParamsMap.put("filter_id", deleteTransitGatewayConnectionPrefixFilterOptions.filterId()); - RequestBuilder builder = RequestBuilder.delete(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters/{filter_id}", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "deleteTransitGatewayConnectionPrefixFilter"); + pathParamsMap.put("id", getTransitGatewayOptions.id()); + RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{id}", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "getTransitGateway"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } + builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); - ResponseConverter responseConverter = ResponseConverterUtils.getVoid(); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } /** - * Retrieves specified Transit Gateway connection prefix filter. + * Updates specified Transit Gateway. * - * This request retrieves a prefix filter from the Transit Gateway Connection. + * This request updates a Transit Gateway's name and/or global flag. * - * @param getTransitGatewayConnectionPrefixFilterOptions the {@link GetTransitGatewayConnectionPrefixFilterOptions} containing the options for the call - * @return a {@link ServiceCall} with a result of type {@link PrefixFilterCust} + * @param updateTransitGatewayOptions the {@link UpdateTransitGatewayOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link TransitGateway} */ - public ServiceCall getTransitGatewayConnectionPrefixFilter(GetTransitGatewayConnectionPrefixFilterOptions getTransitGatewayConnectionPrefixFilterOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(getTransitGatewayConnectionPrefixFilterOptions, - "getTransitGatewayConnectionPrefixFilterOptions cannot be null"); + public ServiceCall updateTransitGateway(UpdateTransitGatewayOptions updateTransitGatewayOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(updateTransitGatewayOptions, + "updateTransitGatewayOptions cannot be null"); Map pathParamsMap = new HashMap(); - pathParamsMap.put("transit_gateway_id", getTransitGatewayConnectionPrefixFilterOptions.transitGatewayId()); - pathParamsMap.put("id", getTransitGatewayConnectionPrefixFilterOptions.id()); - pathParamsMap.put("filter_id", getTransitGatewayConnectionPrefixFilterOptions.filterId()); - RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters/{filter_id}", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "getTransitGatewayConnectionPrefixFilter"); + pathParamsMap.put("id", updateTransitGatewayOptions.id()); + RequestBuilder builder = RequestBuilder.patch(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{id}", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "updateTransitGateway"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); - ResponseConverter responseConverter = - ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); + final JsonObject contentJson = new JsonObject(); + if (updateTransitGatewayOptions.global() != null) { + contentJson.addProperty("global", updateTransitGatewayOptions.global()); + } + if (updateTransitGatewayOptions.name() != null) { + contentJson.addProperty("name", updateTransitGatewayOptions.name()); + } + builder.bodyJson(contentJson); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } /** - * Updates specified Transit Gateway connection prefix filter. + * Retrieves all connections. * - * Update prefix filter for a Transit Gateway Connection. + * List all transit gateway connections associated with this account. * - * @param updateTransitGatewayConnectionPrefixFilterOptions the {@link UpdateTransitGatewayConnectionPrefixFilterOptions} containing the options for the call - * @return a {@link ServiceCall} with a result of type {@link PrefixFilterCust} + * @param listConnectionsOptions the {@link ListConnectionsOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link TransitConnectionCollection} */ - public ServiceCall updateTransitGatewayConnectionPrefixFilter(UpdateTransitGatewayConnectionPrefixFilterOptions updateTransitGatewayConnectionPrefixFilterOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(updateTransitGatewayConnectionPrefixFilterOptions, - "updateTransitGatewayConnectionPrefixFilterOptions cannot be null"); - Map pathParamsMap = new HashMap(); - pathParamsMap.put("transit_gateway_id", updateTransitGatewayConnectionPrefixFilterOptions.transitGatewayId()); - pathParamsMap.put("id", updateTransitGatewayConnectionPrefixFilterOptions.id()); - pathParamsMap.put("filter_id", updateTransitGatewayConnectionPrefixFilterOptions.filterId()); - RequestBuilder builder = RequestBuilder.patch(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters/{filter_id}", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "updateTransitGatewayConnectionPrefixFilter"); + public ServiceCall listConnections(ListConnectionsOptions listConnectionsOptions) { + if (listConnectionsOptions == null) { + listConnectionsOptions = new ListConnectionsOptions.Builder().build(); + } + RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/connections")); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "listConnections"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); - final JsonObject contentJson = new JsonObject(); - if (updateTransitGatewayConnectionPrefixFilterOptions.action() != null) { - contentJson.addProperty("action", updateTransitGatewayConnectionPrefixFilterOptions.action()); - } - if (updateTransitGatewayConnectionPrefixFilterOptions.before() != null) { - contentJson.addProperty("before", updateTransitGatewayConnectionPrefixFilterOptions.before()); - } - if (updateTransitGatewayConnectionPrefixFilterOptions.ge() != null) { - contentJson.addProperty("ge", updateTransitGatewayConnectionPrefixFilterOptions.ge()); + if (listConnectionsOptions.limit() != null) { + builder.query("limit", String.valueOf(listConnectionsOptions.limit())); } - if (updateTransitGatewayConnectionPrefixFilterOptions.le() != null) { - contentJson.addProperty("le", updateTransitGatewayConnectionPrefixFilterOptions.le()); + if (listConnectionsOptions.start() != null) { + builder.query("start", String.valueOf(listConnectionsOptions.start())); } - if (updateTransitGatewayConnectionPrefixFilterOptions.prefix() != null) { - contentJson.addProperty("prefix", updateTransitGatewayConnectionPrefixFilterOptions.prefix()); + if (listConnectionsOptions.networkId() != null) { + builder.query("network_id", String.valueOf(listConnectionsOptions.networkId())); } - builder.bodyJson(contentJson); - ResponseConverter responseConverter = - ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } /** - * List route reports. + * Retrieves all connections. * - * Retrieve all route reports for the specified Transit Gateway. There will normally be at most one completed report - * and one pending report. Additionally, completed route reports are written to IBM Cloud Activity Tracker. + * List all transit gateway connections associated with this account. * - * @param listTransitGatewayRouteReportsOptions the {@link ListTransitGatewayRouteReportsOptions} containing the options for the call - * @return a {@link ServiceCall} with a result of type {@link RouteReportCollection} + * @return a {@link ServiceCall} with a result of type {@link TransitConnectionCollection} */ - public ServiceCall listTransitGatewayRouteReports(ListTransitGatewayRouteReportsOptions listTransitGatewayRouteReportsOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(listTransitGatewayRouteReportsOptions, - "listTransitGatewayRouteReportsOptions cannot be null"); + public ServiceCall listConnections() { + return listConnections(null); + } + + /** + * Retrieves all connections in a Transit Gateway. + * + * This request retrieves all connections in a Transit Gateway. + * + * @param listTransitGatewayConnectionsOptions the {@link ListTransitGatewayConnectionsOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link TransitGatewayConnectionCollection} + */ + public ServiceCall listTransitGatewayConnections(ListTransitGatewayConnectionsOptions listTransitGatewayConnectionsOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(listTransitGatewayConnectionsOptions, + "listTransitGatewayConnectionsOptions cannot be null"); Map pathParamsMap = new HashMap(); - pathParamsMap.put("transit_gateway_id", listTransitGatewayRouteReportsOptions.transitGatewayId()); - RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/route_reports", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "listTransitGatewayRouteReports"); + pathParamsMap.put("transit_gateway_id", listTransitGatewayConnectionsOptions.transitGatewayId()); + RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "listTransitGatewayConnections"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); - ResponseConverter responseConverter = - ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } /** - * Request a route report. + * Add connection to a Transit Gateway. * - * Request route report generation. While report generation is in progress, additional requests to generate a report - * are ignored and return the current pending report. + * Add a connection to Transit Gateway. * - * @param createTransitGatewayRouteReportOptions the {@link CreateTransitGatewayRouteReportOptions} containing the options for the call - * @return a {@link ServiceCall} with a result of type {@link RouteReport} + * @param createTransitGatewayConnectionOptions the {@link CreateTransitGatewayConnectionOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link TransitGatewayConnectionCust} */ - public ServiceCall createTransitGatewayRouteReport(CreateTransitGatewayRouteReportOptions createTransitGatewayRouteReportOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(createTransitGatewayRouteReportOptions, - "createTransitGatewayRouteReportOptions cannot be null"); + public ServiceCall createTransitGatewayConnection(CreateTransitGatewayConnectionOptions createTransitGatewayConnectionOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(createTransitGatewayConnectionOptions, + "createTransitGatewayConnectionOptions cannot be null"); Map pathParamsMap = new HashMap(); - pathParamsMap.put("transit_gateway_id", createTransitGatewayRouteReportOptions.transitGatewayId()); - RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/route_reports", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "createTransitGatewayRouteReport"); + pathParamsMap.put("transit_gateway_id", createTransitGatewayConnectionOptions.transitGatewayId()); + RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "createTransitGatewayConnection"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); - ResponseConverter responseConverter = - ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); + final JsonObject contentJson = new JsonObject(); + contentJson.addProperty("network_type", createTransitGatewayConnectionOptions.networkType()); + if (createTransitGatewayConnectionOptions.baseConnectionId() != null) { + contentJson.addProperty("base_connection_id", createTransitGatewayConnectionOptions.baseConnectionId()); + } + if (createTransitGatewayConnectionOptions.baseNetworkType() != null) { + contentJson.addProperty("base_network_type", createTransitGatewayConnectionOptions.baseNetworkType()); + } + if (createTransitGatewayConnectionOptions.localGatewayIp() != null) { + contentJson.addProperty("local_gateway_ip", createTransitGatewayConnectionOptions.localGatewayIp()); + } + if (createTransitGatewayConnectionOptions.localTunnelIp() != null) { + contentJson.addProperty("local_tunnel_ip", createTransitGatewayConnectionOptions.localTunnelIp()); + } + if (createTransitGatewayConnectionOptions.name() != null) { + contentJson.addProperty("name", createTransitGatewayConnectionOptions.name()); + } + if (createTransitGatewayConnectionOptions.networkAccountId() != null) { + contentJson.addProperty("network_account_id", createTransitGatewayConnectionOptions.networkAccountId()); + } + if (createTransitGatewayConnectionOptions.networkId() != null) { + contentJson.addProperty("network_id", createTransitGatewayConnectionOptions.networkId()); + } + if (createTransitGatewayConnectionOptions.prefixFilters() != null) { + contentJson.add("prefix_filters", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createTransitGatewayConnectionOptions.prefixFilters())); + } + if (createTransitGatewayConnectionOptions.prefixFiltersDefault() != null) { + contentJson.addProperty("prefix_filters_default", createTransitGatewayConnectionOptions.prefixFiltersDefault()); + } + if (createTransitGatewayConnectionOptions.remoteBgpAsn() != null) { + contentJson.addProperty("remote_bgp_asn", createTransitGatewayConnectionOptions.remoteBgpAsn()); + } + if (createTransitGatewayConnectionOptions.remoteGatewayIp() != null) { + contentJson.addProperty("remote_gateway_ip", createTransitGatewayConnectionOptions.remoteGatewayIp()); + } + if (createTransitGatewayConnectionOptions.remoteTunnelIp() != null) { + contentJson.addProperty("remote_tunnel_ip", createTransitGatewayConnectionOptions.remoteTunnelIp()); + } + if (createTransitGatewayConnectionOptions.zone() != null) { + contentJson.add("zone", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createTransitGatewayConnectionOptions.zone())); + } + builder.bodyJson(contentJson); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } /** - * Delete route report. + * Remove connection from Transit Gateway. * - * Delete a route report. + * After the specified connection is detached, entities still within the Transit Gateway will no longer be able to + * communicate directly to it through the IBM Cloud private backbone. * - * @param deleteTransitGatewayRouteReportOptions the {@link DeleteTransitGatewayRouteReportOptions} containing the options for the call + * @param deleteTransitGatewayConnectionOptions the {@link DeleteTransitGatewayConnectionOptions} containing the options for the call * @return a {@link ServiceCall} with a void result */ - public ServiceCall deleteTransitGatewayRouteReport(DeleteTransitGatewayRouteReportOptions deleteTransitGatewayRouteReportOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(deleteTransitGatewayRouteReportOptions, - "deleteTransitGatewayRouteReportOptions cannot be null"); + public ServiceCall deleteTransitGatewayConnection(DeleteTransitGatewayConnectionOptions deleteTransitGatewayConnectionOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(deleteTransitGatewayConnectionOptions, + "deleteTransitGatewayConnectionOptions cannot be null"); Map pathParamsMap = new HashMap(); - pathParamsMap.put("transit_gateway_id", deleteTransitGatewayRouteReportOptions.transitGatewayId()); - pathParamsMap.put("id", deleteTransitGatewayRouteReportOptions.id()); - RequestBuilder builder = RequestBuilder.delete(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/route_reports/{id}", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "deleteTransitGatewayRouteReport"); + pathParamsMap.put("transit_gateway_id", deleteTransitGatewayConnectionOptions.transitGatewayId()); + pathParamsMap.put("id", deleteTransitGatewayConnectionOptions.id()); + RequestBuilder builder = RequestBuilder.delete(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "deleteTransitGatewayConnection"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } @@ -424,293 +461,260 @@ public ServiceCall deleteTransitGatewayRouteReport(DeleteTransitGatewayRou } /** - * Retrieve route report. + * Retrieves specified Transit Gateway connection. * - * Retrieve a route report. + * This request retrieves a connection from the Transit Gateway. * - * @param getTransitGatewayRouteReportOptions the {@link GetTransitGatewayRouteReportOptions} containing the options for the call - * @return a {@link ServiceCall} with a result of type {@link RouteReport} + * @param getTransitGatewayConnectionOptions the {@link GetTransitGatewayConnectionOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link TransitGatewayConnectionCust} */ - public ServiceCall getTransitGatewayRouteReport(GetTransitGatewayRouteReportOptions getTransitGatewayRouteReportOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(getTransitGatewayRouteReportOptions, - "getTransitGatewayRouteReportOptions cannot be null"); + public ServiceCall getTransitGatewayConnection(GetTransitGatewayConnectionOptions getTransitGatewayConnectionOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(getTransitGatewayConnectionOptions, + "getTransitGatewayConnectionOptions cannot be null"); Map pathParamsMap = new HashMap(); - pathParamsMap.put("transit_gateway_id", getTransitGatewayRouteReportOptions.transitGatewayId()); - pathParamsMap.put("id", getTransitGatewayRouteReportOptions.id()); - RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/route_reports/{id}", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "getTransitGatewayRouteReport"); + pathParamsMap.put("transit_gateway_id", getTransitGatewayConnectionOptions.transitGatewayId()); + pathParamsMap.put("id", getTransitGatewayConnectionOptions.id()); + RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "getTransitGatewayConnection"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); - ResponseConverter responseConverter = - ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } /** - * Retrieves all Transit Gateways. + * Updates specified Transit Gateway connection. * - * List all Transit Gateways in account the caller is authorized to view. + * Update the name of a connection to a Transit Gateway. * - * @param listTransitGatewaysOptions the {@link ListTransitGatewaysOptions} containing the options for the call - * @return a {@link ServiceCall} with a result of type {@link TransitGatewayCollection} + * @param updateTransitGatewayConnectionOptions the {@link UpdateTransitGatewayConnectionOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link TransitGatewayConnectionCust} */ - public ServiceCall listTransitGateways(ListTransitGatewaysOptions listTransitGatewaysOptions) { - if (listTransitGatewaysOptions == null) { - listTransitGatewaysOptions = new ListTransitGatewaysOptions.Builder().build(); - } - RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways")); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "listTransitGateways"); + public ServiceCall updateTransitGatewayConnection(UpdateTransitGatewayConnectionOptions updateTransitGatewayConnectionOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(updateTransitGatewayConnectionOptions, + "updateTransitGatewayConnectionOptions cannot be null"); + Map pathParamsMap = new HashMap(); + pathParamsMap.put("transit_gateway_id", updateTransitGatewayConnectionOptions.transitGatewayId()); + pathParamsMap.put("id", updateTransitGatewayConnectionOptions.id()); + RequestBuilder builder = RequestBuilder.patch(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "updateTransitGatewayConnection"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); - if (listTransitGatewaysOptions.limit() != null) { - builder.query("limit", String.valueOf(listTransitGatewaysOptions.limit())); + final JsonObject contentJson = new JsonObject(); + if (updateTransitGatewayConnectionOptions.name() != null) { + contentJson.addProperty("name", updateTransitGatewayConnectionOptions.name()); } - if (listTransitGatewaysOptions.start() != null) { - builder.query("start", String.valueOf(listTransitGatewaysOptions.start())); + if (updateTransitGatewayConnectionOptions.prefixFiltersDefault() != null) { + contentJson.addProperty("prefix_filters_default", updateTransitGatewayConnectionOptions.prefixFiltersDefault()); } - ResponseConverter responseConverter = - ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); + builder.bodyJson(contentJson); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } /** - * Retrieves all Transit Gateways. - * - * List all Transit Gateways in account the caller is authorized to view. - * - * @return a {@link ServiceCall} with a result of type {@link TransitGatewayCollection} - */ - public ServiceCall listTransitGateways() { - return listTransitGateways(null); - } - - /** - * Creates a Transit Gateway. + * Perform actions on a connection for a Transit Gateway. * - * Create a Transit Gateway based on the supplied input template. + * Allow a network owner to approve or reject a cross-account connection request. * - * @param createTransitGatewayOptions the {@link CreateTransitGatewayOptions} containing the options for the call - * @return a {@link ServiceCall} with a result of type {@link TransitGateway} + * @param createTransitGatewayConnectionActionsOptions the {@link CreateTransitGatewayConnectionActionsOptions} containing the options for the call + * @return a {@link ServiceCall} with a void result */ - public ServiceCall createTransitGateway(CreateTransitGatewayOptions createTransitGatewayOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(createTransitGatewayOptions, - "createTransitGatewayOptions cannot be null"); - RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways")); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "createTransitGateway"); + public ServiceCall createTransitGatewayConnectionActions(CreateTransitGatewayConnectionActionsOptions createTransitGatewayConnectionActionsOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(createTransitGatewayConnectionActionsOptions, + "createTransitGatewayConnectionActionsOptions cannot be null"); + Map pathParamsMap = new HashMap(); + pathParamsMap.put("transit_gateway_id", createTransitGatewayConnectionActionsOptions.transitGatewayId()); + pathParamsMap.put("id", createTransitGatewayConnectionActionsOptions.id()); + RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}/actions", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "createTransitGatewayConnectionActions"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } - builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); final JsonObject contentJson = new JsonObject(); - contentJson.addProperty("location", createTransitGatewayOptions.location()); - contentJson.addProperty("name", createTransitGatewayOptions.name()); - if (createTransitGatewayOptions.global() != null) { - contentJson.addProperty("global", createTransitGatewayOptions.global()); - } - if (createTransitGatewayOptions.resourceGroup() != null) { - contentJson.add("resource_group", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createTransitGatewayOptions.resourceGroup())); - } + contentJson.addProperty("action", createTransitGatewayConnectionActionsOptions.action()); builder.bodyJson(contentJson); - ResponseConverter responseConverter = - ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); + ResponseConverter responseConverter = ResponseConverterUtils.getVoid(); return createServiceCall(builder.build(), responseConverter); } /** - * Deletes specified Transit Gateway. + * List all locations that support Transit Gateways. * - * This request deletes a Transit Gateway. This operation cannot be reversed. For this request to succeed, the Transit - * Gateway must not contain connections. + * List all locations that support Transit Gateways. * - * @param deleteTransitGatewayOptions the {@link DeleteTransitGatewayOptions} containing the options for the call - * @return a {@link ServiceCall} with a void result + * @param listGatewayLocationsOptions the {@link ListGatewayLocationsOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link TSCollection} */ - public ServiceCall deleteTransitGateway(DeleteTransitGatewayOptions deleteTransitGatewayOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(deleteTransitGatewayOptions, - "deleteTransitGatewayOptions cannot be null"); - Map pathParamsMap = new HashMap(); - pathParamsMap.put("id", deleteTransitGatewayOptions.id()); - RequestBuilder builder = RequestBuilder.delete(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{id}", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "deleteTransitGateway"); + public ServiceCall listGatewayLocations(ListGatewayLocationsOptions listGatewayLocationsOptions) { + RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/locations")); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "listGatewayLocations"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } + builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); - ResponseConverter responseConverter = ResponseConverterUtils.getVoid(); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } /** - * Retrieves specified Transit Gateway. + * List all locations that support Transit Gateways. * - * This request retrieves a single Transit Gateway specified by the identifier in the URL. + * List all locations that support Transit Gateways. * - * @param getTransitGatewayOptions the {@link GetTransitGatewayOptions} containing the options for the call - * @return a {@link ServiceCall} with a result of type {@link TransitGateway} + * @return a {@link ServiceCall} with a result of type {@link TSCollection} */ - public ServiceCall getTransitGateway(GetTransitGatewayOptions getTransitGatewayOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(getTransitGatewayOptions, - "getTransitGatewayOptions cannot be null"); + public ServiceCall listGatewayLocations() { + return listGatewayLocations(null); + } + + /** + * Show the details of a given Transit Gateway location. + * + * Get the details of a Transit Gateway Location. + * + * @param getGatewayLocationOptions the {@link GetGatewayLocationOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link TSLocation} + */ + public ServiceCall getGatewayLocation(GetGatewayLocationOptions getGatewayLocationOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(getGatewayLocationOptions, + "getGatewayLocationOptions cannot be null"); Map pathParamsMap = new HashMap(); - pathParamsMap.put("id", getTransitGatewayOptions.id()); - RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{id}", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "getTransitGateway"); + pathParamsMap.put("name", getGatewayLocationOptions.name()); + RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/locations/{name}", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "getGatewayLocation"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); - ResponseConverter responseConverter = - ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } /** - * Updates specified Transit Gateway. + * Retrieves all prefix filters in a Transit Gateway connection. * - * This request updates a Transit Gateway's name and/or global flag. + * This request retrieves all prefix filters in a Transit Gateway connection. * - * @param updateTransitGatewayOptions the {@link UpdateTransitGatewayOptions} containing the options for the call - * @return a {@link ServiceCall} with a result of type {@link TransitGateway} + * @param listTransitGatewayConnectionPrefixFiltersOptions the {@link ListTransitGatewayConnectionPrefixFiltersOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link PrefixFilterCollection} */ - public ServiceCall updateTransitGateway(UpdateTransitGatewayOptions updateTransitGatewayOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(updateTransitGatewayOptions, - "updateTransitGatewayOptions cannot be null"); + public ServiceCall listTransitGatewayConnectionPrefixFilters(ListTransitGatewayConnectionPrefixFiltersOptions listTransitGatewayConnectionPrefixFiltersOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(listTransitGatewayConnectionPrefixFiltersOptions, + "listTransitGatewayConnectionPrefixFiltersOptions cannot be null"); Map pathParamsMap = new HashMap(); - pathParamsMap.put("id", updateTransitGatewayOptions.id()); - RequestBuilder builder = RequestBuilder.patch(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{id}", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "updateTransitGateway"); + pathParamsMap.put("transit_gateway_id", listTransitGatewayConnectionPrefixFiltersOptions.transitGatewayId()); + pathParamsMap.put("id", listTransitGatewayConnectionPrefixFiltersOptions.id()); + RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "listTransitGatewayConnectionPrefixFilters"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); - final JsonObject contentJson = new JsonObject(); - if (updateTransitGatewayOptions.global() != null) { - contentJson.addProperty("global", updateTransitGatewayOptions.global()); - } - if (updateTransitGatewayOptions.name() != null) { - contentJson.addProperty("name", updateTransitGatewayOptions.name()); - } - builder.bodyJson(contentJson); - ResponseConverter responseConverter = - ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } /** - * Retrieves all connections in a Transit Gateway. + * Add a prefix filter to a Transit Gateway Connection. * - * This request retrieves all connections in a Transit Gateway. + * Add a prefix filter to a Transit Gateway Connection. * - * @param listTransitGatewayConnectionsOptions the {@link ListTransitGatewayConnectionsOptions} containing the options for the call - * @return a {@link ServiceCall} with a result of type {@link TransitGatewayConnectionCollection} + * @param createTransitGatewayConnectionPrefixFilterOptions the {@link CreateTransitGatewayConnectionPrefixFilterOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link PrefixFilterCust} */ - public ServiceCall listTransitGatewayConnections(ListTransitGatewayConnectionsOptions listTransitGatewayConnectionsOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(listTransitGatewayConnectionsOptions, - "listTransitGatewayConnectionsOptions cannot be null"); + public ServiceCall createTransitGatewayConnectionPrefixFilter(CreateTransitGatewayConnectionPrefixFilterOptions createTransitGatewayConnectionPrefixFilterOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(createTransitGatewayConnectionPrefixFilterOptions, + "createTransitGatewayConnectionPrefixFilterOptions cannot be null"); Map pathParamsMap = new HashMap(); - pathParamsMap.put("transit_gateway_id", listTransitGatewayConnectionsOptions.transitGatewayId()); - RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "listTransitGatewayConnections"); + pathParamsMap.put("transit_gateway_id", createTransitGatewayConnectionPrefixFilterOptions.transitGatewayId()); + pathParamsMap.put("id", createTransitGatewayConnectionPrefixFilterOptions.id()); + RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "createTransitGatewayConnectionPrefixFilter"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } - builder.header("Accept", "application/json"); - builder.query("version", String.valueOf(this.version)); - ResponseConverter responseConverter = - ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); + builder.header("Accept", "application/json"); + builder.query("version", String.valueOf(this.version)); + final JsonObject contentJson = new JsonObject(); + contentJson.addProperty("action", createTransitGatewayConnectionPrefixFilterOptions.action()); + contentJson.addProperty("prefix", createTransitGatewayConnectionPrefixFilterOptions.prefix()); + if (createTransitGatewayConnectionPrefixFilterOptions.before() != null) { + contentJson.addProperty("before", createTransitGatewayConnectionPrefixFilterOptions.before()); + } + if (createTransitGatewayConnectionPrefixFilterOptions.ge() != null) { + contentJson.addProperty("ge", createTransitGatewayConnectionPrefixFilterOptions.ge()); + } + if (createTransitGatewayConnectionPrefixFilterOptions.le() != null) { + contentJson.addProperty("le", createTransitGatewayConnectionPrefixFilterOptions.le()); + } + builder.bodyJson(contentJson); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } /** - * Add connection to a Transit Gateway. + * Replaces the prefix filters of the Transit Gateway Connection. * - * Add a connection to Transit Gateway. + * Replaces the prefix filters of the Transit Gateway Connection. * - * @param createTransitGatewayConnectionOptions the {@link CreateTransitGatewayConnectionOptions} containing the options for the call - * @return a {@link ServiceCall} with a result of type {@link TransitGatewayConnectionCust} + * @param replaceTransitGatewayConnectionPrefixFilterOptions the {@link ReplaceTransitGatewayConnectionPrefixFilterOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link PrefixFilterCollection} */ - public ServiceCall createTransitGatewayConnection(CreateTransitGatewayConnectionOptions createTransitGatewayConnectionOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(createTransitGatewayConnectionOptions, - "createTransitGatewayConnectionOptions cannot be null"); + public ServiceCall replaceTransitGatewayConnectionPrefixFilter(ReplaceTransitGatewayConnectionPrefixFilterOptions replaceTransitGatewayConnectionPrefixFilterOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(replaceTransitGatewayConnectionPrefixFilterOptions, + "replaceTransitGatewayConnectionPrefixFilterOptions cannot be null"); Map pathParamsMap = new HashMap(); - pathParamsMap.put("transit_gateway_id", createTransitGatewayConnectionOptions.transitGatewayId()); - RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "createTransitGatewayConnection"); + pathParamsMap.put("transit_gateway_id", replaceTransitGatewayConnectionPrefixFilterOptions.transitGatewayId()); + pathParamsMap.put("id", replaceTransitGatewayConnectionPrefixFilterOptions.id()); + RequestBuilder builder = RequestBuilder.put(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "replaceTransitGatewayConnectionPrefixFilter"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); final JsonObject contentJson = new JsonObject(); - contentJson.addProperty("network_type", createTransitGatewayConnectionOptions.networkType()); - if (createTransitGatewayConnectionOptions.baseConnectionId() != null) { - contentJson.addProperty("base_connection_id", createTransitGatewayConnectionOptions.baseConnectionId()); - } - if (createTransitGatewayConnectionOptions.localGatewayIp() != null) { - contentJson.addProperty("local_gateway_ip", createTransitGatewayConnectionOptions.localGatewayIp()); - } - if (createTransitGatewayConnectionOptions.localTunnelIp() != null) { - contentJson.addProperty("local_tunnel_ip", createTransitGatewayConnectionOptions.localTunnelIp()); - } - if (createTransitGatewayConnectionOptions.name() != null) { - contentJson.addProperty("name", createTransitGatewayConnectionOptions.name()); - } - if (createTransitGatewayConnectionOptions.networkAccountId() != null) { - contentJson.addProperty("network_account_id", createTransitGatewayConnectionOptions.networkAccountId()); - } - if (createTransitGatewayConnectionOptions.networkId() != null) { - contentJson.addProperty("network_id", createTransitGatewayConnectionOptions.networkId()); - } - if (createTransitGatewayConnectionOptions.prefixFilters() != null) { - contentJson.add("prefix_filters", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createTransitGatewayConnectionOptions.prefixFilters())); - } - if (createTransitGatewayConnectionOptions.prefixFiltersDefault() != null) { - contentJson.addProperty("prefix_filters_default", createTransitGatewayConnectionOptions.prefixFiltersDefault()); - } - if (createTransitGatewayConnectionOptions.remoteBgpAsn() != null) { - contentJson.addProperty("remote_bgp_asn", createTransitGatewayConnectionOptions.remoteBgpAsn()); - } - if (createTransitGatewayConnectionOptions.remoteGatewayIp() != null) { - contentJson.addProperty("remote_gateway_ip", createTransitGatewayConnectionOptions.remoteGatewayIp()); - } - if (createTransitGatewayConnectionOptions.remoteTunnelIp() != null) { - contentJson.addProperty("remote_tunnel_ip", createTransitGatewayConnectionOptions.remoteTunnelIp()); - } - if (createTransitGatewayConnectionOptions.zone() != null) { - contentJson.add("zone", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createTransitGatewayConnectionOptions.zone())); - } + contentJson.add("prefix_filters", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(replaceTransitGatewayConnectionPrefixFilterOptions.prefixFilters())); builder.bodyJson(contentJson); - ResponseConverter responseConverter = - ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } /** - * Remove connection from Transit Gateway. + * Remove prefix filter from Transit Gateway Connection. * - * After the specified connection is detached, entities still within the Transit Gateway will no longer be able to - * communicate directly to it through the IBM Cloud private backbone. + * Delete a prefix filter. * - * @param deleteTransitGatewayConnectionOptions the {@link DeleteTransitGatewayConnectionOptions} containing the options for the call + * @param deleteTransitGatewayConnectionPrefixFilterOptions the {@link DeleteTransitGatewayConnectionPrefixFilterOptions} containing the options for the call * @return a {@link ServiceCall} with a void result */ - public ServiceCall deleteTransitGatewayConnection(DeleteTransitGatewayConnectionOptions deleteTransitGatewayConnectionOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(deleteTransitGatewayConnectionOptions, - "deleteTransitGatewayConnectionOptions cannot be null"); + public ServiceCall deleteTransitGatewayConnectionPrefixFilter(DeleteTransitGatewayConnectionPrefixFilterOptions deleteTransitGatewayConnectionPrefixFilterOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(deleteTransitGatewayConnectionPrefixFilterOptions, + "deleteTransitGatewayConnectionPrefixFilterOptions cannot be null"); Map pathParamsMap = new HashMap(); - pathParamsMap.put("transit_gateway_id", deleteTransitGatewayConnectionOptions.transitGatewayId()); - pathParamsMap.put("id", deleteTransitGatewayConnectionOptions.id()); - RequestBuilder builder = RequestBuilder.delete(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "deleteTransitGatewayConnection"); + pathParamsMap.put("transit_gateway_id", deleteTransitGatewayConnectionPrefixFilterOptions.transitGatewayId()); + pathParamsMap.put("id", deleteTransitGatewayConnectionPrefixFilterOptions.id()); + pathParamsMap.put("filter_id", deleteTransitGatewayConnectionPrefixFilterOptions.filterId()); + RequestBuilder builder = RequestBuilder.delete(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters/{filter_id}", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "deleteTransitGatewayConnectionPrefixFilter"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } @@ -720,146 +724,175 @@ public ServiceCall deleteTransitGatewayConnection(DeleteTransitGatewayConn } /** - * Retrieves specified Transit Gateway connection. + * Retrieves specified Transit Gateway connection prefix filter. * - * This request retrieves a connection from the Transit Gateway. + * This request retrieves a prefix filter from the Transit Gateway Connection. * - * @param getTransitGatewayConnectionOptions the {@link GetTransitGatewayConnectionOptions} containing the options for the call - * @return a {@link ServiceCall} with a result of type {@link TransitGatewayConnectionCust} + * @param getTransitGatewayConnectionPrefixFilterOptions the {@link GetTransitGatewayConnectionPrefixFilterOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link PrefixFilterCust} */ - public ServiceCall getTransitGatewayConnection(GetTransitGatewayConnectionOptions getTransitGatewayConnectionOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(getTransitGatewayConnectionOptions, - "getTransitGatewayConnectionOptions cannot be null"); + public ServiceCall getTransitGatewayConnectionPrefixFilter(GetTransitGatewayConnectionPrefixFilterOptions getTransitGatewayConnectionPrefixFilterOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(getTransitGatewayConnectionPrefixFilterOptions, + "getTransitGatewayConnectionPrefixFilterOptions cannot be null"); Map pathParamsMap = new HashMap(); - pathParamsMap.put("transit_gateway_id", getTransitGatewayConnectionOptions.transitGatewayId()); - pathParamsMap.put("id", getTransitGatewayConnectionOptions.id()); - RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "getTransitGatewayConnection"); + pathParamsMap.put("transit_gateway_id", getTransitGatewayConnectionPrefixFilterOptions.transitGatewayId()); + pathParamsMap.put("id", getTransitGatewayConnectionPrefixFilterOptions.id()); + pathParamsMap.put("filter_id", getTransitGatewayConnectionPrefixFilterOptions.filterId()); + RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters/{filter_id}", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "getTransitGatewayConnectionPrefixFilter"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); - ResponseConverter responseConverter = - ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } /** - * Updates specified Transit Gateway connection. + * Updates specified Transit Gateway connection prefix filter. * - * Update the name of a connection to a Transit Gateway. + * Update prefix filter for a Transit Gateway Connection. * - * @param updateTransitGatewayConnectionOptions the {@link UpdateTransitGatewayConnectionOptions} containing the options for the call - * @return a {@link ServiceCall} with a result of type {@link TransitGatewayConnectionCust} + * @param updateTransitGatewayConnectionPrefixFilterOptions the {@link UpdateTransitGatewayConnectionPrefixFilterOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link PrefixFilterCust} */ - public ServiceCall updateTransitGatewayConnection(UpdateTransitGatewayConnectionOptions updateTransitGatewayConnectionOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(updateTransitGatewayConnectionOptions, - "updateTransitGatewayConnectionOptions cannot be null"); + public ServiceCall updateTransitGatewayConnectionPrefixFilter(UpdateTransitGatewayConnectionPrefixFilterOptions updateTransitGatewayConnectionPrefixFilterOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(updateTransitGatewayConnectionPrefixFilterOptions, + "updateTransitGatewayConnectionPrefixFilterOptions cannot be null"); Map pathParamsMap = new HashMap(); - pathParamsMap.put("transit_gateway_id", updateTransitGatewayConnectionOptions.transitGatewayId()); - pathParamsMap.put("id", updateTransitGatewayConnectionOptions.id()); - RequestBuilder builder = RequestBuilder.patch(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "updateTransitGatewayConnection"); + pathParamsMap.put("transit_gateway_id", updateTransitGatewayConnectionPrefixFilterOptions.transitGatewayId()); + pathParamsMap.put("id", updateTransitGatewayConnectionPrefixFilterOptions.id()); + pathParamsMap.put("filter_id", updateTransitGatewayConnectionPrefixFilterOptions.filterId()); + RequestBuilder builder = RequestBuilder.patch(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters/{filter_id}", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "updateTransitGatewayConnectionPrefixFilter"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); final JsonObject contentJson = new JsonObject(); - if (updateTransitGatewayConnectionOptions.name() != null) { - contentJson.addProperty("name", updateTransitGatewayConnectionOptions.name()); + if (updateTransitGatewayConnectionPrefixFilterOptions.action() != null) { + contentJson.addProperty("action", updateTransitGatewayConnectionPrefixFilterOptions.action()); } - if (updateTransitGatewayConnectionOptions.prefixFiltersDefault() != null) { - contentJson.addProperty("prefix_filters_default", updateTransitGatewayConnectionOptions.prefixFiltersDefault()); + if (updateTransitGatewayConnectionPrefixFilterOptions.before() != null) { + contentJson.addProperty("before", updateTransitGatewayConnectionPrefixFilterOptions.before()); + } + if (updateTransitGatewayConnectionPrefixFilterOptions.ge() != null) { + contentJson.addProperty("ge", updateTransitGatewayConnectionPrefixFilterOptions.ge()); + } + if (updateTransitGatewayConnectionPrefixFilterOptions.le() != null) { + contentJson.addProperty("le", updateTransitGatewayConnectionPrefixFilterOptions.le()); + } + if (updateTransitGatewayConnectionPrefixFilterOptions.prefix() != null) { + contentJson.addProperty("prefix", updateTransitGatewayConnectionPrefixFilterOptions.prefix()); } builder.bodyJson(contentJson); - ResponseConverter responseConverter = - ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } /** - * Perform actions on a connection for a Transit Gateway. + * List route reports. * - * Allow a network owner to approve or reject a cross-account connection request. + * Retrieve all route reports for the specified Transit Gateway. There will normally be at most one completed report + * and one pending report. Additionally, completed route reports are written to IBM Cloud Activity Tracker. * - * @param createTransitGatewayConnectionActionsOptions the {@link CreateTransitGatewayConnectionActionsOptions} containing the options for the call - * @return a {@link ServiceCall} with a void result + * @param listTransitGatewayRouteReportsOptions the {@link ListTransitGatewayRouteReportsOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link RouteReportCollection} */ - public ServiceCall createTransitGatewayConnectionActions(CreateTransitGatewayConnectionActionsOptions createTransitGatewayConnectionActionsOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(createTransitGatewayConnectionActionsOptions, - "createTransitGatewayConnectionActionsOptions cannot be null"); + public ServiceCall listTransitGatewayRouteReports(ListTransitGatewayRouteReportsOptions listTransitGatewayRouteReportsOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(listTransitGatewayRouteReportsOptions, + "listTransitGatewayRouteReportsOptions cannot be null"); Map pathParamsMap = new HashMap(); - pathParamsMap.put("transit_gateway_id", createTransitGatewayConnectionActionsOptions.transitGatewayId()); - pathParamsMap.put("id", createTransitGatewayConnectionActionsOptions.id()); - RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/connections/{id}/actions", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "createTransitGatewayConnectionActions"); + pathParamsMap.put("transit_gateway_id", listTransitGatewayRouteReportsOptions.transitGatewayId()); + RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/route_reports", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "listTransitGatewayRouteReports"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } + builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); - final JsonObject contentJson = new JsonObject(); - contentJson.addProperty("action", createTransitGatewayConnectionActionsOptions.action()); - builder.bodyJson(contentJson); - ResponseConverter responseConverter = ResponseConverterUtils.getVoid(); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } /** - * List all locations that support Transit Gateways. + * Request a route report. * - * List all locations that support Transit Gateways. + * Request route report generation. While report generation is in progress, additional requests to generate a report + * are ignored and return the current pending report. * - * @param listGatewayLocationsOptions the {@link ListGatewayLocationsOptions} containing the options for the call - * @return a {@link ServiceCall} with a result of type {@link TSCollection} + * @param createTransitGatewayRouteReportOptions the {@link CreateTransitGatewayRouteReportOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link RouteReport} */ - public ServiceCall listGatewayLocations(ListGatewayLocationsOptions listGatewayLocationsOptions) { - RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/locations")); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "listGatewayLocations"); + public ServiceCall createTransitGatewayRouteReport(CreateTransitGatewayRouteReportOptions createTransitGatewayRouteReportOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(createTransitGatewayRouteReportOptions, + "createTransitGatewayRouteReportOptions cannot be null"); + Map pathParamsMap = new HashMap(); + pathParamsMap.put("transit_gateway_id", createTransitGatewayRouteReportOptions.transitGatewayId()); + RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/route_reports", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "createTransitGatewayRouteReport"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); - ResponseConverter responseConverter = - ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } /** - * List all locations that support Transit Gateways. + * Delete route report. * - * List all locations that support Transit Gateways. + * Delete a route report. * - * @return a {@link ServiceCall} with a result of type {@link TSCollection} + * @param deleteTransitGatewayRouteReportOptions the {@link DeleteTransitGatewayRouteReportOptions} containing the options for the call + * @return a {@link ServiceCall} with a void result */ - public ServiceCall listGatewayLocations() { - return listGatewayLocations(null); + public ServiceCall deleteTransitGatewayRouteReport(DeleteTransitGatewayRouteReportOptions deleteTransitGatewayRouteReportOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(deleteTransitGatewayRouteReportOptions, + "deleteTransitGatewayRouteReportOptions cannot be null"); + Map pathParamsMap = new HashMap(); + pathParamsMap.put("transit_gateway_id", deleteTransitGatewayRouteReportOptions.transitGatewayId()); + pathParamsMap.put("id", deleteTransitGatewayRouteReportOptions.id()); + RequestBuilder builder = RequestBuilder.delete(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/route_reports/{id}", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "deleteTransitGatewayRouteReport"); + for (Entry header : sdkHeaders.entrySet()) { + builder.header(header.getKey(), header.getValue()); + } + builder.query("version", String.valueOf(this.version)); + ResponseConverter responseConverter = ResponseConverterUtils.getVoid(); + return createServiceCall(builder.build(), responseConverter); } /** - * Show the details of a given Transit Gateway location. + * Retrieve route report. * - * Get the details of a Transit Gateway Location. + * Retrieve a route report. * - * @param getGatewayLocationOptions the {@link GetGatewayLocationOptions} containing the options for the call - * @return a {@link ServiceCall} with a result of type {@link TSLocation} + * @param getTransitGatewayRouteReportOptions the {@link GetTransitGatewayRouteReportOptions} containing the options for the call + * @return a {@link ServiceCall} with a result of type {@link RouteReport} */ - public ServiceCall getGatewayLocation(GetGatewayLocationOptions getGatewayLocationOptions) { - com.ibm.cloud.sdk.core.util.Validator.notNull(getGatewayLocationOptions, - "getGatewayLocationOptions cannot be null"); + public ServiceCall getTransitGatewayRouteReport(GetTransitGatewayRouteReportOptions getTransitGatewayRouteReportOptions) { + com.ibm.cloud.sdk.core.util.Validator.notNull(getTransitGatewayRouteReportOptions, + "getTransitGatewayRouteReportOptions cannot be null"); Map pathParamsMap = new HashMap(); - pathParamsMap.put("name", getGatewayLocationOptions.name()); - RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/locations/{name}", pathParamsMap)); - Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "getGatewayLocation"); + pathParamsMap.put("transit_gateway_id", getTransitGatewayRouteReportOptions.transitGatewayId()); + pathParamsMap.put("id", getTransitGatewayRouteReportOptions.id()); + RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/transit_gateways/{transit_gateway_id}/route_reports/{id}", pathParamsMap)); + Map sdkHeaders = SdkCommon.getSdkHeaders("transit_gateway_apis", "v1", "getTransitGatewayRouteReport"); for (Entry header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } builder.header("Accept", "application/json"); builder.query("version", String.valueOf(this.version)); - ResponseConverter responseConverter = - ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); + ResponseConverter responseConverter = + ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType()); return createServiceCall(builder.build(), responseConverter); } diff --git a/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/CreateTransitGatewayConnectionOptions.java b/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/CreateTransitGatewayConnectionOptions.java index 84937f24a..4a8b4c50f 100644 --- a/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/CreateTransitGatewayConnectionOptions.java +++ b/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/CreateTransitGatewayConnectionOptions.java @@ -23,8 +23,8 @@ public class CreateTransitGatewayConnectionOptions extends GenericModel { /** - * Defines what type of network is connected via this connection. For access to gre_tunnel connections contact IBM - * support. + * Defines what type of network is connected via this connection. For access to gre_tunnel or unbound_gre_tunnel + * connections contact IBM support. */ public interface NetworkType { /** classic. */ @@ -33,12 +33,28 @@ public interface NetworkType { String DIRECTLINK = "directlink"; /** gre_tunnel. */ String GRE_TUNNEL = "gre_tunnel"; + /** unbound_gre_tunnel. */ + String UNBOUND_GRE_TUNNEL = "unbound_gre_tunnel"; /** vpc. */ String VPC = "vpc"; + /** power_virtual_server. */ + String POWER_VIRTUAL_SERVER = "power_virtual_server"; } /** - * Default setting of permit or deny which applies to any routes that don't match a specified filter. + * The type of network the Unbound GRE tunnel is targeting. This field is required for network type + * 'unbound_gre_tunnel' connections. This field is required to be unspecified for network type 'classic', + * 'directlink', 'vpc', 'power_virtual_server' and 'gre_tunnel' connections. + */ + public interface BaseNetworkType { + /** classic. */ + String CLASSIC = "classic"; + } + + /** + * Default setting of permit or deny which applies to any routes that don't match a specified filter. This field is + * optional for network type 'classic', 'vpc', 'directlink', and 'power_virtual_server' connections. This field is + * required to be unspecified for network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. */ public interface PrefixFiltersDefault { /** permit. */ @@ -50,6 +66,7 @@ public interface PrefixFiltersDefault { protected String transitGatewayId; protected String networkType; protected String baseConnectionId; + protected String baseNetworkType; protected String localGatewayIp; protected String localTunnelIp; protected String name; @@ -57,7 +74,7 @@ public interface PrefixFiltersDefault { protected String networkId; protected List prefixFilters; protected String prefixFiltersDefault; - protected String remoteBgpAsn; + protected Long remoteBgpAsn; protected String remoteGatewayIp; protected String remoteTunnelIp; protected ZoneIdentity zone; @@ -69,6 +86,7 @@ public static class Builder { private String transitGatewayId; private String networkType; private String baseConnectionId; + private String baseNetworkType; private String localGatewayIp; private String localTunnelIp; private String name; @@ -76,7 +94,7 @@ public static class Builder { private String networkId; private List prefixFilters; private String prefixFiltersDefault; - private String remoteBgpAsn; + private Long remoteBgpAsn; private String remoteGatewayIp; private String remoteTunnelIp; private ZoneIdentity zone; @@ -85,6 +103,7 @@ private Builder(CreateTransitGatewayConnectionOptions createTransitGatewayConnec this.transitGatewayId = createTransitGatewayConnectionOptions.transitGatewayId; this.networkType = createTransitGatewayConnectionOptions.networkType; this.baseConnectionId = createTransitGatewayConnectionOptions.baseConnectionId; + this.baseNetworkType = createTransitGatewayConnectionOptions.baseNetworkType; this.localGatewayIp = createTransitGatewayConnectionOptions.localGatewayIp; this.localTunnelIp = createTransitGatewayConnectionOptions.localTunnelIp; this.name = createTransitGatewayConnectionOptions.name; @@ -173,6 +192,17 @@ public Builder baseConnectionId(String baseConnectionId) { return this; } + /** + * Set the baseNetworkType. + * + * @param baseNetworkType the baseNetworkType + * @return the CreateTransitGatewayConnectionOptions builder + */ + public Builder baseNetworkType(String baseNetworkType) { + this.baseNetworkType = baseNetworkType; + return this; + } + /** * Set the localGatewayIp. * @@ -257,7 +287,7 @@ public Builder prefixFiltersDefault(String prefixFiltersDefault) { * @param remoteBgpAsn the remoteBgpAsn * @return the CreateTransitGatewayConnectionOptions builder */ - public Builder remoteBgpAsn(String remoteBgpAsn) { + public Builder remoteBgpAsn(long remoteBgpAsn) { this.remoteBgpAsn = remoteBgpAsn; return this; } @@ -304,6 +334,7 @@ protected CreateTransitGatewayConnectionOptions(Builder builder) { transitGatewayId = builder.transitGatewayId; networkType = builder.networkType; baseConnectionId = builder.baseConnectionId; + baseNetworkType = builder.baseNetworkType; localGatewayIp = builder.localGatewayIp; localTunnelIp = builder.localTunnelIp; name = builder.name; @@ -340,8 +371,8 @@ public String transitGatewayId() { /** * Gets the networkType. * - * Defines what type of network is connected via this connection. For access to gre_tunnel connections contact IBM - * support. + * Defines what type of network is connected via this connection. For access to gre_tunnel or unbound_gre_tunnel + * connections contact IBM support. * * @return the networkType */ @@ -353,9 +384,13 @@ public String networkType() { * Gets the baseConnectionId. * * network_type 'gre_tunnel' connections must be created over an existing network_type 'classic' connection. This - * field is required for 'gre_tunnel' connections and must specify the ID of an active transit gateway network_type - * 'classic' connection in the same transit gateway. Omit 'base_connection_id' for any connection type other than - * 'gre_tunnel'. + * field must specify the ID of an active transit gateway network_type 'classic' connection in the same transit + * gateway. + * + * This field is required for network type 'gre_tunnel' connections. + * + * This field is required to be unspecified for network type 'classic', 'directlink', 'vpc', 'power_virtual_server' + * and 'unbound_gre_tunnel' connections. * * @return the baseConnectionId */ @@ -363,10 +398,25 @@ public String baseConnectionId() { return baseConnectionId; } + /** + * Gets the baseNetworkType. + * + * The type of network the Unbound GRE tunnel is targeting. This field is required for network type + * 'unbound_gre_tunnel' connections. This field is required to be unspecified for network type 'classic', + * 'directlink', 'vpc', 'power_virtual_server' and 'gre_tunnel' connections. + * + * @return the baseNetworkType + */ + public String baseNetworkType() { + return baseNetworkType; + } + /** * Gets the localGatewayIp. * - * Local gateway IP address. This field is required for and only applicable to type gre_tunnel connections. + * Local gateway IP address. This field is required for network type 'gre_tunnel' and 'unbound_gre_tunnel' + * connections. This field is required to be unspecified for network type 'classic', 'directlink', 'vpc' and + * 'power_virtual_server' connections. * * @return the localGatewayIp */ @@ -377,9 +427,13 @@ public String localGatewayIp() { /** * Gets the localTunnelIp. * - * Local tunnel IP address. This field is required for and only applicable to type gre_tunnel connections. The - * local_tunnel_ip and remote_tunnel_ip addresses must be in the same /30 network. Neither can be the network nor - * broadcast addresses. + * Local tunnel IP address. The local_tunnel_ip and remote_tunnel_ip addresses must be in the same /30 network. + * Neither can be the network nor broadcast addresses. + * + * This field is required for network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + * + * This field is required to be unspecified for network type 'classic', 'directlink', 'vpc' and 'power_virtual_server' + * connections. * * @return the localTunnelIp */ @@ -391,8 +445,11 @@ public String localTunnelIp() { * Gets the name. * * The user-defined name for this transit gateway connection. Network type 'vpc' connections are defaulted to the - * name of the VPC. Network type 'classic' connections are named 'Classic'. Name specification is required for - * network type 'gre_tunnel' connections. + * name of the VPC. Network type 'classic' connections are named 'Classic'. + * + * This field is required for network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + * + * This field is optional for network type 'classic', 'directlink', 'vpc' and 'power_virtual_server' connections. * * @return the name */ @@ -404,7 +461,8 @@ public String name() { * Gets the networkAccountId. * * The ID of the account which owns the network that is being connected. Generally only used if the network is in a - * different account than the gateway. This field is required to be unspecified for network type 'gre_tunnel'. + * different account than the gateway. This field is required for type 'unbound_gre_tunnel' when the + * associated_network_type is 'classic' and the GRE tunnel is in a different account than the gateway. * * @return the networkAccountId */ @@ -415,9 +473,10 @@ public String networkAccountId() { /** * Gets the networkId. * - * The ID of the network being connected via this connection. This field is required for some types, such as 'vpc' and - * 'directlink'. For network types 'vpc' and 'directlink' this is the CRN of the VPC / Direct Link gateway - * respectively. This field is required to be unspecified for network type 'classic' and 'gre_tunnel' connections. + * The ID of the network being connected via this connection. For network types 'vpc','power_virtual_server' and + * 'directlink' this is the CRN of the VPC / PowerVS / Direct Link gateway respectively. This field is required for + * network type 'vpc', 'power_virtual_server' and 'directlink' connections. This field is required to be unspecified + * for network type 'classic', 'gre_tunnel' and 'unbound_gre_tunnel' connections. * * @return the networkId */ @@ -429,9 +488,11 @@ public String networkId() { * Gets the prefixFilters. * * Array of prefix route filters for a transit gateway connection. Prefix filters can be specified for netowrk type - * 'vpc', 'classic' and 'directlink' connections. They are not allowed for type 'gre_tunnel' connections. This is - * order dependent with those first in the array being applied first, and those at the end of the array being applied - * last, or just before applying the default. + * 'vpc', 'classic', 'power_virtual_server' and 'directlink' connections. They are not allowed for type 'gre_tunnel' + * connections. This is order dependent with those first in the array being applied first, and those at the end of the + * array being applied last, or just before applying the default. This field is optional for network type 'classic', + * 'vpc', 'directlink', and 'power_virtual_server' connections. This field is required to be unspecified for network + * type 'gre_tunnel' and 'unbound_gre_tunnel' connections. * * @return the prefixFilters */ @@ -442,7 +503,9 @@ public List prefixFilters() { /** * Gets the prefixFiltersDefault. * - * Default setting of permit or deny which applies to any routes that don't match a specified filter. + * Default setting of permit or deny which applies to any routes that don't match a specified filter. This field is + * optional for network type 'classic', 'vpc', 'directlink', and 'power_virtual_server' connections. This field is + * required to be unspecified for network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. * * @return the prefixFiltersDefault */ @@ -453,20 +516,27 @@ public String prefixFiltersDefault() { /** * Gets the remoteBgpAsn. * - * Remote network BGP ASN. This field is only applicable to 'gre_tunnel' type connections. The following ASN values - * are reserved and unavailable 64512-64513, 65100, 65201-65234, 65402-65433, 65500 and 4201065000-4201065999. If - * 'remote_bgp_asn' is omitted on gre_tunnel connection create requests IBM will assign an ASN. + * Remote network BGP ASN. The following ASN values are reserved and unavailable 64512-64513, 65100, 65201-65234, + * 65402-65433, 65500 and 4201065000-4201065999. If 'remote_bgp_asn' is omitted on gre_tunnel or unbound_gre_tunnel + * connection create requests IBM will assign an ASN. + * + * This field is optional for network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + * + * This field is required to be unspecified for network type 'classic', 'directlink', 'vpc' and 'power_virtual_server' + * connections. * * @return the remoteBgpAsn */ - public String remoteBgpAsn() { + public Long remoteBgpAsn() { return remoteBgpAsn; } /** * Gets the remoteGatewayIp. * - * Remote gateway IP address. This field is required for and only applicable to type gre_tunnel connections. + * Remote gateway IP address. This field is required for network type 'gre_tunnel' and 'unbound_gre_tunnel' + * connections. This field is required to be unspecified for network type 'classic', 'directlink', 'vpc' and + * 'power_virtual_server' connections. * * @return the remoteGatewayIp */ @@ -477,9 +547,13 @@ public String remoteGatewayIp() { /** * Gets the remoteTunnelIp. * - * Remote tunnel IP address. This field is required for and only applicable to type gre_tunnel connections. The - * local_tunnel_ip and remote_tunnel_ip addresses must be in the same /30 network. Neither can be the network nor - * broadcast addresses. + * Remote tunnel IP address. The local_tunnel_ip and remote_tunnel_ip addresses must be in the same /30 network. + * Neither can be the network nor broadcast addresses. + * + * This field is required for network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + * + * This field is required to be unspecified for network type 'classic', 'directlink', 'vpc' and 'power_virtual_server' + * connections. * * @return the remoteTunnelIp */ @@ -490,10 +564,13 @@ public String remoteTunnelIp() { /** * Gets the zone. * - * For network_type 'gre_tunnel' connections specify the connection's location. The specified availability zone must - * reside in the gateway's region. + * Specify the connection's location. The specified availability zone must reside in the gateway's region. * Use the IBM Cloud global catalog to list zones within the desired region. - * This field is required for and only applicable to network type 'gre_tunnel' connections. + * + * This field is required for network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + * + * This field is required to be unspecified for network type 'classic', 'directlink', 'vpc' and 'power_virtual_server' + * connections. * * @return the zone */ diff --git a/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/PrefixFilterPut.java b/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/PrefixFilterPut.java new file mode 100644 index 000000000..d11513879 --- /dev/null +++ b/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/PrefixFilterPut.java @@ -0,0 +1,188 @@ +/* + * (C) Copyright IBM Corp. 2022. + * + * 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.transit_gateway_apis.v1.model; + +import com.ibm.cloud.sdk.core.service.model.GenericModel; + +/** + * A prefix filter create template. + */ +public class PrefixFilterPut extends GenericModel { + + /** + * Whether to permit or deny prefix filter. + */ + public interface Action { + /** permit. */ + String PERMIT = "permit"; + /** deny. */ + String DENY = "deny"; + } + + protected String action; + protected Long ge; + protected Long le; + protected String prefix; + + /** + * Builder. + */ + public static class Builder { + private String action; + private Long ge; + private Long le; + private String prefix; + + private Builder(PrefixFilterPut prefixFilterPut) { + this.action = prefixFilterPut.action; + this.ge = prefixFilterPut.ge; + this.le = prefixFilterPut.le; + this.prefix = prefixFilterPut.prefix; + } + + /** + * Instantiates a new builder. + */ + public Builder() { + } + + /** + * Instantiates a new builder with required properties. + * + * @param action the action + * @param prefix the prefix + */ + public Builder(String action, String prefix) { + this.action = action; + this.prefix = prefix; + } + + /** + * Builds a PrefixFilterPut. + * + * @return the new PrefixFilterPut instance + */ + public PrefixFilterPut build() { + return new PrefixFilterPut(this); + } + + /** + * Set the action. + * + * @param action the action + * @return the PrefixFilterPut builder + */ + public Builder action(String action) { + this.action = action; + return this; + } + + /** + * Set the ge. + * + * @param ge the ge + * @return the PrefixFilterPut builder + */ + public Builder ge(long ge) { + this.ge = ge; + return this; + } + + /** + * Set the le. + * + * @param le the le + * @return the PrefixFilterPut builder + */ + public Builder le(long le) { + this.le = le; + return this; + } + + /** + * Set the prefix. + * + * @param prefix the prefix + * @return the PrefixFilterPut builder + */ + public Builder prefix(String prefix) { + this.prefix = prefix; + return this; + } + } + + protected PrefixFilterPut(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.prefix, + "prefix cannot be null"); + action = builder.action; + ge = builder.ge; + le = builder.le; + prefix = builder.prefix; + } + + /** + * New builder. + * + * @return a PrefixFilterPut builder + */ + public Builder newBuilder() { + return new Builder(this); + } + + /** + * Gets the action. + * + * Whether to permit or deny prefix filter. + * + * @return the action + */ + public String action() { + return action; + } + + /** + * Gets the ge. + * + * IP Prefix GE. + * + * @return the ge + */ + public Long ge() { + return ge; + } + + /** + * Gets the le. + * + * IP Prefix LE. + * + * @return the le + */ + public Long le() { + return le; + } + + /** + * Gets the prefix. + * + * IP Prefix. + * + * @return the prefix + */ + public String prefix() { + return prefix; + } +} + diff --git a/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/ReplaceTransitGatewayConnectionPrefixFilterOptions.java b/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/ReplaceTransitGatewayConnectionPrefixFilterOptions.java new file mode 100644 index 000000000..3c3a4c226 --- /dev/null +++ b/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/ReplaceTransitGatewayConnectionPrefixFilterOptions.java @@ -0,0 +1,176 @@ +/* + * (C) Copyright IBM Corp. 2022. + * + * 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.transit_gateway_apis.v1.model; + +import java.util.ArrayList; +import java.util.List; + +import com.ibm.cloud.sdk.core.service.model.GenericModel; + +/** + * The replaceTransitGatewayConnectionPrefixFilter options. + */ +public class ReplaceTransitGatewayConnectionPrefixFilterOptions extends GenericModel { + + protected String transitGatewayId; + protected String id; + protected List prefixFilters; + + /** + * Builder. + */ + public static class Builder { + private String transitGatewayId; + private String id; + private List prefixFilters; + + private Builder(ReplaceTransitGatewayConnectionPrefixFilterOptions replaceTransitGatewayConnectionPrefixFilterOptions) { + this.transitGatewayId = replaceTransitGatewayConnectionPrefixFilterOptions.transitGatewayId; + this.id = replaceTransitGatewayConnectionPrefixFilterOptions.id; + this.prefixFilters = replaceTransitGatewayConnectionPrefixFilterOptions.prefixFilters; + } + + /** + * Instantiates a new builder. + */ + public Builder() { + } + + /** + * Instantiates a new builder with required properties. + * + * @param transitGatewayId the transitGatewayId + * @param id the id + * @param prefixFilters the prefixFilters + */ + public Builder(String transitGatewayId, String id, List prefixFilters) { + this.transitGatewayId = transitGatewayId; + this.id = id; + this.prefixFilters = prefixFilters; + } + + /** + * Builds a ReplaceTransitGatewayConnectionPrefixFilterOptions. + * + * @return the new ReplaceTransitGatewayConnectionPrefixFilterOptions instance + */ + public ReplaceTransitGatewayConnectionPrefixFilterOptions build() { + return new ReplaceTransitGatewayConnectionPrefixFilterOptions(this); + } + + /** + * Adds an prefixFilters to prefixFilters. + * + * @param prefixFilters the new prefixFilters + * @return the ReplaceTransitGatewayConnectionPrefixFilterOptions builder + */ + public Builder addPrefixFilters(PrefixFilterPut prefixFilters) { + com.ibm.cloud.sdk.core.util.Validator.notNull(prefixFilters, + "prefixFilters cannot be null"); + if (this.prefixFilters == null) { + this.prefixFilters = new ArrayList(); + } + this.prefixFilters.add(prefixFilters); + return this; + } + + /** + * Set the transitGatewayId. + * + * @param transitGatewayId the transitGatewayId + * @return the ReplaceTransitGatewayConnectionPrefixFilterOptions builder + */ + public Builder transitGatewayId(String transitGatewayId) { + this.transitGatewayId = transitGatewayId; + return this; + } + + /** + * Set the id. + * + * @param id the id + * @return the ReplaceTransitGatewayConnectionPrefixFilterOptions builder + */ + public Builder id(String id) { + this.id = id; + return this; + } + + /** + * Set the prefixFilters. + * Existing prefixFilters will be replaced. + * + * @param prefixFilters the prefixFilters + * @return the ReplaceTransitGatewayConnectionPrefixFilterOptions builder + */ + public Builder prefixFilters(List prefixFilters) { + this.prefixFilters = prefixFilters; + return this; + } + } + + protected ReplaceTransitGatewayConnectionPrefixFilterOptions(Builder builder) { + com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.transitGatewayId, + "transitGatewayId cannot be empty"); + com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.id, + "id cannot be empty"); + com.ibm.cloud.sdk.core.util.Validator.notNull(builder.prefixFilters, + "prefixFilters cannot be null"); + transitGatewayId = builder.transitGatewayId; + id = builder.id; + prefixFilters = builder.prefixFilters; + } + + /** + * New builder. + * + * @return a ReplaceTransitGatewayConnectionPrefixFilterOptions builder + */ + public Builder newBuilder() { + return new Builder(this); + } + + /** + * Gets the transitGatewayId. + * + * The Transit Gateway identifier. + * + * @return the transitGatewayId + */ + public String transitGatewayId() { + return transitGatewayId; + } + + /** + * Gets the id. + * + * The connection identifier. + * + * @return the id + */ + public String id() { + return id; + } + + /** + * Gets the prefixFilters. + * + * Array of prefix filters. + * + * @return the prefixFilters + */ + public List prefixFilters() { + return prefixFilters; + } +} + diff --git a/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TSLocalLocation.java b/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TSLocalLocation.java index 1efbc1b32..ab050c020 100644 --- a/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TSLocalLocation.java +++ b/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TSLocalLocation.java @@ -12,6 +12,8 @@ */ package com.ibm.cloud.networking.transit_gateway_apis.v1.model; +import java.util.List; + import com.google.gson.annotations.SerializedName; import com.ibm.cloud.sdk.core.service.model.GenericModel; @@ -28,11 +30,15 @@ public class TSLocalLocation extends GenericModel { public interface Type { /** region. */ String REGION = "region"; + /** dc. */ + String DC = "dc"; } @SerializedName("display_name") protected String displayName; protected String name; + @SerializedName("supported_connection_types") + protected List supportedConnectionTypes; protected String type; /** @@ -57,6 +63,17 @@ public String getName() { return name; } + /** + * Gets the supportedConnectionTypes. + * + * Array of supported connection types. + * + * @return the supportedConnectionTypes + */ + public List getSupportedConnectionTypes() { + return supportedConnectionTypes; + } + /** * Gets the type. * diff --git a/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitConnection.java b/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitConnection.java index 95c8595c8..fa31a3742 100644 --- a/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitConnection.java +++ b/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitConnection.java @@ -34,8 +34,12 @@ public interface NetworkType { String DIRECTLINK = "directlink"; /** gre_tunnel. */ String GRE_TUNNEL = "gre_tunnel"; + /** unbound_gre_tunnel. */ + String UNBOUND_GRE_TUNNEL = "unbound_gre_tunnel"; /** vpc. */ String VPC = "vpc"; + /** power_virtual_server. */ + String POWER_VIRTUAL_SERVER = "power_virtual_server"; } /** @@ -83,6 +87,10 @@ public interface Status { String DETACHING = "detaching"; /** detached. */ String DETACHED = "detached"; + /** suspending. */ + String SUSPENDING = "suspending"; + /** suspended. */ + String SUSPENDED = "suspended"; } @SerializedName("base_connection_id") @@ -229,9 +237,9 @@ public String getNetworkAccountId() { /** * Gets the networkId. * - * The ID of the network being connected via this connection. This field is required for some types, such as 'vpc' and - * 'directlink'. For network types 'vpc' and 'directlink' it should be the CRN of the target vpc / gateway - * respectively. + * The ID of the network being connected via this connection. This field is required for some types, such as 'vpc', + * 'power_virtual_server' and 'directlink'. For network types 'vpc','power_virtual_server' and 'directlink' this is + * the CRN of the VPC / PowerVS / Direct Link gateway respectively. * * @return the networkId */ diff --git a/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitGateway.java b/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitGateway.java index 1f615d5a1..ff7d438b2 100644 --- a/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitGateway.java +++ b/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitGateway.java @@ -35,6 +35,10 @@ public interface Status { String PENDING = "pending"; /** deleting. */ String DELETING = "deleting"; + /** suspending. */ + String SUSPENDING = "suspending"; + /** suspended. */ + String SUSPENDED = "suspended"; } protected String id; diff --git a/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitGatewayConnectionCust.java b/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitGatewayConnectionCust.java index 695b8106e..49c7daef3 100644 --- a/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitGatewayConnectionCust.java +++ b/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitGatewayConnectionCust.java @@ -23,6 +23,14 @@ */ public class TransitGatewayConnectionCust extends GenericModel { + /** + * The type of network the GRE tunnel is targeting. + */ + public interface BaseNetworkType { + /** classic. */ + String CLASSIC = "classic"; + } + /** * Defines what type of network is connected via this connection. The list of enumerated values for this property may * expand in the future. Code and processes using this field must tolerate unexpected values. @@ -34,8 +42,12 @@ public interface NetworkType { String DIRECTLINK = "directlink"; /** gre_tunnel. */ String GRE_TUNNEL = "gre_tunnel"; + /** unbound_gre_tunnel. */ + String UNBOUND_GRE_TUNNEL = "unbound_gre_tunnel"; /** vpc. */ String VPC = "vpc"; + /** power_virtual_server. */ + String POWER_VIRTUAL_SERVER = "power_virtual_server"; } /** @@ -83,8 +95,14 @@ public interface Status { String DETACHING = "detaching"; /** detached. */ String DETACHED = "detached"; + /** suspending. */ + String SUSPENDING = "suspending"; + /** suspended. */ + String SUSPENDED = "suspended"; } + @SerializedName("base_network_type") + protected String baseNetworkType; protected String name; @SerializedName("network_id") protected String networkId; @@ -121,6 +139,17 @@ public interface Status { protected Date updatedAt; protected TransitGatewayConnectionCustZone zone; + /** + * Gets the baseNetworkType. + * + * The type of network the GRE tunnel is targeting. + * + * @return the baseNetworkType + */ + public String getBaseNetworkType() { + return baseNetworkType; + } + /** * Gets the name. * @@ -135,9 +164,9 @@ public String getName() { /** * Gets the networkId. * - * The ID of the network being connected via this connection. This field is required for some types, such as 'vpc' and - * 'directlink'. For network types 'vpc' and 'directlink' it should be the CRN of the target vpc / gateway - * respectively. + * The ID of the network being connected via this connection. This field is required for some types, such as 'vpc', + * 'power_virtual_server' and 'directlink'. For network types 'vpc','power_virtual_server' and 'directlink' this is + * the CRN of the VPC / PowerVS / Direct Link gateway respectively. * * @return the networkId */ @@ -196,7 +225,7 @@ public Date getCreatedAt() { /** * Gets the localBgpAsn. * - * Local network BGP ASN. This field only applies to network type 'gre_tunnel' connections. + * Local network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. * * @return the localBgpAsn */ @@ -207,7 +236,8 @@ public Long getLocalBgpAsn() { /** * Gets the localGatewayIp. * - * Local gateway IP address. This field only applies to network type 'gre_tunnel' connections. + * Local gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' + * connections. * * @return the localGatewayIp */ @@ -218,7 +248,8 @@ public String getLocalGatewayIp() { /** * Gets the localTunnelIp. * - * Local tunnel IP address. This field only applies to network type 'gre_tunnel' connections. + * Local tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' + * connections. * * @return the localTunnelIp */ @@ -229,7 +260,7 @@ public String getLocalTunnelIp() { /** * Gets the mtu. * - * GRE tunnel MTU. This field only applies to network type 'gre_tunnel' connections. + * GRE tunnel MTU. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. * * @return the mtu */ @@ -275,7 +306,7 @@ public String getPrefixFiltersDefault() { /** * Gets the remoteBgpAsn. * - * Remote network BGP ASN. This field only applies to network type 'gre_tunnel' connections. + * Remote network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. * * @return the remoteBgpAsn */ @@ -286,7 +317,8 @@ public Long getRemoteBgpAsn() { /** * Gets the remoteGatewayIp. * - * Remote gateway IP address. This field only applies to network type 'gre_tunnel' connections. + * Remote gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' + * connections. * * @return the remoteGatewayIp */ @@ -297,7 +329,8 @@ public String getRemoteGatewayIp() { /** * Gets the remoteTunnelIp. * - * Remote tunnel IP address. This field only applies to network type 'gre_tunnel' connections. + * Remote tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' + * connections. * * @return the remoteTunnelIp */ @@ -344,7 +377,7 @@ public Date getUpdatedAt() { /** * Gets the zone. * - * Location of GRE tunnel. This field only applies to network type 'gre_tunnel' connections. + * Location of GRE tunnel. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. * * @return the zone */ diff --git a/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitGatewayConnectionCustZone.java b/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitGatewayConnectionCustZone.java index 86963d5f8..10d730579 100644 --- a/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitGatewayConnectionCustZone.java +++ b/modules/transit-gateway-apis/src/main/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitGatewayConnectionCustZone.java @@ -15,7 +15,7 @@ import com.ibm.cloud.sdk.core.service.model.GenericModel; /** - * Location of GRE tunnel. This field only applies to network type 'gre_tunnel' connections. + * Location of GRE tunnel. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. */ public class TransitGatewayConnectionCustZone extends GenericModel { diff --git a/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/TransitGatewayApisIT.java b/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/TransitGatewayApisIT.java index bf1186946..f5faef233 100755 --- a/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/TransitGatewayApisIT.java +++ b/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/TransitGatewayApisIT.java @@ -1,5 +1,5 @@ /* - * (C) Copyright IBM Corp. 2020. + * (C) Copyright IBM Corp. 2020, 2022. * * 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 @@ -20,11 +20,11 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; -import java.util.HashMap; import java.util.Map; import java.util.List; import org.testng.annotations.BeforeClass; +import org.testng.annotations.Ignore; import org.testng.annotations.Test; import com.ibm.cloud.networking.test.SdkIntegrationTestBase; @@ -58,9 +58,9 @@ public String getConfigFilename() { @BeforeClass public void constructService() { // Ask super if we should skip the tests. - // if (skipTests()) { - // return; - // } + if (skipTests()) { + return; + } /** * Construct our service client instance via external config (see the @@ -91,16 +91,15 @@ public void constructService() { e.printStackTrace(); } } - + @Ignore @Test public void testTransitGatewayOptions() throws InterruptedException { assertNotNull(testService); - preTestCleanup("JAVA-SDK"); + preTestCleanup("SDK-JAVA"); - ///////////////////////////////////////////////////// - // LIST Transit Locations // - ///////////////////////////////////////////////////// - + /////////////////////////////////////////// + // Success: LIST Transit Locations: + /////////////////////////////////////////// ListGatewayLocationsOptions listGatewayLocationsOptionsModel = new ListGatewayLocationsOptions(); // Invoke operation with valid options model (positive test) @@ -110,10 +109,9 @@ public void testTransitGatewayOptions() throws InterruptedException { assertNotNull(tgLocResponseObj); assertNotNull(tgLocResponseObj.getLocations()); - ///////////////////////////////////////////////////// - // GET Transit Location // - ///////////////////////////////////////////////////// - + /////////////////////////////////////////// + // Success: GET Transit Location: + /////////////////////////////////////////// String instanceLoc = config.get("LOCATION"); // Construct an instance of the GetGatewayLocationOptions model GetGatewayLocationOptions getGatewayLocationOptionsModel = new GetGatewayLocationOptions.Builder() @@ -127,10 +125,9 @@ public void testTransitGatewayOptions() throws InterruptedException { assertNotNull(locRespObj); assertEquals(locRespObj.getName(), instanceLoc); - ///////////////////////////////////////////////////// - // POST Transit Gateway // - ///////////////////////////////////////////////////// - + /////////////////////////////////////////// + // Success: POST Transit Gateway: + /////////////////////////////////////////// String locationName = config.get("LOCATION"); int stamp = (int)Math.floor(Math.random()*(1000-0+1)+0); String name = config.get("GW_NAME") + "_" + String.valueOf(stamp); @@ -144,18 +141,17 @@ public void testTransitGatewayOptions() throws InterruptedException { assertNotNull(response); TransitGateway responseObj = response.getResult(); assertNotNull(responseObj); - assertNotNull(responseObj.getId()); - + assertEquals(responseObj.getName(), name); + assertEquals(responseObj.getLocation(), locationName); String gatewayID = responseObj.getId(); // Gateway creation might not be instantaneous. Poll the // Gateway looking for 'available' status. Fail after 2 min isResourceAvailable(gatewayID, "", ""); - ///////////////////////////////////////////////////// - // GET Transit Gateway // - ///////////////////////////////////////////////////// - + /////////////////////////////////////////// + // Success: GET Transit Gateway: + /////////////////////////////////////////// GetTransitGatewayOptions getTransitGatewayOptionsModel = new GetTransitGatewayOptions.Builder() .id(gatewayID) // Construct an instance of the GetTransitGatewayOptions model .build(); @@ -165,14 +161,11 @@ public void testTransitGatewayOptions() throws InterruptedException { assertNotNull(resp); TransitGateway respObj = resp.getResult(); assertNotNull(respObj); - assertEquals(respObj.getName(), name); assertEquals(respObj.getId(), gatewayID); - assertEquals(respObj.getLocation(), locationName); - ///////////////////////////////////////////////////// - // UPDATE Transit Gateway // - ///////////////////////////////////////////////////// - + /////////////////////////////////////////// + // Success: UPDATE Transit Gateway: + /////////////////////////////////////////// stamp = (int)Math.floor(Math.random()*(1000-0+1)+0); String gatewayNameUpdate = "UPDATED-" + config.get("GW_NAME") + "_" + String.valueOf(stamp); @@ -189,10 +182,9 @@ public void testTransitGatewayOptions() throws InterruptedException { assertNotNull(updateRespObj); assertEquals(updateRespObj.getName(), gatewayNameUpdate); - ///////////////////////////////////////////////////// - // LIST Transit Gateways // - ///////////////////////////////////////////////////// - + /////////////////////////////////////////// + // Success: LIST Transit Gateways: + /////////////////////////////////////////// ListTransitGatewaysOptions listTransitGatewaysOptionsModel = new ListTransitGatewaysOptions.Builder() .limit(Long.valueOf("50")) // Construct an instance of the ListTransitGatewaysOptions model .start("") @@ -205,19 +197,18 @@ public void testTransitGatewayOptions() throws InterruptedException { assertNotNull(resObj); assertNotNull(resObj.getTransitGateways()); - ////////////////////////////////////////////////////// - // POST Transit CLASSIC Connection // - ////////////////////////////////////////////////////// - - String classicNetworkType = "classic"; + //////////////////////////////////////////// + // Success: POST Transit CLASSIC Connection: + //////////////////////////////////////////// + String connectionNetworkType = "classic"; stamp = (int)Math.floor(Math.random()*(1000-0+1)+0); - String classicName = "CLASSIC-" + config.get("CONN_NAME") + "_" + String.valueOf(stamp); + String connectionName = "CLASSIC-" + config.get("CONN_NAME") + "_" + String.valueOf(stamp); // Construct an instance of the CreateTransitGatewayConnectionOptions model CreateTransitGatewayConnectionOptions createTransitGatewayConnectionOptionsModel = new CreateTransitGatewayConnectionOptions.Builder() .transitGatewayId(gatewayID) - .networkType(classicNetworkType) - .name(classicName) + .networkType(connectionNetworkType) + .name(connectionName) .build(); // Invoke operation with valid options model (positive test) @@ -227,41 +218,28 @@ public void testTransitGatewayOptions() throws InterruptedException { TransitGatewayConnectionCust connCreateRespObj = connCreateResp.getResult(); assertNotNull(connCreateRespObj); assertNotNull(connCreateRespObj.getId()); - - String classicConnID = connCreateRespObj.getId(); + assertEquals(connCreateRespObj.getName(), connectionName); + assertEquals(connCreateRespObj.getNetworkType(), connectionNetworkType); + String classicConnId = connCreateRespObj.getId(); // Connection creation might not be instantaneous. Poll the // Connection looking for 'attached' status. Fail after 2 min - isResourceAvailable(gatewayID, classicConnID, ""); - - ///////////////////////////////////////////////////// - // POST Transit VPC Connection // - ///////////////////////////////////////////////////// + isResourceAvailable(gatewayID, classicConnId, ""); + /////////////////////////////////////////// + // Success: POST Transit VPC Connection: + /////////////////////////////////////////// String vpcCrn = config.get("VPC_CRN"); - String vpcNetworkType = "vpc"; - String prefixFiltersDefault = "deny"; + connectionNetworkType = "vpc"; stamp = (int)Math.floor(Math.random()*(1000-0+1)+0); - String vpcName = "VPC-" + config.get("CONN_NAME") + "_" + String.valueOf(stamp); - - // Create prefix filter to add in the request. - List prefixFilters = new ArrayList(); - TransitGatewayConnectionPrefixFilter prefixFilter = new TransitGatewayConnectionPrefixFilter.Builder() - .action("permit") - .prefix("192.168.100.0/24") - .ge(Long.valueOf(24)) - .le(Long.valueOf(32)) - .build(); - prefixFilters.add(0, prefixFilter); + connectionName = "VPC-" + config.get("CONN_NAME") + "_" + String.valueOf(stamp); // Construct an instance of the CreateTransitGatewayConnectionOptions model createTransitGatewayConnectionOptionsModel = new CreateTransitGatewayConnectionOptions.Builder() .transitGatewayId(gatewayID) - .networkType(vpcNetworkType) - .name(vpcName) + .networkType(connectionNetworkType) + .name(connectionName) .networkId(vpcCrn) - .prefixFilters(prefixFilters) - .prefixFiltersDefault(prefixFiltersDefault) .build(); // Invoke operation with valid options model (positive test) @@ -271,28 +249,28 @@ public void testTransitGatewayOptions() throws InterruptedException { connCreateRespObj = connCreateResp.getResult(); assertNotNull(connCreateRespObj); assertNotNull(connCreateRespObj.getId()); - - String vpcConnID = connCreateRespObj.getId(); - String beforeFilterID = connCreateRespObj.getPrefixFilters().get(0).getId(); + assertEquals(connCreateRespObj.getName(), connectionName); + assertEquals(connCreateRespObj.getNetworkId(), vpcCrn); + assertEquals(connCreateRespObj.getNetworkType(), connectionNetworkType); + String vpcConnId = connCreateRespObj.getId(); // Connection creation might not be instantaneous. Poll the // Connection looking for 'attached' status. Fail after 2 min - isResourceAvailable(gatewayID, vpcConnID, ""); - - ///////////////////////////////////////////////////// - // POST Transit DL Connection // - ///////////////////////////////////////////////////// + isResourceAvailable(gatewayID, vpcConnId, ""); + /////////////////////////////////////////// + // Success: POST Transit DL Connection: + /////////////////////////////////////////// String dlCrn = config.get("DL_CRN"); - String dlNetworkType = "directlink"; + connectionNetworkType = "directlink"; stamp = (int)Math.floor(Math.random()*(1000-0+1)+0); - String dlName = "DL-" + config.get("CONN_NAME") + "_" + String.valueOf(stamp); + connectionName = "DL-" + config.get("CONN_NAME") + "_" + String.valueOf(stamp); // Construct an instance of the CreateTransitGatewayConnectionOptions model createTransitGatewayConnectionOptionsModel = new CreateTransitGatewayConnectionOptions.Builder() .transitGatewayId(gatewayID) - .networkType(dlNetworkType) - .name(dlName) + .networkType(connectionNetworkType) + .name(connectionName) .networkId(dlCrn) .build(); @@ -303,20 +281,21 @@ public void testTransitGatewayOptions() throws InterruptedException { connCreateRespObj = connCreateResp.getResult(); assertNotNull(connCreateRespObj); assertNotNull(connCreateRespObj.getId()); - + assertEquals(connCreateRespObj.getName(), connectionName); + assertEquals(connCreateRespObj.getNetworkId(), dlCrn); + assertEquals(connCreateRespObj.getNetworkType(), connectionNetworkType); String dlConnId = connCreateRespObj.getId(); // Connection creation might not be instantaneous. Poll the // Connection looking for 'attached' status. Fail after 2 min isResourceAvailable(gatewayID, dlConnId, ""); - - ////////////////////////////////////////////////////// - // POST Transit GRE Connection // - ////////////////////////////////////////////////////// - String greNetworkType = "gre_tunnel"; + //////////////////////////////////////////// + // Success: POST Transit GRE Connection: + //////////////////////////////////////////// + connectionNetworkType = "gre_tunnel"; stamp = (int)Math.floor(Math.random()*(1000-0+1)+0); - String greName = "GRE-" + config.get("CONN_NAME") + "_" + String.valueOf(stamp); + connectionName = "GRE-" + config.get("CONN_NAME") + "_" + String.valueOf(stamp); // Construct an instance of the ZoneIdentityByName model ZoneIdentityByName zoneIdentityModel = new ZoneIdentityByName.Builder() @@ -326,14 +305,14 @@ public void testTransitGatewayOptions() throws InterruptedException { // Construct an instance of the CreateTransitGatewayConnectionOptions model createTransitGatewayConnectionOptionsModel = new CreateTransitGatewayConnectionOptions.Builder() .transitGatewayId(gatewayID) - .networkType(greNetworkType) - .name(greName) + .networkType(connectionNetworkType) + .name(connectionName) .zone(zoneIdentityModel) .localGatewayIp("192.168.100.1") .localTunnelIp("192.168.101.1") .remoteGatewayIp("10.242.63.12") .remoteTunnelIp("192.168.101.2") - .baseConnectionId(classicConnID) + .baseConnectionId(classicConnId) .build(); // Invoke operation with valid options model (positive test) @@ -343,60 +322,88 @@ public void testTransitGatewayOptions() throws InterruptedException { connCreateRespObj = connCreateResp.getResult(); assertNotNull(connCreateRespObj); assertNotNull(connCreateRespObj.getId()); - - String greConnID = connCreateRespObj.getId(); + assertEquals(connCreateRespObj.getName(), connectionName); + assertEquals(connCreateRespObj.getNetworkType(), connectionNetworkType); + String greConnId = connCreateRespObj.getId(); // Connection creation might not be instantaneous. Poll the // Connection looking for 'attached' status. Fail after 2 min - isResourceAvailable(gatewayID, greConnID, ""); - - ///////////////////////////////////////////////////// - // GET Transit CLASSIC Connection // - ///////////////////////////////////////////////////// + isResourceAvailable(gatewayID, greConnId, ""); + + + //////////////////////////////////////////// + // Success: POST Transit Unbound GRE Connection: + //////////////////////////////////////////// + connectionNetworkType = "unbound_gre_tunnel"; + stamp = (int)Math.floor(Math.random()*(1000-0+1)+0); + connectionName = "unbound-GRE-" + config.get("CONN_NAME") + "_" + String.valueOf(stamp); + // Construct an instance of the CreateTransitGatewayConnectionOptions model + createTransitGatewayConnectionOptionsModel = new CreateTransitGatewayConnectionOptions.Builder() + .transitGatewayId(gatewayID) + .networkType(connectionNetworkType) + .name(connectionName) + .zone(zoneIdentityModel) + .localGatewayIp("192.168.100.1") + .localTunnelIp("192.168.101.1") + .remoteGatewayIp("10.242.63.12") + .remoteTunnelIp("192.168.101.2") + .baseConnectionId(classicConnId) + .baseNetworkType("classic") + .build(); + + // Invoke operation with valid options model (positive test) + connCreateResp = testService.createTransitGatewayConnection(createTransitGatewayConnectionOptionsModel).execute(); + assertNotNull(connCreateResp); + + connCreateRespObj = connCreateResp.getResult(); + assertNotNull(connCreateRespObj); + assertNotNull(connCreateRespObj.getId()); + assertEquals(connCreateRespObj.getName(), connectionName); + assertEquals(connCreateRespObj.getNetworkType(), connectionNetworkType); + assertEquals(connCreateRespObj.getBaseNetworkType(), "classic"); + String unboundGreConnId = connCreateRespObj.getId(); + + // Connection creation might not be instantaneous. Poll the + // Connection looking for 'attached' status. Fail after 2 min + isResourceAvailable(gatewayID, unboundGreConnId, ""); + + + /////////////////////////////////////////// + // Success: GET Transit CLASSIC Connection: + /////////////////////////////////////////// GetTransitGatewayConnectionOptions getClassicTransitGatewayConnectionOptionsModel = new GetTransitGatewayConnectionOptions.Builder() .transitGatewayId(gatewayID) // Construct an instance of the GetTransitGatewayConnectionOptions model - .id(classicConnID) + .id(classicConnId) .build(); // Invoke operation with valid options model (positive test) Response getConnResp = testService.getTransitGatewayConnection(getClassicTransitGatewayConnectionOptionsModel).execute(); assertNotNull(getConnResp); - TransitGatewayConnectionCust getConnRespObj = getConnResp.getResult(); - assertNotNull(getConnRespObj); - - assertEquals(getConnRespObj.getId(), classicConnID); - assertEquals(getConnRespObj.getName(), classicName); - assertEquals(getConnRespObj.getNetworkType(), classicNetworkType); + TransitGatewayConnectionCust getConnRespObjObj = getConnResp.getResult(); + assertNotNull(getConnRespObjObj); + assertEquals(getConnRespObjObj.getId(), classicConnId); - ///////////////////////////////////////////////////// - // GET Transit VPC Connection // - ///////////////////////////////////////////////////// - + /////////////////////////////////////////// + // Success: GET Transit VPC Connection: + /////////////////////////////////////////// GetTransitGatewayConnectionOptions getVpcTransitGatewayConnectionOptionsModel = new GetTransitGatewayConnectionOptions.Builder() .transitGatewayId(gatewayID) // Construct an instance of the GetTransitGatewayConnectionOptions model - .id(vpcConnID) + .id(vpcConnId) .build(); // Invoke operation with valid options model (positive test) getConnResp = testService.getTransitGatewayConnection(getVpcTransitGatewayConnectionOptionsModel).execute(); assertNotNull(getConnResp); - getConnRespObj = getConnResp.getResult(); - assertNotNull(getConnRespObj); - - assertEquals(getConnRespObj.getId(), vpcConnID); - assertEquals(getConnRespObj.getName(), vpcName); - assertEquals(getConnRespObj.getNetworkId(), vpcCrn); - assertEquals(getConnRespObj.getNetworkType(), vpcNetworkType); - assertEquals(getConnRespObj.getPrefixFilters(), prefixFilters); - assertEquals(getConnRespObj.getPrefixFiltersDefault(), prefixFiltersDefault); - - ///////////////////////////////////////////////////// - // GET Transit DL Connection // - ///////////////////////////////////////////////////// + getConnRespObjObj = getConnResp.getResult(); + assertNotNull(getConnRespObjObj); + assertEquals(getConnRespObjObj.getId(), vpcConnId); + /////////////////////////////////////////// + // Success: GET Transit DL Connection: + /////////////////////////////////////////// GetTransitGatewayConnectionOptions getDLTransitGatewayConnectionOptionsModel = new GetTransitGatewayConnectionOptions.Builder() .transitGatewayId(gatewayID) // Construct an instance of the GetTransitGatewayConnectionOptions model .id(dlConnId) @@ -406,49 +413,51 @@ public void testTransitGatewayOptions() throws InterruptedException { getConnResp = testService.getTransitGatewayConnection(getDLTransitGatewayConnectionOptionsModel).execute(); assertNotNull(getConnResp); - getConnRespObj = getConnResp.getResult(); - assertNotNull(getConnRespObj); - - assertEquals(getConnRespObj.getId(), dlConnId); - assertEquals(getConnRespObj.getName(), dlName); - assertEquals(getConnRespObj.getNetworkId(), dlCrn); - assertEquals(getConnRespObj.getNetworkType(), dlNetworkType); - - ///////////////////////////////////////////////////// - // GET Transit GRE Connection // - ///////////////////////////////////////////////////// + getConnRespObjObj = getConnResp.getResult(); + assertNotNull(getConnRespObjObj); + assertEquals(getConnRespObjObj.getId(), dlConnId); + /////////////////////////////////////////// + // Success: GET Transit GRE Connection: + /////////////////////////////////////////// GetTransitGatewayConnectionOptions getGreTransitGatewayConnectionOptionsModel = new GetTransitGatewayConnectionOptions.Builder() .transitGatewayId(gatewayID) // Construct an instance of the GetTransitGatewayConnectionOptions model - .id(greConnID) + .id(greConnId) .build(); // Invoke operation with valid options model (positive test) getConnResp = testService.getTransitGatewayConnection(getGreTransitGatewayConnectionOptionsModel).execute(); assertNotNull(getConnResp); - getConnRespObj = getConnResp.getResult(); - assertNotNull(getConnRespObj); - - assertEquals(getConnRespObj.getId(), greConnID); - assertEquals(connCreateRespObj.getName(), greName); - assertEquals(connCreateRespObj.getNetworkType(), greNetworkType); - assertEquals(connCreateRespObj.getBaseConnectionId(), classicConnID); - assertEquals(connCreateRespObj.getLocalTunnelIp(), "192.168.101.1"); - assertEquals(connCreateRespObj.getRemoteGatewayIp(), "10.242.63.12"); - assertEquals(connCreateRespObj.getRemoteTunnelIp(), "192.168.101.2"); - assertEquals(connCreateRespObj.getLocalGatewayIp() , "192.168.100.1"); - - //////////////////////////////////////////////////////// - // UPDATE Transit CLASSIC Connection // - //////////////////////////////////////////////////////// + getConnRespObjObj = getConnResp.getResult(); + assertNotNull(getConnRespObjObj); + assertEquals(getConnRespObjObj.getId(), greConnId); + /////////////////////////////////////////// + // Success: GET Transit Unbound GRE Connection: + /////////////////////////////////////////// + GetTransitGatewayConnectionOptions getUnboundGreTransitGatewayConnectionOptionsModel = new GetTransitGatewayConnectionOptions.Builder() + .transitGatewayId(gatewayID) // Construct an instance of the GetTransitGatewayConnectionOptions model + .id(unboundGreConnId) + .build(); + + // Invoke operation with valid options model (positive test) + getConnResp = testService.getTransitGatewayConnection(getUnboundGreTransitGatewayConnectionOptionsModel).execute(); + assertNotNull(getConnResp); + + getConnRespObjObj = getConnResp.getResult(); + assertNotNull(getConnRespObjObj); + assertEquals(getConnRespObjObj.getId(), unboundGreConnId); + + ////////////////////////////////////////////// + // Success: UPDATE Transit CLASSIC Connection: + ////////////////////////////////////////////// stamp = (int)Math.floor(Math.random()*(1000-0+1)+0); String updatedNameCLASSIC = "UPDATED-CLASSIC-" + config.get("CONN_NAME") + "_" + String.valueOf(stamp); UpdateTransitGatewayConnectionOptions updateTransitGatewayConnectionOptionsModel = new UpdateTransitGatewayConnectionOptions.Builder() .transitGatewayId(gatewayID) // Construct an instance of the UpdateTransitGatewayConnectionOptions model - .id(classicConnID) + .id(classicConnId) .name(updatedNameCLASSIC) .build(); @@ -459,19 +468,16 @@ public void testTransitGatewayOptions() throws InterruptedException { assertNotNull(updateTGConnRespObj); assertEquals(updateTGConnRespObj.getName(),updatedNameCLASSIC); - ///////////////////////////////////////////////////// - // UPDATE Transit VPC Connection // - ///////////////////////////////////////////////////// - + /////////////////////////////////////////// + // Success: UPDATE Transit VPC Connection: + /////////////////////////////////////////// stamp = (int)Math.floor(Math.random()*(1000-0+1)+0); String updatedNameVPC = "UPDATED-VPC-" + config.get("CONN_NAME") + "_" + String.valueOf(stamp); - prefixFiltersDefault = "permit"; updateTransitGatewayConnectionOptionsModel = new UpdateTransitGatewayConnectionOptions.Builder() .transitGatewayId(gatewayID) // Construct an instance of the UpdateTransitGatewayConnectionOptions model - .id(vpcConnID) + .id(vpcConnId) .name(updatedNameVPC) - .prefixFiltersDefault(prefixFiltersDefault) .build(); // Invoke operation with valid options model (positive test) @@ -480,12 +486,10 @@ public void testTransitGatewayOptions() throws InterruptedException { updateTGConnRespObj = updateTGConnResp.getResult(); assertNotNull(updateTGConnRespObj); assertEquals(updateTGConnRespObj.getName(),updatedNameVPC); - assertEquals(updateTGConnRespObj.getPrefixFiltersDefault(),prefixFiltersDefault); - - ///////////////////////////////////////////////////// - // UPDATE Transit DL Connection // - ///////////////////////////////////////////////////// + /////////////////////////////////////////// + // Success: UPDATE Transit DL Connection: + /////////////////////////////////////////// stamp = (int)Math.floor(Math.random()*(1000-0+1)+0); String updatedNameDL = "UPDATED-DL-" + config.get("CONN_NAME") + "_" + String.valueOf(stamp); @@ -501,17 +505,16 @@ public void testTransitGatewayOptions() throws InterruptedException { updateTGConnRespObj = updateTGConnResp.getResult(); assertNotNull(updateTGConnRespObj); assertEquals(updateTGConnRespObj.getName(),updatedNameDL); - - ///////////////////////////////////////////////////// - // UPDATE Transit GRE Connection: // - ///////////////////////////////////////////////////// + /////////////////////////////////////////// + // Success: UPDATE Transit GRE Connection: + /////////////////////////////////////////// stamp = (int)Math.floor(Math.random()*(1000-0+1)+0); String updatedNameGRE = "UPDATED-GRE-" + config.get("CONN_NAME") + "_" + String.valueOf(stamp); updateTransitGatewayConnectionOptionsModel = new UpdateTransitGatewayConnectionOptions.Builder() .transitGatewayId(gatewayID) // Construct an instance of the UpdateTransitGatewayConnectionOptions model - .id(greConnID) + .id(greConnId) .name(updatedNameGRE) .build(); @@ -521,11 +524,30 @@ public void testTransitGatewayOptions() throws InterruptedException { updateTGConnRespObj = updateTGConnResp.getResult(); assertNotNull(updateTGConnRespObj); assertEquals(updateTGConnRespObj.getName(),updatedNameGRE); - - ///////////////////////////////////////////////////// - // LIST Transit Connections: // - ///////////////////////////////////////////////////// + + /////////////////////////////////////////// + // Success: UPDATE Transit Unbound GRE Connection: + /////////////////////////////////////////// + stamp = (int)Math.floor(Math.random()*(1000-0+1)+0); + String updatedNameUnboundGRE = "UPDATED-UNBOUND-GRE-" + config.get("CONN_NAME") + "_" + String.valueOf(stamp); + + updateTransitGatewayConnectionOptionsModel = new UpdateTransitGatewayConnectionOptions.Builder() + .transitGatewayId(gatewayID) // Construct an instance of the UpdateTransitGatewayConnectionOptions model + .id(unboundGreConnId) + .name(updatedNameUnboundGRE) + .build(); + + // Invoke operation with valid options model (positive test) + updateTGConnResp = testService.updateTransitGatewayConnection(updateTransitGatewayConnectionOptionsModel).execute(); + assertNotNull(updateTGConnResp); + updateTGConnRespObj = updateTGConnResp.getResult(); + assertNotNull(updateTGConnRespObj); + assertEquals(updateTGConnRespObj.getName(),updatedNameUnboundGRE); + + /////////////////////////////////////////// + // Success: LIST Transit Connections: + /////////////////////////////////////////// ListTransitGatewayConnectionsOptions listTransitGatewayConnectionsOptionsModel = new ListTransitGatewayConnectionsOptions.Builder() .transitGatewayId(gatewayID) // Construct an instance of the ListTransitGatewayConnectionsOptions model .build(); @@ -544,8 +566,9 @@ public void testTransitGatewayOptions() throws InterruptedException { boolean foundVPC = false; boolean foundGRE = false; boolean foundCLASSIC = false; + boolean foundUnboundGRE = false; for (TransitGatewayConnectionCust conn : connections) { - if (conn.getId().equals(classicConnID)){ + if (conn.getId().equals(classicConnId)){ assertEquals(conn.getNetworkType(), "classic"); assertEquals(conn.getName(), updatedNameCLASSIC); foundCLASSIC = true; @@ -555,26 +578,30 @@ public void testTransitGatewayOptions() throws InterruptedException { assertEquals(conn.getName(), updatedNameDL); foundDL = true; - } else if (conn.getId().equals(vpcConnID)){ + } else if (conn.getId().equals(vpcConnId)){ assertEquals(conn.getNetworkType(), "vpc"); assertEquals(conn.getName(), updatedNameVPC); foundVPC = true; - } else if (conn.getId().equals(greConnID)){ + } else if (conn.getId().equals(greConnId)){ assertEquals(conn.getNetworkType(), "gre_tunnel"); assertEquals(conn.getName(), updatedNameGRE); foundGRE = true; + } else if (conn.getId().equals(greConnId)){ + assertEquals(conn.getNetworkType(), "unbound_gre_tunnel"); + assertEquals(conn.getName(), updatedNameUnboundGRE); + foundGRE = true; } } assertEquals(true, foundDL); assertEquals(true, foundVPC); assertEquals(true, foundGRE); assertEquals(true, foundCLASSIC); + assertEquals(true, foundUnboundGRE); - ///////////////////////////////////////////////////// - // POST Gateway Route Report: // - ///////////////////////////////////////////////////// - + /////////////////////////////////////////// + // Success: POST Gateway Route Report: + /////////////////////////////////////////// CreateTransitGatewayRouteReportOptions createTransitGatewayRouteReportOptionsModel = new CreateTransitGatewayRouteReportOptions .Builder() // Construct an instance of the CreateTransitGatewayRouteReportOptions model .transitGatewayId(gatewayID) @@ -598,10 +625,9 @@ public void testTransitGatewayOptions() throws InterruptedException { // Route report looking for 'complete' status. Fail after 2 min isResourceAvailable(gatewayID, "", rrId); - ///////////////////////////////////////////////////// - // GET Gateway Route Report // - ///////////////////////////////////////////////////// - + /////////////////////////////////////////// + // Success: GET Gateway Route Report: + /////////////////////////////////////////// GetTransitGatewayRouteReportOptions getTransitGatewayRouteReportOptionsModel = new GetTransitGatewayRouteReportOptions .Builder() // Construct an instance of the GetTransitGatewayRouteReportOptions model .transitGatewayId(gatewayID) @@ -626,34 +652,41 @@ public void testTransitGatewayOptions() throws InterruptedException { foundVPC = false; foundGRE = false; foundCLASSIC = false; + foundUnboundGRE = false; for (RouteReportConnection rrConn : rrConnections) { - if(rrConn.getId().equals(vpcConnID)){ + if(rrConn.getId().equals(vpcConnId)){ assertEquals(rrConn.getType(), "vpc"); assertEquals(rrConn.getName(), updatedNameVPC); foundVPC = true; - } else if (rrConn.getId().equals(classicConnID)){ + } else if (rrConn.getId().equals(classicConnId)){ assertEquals(rrConn.getType(), "classic"); assertEquals(rrConn.getName(), updatedNameCLASSIC); foundCLASSIC = true; + } else if (rrConn.getId().equals(dlConnId)){ assertEquals(rrConn.getType(), "directlink"); assertEquals(rrConn.getName(), updatedNameDL); foundDL = true; - } else if (rrConn.getId().equals(greConnID)){ + + } else if (rrConn.getId().equals(greConnId)){ assertEquals(rrConn.getType(), "gre_tunnel"); assertEquals(rrConn.getName(), updatedNameGRE); foundGRE = true; + } else if (rrConn.getId().equals(greConnId)){ + assertEquals(rrConn.getType(), "unbound_gre_tunnel"); + assertEquals(rrConn.getName(), updatedNameUnboundGRE); + foundUnboundGRE = true; } } assertEquals(true, foundDL); assertEquals(true, foundVPC); assertEquals(true, foundGRE); assertEquals(true, foundCLASSIC); + assertEquals(true, foundUnboundGRE); - ///////////////////////////////////////////////////// - // LIST Gateway Route Report // - ///////////////////////////////////////////////////// - + /////////////////////////////////////////// + // Success: LIST Gateway Route Report: + /////////////////////////////////////////// ListTransitGatewayRouteReportsOptions listTransitGatewayRouteReportsOptionsModel = new ListTransitGatewayRouteReportsOptions.Builder() .transitGatewayId(gatewayID) // Construct an instance of the ListTransitGatewayRouteReportsOptions model .build(); @@ -679,150 +712,9 @@ public void testTransitGatewayOptions() throws InterruptedException { } assertEquals(true, foundRR); - ///////////////////////////////////////////////////// - // POST Connection Prefix Filter // - ///////////////////////////////////////////////////// - - CreateTransitGatewayConnectionPrefixFilterOptions createTransitGatewayConnectionPrefixFilterOptionsModel = new CreateTransitGatewayConnectionPrefixFilterOptions - .Builder() // Construct an instance of the CreateTransitGatewayConnectionPrefixFilterOptions model - .transitGatewayId(gatewayID) - .id(vpcConnID) - .action("permit") - .ge(Long.valueOf(16)) - .le(Long.valueOf(24)) - .before(beforeFilterID) - .prefix("192.168.101.1/16") - .build(); - - // Invoke operation with valid options model (positive test) - Response prefixFiltersResp = testService.createTransitGatewayConnectionPrefixFilter(createTransitGatewayConnectionPrefixFilterOptionsModel).execute(); - assertNotNull(prefixFiltersResp); - - PrefixFilterCust prefixFiltersRespObj = prefixFiltersResp.getResult(); - assertNotNull(prefixFiltersRespObj); - assertNotNull(prefixFiltersRespObj.getId()); - - String filterID = prefixFiltersRespObj.getId(); - - ///////////////////////////////////////////////////// - // GET Connection Prefix Filter // - ///////////////////////////////////////////////////// - - GetTransitGatewayConnectionPrefixFilterOptions getTransitGatewayConnectionPrefixFilterOptionsModel = new GetTransitGatewayConnectionPrefixFilterOptions.Builder() - .transitGatewayId(gatewayID) // Construct an instance of the GetTransitGatewayConnectionPrefixFilterOptions model - .id(vpcConnID) - .filterId(filterID) - .build(); - - // Invoke operation with valid options model (positive test) - prefixFiltersResp = testService.getTransitGatewayConnectionPrefixFilter(getTransitGatewayConnectionPrefixFilterOptionsModel).execute(); - assertNotNull(prefixFiltersResp); - - prefixFiltersRespObj = prefixFiltersResp.getResult(); - assertNotNull(prefixFiltersRespObj); - assertNotNull(prefixFiltersRespObj.getCreatedAt()); - assertNotNull(prefixFiltersRespObj.getUpdatedAt()); - - assertEquals(prefixFiltersRespObj.getId(), filterID); - assertEquals(prefixFiltersRespObj.getAction(), "permit"); - assertEquals(prefixFiltersRespObj.getGe(), Long.valueOf(16)); - assertEquals(prefixFiltersRespObj.getLe(), Long.valueOf(24)); - assertEquals(prefixFiltersRespObj.getBefore(), beforeFilterID); - assertEquals(prefixFiltersRespObj.getPrefix(), "192.168.101.1/16"); - - ///////////////////////////////////////////////////// - // UPDATE Connection Prefix Filter // - ///////////////////////////////////////////////////// - - UpdateTransitGatewayConnectionPrefixFilterOptions updateTransitGatewayConnectionPrefixFilterOptionsModel = new UpdateTransitGatewayConnectionPrefixFilterOptions - .Builder() // Construct an instance of the UpdateTransitGatewayConnectionPrefixFilterOptions model - .transitGatewayId(gatewayID) - .id(vpcConnID) - .filterId(filterID) - .action("deny") - .ge(Long.valueOf(18)) - .le(Long.valueOf(26)) - .prefix("192.168.102.2/18") - .build(); - - // Invoke operation with valid options model (positive test) - prefixFiltersResp = testService.updateTransitGatewayConnectionPrefixFilter(updateTransitGatewayConnectionPrefixFilterOptionsModel).execute(); - assertNotNull(prefixFiltersResp); - - prefixFiltersRespObj = prefixFiltersResp.getResult(); - assertNotNull(prefixFiltersRespObj); - - assertEquals(prefixFiltersRespObj.getId(), filterID); - assertEquals(prefixFiltersRespObj.getAction(), "deny"); - assertEquals(prefixFiltersRespObj.getGe(), Long.valueOf(18)); - assertEquals(prefixFiltersRespObj.getLe(), Long.valueOf(26)); - assertEquals(prefixFiltersRespObj.getPrefix(), "192.168.102.2/18"); - - ///////////////////////////////////////////////////// - // LIST Connection Prefix Filters // - ///////////////////////////////////////////////////// - - ListTransitGatewayConnectionPrefixFiltersOptions listTransitGatewayConnectionPrefixFilterOptionsModel = new ListTransitGatewayConnectionPrefixFiltersOptions.Builder() - .transitGatewayId(gatewayID) // Construct an instance of the ListTransitGatewayConnectionPrefixFiltersOptions model - .id(vpcConnID) - .build(); - - // Invoke operation with valid options model (positive test) - Response listPrefixFiltersResp = testService.listTransitGatewayConnectionPrefixFilters(listTransitGatewayConnectionPrefixFilterOptionsModel).execute(); - assertNotNull(listPrefixFiltersResp); - - PrefixFilterCollection listPrefixFiltersRespObj = listPrefixFiltersResp.getResult(); - assertNotNull(listPrefixFiltersRespObj); - - List prefixFilterList = listPrefixFiltersRespObj.getPrefixFilters(); - assertNotEquals(prefixFilterList.size(), 0); - - boolean foundPF1 = false; - boolean foundPF2 = false; - for (PrefixFilterCust filter : prefixFilterList) { - if (filter.getId().equals(filterID)){ - assertEquals(filter.getAction(), "deny"); - assertEquals(filter.getGe(), Long.valueOf(18)); - assertEquals(filter.getLe(), Long.valueOf(26)); - assertEquals(filter.getBefore(), beforeFilterID); - assertEquals(filter.getPrefix(), "192.168.102.2/18"); - foundPF1 = true; - } else if (filter.getId().equals(beforeFilterID)){ - assertEquals(filter.getAction(), "permit"); - assertEquals(filter.getGe(), Long.valueOf(24)); - assertEquals(filter.getLe(), Long.valueOf(32)); - assertEquals(filter.getPrefix(), "192.168.100.0/24"); - foundPF2 = true; - } - } - assertEquals(true, foundPF1); - assertEquals(true, foundPF2); - - ///////////////////////////////////////////////////// - // DELETE Connection Prefix Filter // - ///////////////////////////////////////////////////// - - DeleteTransitGatewayConnectionPrefixFilterOptions deleteTransitGatewayConnectionPrefixFilterOptionsModel = new DeleteTransitGatewayConnectionPrefixFilterOptions.Builder() - .transitGatewayId(gatewayID) // Construct an instance of the DeleteTransitGatewayRouteReportOptions model - .id(vpcConnID) - .filterId(filterID) - .build(); - - // Invoke operation with valid options model (positive test) - Response pfDelResp = testService.deleteTransitGatewayConnectionPrefixFilter(deleteTransitGatewayConnectionPrefixFilterOptionsModel).execute(); - assertNotNull(pfDelResp); - - // Response does not have a return type. Check that the result is null. - Void pfDelRespObj = pfDelResp.getResult(); - assertNull(pfDelRespObj); - - // Prefix Filters deletion might not be instantaneous. - checkResourceDeletion(null, null, null, getTransitGatewayConnectionPrefixFilterOptionsModel); - - ///////////////////////////////////////////////////// - // DELETE Gateway Route Report // - ///////////////////////////////////////////////////// - + /////////////////////////////////////////// + // Success: DELETE Gateway Route Report: + /////////////////////////////////////////// DeleteTransitGatewayRouteReportOptions deleteTransitGatewayRouteReportOptionsModel = new DeleteTransitGatewayRouteReportOptions.Builder() .transitGatewayId(gatewayID) // Construct an instance of the DeleteTransitGatewayRouteReportOptions model .id(rrId) @@ -837,15 +729,14 @@ public void testTransitGatewayOptions() throws InterruptedException { assertNull(rrDelRespObj); // Route report deletion might not be instantaneous. - checkResourceDeletion(null, null, getTransitGatewayRouteReportOptionsModel, null); - - ///////////////////////////////////////////////////// - // DELETE Transit GRE Connection // - ///////////////////////////////////////////////////// + checkResourceDeletion(null, null, getTransitGatewayRouteReportOptionsModel); + /////////////////////////////////////////// + // Success: DELETE Transit GRE Connection: + /////////////////////////////////////////// DeleteTransitGatewayConnectionOptions deleteTransitGatewayConnectionOptionsModel = new DeleteTransitGatewayConnectionOptions.Builder() .transitGatewayId(gatewayID) // Construct an instance of the DeleteTransitGatewayConnectionOptions model - .id(greConnID) + .id(greConnId) .build(); // Invoke operation with valid options model (positive test) @@ -857,15 +748,33 @@ public void testTransitGatewayOptions() throws InterruptedException { assertNull(delConnRespObj); // Connection deletion might not be instantaneous. - checkResourceDeletion(null, getGreTransitGatewayConnectionOptionsModel, null, null); + checkResourceDeletion(null, getGreTransitGatewayConnectionOptionsModel, null); - ///////////////////////////////////////////////////// - // DELETE Transit VPC Connection // - ///////////////////////////////////////////////////// + /////////////////////////////////////////// + // Success: DELETE Transit Unbound GRE Connection: + /////////////////////////////////////////// + deleteTransitGatewayConnectionOptionsModel = new DeleteTransitGatewayConnectionOptions.Builder() + .transitGatewayId(gatewayID) // Construct an instance of the DeleteTransitGatewayConnectionOptions model + .id(unboundGreConnId) + .build(); + + // Invoke operation with valid options model (positive test) + delConnResp = testService.deleteTransitGatewayConnection(deleteTransitGatewayConnectionOptionsModel).execute(); + assertNotNull(delConnResp); + + // Response does not have a return type. Check that the result is null. + delConnRespObj = delConnResp.getResult(); + assertNull(delConnRespObj); + // Connection deletion might not be instantaneous. + checkResourceDeletion(null, getGreTransitGatewayConnectionOptionsModel, null); + + /////////////////////////////////////////// + // Success: DELETE Transit VPC Connection: + /////////////////////////////////////////// deleteTransitGatewayConnectionOptionsModel = new DeleteTransitGatewayConnectionOptions.Builder() .transitGatewayId(gatewayID) // Construct an instance of the DeleteTransitGatewayConnectionOptions model - .id(vpcConnID) + .id(vpcConnId) .build(); // Invoke operation with valid options model (positive test) @@ -877,12 +786,11 @@ public void testTransitGatewayOptions() throws InterruptedException { assertNull(delConnRespObj); // Connection deletion might not be instantaneous. - checkResourceDeletion(null, getVpcTransitGatewayConnectionOptionsModel, null, null); + checkResourceDeletion(null, getVpcTransitGatewayConnectionOptionsModel, null); - ///////////////////////////////////////////////////// - // DELETE Transit DL Connection // - ///////////////////////////////////////////////////// - + /////////////////////////////////////////// + // Success: DELETE Transit DL Connection: + /////////////////////////////////////////// deleteTransitGatewayConnectionOptionsModel = new DeleteTransitGatewayConnectionOptions.Builder() .transitGatewayId(gatewayID) // Construct an instance of the DeleteTransitGatewayConnectionOptions model .id(dlConnId) @@ -897,15 +805,14 @@ public void testTransitGatewayOptions() throws InterruptedException { assertNull(delConnRespObj); // Connection deletion might not be instantaneous. - checkResourceDeletion(null, getDLTransitGatewayConnectionOptionsModel, null, null); + checkResourceDeletion(null, getDLTransitGatewayConnectionOptionsModel, null); - //////////////////////////////////////////////////////// - // DELETE Transit CLASSIC Connection // - //////////////////////////////////////////////////////// - + ////////////////////////////////////////////// + // Success: DELETE Transit CLASSIC Connection: + ////////////////////////////////////////////// deleteTransitGatewayConnectionOptionsModel = new DeleteTransitGatewayConnectionOptions.Builder() .transitGatewayId(gatewayID) // Construct an instance of the DeleteTransitGatewayConnectionOptions model - .id(classicConnID) + .id(classicConnId) .build(); // Invoke operation with valid options model (positive test) @@ -917,12 +824,11 @@ public void testTransitGatewayOptions() throws InterruptedException { assertNull(delConnRespObj); // Connection deletion might not be instantaneous. - checkResourceDeletion(null, getClassicTransitGatewayConnectionOptionsModel, null, null); + checkResourceDeletion(null, getClassicTransitGatewayConnectionOptionsModel, null); - ///////////////////////////////////////////////////// - // DELETE Transit Gateway // - ///////////////////////////////////////////////////// - + /////////////////////////////////////////// + // Success: DELETE Transit Gateway: + /////////////////////////////////////////// DeleteTransitGatewayOptions deleteTransitGatewayOptionsModel = new DeleteTransitGatewayOptions.Builder() .id(gatewayID) // Construct an instance of the DeleteTransitGatewayOptions model .build(); @@ -936,9 +842,9 @@ public void testTransitGatewayOptions() throws InterruptedException { assertNull(delGtwRespObj); } - ///////////////////////////////////////////////////////////////////////////////////////// - // Test Helper Methods // - ///////////////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////// + // Test Helper Methods // + /////////////////////////////////////////////////////////////////////////////// private void preTestCleanup(String name) throws InterruptedException { // Construct an instance of the ListTransitGatewaysOptions model @@ -966,7 +872,7 @@ private void preTestCleanup(String name) throws InterruptedException { List connectionIDs = new ArrayList(); for (TransitGatewayConnectionCust conn : connections) { // Deletes GRE Connections first. - if (conn.getNetworkType().contains("gre_tunnel")) { + if (conn.getNetworkType().contains("gre_tunnel")) { //will handle unbound_gre_tunnel as well DeleteTransitGatewayConnectionOptions deleteTransitGatewayConnectionOptionsModel = new DeleteTransitGatewayConnectionOptions.Builder() .transitGatewayId(gtw.getId()) .id(conn.getId()) @@ -981,11 +887,12 @@ private void preTestCleanup(String name) throws InterruptedException { .build(); // Connection deletion might not be instantaneous. - checkResourceDeletion(null, getTransitGatewayConnectionOptionsModel, null, null); + checkResourceDeletion(null, getTransitGatewayConnectionOptionsModel, null); } else { connectionIDs.add(conn.getId()); } } + // Deletes Connections from other types. for (String connID : connectionIDs) { DeleteTransitGatewayConnectionOptions deleteTransitGatewayConnectionOptionsModel = new DeleteTransitGatewayConnectionOptions.Builder() @@ -1002,9 +909,10 @@ private void preTestCleanup(String name) throws InterruptedException { .build(); // Connection deletion might not be instantaneous. - checkResourceDeletion(null, getTransitGatewayConnectionOptionsModel, null, null); + checkResourceDeletion(null, getTransitGatewayConnectionOptionsModel, null); } } + // Construct an instance of the DeleteTransitGatewayOptions model DeleteTransitGatewayOptions deleteTransitGatewayOptionsModel = new DeleteTransitGatewayOptions.Builder() .id(gtw.getId()) @@ -1019,12 +927,12 @@ private void preTestCleanup(String name) throws InterruptedException { .id(gtw.getId()) .build(); - checkResourceDeletion(getTransitGatewayOptionsModel, null, null, null); + checkResourceDeletion(getTransitGatewayOptionsModel, null, null); } } } - private void checkResourceDeletion(GetTransitGatewayOptions gtwModel, GetTransitGatewayConnectionOptions connModel, GetTransitGatewayRouteReportOptions rrModel, GetTransitGatewayConnectionPrefixFilterOptions pfModel) throws InterruptedException { + private void checkResourceDeletion(GetTransitGatewayOptions gtwModel, GetTransitGatewayConnectionOptions connModel, GetTransitGatewayRouteReportOptions rrModel) throws InterruptedException { int timer = 0; while(true) { // Invoke operation with valid options model (positive test) @@ -1035,9 +943,6 @@ private void checkResourceDeletion(GetTransitGatewayOptions gtwModel, GetTransit } else if (gtwModel != null){ Response gtwGetResp = testService.getTransitGateway(gtwModel).execute(); assertNotNull(gtwGetResp); - } else if (pfModel != null){ - Response pfGetResp = testService.getTransitGatewayConnectionPrefixFilter(pfModel).execute(); - assertNotNull(pfGetResp); } else { Response rrGetResp = testService.getTransitGatewayRouteReport(rrModel).execute(); assertNotNull(rrGetResp); diff --git a/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/TransitGatewayApisTest.java b/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/TransitGatewayApisTest.java index 0420a2810..fbac9f9c7 100644 --- a/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/TransitGatewayApisTest.java +++ b/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/TransitGatewayApisTest.java @@ -35,6 +35,8 @@ import com.ibm.cloud.networking.transit_gateway_apis.v1.model.ListTransitGatewaysOptions; import com.ibm.cloud.networking.transit_gateway_apis.v1.model.PrefixFilterCollection; import com.ibm.cloud.networking.transit_gateway_apis.v1.model.PrefixFilterCust; +import com.ibm.cloud.networking.transit_gateway_apis.v1.model.PrefixFilterPut; +import com.ibm.cloud.networking.transit_gateway_apis.v1.model.ReplaceTransitGatewayConnectionPrefixFilterOptions; import com.ibm.cloud.networking.transit_gateway_apis.v1.model.ResourceGroupIdentity; import com.ibm.cloud.networking.transit_gateway_apis.v1.model.ResourceGroupReference; import com.ibm.cloud.networking.transit_gateway_apis.v1.model.RouteReport; @@ -146,10 +148,10 @@ public void testGetVersion() throws Throwable { } @Test - public void testListConnectionsWOptions() throws Throwable { + public void testListTransitGatewaysWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = "{\"connections\": [{\"base_connection_id\": \"975f58c1-afe7-469a-9727-7f3d720f2d32\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"id\": \"1a15dca5-7e33-45e1-b7c5-bc690e569531\", \"local_bgp_asn\": 64490, \"local_gateway_ip\": \"192.168.100.1\", \"local_tunnel_ip\": \"192.168.129.2\", \"mtu\": 9000, \"name\": \"Transit_Service_SJ_DL\", \"network_account_id\": \"28e4d90ac7504be694471ee66e70d0d5\", \"network_id\": \"crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b\", \"network_type\": \"vpc\", \"prefix_filters\": [{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}], \"prefix_filters_default\": \"permit\", \"remote_bgp_asn\": 65010, \"remote_gateway_ip\": \"10.242.63.12\", \"remote_tunnel_ip\": \"192.168.129.1\", \"request_status\": \"pending\", \"status\": \"attached\", \"transit_gateway\": {\"crn\": \"crn:v1:bluemix:public:transit:us-south:a/123456::gateway:456f58c1-afe7-123a-0a0a-7f3d720f1a44\", \"id\": \"456f58c1-afe7-123a-0a0a-7f3d720f1a44\", \"name\": \"my-transit-gw100\"}, \"updated_at\": \"2019-01-01T12:00:00.000Z\", \"zone\": {\"name\": \"us-south-1\"}}], \"first\": {\"href\": \"https://transit.cloud.ibm.com/v1/connections?limit=50\"}, \"limit\": 50, \"next\": {\"href\": \"https://transit.cloud.ibm.com/v1/connections?start=MjAyMC0wNS0wOVQxNjoyMDoyMC4yMjQ5NzNa&limit=50\", \"start\": \"MjAyMC0wNS0wOVQxNjoyMDoyMC4yMjQ5NzNa\"}}"; - String listConnectionsPath = "/connections"; + String mockResponseBody = "{\"first\": {\"href\": \"https://transit.cloud.ibm.com/v1/transit_gateways?limit=50\"}, \"limit\": 50, \"next\": {\"href\": \"https://transit.cloud.ibm.com/v1/transit_gateways?start=MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa&limit=50\", \"start\": \"MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa\"}, \"transit_gateways\": [{\"id\": \"ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4\", \"crn\": \"crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4\", \"name\": \"my-transit-gateway-in-TransitGateway\", \"location\": \"us-south\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"global\": true, \"resource_group\": {\"id\": \"56969d6043e9465c883cb9f7363e78e8\", \"href\": \"https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8\"}, \"status\": \"available\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}]}"; + String listTransitGatewaysPath = "/transit_gateways"; server.enqueue(new MockResponse() .setHeader("Content-type", "application/json") @@ -158,17 +160,16 @@ public void testListConnectionsWOptions() throws Throwable { constructClientService(); - // Construct an instance of the ListConnectionsOptions model - ListConnectionsOptions listConnectionsOptionsModel = new ListConnectionsOptions.Builder() + // Construct an instance of the ListTransitGatewaysOptions model + ListTransitGatewaysOptions listTransitGatewaysOptionsModel = new ListTransitGatewaysOptions.Builder() .limit(Long.valueOf("1")) .start("testString") - .networkId("testString") .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.listConnections(listConnectionsOptionsModel).execute(); + Response response = transitGatewayApisService.listTransitGateways(listTransitGatewaysOptionsModel).execute(); assertNotNull(response); - TransitConnectionCollection responseObj = response.getResult(); + TransitGatewayCollection responseObj = response.getResult(); assertNotNull(responseObj); // Verify the contents of the request @@ -183,51 +184,57 @@ public void testListConnectionsWOptions() throws Throwable { assertEquals(query.get("version"), "testString"); assertEquals(Long.valueOf(query.get("limit")), Long.valueOf("1")); assertEquals(query.get("start"), "testString"); - assertEquals(query.get("network_id"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, listConnectionsPath); + assertEquals(parsedPath, listTransitGatewaysPath); } - public void testListConnectionsWOptionsWRetries() throws Throwable { - // Enable retries and run testListConnectionsWOptions. + public void testListTransitGatewaysWOptionsWRetries() throws Throwable { + // Enable retries and run testListTransitGatewaysWOptions. transitGatewayApisService.enableRetries(4, 30); - testListConnectionsWOptions(); + testListTransitGatewaysWOptions(); - // Disable retries and run testListConnectionsWOptions. + // Disable retries and run testListTransitGatewaysWOptions. transitGatewayApisService.disableRetries(); - testListConnectionsWOptions(); + testListTransitGatewaysWOptions(); } @Test - public void testListTransitGatewayConnectionPrefixFiltersWOptions() throws Throwable { + public void testCreateTransitGatewayWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = "{\"prefix_filters\": [{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}]}"; - String listTransitGatewayConnectionPrefixFiltersPath = "/transit_gateways/testString/connections/testString/prefix_filters"; + String mockResponseBody = "{\"id\": \"ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4\", \"crn\": \"crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4\", \"name\": \"my-transit-gateway-in-TransitGateway\", \"location\": \"us-south\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"global\": true, \"resource_group\": {\"id\": \"56969d6043e9465c883cb9f7363e78e8\", \"href\": \"https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8\"}, \"status\": \"available\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}"; + String createTransitGatewayPath = "/transit_gateways"; server.enqueue(new MockResponse() .setHeader("Content-type", "application/json") - .setResponseCode(200) + .setResponseCode(201) .setBody(mockResponseBody)); constructClientService(); - // Construct an instance of the ListTransitGatewayConnectionPrefixFiltersOptions model - ListTransitGatewayConnectionPrefixFiltersOptions listTransitGatewayConnectionPrefixFiltersOptionsModel = new ListTransitGatewayConnectionPrefixFiltersOptions.Builder() - .transitGatewayId("testString") - .id("testString") + // Construct an instance of the ResourceGroupIdentity model + ResourceGroupIdentity resourceGroupIdentityModel = new ResourceGroupIdentity.Builder() + .id("56969d6043e9465c883cb9f7363e78e8") + .build(); + + // Construct an instance of the CreateTransitGatewayOptions model + CreateTransitGatewayOptions createTransitGatewayOptionsModel = new CreateTransitGatewayOptions.Builder() + .location("us-south") + .name("Transit_Service_BWTN_SJ_DL") + .global(true) + .resourceGroup(resourceGroupIdentityModel) .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.listTransitGatewayConnectionPrefixFilters(listTransitGatewayConnectionPrefixFiltersOptionsModel).execute(); + Response response = transitGatewayApisService.createTransitGateway(createTransitGatewayOptionsModel).execute(); assertNotNull(response); - PrefixFilterCollection responseObj = response.getResult(); + TransitGateway responseObj = response.getResult(); assertNotNull(responseObj); // Verify the contents of the request RecordedRequest request = server.takeRequest(); assertNotNull(request); - assertEquals(request.getMethod(), "GET"); + assertEquals(request.getMethod(), "POST"); // Check query Map query = TestUtilities.parseQueryString(request); @@ -236,65 +243,59 @@ public void testListTransitGatewayConnectionPrefixFiltersWOptions() throws Throw assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, listTransitGatewayConnectionPrefixFiltersPath); + assertEquals(parsedPath, createTransitGatewayPath); } - public void testListTransitGatewayConnectionPrefixFiltersWOptionsWRetries() throws Throwable { - // Enable retries and run testListTransitGatewayConnectionPrefixFiltersWOptions. + public void testCreateTransitGatewayWOptionsWRetries() throws Throwable { + // Enable retries and run testCreateTransitGatewayWOptions. transitGatewayApisService.enableRetries(4, 30); - testListTransitGatewayConnectionPrefixFiltersWOptions(); + testCreateTransitGatewayWOptions(); - // Disable retries and run testListTransitGatewayConnectionPrefixFiltersWOptions. + // Disable retries and run testCreateTransitGatewayWOptions. transitGatewayApisService.disableRetries(); - testListTransitGatewayConnectionPrefixFiltersWOptions(); + testCreateTransitGatewayWOptions(); } - // Test the listTransitGatewayConnectionPrefixFilters operation with null options model parameter + // Test the createTransitGateway operation with null options model parameter @Test(expectedExceptions = IllegalArgumentException.class) - public void testListTransitGatewayConnectionPrefixFiltersNoOptions() throws Throwable { + public void testCreateTransitGatewayNoOptions() throws Throwable { // construct the service constructClientService(); server.enqueue(new MockResponse()); // Invoke operation with null options model (negative test) - transitGatewayApisService.listTransitGatewayConnectionPrefixFilters(null).execute(); + transitGatewayApisService.createTransitGateway(null).execute(); } @Test - public void testCreateTransitGatewayConnectionPrefixFilterWOptions() throws Throwable { + public void testDeleteTransitGatewayWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = "{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}"; - String createTransitGatewayConnectionPrefixFilterPath = "/transit_gateways/testString/connections/testString/prefix_filters"; + String mockResponseBody = ""; + String deleteTransitGatewayPath = "/transit_gateways/testString"; server.enqueue(new MockResponse() - .setHeader("Content-type", "application/json") - .setResponseCode(201) + .setResponseCode(204) .setBody(mockResponseBody)); constructClientService(); - // Construct an instance of the CreateTransitGatewayConnectionPrefixFilterOptions model - CreateTransitGatewayConnectionPrefixFilterOptions createTransitGatewayConnectionPrefixFilterOptionsModel = new CreateTransitGatewayConnectionPrefixFilterOptions.Builder() - .transitGatewayId("testString") + // Construct an instance of the DeleteTransitGatewayOptions model + DeleteTransitGatewayOptions deleteTransitGatewayOptionsModel = new DeleteTransitGatewayOptions.Builder() .id("testString") - .action("permit") - .prefix("192.168.100.0/24") - .before("1a15dcab-7e40-45e1-b7c5-bc690eaa9782") - .ge(Long.valueOf("0")) - .le(Long.valueOf("32")) .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.createTransitGatewayConnectionPrefixFilter(createTransitGatewayConnectionPrefixFilterOptionsModel).execute(); + Response response = transitGatewayApisService.deleteTransitGateway(deleteTransitGatewayOptionsModel).execute(); assertNotNull(response); - PrefixFilterCust responseObj = response.getResult(); - assertNotNull(responseObj); + Void responseObj = response.getResult(); + // Response does not have a return type. Check that the result is null. + assertNull(responseObj); // Verify the contents of the request RecordedRequest request = server.takeRequest(); assertNotNull(request); - assertEquals(request.getMethod(), "POST"); + assertEquals(request.getMethod(), "DELETE"); // Check query Map query = TestUtilities.parseQueryString(request); @@ -303,61 +304,59 @@ public void testCreateTransitGatewayConnectionPrefixFilterWOptions() throws Thro assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, createTransitGatewayConnectionPrefixFilterPath); + assertEquals(parsedPath, deleteTransitGatewayPath); } - public void testCreateTransitGatewayConnectionPrefixFilterWOptionsWRetries() throws Throwable { - // Enable retries and run testCreateTransitGatewayConnectionPrefixFilterWOptions. + public void testDeleteTransitGatewayWOptionsWRetries() throws Throwable { + // Enable retries and run testDeleteTransitGatewayWOptions. transitGatewayApisService.enableRetries(4, 30); - testCreateTransitGatewayConnectionPrefixFilterWOptions(); + testDeleteTransitGatewayWOptions(); - // Disable retries and run testCreateTransitGatewayConnectionPrefixFilterWOptions. + // Disable retries and run testDeleteTransitGatewayWOptions. transitGatewayApisService.disableRetries(); - testCreateTransitGatewayConnectionPrefixFilterWOptions(); + testDeleteTransitGatewayWOptions(); } - // Test the createTransitGatewayConnectionPrefixFilter operation with null options model parameter + // Test the deleteTransitGateway operation with null options model parameter @Test(expectedExceptions = IllegalArgumentException.class) - public void testCreateTransitGatewayConnectionPrefixFilterNoOptions() throws Throwable { + public void testDeleteTransitGatewayNoOptions() throws Throwable { // construct the service constructClientService(); server.enqueue(new MockResponse()); // Invoke operation with null options model (negative test) - transitGatewayApisService.createTransitGatewayConnectionPrefixFilter(null).execute(); + transitGatewayApisService.deleteTransitGateway(null).execute(); } @Test - public void testDeleteTransitGatewayConnectionPrefixFilterWOptions() throws Throwable { + public void testGetTransitGatewayWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = ""; - String deleteTransitGatewayConnectionPrefixFilterPath = "/transit_gateways/testString/connections/testString/prefix_filters/testString"; + String mockResponseBody = "{\"id\": \"ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4\", \"crn\": \"crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4\", \"name\": \"my-transit-gateway-in-TransitGateway\", \"location\": \"us-south\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"global\": true, \"resource_group\": {\"id\": \"56969d6043e9465c883cb9f7363e78e8\", \"href\": \"https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8\"}, \"status\": \"available\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}"; + String getTransitGatewayPath = "/transit_gateways/testString"; server.enqueue(new MockResponse() - .setResponseCode(204) + .setHeader("Content-type", "application/json") + .setResponseCode(200) .setBody(mockResponseBody)); constructClientService(); - // Construct an instance of the DeleteTransitGatewayConnectionPrefixFilterOptions model - DeleteTransitGatewayConnectionPrefixFilterOptions deleteTransitGatewayConnectionPrefixFilterOptionsModel = new DeleteTransitGatewayConnectionPrefixFilterOptions.Builder() - .transitGatewayId("testString") + // Construct an instance of the GetTransitGatewayOptions model + GetTransitGatewayOptions getTransitGatewayOptionsModel = new GetTransitGatewayOptions.Builder() .id("testString") - .filterId("testString") .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.deleteTransitGatewayConnectionPrefixFilter(deleteTransitGatewayConnectionPrefixFilterOptionsModel).execute(); + Response response = transitGatewayApisService.getTransitGateway(getTransitGatewayOptionsModel).execute(); assertNotNull(response); - Void responseObj = response.getResult(); - // Response does not have a return type. Check that the result is null. - assertNull(responseObj); + TransitGateway responseObj = response.getResult(); + assertNotNull(responseObj); // Verify the contents of the request RecordedRequest request = server.takeRequest(); assertNotNull(request); - assertEquals(request.getMethod(), "DELETE"); + assertEquals(request.getMethod(), "GET"); // Check query Map query = TestUtilities.parseQueryString(request); @@ -366,36 +365,36 @@ public void testDeleteTransitGatewayConnectionPrefixFilterWOptions() throws Thro assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, deleteTransitGatewayConnectionPrefixFilterPath); + assertEquals(parsedPath, getTransitGatewayPath); } - public void testDeleteTransitGatewayConnectionPrefixFilterWOptionsWRetries() throws Throwable { - // Enable retries and run testDeleteTransitGatewayConnectionPrefixFilterWOptions. + public void testGetTransitGatewayWOptionsWRetries() throws Throwable { + // Enable retries and run testGetTransitGatewayWOptions. transitGatewayApisService.enableRetries(4, 30); - testDeleteTransitGatewayConnectionPrefixFilterWOptions(); + testGetTransitGatewayWOptions(); - // Disable retries and run testDeleteTransitGatewayConnectionPrefixFilterWOptions. + // Disable retries and run testGetTransitGatewayWOptions. transitGatewayApisService.disableRetries(); - testDeleteTransitGatewayConnectionPrefixFilterWOptions(); + testGetTransitGatewayWOptions(); } - // Test the deleteTransitGatewayConnectionPrefixFilter operation with null options model parameter + // Test the getTransitGateway operation with null options model parameter @Test(expectedExceptions = IllegalArgumentException.class) - public void testDeleteTransitGatewayConnectionPrefixFilterNoOptions() throws Throwable { + public void testGetTransitGatewayNoOptions() throws Throwable { // construct the service constructClientService(); server.enqueue(new MockResponse()); // Invoke operation with null options model (negative test) - transitGatewayApisService.deleteTransitGatewayConnectionPrefixFilter(null).execute(); + transitGatewayApisService.getTransitGateway(null).execute(); } @Test - public void testGetTransitGatewayConnectionPrefixFilterWOptions() throws Throwable { + public void testUpdateTransitGatewayWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = "{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}"; - String getTransitGatewayConnectionPrefixFilterPath = "/transit_gateways/testString/connections/testString/prefix_filters/testString"; + String mockResponseBody = "{\"id\": \"ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4\", \"crn\": \"crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4\", \"name\": \"my-transit-gateway-in-TransitGateway\", \"location\": \"us-south\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"global\": true, \"resource_group\": {\"id\": \"56969d6043e9465c883cb9f7363e78e8\", \"href\": \"https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8\"}, \"status\": \"available\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}"; + String updateTransitGatewayPath = "/transit_gateways/testString"; server.enqueue(new MockResponse() .setHeader("Content-type", "application/json") @@ -404,23 +403,23 @@ public void testGetTransitGatewayConnectionPrefixFilterWOptions() throws Throwab constructClientService(); - // Construct an instance of the GetTransitGatewayConnectionPrefixFilterOptions model - GetTransitGatewayConnectionPrefixFilterOptions getTransitGatewayConnectionPrefixFilterOptionsModel = new GetTransitGatewayConnectionPrefixFilterOptions.Builder() - .transitGatewayId("testString") + // Construct an instance of the UpdateTransitGatewayOptions model + UpdateTransitGatewayOptions updateTransitGatewayOptionsModel = new UpdateTransitGatewayOptions.Builder() .id("testString") - .filterId("testString") + .global(true) + .name("my-transit-gateway") .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.getTransitGatewayConnectionPrefixFilter(getTransitGatewayConnectionPrefixFilterOptionsModel).execute(); + Response response = transitGatewayApisService.updateTransitGateway(updateTransitGatewayOptionsModel).execute(); assertNotNull(response); - PrefixFilterCust responseObj = response.getResult(); + TransitGateway responseObj = response.getResult(); assertNotNull(responseObj); // Verify the contents of the request RecordedRequest request = server.takeRequest(); assertNotNull(request); - assertEquals(request.getMethod(), "GET"); + assertEquals(request.getMethod(), "PATCH"); // Check query Map query = TestUtilities.parseQueryString(request); @@ -429,36 +428,36 @@ public void testGetTransitGatewayConnectionPrefixFilterWOptions() throws Throwab assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, getTransitGatewayConnectionPrefixFilterPath); + assertEquals(parsedPath, updateTransitGatewayPath); } - public void testGetTransitGatewayConnectionPrefixFilterWOptionsWRetries() throws Throwable { - // Enable retries and run testGetTransitGatewayConnectionPrefixFilterWOptions. + public void testUpdateTransitGatewayWOptionsWRetries() throws Throwable { + // Enable retries and run testUpdateTransitGatewayWOptions. transitGatewayApisService.enableRetries(4, 30); - testGetTransitGatewayConnectionPrefixFilterWOptions(); + testUpdateTransitGatewayWOptions(); - // Disable retries and run testGetTransitGatewayConnectionPrefixFilterWOptions. + // Disable retries and run testUpdateTransitGatewayWOptions. transitGatewayApisService.disableRetries(); - testGetTransitGatewayConnectionPrefixFilterWOptions(); + testUpdateTransitGatewayWOptions(); } - // Test the getTransitGatewayConnectionPrefixFilter operation with null options model parameter + // Test the updateTransitGateway operation with null options model parameter @Test(expectedExceptions = IllegalArgumentException.class) - public void testGetTransitGatewayConnectionPrefixFilterNoOptions() throws Throwable { + public void testUpdateTransitGatewayNoOptions() throws Throwable { // construct the service constructClientService(); server.enqueue(new MockResponse()); // Invoke operation with null options model (negative test) - transitGatewayApisService.getTransitGatewayConnectionPrefixFilter(null).execute(); + transitGatewayApisService.updateTransitGateway(null).execute(); } @Test - public void testUpdateTransitGatewayConnectionPrefixFilterWOptions() throws Throwable { + public void testListConnectionsWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = "{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}"; - String updateTransitGatewayConnectionPrefixFilterPath = "/transit_gateways/testString/connections/testString/prefix_filters/testString"; + String mockResponseBody = "{\"connections\": [{\"base_connection_id\": \"975f58c1-afe7-469a-9727-7f3d720f2d32\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"id\": \"1a15dca5-7e33-45e1-b7c5-bc690e569531\", \"local_bgp_asn\": 64490, \"local_gateway_ip\": \"192.168.100.1\", \"local_tunnel_ip\": \"192.168.129.2\", \"mtu\": 9000, \"name\": \"Transit_Service_SJ_DL\", \"network_account_id\": \"28e4d90ac7504be694471ee66e70d0d5\", \"network_id\": \"crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b\", \"network_type\": \"vpc\", \"prefix_filters\": [{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}], \"prefix_filters_default\": \"permit\", \"remote_bgp_asn\": 65010, \"remote_gateway_ip\": \"10.242.63.12\", \"remote_tunnel_ip\": \"192.168.129.1\", \"request_status\": \"pending\", \"status\": \"attached\", \"transit_gateway\": {\"crn\": \"crn:v1:bluemix:public:transit:us-south:a/123456::gateway:456f58c1-afe7-123a-0a0a-7f3d720f1a44\", \"id\": \"456f58c1-afe7-123a-0a0a-7f3d720f1a44\", \"name\": \"my-transit-gw100\"}, \"updated_at\": \"2019-01-01T12:00:00.000Z\", \"zone\": {\"name\": \"us-south-1\"}}], \"first\": {\"href\": \"https://transit.cloud.ibm.com/v1/connections?limit=50\"}, \"limit\": 50, \"next\": {\"href\": \"https://transit.cloud.ibm.com/v1/connections?start=MjAyMC0wNS0wOVQxNjoyMDoyMC4yMjQ5NzNa&limit=50\", \"start\": \"MjAyMC0wNS0wOVQxNjoyMDoyMC4yMjQ5NzNa\"}}"; + String listConnectionsPath = "/connections"; server.enqueue(new MockResponse() .setHeader("Content-type", "application/json") @@ -467,66 +466,52 @@ public void testUpdateTransitGatewayConnectionPrefixFilterWOptions() throws Thro constructClientService(); - // Construct an instance of the UpdateTransitGatewayConnectionPrefixFilterOptions model - UpdateTransitGatewayConnectionPrefixFilterOptions updateTransitGatewayConnectionPrefixFilterOptionsModel = new UpdateTransitGatewayConnectionPrefixFilterOptions.Builder() - .transitGatewayId("testString") - .id("testString") - .filterId("testString") - .action("permit") - .before("1a15dcab-7e40-45e1-b7c5-bc690eaa9782") - .ge(Long.valueOf("0")) - .le(Long.valueOf("32")) - .prefix("192.168.100.0/24") + // Construct an instance of the ListConnectionsOptions model + ListConnectionsOptions listConnectionsOptionsModel = new ListConnectionsOptions.Builder() + .limit(Long.valueOf("1")) + .start("testString") + .networkId("testString") .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.updateTransitGatewayConnectionPrefixFilter(updateTransitGatewayConnectionPrefixFilterOptionsModel).execute(); + Response response = transitGatewayApisService.listConnections(listConnectionsOptionsModel).execute(); assertNotNull(response); - PrefixFilterCust responseObj = response.getResult(); + TransitConnectionCollection responseObj = response.getResult(); assertNotNull(responseObj); // Verify the contents of the request RecordedRequest request = server.takeRequest(); assertNotNull(request); - assertEquals(request.getMethod(), "PATCH"); + assertEquals(request.getMethod(), "GET"); // Check query Map query = TestUtilities.parseQueryString(request); assertNotNull(query); // Get query params assertEquals(query.get("version"), "testString"); + assertEquals(Long.valueOf(query.get("limit")), Long.valueOf("1")); + assertEquals(query.get("start"), "testString"); + assertEquals(query.get("network_id"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, updateTransitGatewayConnectionPrefixFilterPath); + assertEquals(parsedPath, listConnectionsPath); } - public void testUpdateTransitGatewayConnectionPrefixFilterWOptionsWRetries() throws Throwable { - // Enable retries and run testUpdateTransitGatewayConnectionPrefixFilterWOptions. + public void testListConnectionsWOptionsWRetries() throws Throwable { + // Enable retries and run testListConnectionsWOptions. transitGatewayApisService.enableRetries(4, 30); - testUpdateTransitGatewayConnectionPrefixFilterWOptions(); + testListConnectionsWOptions(); - // Disable retries and run testUpdateTransitGatewayConnectionPrefixFilterWOptions. + // Disable retries and run testListConnectionsWOptions. transitGatewayApisService.disableRetries(); - testUpdateTransitGatewayConnectionPrefixFilterWOptions(); + testListConnectionsWOptions(); } - // Test the updateTransitGatewayConnectionPrefixFilter operation with null options model parameter - @Test(expectedExceptions = IllegalArgumentException.class) - public void testUpdateTransitGatewayConnectionPrefixFilterNoOptions() throws Throwable { - // construct the service - constructClientService(); - - server.enqueue(new MockResponse()); - - // Invoke operation with null options model (negative test) - transitGatewayApisService.updateTransitGatewayConnectionPrefixFilter(null).execute(); - } - @Test - public void testListTransitGatewayRouteReportsWOptions() throws Throwable { + public void testListTransitGatewayConnectionsWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = "{\"route_reports\": [{\"connections\": [{\"bgps\": [{\"as_path\": \"(65201 4201065544) 4203065544\", \"is_used\": true, \"local_preference\": \"190\", \"prefix\": \"172.17.0.0/16\"}], \"id\": \"3c265a62-91da-4261-a950-950b6af0eb58\", \"name\": \"transit-connection-vpc1\", \"routes\": [{\"prefix\": \"192.168.0.0/16\"}], \"type\": \"vpc\"}], \"created_at\": \"2019-01-01T12:00:00.000Z\", \"id\": \"1a15dcab-7e26-45e1-b7c5-bc690eaa9724\", \"overlapping_routes\": [{\"routes\": [{\"connection_id\": \"d2d985d8-1d8e-4e8b-96cd-cee2290ecaff\", \"prefix\": \"prefix\"}]}], \"status\": \"complete\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}]}"; - String listTransitGatewayRouteReportsPath = "/transit_gateways/testString/route_reports"; + String mockResponseBody = "{\"connections\": [{\"base_network_type\": \"classic\", \"name\": \"Transit_Service_BWTN_SJ_DL\", \"network_id\": \"crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b\", \"network_type\": \"vpc\", \"id\": \"1a15dca5-7e33-45e1-b7c5-bc690e569531\", \"base_connection_id\": \"975f58c1-afe7-469a-9727-7f3d720f2d32\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"local_bgp_asn\": 64490, \"local_gateway_ip\": \"192.168.100.1\", \"local_tunnel_ip\": \"192.168.129.2\", \"mtu\": 9000, \"network_account_id\": \"28e4d90ac7504be694471ee66e70d0d5\", \"prefix_filters\": [{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}], \"prefix_filters_default\": \"permit\", \"remote_bgp_asn\": 65010, \"remote_gateway_ip\": \"10.242.63.12\", \"remote_tunnel_ip\": \"192.168.129.1\", \"request_status\": \"pending\", \"status\": \"attached\", \"updated_at\": \"2019-01-01T12:00:00.000Z\", \"zone\": {\"name\": \"us-south-1\"}}]}"; + String listTransitGatewayConnectionsPath = "/transit_gateways/testString/connections"; server.enqueue(new MockResponse() .setHeader("Content-type", "application/json") @@ -535,15 +520,15 @@ public void testListTransitGatewayRouteReportsWOptions() throws Throwable { constructClientService(); - // Construct an instance of the ListTransitGatewayRouteReportsOptions model - ListTransitGatewayRouteReportsOptions listTransitGatewayRouteReportsOptionsModel = new ListTransitGatewayRouteReportsOptions.Builder() + // Construct an instance of the ListTransitGatewayConnectionsOptions model + ListTransitGatewayConnectionsOptions listTransitGatewayConnectionsOptionsModel = new ListTransitGatewayConnectionsOptions.Builder() .transitGatewayId("testString") .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.listTransitGatewayRouteReports(listTransitGatewayRouteReportsOptionsModel).execute(); + Response response = transitGatewayApisService.listTransitGatewayConnections(listTransitGatewayConnectionsOptionsModel).execute(); assertNotNull(response); - RouteReportCollection responseObj = response.getResult(); + TransitGatewayConnectionCollection responseObj = response.getResult(); assertNotNull(responseObj); // Verify the contents of the request @@ -558,53 +543,80 @@ public void testListTransitGatewayRouteReportsWOptions() throws Throwable { assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, listTransitGatewayRouteReportsPath); + assertEquals(parsedPath, listTransitGatewayConnectionsPath); } - public void testListTransitGatewayRouteReportsWOptionsWRetries() throws Throwable { - // Enable retries and run testListTransitGatewayRouteReportsWOptions. + public void testListTransitGatewayConnectionsWOptionsWRetries() throws Throwable { + // Enable retries and run testListTransitGatewayConnectionsWOptions. transitGatewayApisService.enableRetries(4, 30); - testListTransitGatewayRouteReportsWOptions(); + testListTransitGatewayConnectionsWOptions(); - // Disable retries and run testListTransitGatewayRouteReportsWOptions. + // Disable retries and run testListTransitGatewayConnectionsWOptions. transitGatewayApisService.disableRetries(); - testListTransitGatewayRouteReportsWOptions(); + testListTransitGatewayConnectionsWOptions(); } - // Test the listTransitGatewayRouteReports operation with null options model parameter + // Test the listTransitGatewayConnections operation with null options model parameter @Test(expectedExceptions = IllegalArgumentException.class) - public void testListTransitGatewayRouteReportsNoOptions() throws Throwable { + public void testListTransitGatewayConnectionsNoOptions() throws Throwable { // construct the service constructClientService(); server.enqueue(new MockResponse()); // Invoke operation with null options model (negative test) - transitGatewayApisService.listTransitGatewayRouteReports(null).execute(); + transitGatewayApisService.listTransitGatewayConnections(null).execute(); } @Test - public void testCreateTransitGatewayRouteReportWOptions() throws Throwable { + public void testCreateTransitGatewayConnectionWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = "{\"connections\": [{\"bgps\": [{\"as_path\": \"(65201 4201065544) 4203065544\", \"is_used\": true, \"local_preference\": \"190\", \"prefix\": \"172.17.0.0/16\"}], \"id\": \"3c265a62-91da-4261-a950-950b6af0eb58\", \"name\": \"transit-connection-vpc1\", \"routes\": [{\"prefix\": \"192.168.0.0/16\"}], \"type\": \"vpc\"}], \"created_at\": \"2019-01-01T12:00:00.000Z\", \"id\": \"1a15dcab-7e26-45e1-b7c5-bc690eaa9724\", \"overlapping_routes\": [{\"routes\": [{\"connection_id\": \"d2d985d8-1d8e-4e8b-96cd-cee2290ecaff\", \"prefix\": \"prefix\"}]}], \"status\": \"complete\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}"; - String createTransitGatewayRouteReportPath = "/transit_gateways/testString/route_reports"; + String mockResponseBody = "{\"base_network_type\": \"classic\", \"name\": \"Transit_Service_BWTN_SJ_DL\", \"network_id\": \"crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b\", \"network_type\": \"vpc\", \"id\": \"1a15dca5-7e33-45e1-b7c5-bc690e569531\", \"base_connection_id\": \"975f58c1-afe7-469a-9727-7f3d720f2d32\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"local_bgp_asn\": 64490, \"local_gateway_ip\": \"192.168.100.1\", \"local_tunnel_ip\": \"192.168.129.2\", \"mtu\": 9000, \"network_account_id\": \"28e4d90ac7504be694471ee66e70d0d5\", \"prefix_filters\": [{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}], \"prefix_filters_default\": \"permit\", \"remote_bgp_asn\": 65010, \"remote_gateway_ip\": \"10.242.63.12\", \"remote_tunnel_ip\": \"192.168.129.1\", \"request_status\": \"pending\", \"status\": \"attached\", \"updated_at\": \"2019-01-01T12:00:00.000Z\", \"zone\": {\"name\": \"us-south-1\"}}"; + String createTransitGatewayConnectionPath = "/transit_gateways/testString/connections"; server.enqueue(new MockResponse() .setHeader("Content-type", "application/json") - .setResponseCode(202) + .setResponseCode(201) .setBody(mockResponseBody)); constructClientService(); - // Construct an instance of the CreateTransitGatewayRouteReportOptions model - CreateTransitGatewayRouteReportOptions createTransitGatewayRouteReportOptionsModel = new CreateTransitGatewayRouteReportOptions.Builder() + // Construct an instance of the TransitGatewayConnectionPrefixFilter model + TransitGatewayConnectionPrefixFilter transitGatewayConnectionPrefixFilterModel = new TransitGatewayConnectionPrefixFilter.Builder() + .action("permit") + .ge(Long.valueOf("0")) + .le(Long.valueOf("32")) + .prefix("192.168.100.0/24") + .build(); + + // Construct an instance of the ZoneIdentityByName model + ZoneIdentityByName zoneIdentityModel = new ZoneIdentityByName.Builder() + .name("us-south-1") + .build(); + + // Construct an instance of the CreateTransitGatewayConnectionOptions model + CreateTransitGatewayConnectionOptions createTransitGatewayConnectionOptionsModel = new CreateTransitGatewayConnectionOptions.Builder() .transitGatewayId("testString") + .networkType("vpc") + .baseConnectionId("975f58c1-afe7-469a-9727-7f3d720f2d32") + .baseNetworkType("classic") + .localGatewayIp("192.168.100.1") + .localTunnelIp("192.168.129.2") + .name("Transit_Service_BWTN_SJ_DL") + .networkAccountId("28e4d90ac7504be694471ee66e70d0d5") + .networkId("crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b") + .prefixFilters(new java.util.ArrayList(java.util.Arrays.asList(transitGatewayConnectionPrefixFilterModel))) + .prefixFiltersDefault("permit") + .remoteBgpAsn(Long.valueOf("65010")) + .remoteGatewayIp("10.242.63.12") + .remoteTunnelIp("192.168.129.1") + .zone(zoneIdentityModel) .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.createTransitGatewayRouteReport(createTransitGatewayRouteReportOptionsModel).execute(); + Response response = transitGatewayApisService.createTransitGatewayConnection(createTransitGatewayConnectionOptionsModel).execute(); assertNotNull(response); - RouteReport responseObj = response.getResult(); + TransitGatewayConnectionCust responseObj = response.getResult(); assertNotNull(responseObj); // Verify the contents of the request @@ -619,36 +631,36 @@ public void testCreateTransitGatewayRouteReportWOptions() throws Throwable { assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, createTransitGatewayRouteReportPath); + assertEquals(parsedPath, createTransitGatewayConnectionPath); } - public void testCreateTransitGatewayRouteReportWOptionsWRetries() throws Throwable { - // Enable retries and run testCreateTransitGatewayRouteReportWOptions. + public void testCreateTransitGatewayConnectionWOptionsWRetries() throws Throwable { + // Enable retries and run testCreateTransitGatewayConnectionWOptions. transitGatewayApisService.enableRetries(4, 30); - testCreateTransitGatewayRouteReportWOptions(); + testCreateTransitGatewayConnectionWOptions(); - // Disable retries and run testCreateTransitGatewayRouteReportWOptions. + // Disable retries and run testCreateTransitGatewayConnectionWOptions. transitGatewayApisService.disableRetries(); - testCreateTransitGatewayRouteReportWOptions(); + testCreateTransitGatewayConnectionWOptions(); } - // Test the createTransitGatewayRouteReport operation with null options model parameter + // Test the createTransitGatewayConnection operation with null options model parameter @Test(expectedExceptions = IllegalArgumentException.class) - public void testCreateTransitGatewayRouteReportNoOptions() throws Throwable { + public void testCreateTransitGatewayConnectionNoOptions() throws Throwable { // construct the service constructClientService(); server.enqueue(new MockResponse()); // Invoke operation with null options model (negative test) - transitGatewayApisService.createTransitGatewayRouteReport(null).execute(); + transitGatewayApisService.createTransitGatewayConnection(null).execute(); } @Test - public void testDeleteTransitGatewayRouteReportWOptions() throws Throwable { + public void testDeleteTransitGatewayConnectionWOptions() throws Throwable { // Schedule some responses. String mockResponseBody = ""; - String deleteTransitGatewayRouteReportPath = "/transit_gateways/testString/route_reports/testString"; + String deleteTransitGatewayConnectionPath = "/transit_gateways/testString/connections/testString"; server.enqueue(new MockResponse() .setResponseCode(204) @@ -656,14 +668,14 @@ public void testDeleteTransitGatewayRouteReportWOptions() throws Throwable { constructClientService(); - // Construct an instance of the DeleteTransitGatewayRouteReportOptions model - DeleteTransitGatewayRouteReportOptions deleteTransitGatewayRouteReportOptionsModel = new DeleteTransitGatewayRouteReportOptions.Builder() + // Construct an instance of the DeleteTransitGatewayConnectionOptions model + DeleteTransitGatewayConnectionOptions deleteTransitGatewayConnectionOptionsModel = new DeleteTransitGatewayConnectionOptions.Builder() .transitGatewayId("testString") .id("testString") .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.deleteTransitGatewayRouteReport(deleteTransitGatewayRouteReportOptionsModel).execute(); + Response response = transitGatewayApisService.deleteTransitGatewayConnection(deleteTransitGatewayConnectionOptionsModel).execute(); assertNotNull(response); Void responseObj = response.getResult(); // Response does not have a return type. Check that the result is null. @@ -681,36 +693,36 @@ public void testDeleteTransitGatewayRouteReportWOptions() throws Throwable { assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, deleteTransitGatewayRouteReportPath); + assertEquals(parsedPath, deleteTransitGatewayConnectionPath); } - public void testDeleteTransitGatewayRouteReportWOptionsWRetries() throws Throwable { - // Enable retries and run testDeleteTransitGatewayRouteReportWOptions. + public void testDeleteTransitGatewayConnectionWOptionsWRetries() throws Throwable { + // Enable retries and run testDeleteTransitGatewayConnectionWOptions. transitGatewayApisService.enableRetries(4, 30); - testDeleteTransitGatewayRouteReportWOptions(); + testDeleteTransitGatewayConnectionWOptions(); - // Disable retries and run testDeleteTransitGatewayRouteReportWOptions. + // Disable retries and run testDeleteTransitGatewayConnectionWOptions. transitGatewayApisService.disableRetries(); - testDeleteTransitGatewayRouteReportWOptions(); + testDeleteTransitGatewayConnectionWOptions(); } - // Test the deleteTransitGatewayRouteReport operation with null options model parameter + // Test the deleteTransitGatewayConnection operation with null options model parameter @Test(expectedExceptions = IllegalArgumentException.class) - public void testDeleteTransitGatewayRouteReportNoOptions() throws Throwable { + public void testDeleteTransitGatewayConnectionNoOptions() throws Throwable { // construct the service constructClientService(); server.enqueue(new MockResponse()); // Invoke operation with null options model (negative test) - transitGatewayApisService.deleteTransitGatewayRouteReport(null).execute(); + transitGatewayApisService.deleteTransitGatewayConnection(null).execute(); } @Test - public void testGetTransitGatewayRouteReportWOptions() throws Throwable { + public void testGetTransitGatewayConnectionWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = "{\"connections\": [{\"bgps\": [{\"as_path\": \"(65201 4201065544) 4203065544\", \"is_used\": true, \"local_preference\": \"190\", \"prefix\": \"172.17.0.0/16\"}], \"id\": \"3c265a62-91da-4261-a950-950b6af0eb58\", \"name\": \"transit-connection-vpc1\", \"routes\": [{\"prefix\": \"192.168.0.0/16\"}], \"type\": \"vpc\"}], \"created_at\": \"2019-01-01T12:00:00.000Z\", \"id\": \"1a15dcab-7e26-45e1-b7c5-bc690eaa9724\", \"overlapping_routes\": [{\"routes\": [{\"connection_id\": \"d2d985d8-1d8e-4e8b-96cd-cee2290ecaff\", \"prefix\": \"prefix\"}]}], \"status\": \"complete\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}"; - String getTransitGatewayRouteReportPath = "/transit_gateways/testString/route_reports/testString"; + String mockResponseBody = "{\"base_network_type\": \"classic\", \"name\": \"Transit_Service_BWTN_SJ_DL\", \"network_id\": \"crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b\", \"network_type\": \"vpc\", \"id\": \"1a15dca5-7e33-45e1-b7c5-bc690e569531\", \"base_connection_id\": \"975f58c1-afe7-469a-9727-7f3d720f2d32\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"local_bgp_asn\": 64490, \"local_gateway_ip\": \"192.168.100.1\", \"local_tunnel_ip\": \"192.168.129.2\", \"mtu\": 9000, \"network_account_id\": \"28e4d90ac7504be694471ee66e70d0d5\", \"prefix_filters\": [{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}], \"prefix_filters_default\": \"permit\", \"remote_bgp_asn\": 65010, \"remote_gateway_ip\": \"10.242.63.12\", \"remote_tunnel_ip\": \"192.168.129.1\", \"request_status\": \"pending\", \"status\": \"attached\", \"updated_at\": \"2019-01-01T12:00:00.000Z\", \"zone\": {\"name\": \"us-south-1\"}}"; + String getTransitGatewayConnectionPath = "/transit_gateways/testString/connections/testString"; server.enqueue(new MockResponse() .setHeader("Content-type", "application/json") @@ -719,16 +731,16 @@ public void testGetTransitGatewayRouteReportWOptions() throws Throwable { constructClientService(); - // Construct an instance of the GetTransitGatewayRouteReportOptions model - GetTransitGatewayRouteReportOptions getTransitGatewayRouteReportOptionsModel = new GetTransitGatewayRouteReportOptions.Builder() + // Construct an instance of the GetTransitGatewayConnectionOptions model + GetTransitGatewayConnectionOptions getTransitGatewayConnectionOptionsModel = new GetTransitGatewayConnectionOptions.Builder() .transitGatewayId("testString") .id("testString") .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.getTransitGatewayRouteReport(getTransitGatewayRouteReportOptionsModel).execute(); + Response response = transitGatewayApisService.getTransitGatewayConnection(getTransitGatewayConnectionOptionsModel).execute(); assertNotNull(response); - RouteReport responseObj = response.getResult(); + TransitGatewayConnectionCust responseObj = response.getResult(); assertNotNull(responseObj); // Verify the contents of the request @@ -743,36 +755,36 @@ public void testGetTransitGatewayRouteReportWOptions() throws Throwable { assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, getTransitGatewayRouteReportPath); + assertEquals(parsedPath, getTransitGatewayConnectionPath); } - public void testGetTransitGatewayRouteReportWOptionsWRetries() throws Throwable { - // Enable retries and run testGetTransitGatewayRouteReportWOptions. + public void testGetTransitGatewayConnectionWOptionsWRetries() throws Throwable { + // Enable retries and run testGetTransitGatewayConnectionWOptions. transitGatewayApisService.enableRetries(4, 30); - testGetTransitGatewayRouteReportWOptions(); + testGetTransitGatewayConnectionWOptions(); - // Disable retries and run testGetTransitGatewayRouteReportWOptions. + // Disable retries and run testGetTransitGatewayConnectionWOptions. transitGatewayApisService.disableRetries(); - testGetTransitGatewayRouteReportWOptions(); + testGetTransitGatewayConnectionWOptions(); } - // Test the getTransitGatewayRouteReport operation with null options model parameter + // Test the getTransitGatewayConnection operation with null options model parameter @Test(expectedExceptions = IllegalArgumentException.class) - public void testGetTransitGatewayRouteReportNoOptions() throws Throwable { + public void testGetTransitGatewayConnectionNoOptions() throws Throwable { // construct the service constructClientService(); server.enqueue(new MockResponse()); // Invoke operation with null options model (negative test) - transitGatewayApisService.getTransitGatewayRouteReport(null).execute(); + transitGatewayApisService.getTransitGatewayConnection(null).execute(); } @Test - public void testListTransitGatewaysWOptions() throws Throwable { + public void testUpdateTransitGatewayConnectionWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = "{\"first\": {\"href\": \"https://transit.cloud.ibm.com/v1/transit_gateways?limit=50\"}, \"limit\": 50, \"next\": {\"href\": \"https://transit.cloud.ibm.com/v1/transit_gateways?start=MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa&limit=50\", \"start\": \"MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa\"}, \"transit_gateways\": [{\"id\": \"ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4\", \"crn\": \"crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4\", \"name\": \"my-transit-gateway-in-TransitGateway\", \"location\": \"us-south\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"global\": true, \"resource_group\": {\"id\": \"56969d6043e9465c883cb9f7363e78e8\", \"href\": \"https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8\"}, \"status\": \"available\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}]}"; - String listTransitGatewaysPath = "/transit_gateways"; + String mockResponseBody = "{\"base_network_type\": \"classic\", \"name\": \"Transit_Service_BWTN_SJ_DL\", \"network_id\": \"crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b\", \"network_type\": \"vpc\", \"id\": \"1a15dca5-7e33-45e1-b7c5-bc690e569531\", \"base_connection_id\": \"975f58c1-afe7-469a-9727-7f3d720f2d32\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"local_bgp_asn\": 64490, \"local_gateway_ip\": \"192.168.100.1\", \"local_tunnel_ip\": \"192.168.129.2\", \"mtu\": 9000, \"network_account_id\": \"28e4d90ac7504be694471ee66e70d0d5\", \"prefix_filters\": [{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}], \"prefix_filters_default\": \"permit\", \"remote_bgp_asn\": 65010, \"remote_gateway_ip\": \"10.242.63.12\", \"remote_tunnel_ip\": \"192.168.129.1\", \"request_status\": \"pending\", \"status\": \"attached\", \"updated_at\": \"2019-01-01T12:00:00.000Z\", \"zone\": {\"name\": \"us-south-1\"}}"; + String updateTransitGatewayConnectionPath = "/transit_gateways/testString/connections/testString"; server.enqueue(new MockResponse() .setHeader("Content-type", "application/json") @@ -781,76 +793,82 @@ public void testListTransitGatewaysWOptions() throws Throwable { constructClientService(); - // Construct an instance of the ListTransitGatewaysOptions model - ListTransitGatewaysOptions listTransitGatewaysOptionsModel = new ListTransitGatewaysOptions.Builder() - .limit(Long.valueOf("1")) - .start("testString") + // Construct an instance of the UpdateTransitGatewayConnectionOptions model + UpdateTransitGatewayConnectionOptions updateTransitGatewayConnectionOptionsModel = new UpdateTransitGatewayConnectionOptions.Builder() + .transitGatewayId("testString") + .id("testString") + .name("Transit_Service_BWTN_SJ_DL") + .prefixFiltersDefault("permit") .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.listTransitGateways(listTransitGatewaysOptionsModel).execute(); + Response response = transitGatewayApisService.updateTransitGatewayConnection(updateTransitGatewayConnectionOptionsModel).execute(); assertNotNull(response); - TransitGatewayCollection responseObj = response.getResult(); + TransitGatewayConnectionCust responseObj = response.getResult(); assertNotNull(responseObj); // Verify the contents of the request RecordedRequest request = server.takeRequest(); assertNotNull(request); - assertEquals(request.getMethod(), "GET"); + assertEquals(request.getMethod(), "PATCH"); // Check query Map query = TestUtilities.parseQueryString(request); assertNotNull(query); // Get query params assertEquals(query.get("version"), "testString"); - assertEquals(Long.valueOf(query.get("limit")), Long.valueOf("1")); - assertEquals(query.get("start"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, listTransitGatewaysPath); + assertEquals(parsedPath, updateTransitGatewayConnectionPath); } - public void testListTransitGatewaysWOptionsWRetries() throws Throwable { - // Enable retries and run testListTransitGatewaysWOptions. + public void testUpdateTransitGatewayConnectionWOptionsWRetries() throws Throwable { + // Enable retries and run testUpdateTransitGatewayConnectionWOptions. transitGatewayApisService.enableRetries(4, 30); - testListTransitGatewaysWOptions(); + testUpdateTransitGatewayConnectionWOptions(); - // Disable retries and run testListTransitGatewaysWOptions. + // Disable retries and run testUpdateTransitGatewayConnectionWOptions. transitGatewayApisService.disableRetries(); - testListTransitGatewaysWOptions(); + testUpdateTransitGatewayConnectionWOptions(); } + // Test the updateTransitGatewayConnection operation with null options model parameter + @Test(expectedExceptions = IllegalArgumentException.class) + public void testUpdateTransitGatewayConnectionNoOptions() throws Throwable { + // construct the service + constructClientService(); + + server.enqueue(new MockResponse()); + + // Invoke operation with null options model (negative test) + transitGatewayApisService.updateTransitGatewayConnection(null).execute(); + } + @Test - public void testCreateTransitGatewayWOptions() throws Throwable { + public void testCreateTransitGatewayConnectionActionsWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = "{\"id\": \"ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4\", \"crn\": \"crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4\", \"name\": \"my-transit-gateway-in-TransitGateway\", \"location\": \"us-south\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"global\": true, \"resource_group\": {\"id\": \"56969d6043e9465c883cb9f7363e78e8\", \"href\": \"https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8\"}, \"status\": \"available\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}"; - String createTransitGatewayPath = "/transit_gateways"; + String mockResponseBody = ""; + String createTransitGatewayConnectionActionsPath = "/transit_gateways/testString/connections/testString/actions"; server.enqueue(new MockResponse() - .setHeader("Content-type", "application/json") - .setResponseCode(201) + .setResponseCode(204) .setBody(mockResponseBody)); constructClientService(); - // Construct an instance of the ResourceGroupIdentity model - ResourceGroupIdentity resourceGroupIdentityModel = new ResourceGroupIdentity.Builder() - .id("56969d6043e9465c883cb9f7363e78e8") - .build(); - - // Construct an instance of the CreateTransitGatewayOptions model - CreateTransitGatewayOptions createTransitGatewayOptionsModel = new CreateTransitGatewayOptions.Builder() - .location("us-south") - .name("Transit_Service_BWTN_SJ_DL") - .global(true) - .resourceGroup(resourceGroupIdentityModel) + // Construct an instance of the CreateTransitGatewayConnectionActionsOptions model + CreateTransitGatewayConnectionActionsOptions createTransitGatewayConnectionActionsOptionsModel = new CreateTransitGatewayConnectionActionsOptions.Builder() + .transitGatewayId("testString") + .id("testString") + .action("approve") .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.createTransitGateway(createTransitGatewayOptionsModel).execute(); + Response response = transitGatewayApisService.createTransitGatewayConnectionActions(createTransitGatewayConnectionActionsOptionsModel).execute(); assertNotNull(response); - TransitGateway responseObj = response.getResult(); - assertNotNull(responseObj); + Void responseObj = response.getResult(); + // Response does not have a return type. Check that the result is null. + assertNull(responseObj); // Verify the contents of the request RecordedRequest request = server.takeRequest(); @@ -864,59 +882,57 @@ public void testCreateTransitGatewayWOptions() throws Throwable { assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, createTransitGatewayPath); + assertEquals(parsedPath, createTransitGatewayConnectionActionsPath); } - public void testCreateTransitGatewayWOptionsWRetries() throws Throwable { - // Enable retries and run testCreateTransitGatewayWOptions. + public void testCreateTransitGatewayConnectionActionsWOptionsWRetries() throws Throwable { + // Enable retries and run testCreateTransitGatewayConnectionActionsWOptions. transitGatewayApisService.enableRetries(4, 30); - testCreateTransitGatewayWOptions(); + testCreateTransitGatewayConnectionActionsWOptions(); - // Disable retries and run testCreateTransitGatewayWOptions. + // Disable retries and run testCreateTransitGatewayConnectionActionsWOptions. transitGatewayApisService.disableRetries(); - testCreateTransitGatewayWOptions(); + testCreateTransitGatewayConnectionActionsWOptions(); } - // Test the createTransitGateway operation with null options model parameter + // Test the createTransitGatewayConnectionActions operation with null options model parameter @Test(expectedExceptions = IllegalArgumentException.class) - public void testCreateTransitGatewayNoOptions() throws Throwable { + public void testCreateTransitGatewayConnectionActionsNoOptions() throws Throwable { // construct the service constructClientService(); server.enqueue(new MockResponse()); // Invoke operation with null options model (negative test) - transitGatewayApisService.createTransitGateway(null).execute(); + transitGatewayApisService.createTransitGatewayConnectionActions(null).execute(); } @Test - public void testDeleteTransitGatewayWOptions() throws Throwable { + public void testListGatewayLocationsWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = ""; - String deleteTransitGatewayPath = "/transit_gateways/testString"; + String mockResponseBody = "{\"locations\": [{\"billing_location\": \"us\", \"name\": \"us-south\", \"type\": \"region\"}]}"; + String listGatewayLocationsPath = "/locations"; server.enqueue(new MockResponse() - .setResponseCode(204) + .setHeader("Content-type", "application/json") + .setResponseCode(200) .setBody(mockResponseBody)); constructClientService(); - // Construct an instance of the DeleteTransitGatewayOptions model - DeleteTransitGatewayOptions deleteTransitGatewayOptionsModel = new DeleteTransitGatewayOptions.Builder() - .id("testString") - .build(); + // Construct an instance of the ListGatewayLocationsOptions model + ListGatewayLocationsOptions listGatewayLocationsOptionsModel = new ListGatewayLocationsOptions(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.deleteTransitGateway(deleteTransitGatewayOptionsModel).execute(); + Response response = transitGatewayApisService.listGatewayLocations(listGatewayLocationsOptionsModel).execute(); assertNotNull(response); - Void responseObj = response.getResult(); - // Response does not have a return type. Check that the result is null. - assertNull(responseObj); + TSCollection responseObj = response.getResult(); + assertNotNull(responseObj); // Verify the contents of the request RecordedRequest request = server.takeRequest(); assertNotNull(request); - assertEquals(request.getMethod(), "DELETE"); + assertEquals(request.getMethod(), "GET"); // Check query Map query = TestUtilities.parseQueryString(request); @@ -925,36 +941,24 @@ public void testDeleteTransitGatewayWOptions() throws Throwable { assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, deleteTransitGatewayPath); + assertEquals(parsedPath, listGatewayLocationsPath); } - public void testDeleteTransitGatewayWOptionsWRetries() throws Throwable { - // Enable retries and run testDeleteTransitGatewayWOptions. + public void testListGatewayLocationsWOptionsWRetries() throws Throwable { + // Enable retries and run testListGatewayLocationsWOptions. transitGatewayApisService.enableRetries(4, 30); - testDeleteTransitGatewayWOptions(); + testListGatewayLocationsWOptions(); - // Disable retries and run testDeleteTransitGatewayWOptions. + // Disable retries and run testListGatewayLocationsWOptions. transitGatewayApisService.disableRetries(); - testDeleteTransitGatewayWOptions(); + testListGatewayLocationsWOptions(); } - // Test the deleteTransitGateway operation with null options model parameter - @Test(expectedExceptions = IllegalArgumentException.class) - public void testDeleteTransitGatewayNoOptions() throws Throwable { - // construct the service - constructClientService(); - - server.enqueue(new MockResponse()); - - // Invoke operation with null options model (negative test) - transitGatewayApisService.deleteTransitGateway(null).execute(); - } - @Test - public void testGetTransitGatewayWOptions() throws Throwable { + public void testGetGatewayLocationWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = "{\"id\": \"ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4\", \"crn\": \"crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4\", \"name\": \"my-transit-gateway-in-TransitGateway\", \"location\": \"us-south\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"global\": true, \"resource_group\": {\"id\": \"56969d6043e9465c883cb9f7363e78e8\", \"href\": \"https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8\"}, \"status\": \"available\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}"; - String getTransitGatewayPath = "/transit_gateways/testString"; + String mockResponseBody = "{\"billing_location\": \"us\", \"name\": \"us-south\", \"type\": \"region\", \"local_connection_locations\": [{\"display_name\": \"Dallas\", \"name\": \"us-south\", \"supported_connection_types\": [\"supportedConnectionTypes\"], \"type\": \"region\"}]}"; + String getGatewayLocationPath = "/locations/testString"; server.enqueue(new MockResponse() .setHeader("Content-type", "application/json") @@ -963,15 +967,15 @@ public void testGetTransitGatewayWOptions() throws Throwable { constructClientService(); - // Construct an instance of the GetTransitGatewayOptions model - GetTransitGatewayOptions getTransitGatewayOptionsModel = new GetTransitGatewayOptions.Builder() - .id("testString") + // Construct an instance of the GetGatewayLocationOptions model + GetGatewayLocationOptions getGatewayLocationOptionsModel = new GetGatewayLocationOptions.Builder() + .name("testString") .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.getTransitGateway(getTransitGatewayOptionsModel).execute(); + Response response = transitGatewayApisService.getGatewayLocation(getGatewayLocationOptionsModel).execute(); assertNotNull(response); - TransitGateway responseObj = response.getResult(); + TSLocation responseObj = response.getResult(); assertNotNull(responseObj); // Verify the contents of the request @@ -986,36 +990,36 @@ public void testGetTransitGatewayWOptions() throws Throwable { assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, getTransitGatewayPath); + assertEquals(parsedPath, getGatewayLocationPath); } - public void testGetTransitGatewayWOptionsWRetries() throws Throwable { - // Enable retries and run testGetTransitGatewayWOptions. + public void testGetGatewayLocationWOptionsWRetries() throws Throwable { + // Enable retries and run testGetGatewayLocationWOptions. transitGatewayApisService.enableRetries(4, 30); - testGetTransitGatewayWOptions(); + testGetGatewayLocationWOptions(); - // Disable retries and run testGetTransitGatewayWOptions. + // Disable retries and run testGetGatewayLocationWOptions. transitGatewayApisService.disableRetries(); - testGetTransitGatewayWOptions(); + testGetGatewayLocationWOptions(); } - // Test the getTransitGateway operation with null options model parameter + // Test the getGatewayLocation operation with null options model parameter @Test(expectedExceptions = IllegalArgumentException.class) - public void testGetTransitGatewayNoOptions() throws Throwable { + public void testGetGatewayLocationNoOptions() throws Throwable { // construct the service constructClientService(); server.enqueue(new MockResponse()); // Invoke operation with null options model (negative test) - transitGatewayApisService.getTransitGateway(null).execute(); + transitGatewayApisService.getGatewayLocation(null).execute(); } @Test - public void testUpdateTransitGatewayWOptions() throws Throwable { + public void testListTransitGatewayConnectionPrefixFiltersWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = "{\"id\": \"ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4\", \"crn\": \"crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4\", \"name\": \"my-transit-gateway-in-TransitGateway\", \"location\": \"us-south\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"global\": true, \"resource_group\": {\"id\": \"56969d6043e9465c883cb9f7363e78e8\", \"href\": \"https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8\"}, \"status\": \"available\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}"; - String updateTransitGatewayPath = "/transit_gateways/testString"; + String mockResponseBody = "{\"prefix_filters\": [{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}]}"; + String listTransitGatewayConnectionPrefixFiltersPath = "/transit_gateways/testString/connections/testString/prefix_filters"; server.enqueue(new MockResponse() .setHeader("Content-type", "application/json") @@ -1024,23 +1028,22 @@ public void testUpdateTransitGatewayWOptions() throws Throwable { constructClientService(); - // Construct an instance of the UpdateTransitGatewayOptions model - UpdateTransitGatewayOptions updateTransitGatewayOptionsModel = new UpdateTransitGatewayOptions.Builder() + // Construct an instance of the ListTransitGatewayConnectionPrefixFiltersOptions model + ListTransitGatewayConnectionPrefixFiltersOptions listTransitGatewayConnectionPrefixFiltersOptionsModel = new ListTransitGatewayConnectionPrefixFiltersOptions.Builder() + .transitGatewayId("testString") .id("testString") - .global(true) - .name("my-transit-gateway") .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.updateTransitGateway(updateTransitGatewayOptionsModel).execute(); + Response response = transitGatewayApisService.listTransitGatewayConnectionPrefixFilters(listTransitGatewayConnectionPrefixFiltersOptionsModel).execute(); assertNotNull(response); - TransitGateway responseObj = response.getResult(); + PrefixFilterCollection responseObj = response.getResult(); assertNotNull(responseObj); // Verify the contents of the request RecordedRequest request = server.takeRequest(); assertNotNull(request); - assertEquals(request.getMethod(), "PATCH"); + assertEquals(request.getMethod(), "GET"); // Check query Map query = TestUtilities.parseQueryString(request); @@ -1049,59 +1052,65 @@ public void testUpdateTransitGatewayWOptions() throws Throwable { assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, updateTransitGatewayPath); + assertEquals(parsedPath, listTransitGatewayConnectionPrefixFiltersPath); } - public void testUpdateTransitGatewayWOptionsWRetries() throws Throwable { - // Enable retries and run testUpdateTransitGatewayWOptions. + public void testListTransitGatewayConnectionPrefixFiltersWOptionsWRetries() throws Throwable { + // Enable retries and run testListTransitGatewayConnectionPrefixFiltersWOptions. transitGatewayApisService.enableRetries(4, 30); - testUpdateTransitGatewayWOptions(); + testListTransitGatewayConnectionPrefixFiltersWOptions(); - // Disable retries and run testUpdateTransitGatewayWOptions. + // Disable retries and run testListTransitGatewayConnectionPrefixFiltersWOptions. transitGatewayApisService.disableRetries(); - testUpdateTransitGatewayWOptions(); + testListTransitGatewayConnectionPrefixFiltersWOptions(); } - // Test the updateTransitGateway operation with null options model parameter + // Test the listTransitGatewayConnectionPrefixFilters operation with null options model parameter @Test(expectedExceptions = IllegalArgumentException.class) - public void testUpdateTransitGatewayNoOptions() throws Throwable { + public void testListTransitGatewayConnectionPrefixFiltersNoOptions() throws Throwable { // construct the service constructClientService(); server.enqueue(new MockResponse()); // Invoke operation with null options model (negative test) - transitGatewayApisService.updateTransitGateway(null).execute(); + transitGatewayApisService.listTransitGatewayConnectionPrefixFilters(null).execute(); } @Test - public void testListTransitGatewayConnectionsWOptions() throws Throwable { + public void testCreateTransitGatewayConnectionPrefixFilterWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = "{\"connections\": [{\"name\": \"Transit_Service_BWTN_SJ_DL\", \"network_id\": \"crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b\", \"network_type\": \"vpc\", \"id\": \"1a15dca5-7e33-45e1-b7c5-bc690e569531\", \"base_connection_id\": \"975f58c1-afe7-469a-9727-7f3d720f2d32\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"local_bgp_asn\": 64490, \"local_gateway_ip\": \"192.168.100.1\", \"local_tunnel_ip\": \"192.168.129.2\", \"mtu\": 9000, \"network_account_id\": \"28e4d90ac7504be694471ee66e70d0d5\", \"prefix_filters\": [{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}], \"prefix_filters_default\": \"permit\", \"remote_bgp_asn\": 65010, \"remote_gateway_ip\": \"10.242.63.12\", \"remote_tunnel_ip\": \"192.168.129.1\", \"request_status\": \"pending\", \"status\": \"attached\", \"updated_at\": \"2019-01-01T12:00:00.000Z\", \"zone\": {\"name\": \"us-south-1\"}}]}"; - String listTransitGatewayConnectionsPath = "/transit_gateways/testString/connections"; + String mockResponseBody = "{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}"; + String createTransitGatewayConnectionPrefixFilterPath = "/transit_gateways/testString/connections/testString/prefix_filters"; server.enqueue(new MockResponse() .setHeader("Content-type", "application/json") - .setResponseCode(200) + .setResponseCode(201) .setBody(mockResponseBody)); constructClientService(); - // Construct an instance of the ListTransitGatewayConnectionsOptions model - ListTransitGatewayConnectionsOptions listTransitGatewayConnectionsOptionsModel = new ListTransitGatewayConnectionsOptions.Builder() + // Construct an instance of the CreateTransitGatewayConnectionPrefixFilterOptions model + CreateTransitGatewayConnectionPrefixFilterOptions createTransitGatewayConnectionPrefixFilterOptionsModel = new CreateTransitGatewayConnectionPrefixFilterOptions.Builder() .transitGatewayId("testString") + .id("testString") + .action("permit") + .prefix("192.168.100.0/24") + .before("1a15dcab-7e40-45e1-b7c5-bc690eaa9782") + .ge(Long.valueOf("0")) + .le(Long.valueOf("32")) .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.listTransitGatewayConnections(listTransitGatewayConnectionsOptionsModel).execute(); + Response response = transitGatewayApisService.createTransitGatewayConnectionPrefixFilter(createTransitGatewayConnectionPrefixFilterOptionsModel).execute(); assertNotNull(response); - TransitGatewayConnectionCollection responseObj = response.getResult(); + PrefixFilterCust responseObj = response.getResult(); assertNotNull(responseObj); // Verify the contents of the request RecordedRequest request = server.takeRequest(); assertNotNull(request); - assertEquals(request.getMethod(), "GET"); + assertEquals(request.getMethod(), "POST"); // Check query Map query = TestUtilities.parseQueryString(request); @@ -1110,36 +1119,36 @@ public void testListTransitGatewayConnectionsWOptions() throws Throwable { assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, listTransitGatewayConnectionsPath); + assertEquals(parsedPath, createTransitGatewayConnectionPrefixFilterPath); } - public void testListTransitGatewayConnectionsWOptionsWRetries() throws Throwable { - // Enable retries and run testListTransitGatewayConnectionsWOptions. + public void testCreateTransitGatewayConnectionPrefixFilterWOptionsWRetries() throws Throwable { + // Enable retries and run testCreateTransitGatewayConnectionPrefixFilterWOptions. transitGatewayApisService.enableRetries(4, 30); - testListTransitGatewayConnectionsWOptions(); + testCreateTransitGatewayConnectionPrefixFilterWOptions(); - // Disable retries and run testListTransitGatewayConnectionsWOptions. + // Disable retries and run testCreateTransitGatewayConnectionPrefixFilterWOptions. transitGatewayApisService.disableRetries(); - testListTransitGatewayConnectionsWOptions(); + testCreateTransitGatewayConnectionPrefixFilterWOptions(); } - // Test the listTransitGatewayConnections operation with null options model parameter + // Test the createTransitGatewayConnectionPrefixFilter operation with null options model parameter @Test(expectedExceptions = IllegalArgumentException.class) - public void testListTransitGatewayConnectionsNoOptions() throws Throwable { + public void testCreateTransitGatewayConnectionPrefixFilterNoOptions() throws Throwable { // construct the service constructClientService(); server.enqueue(new MockResponse()); // Invoke operation with null options model (negative test) - transitGatewayApisService.listTransitGatewayConnections(null).execute(); + transitGatewayApisService.createTransitGatewayConnectionPrefixFilter(null).execute(); } @Test - public void testCreateTransitGatewayConnectionWOptions() throws Throwable { + public void testReplaceTransitGatewayConnectionPrefixFilterWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = "{\"name\": \"Transit_Service_BWTN_SJ_DL\", \"network_id\": \"crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b\", \"network_type\": \"vpc\", \"id\": \"1a15dca5-7e33-45e1-b7c5-bc690e569531\", \"base_connection_id\": \"975f58c1-afe7-469a-9727-7f3d720f2d32\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"local_bgp_asn\": 64490, \"local_gateway_ip\": \"192.168.100.1\", \"local_tunnel_ip\": \"192.168.129.2\", \"mtu\": 9000, \"network_account_id\": \"28e4d90ac7504be694471ee66e70d0d5\", \"prefix_filters\": [{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}], \"prefix_filters_default\": \"permit\", \"remote_bgp_asn\": 65010, \"remote_gateway_ip\": \"10.242.63.12\", \"remote_tunnel_ip\": \"192.168.129.1\", \"request_status\": \"pending\", \"status\": \"attached\", \"updated_at\": \"2019-01-01T12:00:00.000Z\", \"zone\": {\"name\": \"us-south-1\"}}"; - String createTransitGatewayConnectionPath = "/transit_gateways/testString/connections"; + String mockResponseBody = "{\"prefix_filters\": [{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}]}"; + String replaceTransitGatewayConnectionPrefixFilterPath = "/transit_gateways/testString/connections/testString/prefix_filters"; server.enqueue(new MockResponse() .setHeader("Content-type", "application/json") @@ -1148,47 +1157,94 @@ public void testCreateTransitGatewayConnectionWOptions() throws Throwable { constructClientService(); - // Construct an instance of the TransitGatewayConnectionPrefixFilter model - TransitGatewayConnectionPrefixFilter transitGatewayConnectionPrefixFilterModel = new TransitGatewayConnectionPrefixFilter.Builder() + // Construct an instance of the PrefixFilterPut model + PrefixFilterPut prefixFilterPutModel = new PrefixFilterPut.Builder() .action("permit") .ge(Long.valueOf("0")) .le(Long.valueOf("32")) .prefix("192.168.100.0/24") .build(); - // Construct an instance of the ZoneIdentityByName model - ZoneIdentityByName zoneIdentityModel = new ZoneIdentityByName.Builder() - .name("us-south-1") + // Construct an instance of the ReplaceTransitGatewayConnectionPrefixFilterOptions model + ReplaceTransitGatewayConnectionPrefixFilterOptions replaceTransitGatewayConnectionPrefixFilterOptionsModel = new ReplaceTransitGatewayConnectionPrefixFilterOptions.Builder() + .transitGatewayId("testString") + .id("testString") + .prefixFilters(new java.util.ArrayList(java.util.Arrays.asList(prefixFilterPutModel))) .build(); - // Construct an instance of the CreateTransitGatewayConnectionOptions model - CreateTransitGatewayConnectionOptions createTransitGatewayConnectionOptionsModel = new CreateTransitGatewayConnectionOptions.Builder() + // Invoke operation with valid options model (positive test) + Response response = transitGatewayApisService.replaceTransitGatewayConnectionPrefixFilter(replaceTransitGatewayConnectionPrefixFilterOptionsModel).execute(); + assertNotNull(response); + PrefixFilterCollection responseObj = response.getResult(); + assertNotNull(responseObj); + + // Verify the contents of the request + RecordedRequest request = server.takeRequest(); + assertNotNull(request); + assertEquals(request.getMethod(), "PUT"); + + // Check query + Map query = TestUtilities.parseQueryString(request); + assertNotNull(query); + // Get query params + assertEquals(query.get("version"), "testString"); + // Check request path + String parsedPath = TestUtilities.parseReqPath(request); + assertEquals(parsedPath, replaceTransitGatewayConnectionPrefixFilterPath); + } + + public void testReplaceTransitGatewayConnectionPrefixFilterWOptionsWRetries() throws Throwable { + // Enable retries and run testReplaceTransitGatewayConnectionPrefixFilterWOptions. + transitGatewayApisService.enableRetries(4, 30); + testReplaceTransitGatewayConnectionPrefixFilterWOptions(); + + // Disable retries and run testReplaceTransitGatewayConnectionPrefixFilterWOptions. + transitGatewayApisService.disableRetries(); + testReplaceTransitGatewayConnectionPrefixFilterWOptions(); + } + + // Test the replaceTransitGatewayConnectionPrefixFilter operation with null options model parameter + @Test(expectedExceptions = IllegalArgumentException.class) + public void testReplaceTransitGatewayConnectionPrefixFilterNoOptions() throws Throwable { + // construct the service + constructClientService(); + + server.enqueue(new MockResponse()); + + // Invoke operation with null options model (negative test) + transitGatewayApisService.replaceTransitGatewayConnectionPrefixFilter(null).execute(); + } + + @Test + public void testDeleteTransitGatewayConnectionPrefixFilterWOptions() throws Throwable { + // Schedule some responses. + String mockResponseBody = ""; + String deleteTransitGatewayConnectionPrefixFilterPath = "/transit_gateways/testString/connections/testString/prefix_filters/testString"; + + server.enqueue(new MockResponse() + .setResponseCode(204) + .setBody(mockResponseBody)); + + constructClientService(); + + // Construct an instance of the DeleteTransitGatewayConnectionPrefixFilterOptions model + DeleteTransitGatewayConnectionPrefixFilterOptions deleteTransitGatewayConnectionPrefixFilterOptionsModel = new DeleteTransitGatewayConnectionPrefixFilterOptions.Builder() .transitGatewayId("testString") - .networkType("vpc") - .baseConnectionId("975f58c1-afe7-469a-9727-7f3d720f2d32") - .localGatewayIp("192.168.100.1") - .localTunnelIp("192.168.129.2") - .name("Transit_Service_BWTN_SJ_DL") - .networkAccountId("28e4d90ac7504be694471ee66e70d0d5") - .networkId("crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b") - .prefixFilters(new java.util.ArrayList(java.util.Arrays.asList(transitGatewayConnectionPrefixFilterModel))) - .prefixFiltersDefault("permit") - .remoteBgpAsn("65010") - .remoteGatewayIp("10.242.63.12") - .remoteTunnelIp("192.168.129.1") - .zone(zoneIdentityModel) + .id("testString") + .filterId("testString") .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.createTransitGatewayConnection(createTransitGatewayConnectionOptionsModel).execute(); + Response response = transitGatewayApisService.deleteTransitGatewayConnectionPrefixFilter(deleteTransitGatewayConnectionPrefixFilterOptionsModel).execute(); assertNotNull(response); - TransitGatewayConnectionCust responseObj = response.getResult(); - assertNotNull(responseObj); + Void responseObj = response.getResult(); + // Response does not have a return type. Check that the result is null. + assertNull(responseObj); // Verify the contents of the request RecordedRequest request = server.takeRequest(); assertNotNull(request); - assertEquals(request.getMethod(), "POST"); + assertEquals(request.getMethod(), "DELETE"); // Check query Map query = TestUtilities.parseQueryString(request); @@ -1197,60 +1253,61 @@ public void testCreateTransitGatewayConnectionWOptions() throws Throwable { assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, createTransitGatewayConnectionPath); + assertEquals(parsedPath, deleteTransitGatewayConnectionPrefixFilterPath); } - public void testCreateTransitGatewayConnectionWOptionsWRetries() throws Throwable { - // Enable retries and run testCreateTransitGatewayConnectionWOptions. + public void testDeleteTransitGatewayConnectionPrefixFilterWOptionsWRetries() throws Throwable { + // Enable retries and run testDeleteTransitGatewayConnectionPrefixFilterWOptions. transitGatewayApisService.enableRetries(4, 30); - testCreateTransitGatewayConnectionWOptions(); + testDeleteTransitGatewayConnectionPrefixFilterWOptions(); - // Disable retries and run testCreateTransitGatewayConnectionWOptions. + // Disable retries and run testDeleteTransitGatewayConnectionPrefixFilterWOptions. transitGatewayApisService.disableRetries(); - testCreateTransitGatewayConnectionWOptions(); + testDeleteTransitGatewayConnectionPrefixFilterWOptions(); } - // Test the createTransitGatewayConnection operation with null options model parameter + // Test the deleteTransitGatewayConnectionPrefixFilter operation with null options model parameter @Test(expectedExceptions = IllegalArgumentException.class) - public void testCreateTransitGatewayConnectionNoOptions() throws Throwable { + public void testDeleteTransitGatewayConnectionPrefixFilterNoOptions() throws Throwable { // construct the service constructClientService(); server.enqueue(new MockResponse()); // Invoke operation with null options model (negative test) - transitGatewayApisService.createTransitGatewayConnection(null).execute(); + transitGatewayApisService.deleteTransitGatewayConnectionPrefixFilter(null).execute(); } @Test - public void testDeleteTransitGatewayConnectionWOptions() throws Throwable { + public void testGetTransitGatewayConnectionPrefixFilterWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = ""; - String deleteTransitGatewayConnectionPath = "/transit_gateways/testString/connections/testString"; + String mockResponseBody = "{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}"; + String getTransitGatewayConnectionPrefixFilterPath = "/transit_gateways/testString/connections/testString/prefix_filters/testString"; server.enqueue(new MockResponse() - .setResponseCode(204) + .setHeader("Content-type", "application/json") + .setResponseCode(200) .setBody(mockResponseBody)); constructClientService(); - // Construct an instance of the DeleteTransitGatewayConnectionOptions model - DeleteTransitGatewayConnectionOptions deleteTransitGatewayConnectionOptionsModel = new DeleteTransitGatewayConnectionOptions.Builder() + // Construct an instance of the GetTransitGatewayConnectionPrefixFilterOptions model + GetTransitGatewayConnectionPrefixFilterOptions getTransitGatewayConnectionPrefixFilterOptionsModel = new GetTransitGatewayConnectionPrefixFilterOptions.Builder() .transitGatewayId("testString") .id("testString") + .filterId("testString") .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.deleteTransitGatewayConnection(deleteTransitGatewayConnectionOptionsModel).execute(); + Response response = transitGatewayApisService.getTransitGatewayConnectionPrefixFilter(getTransitGatewayConnectionPrefixFilterOptionsModel).execute(); assertNotNull(response); - Void responseObj = response.getResult(); - // Response does not have a return type. Check that the result is null. - assertNull(responseObj); + PrefixFilterCust responseObj = response.getResult(); + assertNotNull(responseObj); // Verify the contents of the request RecordedRequest request = server.takeRequest(); assertNotNull(request); - assertEquals(request.getMethod(), "DELETE"); + assertEquals(request.getMethod(), "GET"); // Check query Map query = TestUtilities.parseQueryString(request); @@ -1259,36 +1316,36 @@ public void testDeleteTransitGatewayConnectionWOptions() throws Throwable { assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, deleteTransitGatewayConnectionPath); + assertEquals(parsedPath, getTransitGatewayConnectionPrefixFilterPath); } - public void testDeleteTransitGatewayConnectionWOptionsWRetries() throws Throwable { - // Enable retries and run testDeleteTransitGatewayConnectionWOptions. + public void testGetTransitGatewayConnectionPrefixFilterWOptionsWRetries() throws Throwable { + // Enable retries and run testGetTransitGatewayConnectionPrefixFilterWOptions. transitGatewayApisService.enableRetries(4, 30); - testDeleteTransitGatewayConnectionWOptions(); + testGetTransitGatewayConnectionPrefixFilterWOptions(); - // Disable retries and run testDeleteTransitGatewayConnectionWOptions. + // Disable retries and run testGetTransitGatewayConnectionPrefixFilterWOptions. transitGatewayApisService.disableRetries(); - testDeleteTransitGatewayConnectionWOptions(); + testGetTransitGatewayConnectionPrefixFilterWOptions(); } - // Test the deleteTransitGatewayConnection operation with null options model parameter + // Test the getTransitGatewayConnectionPrefixFilter operation with null options model parameter @Test(expectedExceptions = IllegalArgumentException.class) - public void testDeleteTransitGatewayConnectionNoOptions() throws Throwable { + public void testGetTransitGatewayConnectionPrefixFilterNoOptions() throws Throwable { // construct the service constructClientService(); server.enqueue(new MockResponse()); // Invoke operation with null options model (negative test) - transitGatewayApisService.deleteTransitGatewayConnection(null).execute(); + transitGatewayApisService.getTransitGatewayConnectionPrefixFilter(null).execute(); } @Test - public void testGetTransitGatewayConnectionWOptions() throws Throwable { + public void testUpdateTransitGatewayConnectionPrefixFilterWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = "{\"name\": \"Transit_Service_BWTN_SJ_DL\", \"network_id\": \"crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b\", \"network_type\": \"vpc\", \"id\": \"1a15dca5-7e33-45e1-b7c5-bc690e569531\", \"base_connection_id\": \"975f58c1-afe7-469a-9727-7f3d720f2d32\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"local_bgp_asn\": 64490, \"local_gateway_ip\": \"192.168.100.1\", \"local_tunnel_ip\": \"192.168.129.2\", \"mtu\": 9000, \"network_account_id\": \"28e4d90ac7504be694471ee66e70d0d5\", \"prefix_filters\": [{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}], \"prefix_filters_default\": \"permit\", \"remote_bgp_asn\": 65010, \"remote_gateway_ip\": \"10.242.63.12\", \"remote_tunnel_ip\": \"192.168.129.1\", \"request_status\": \"pending\", \"status\": \"attached\", \"updated_at\": \"2019-01-01T12:00:00.000Z\", \"zone\": {\"name\": \"us-south-1\"}}"; - String getTransitGatewayConnectionPath = "/transit_gateways/testString/connections/testString"; + String mockResponseBody = "{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}"; + String updateTransitGatewayConnectionPrefixFilterPath = "/transit_gateways/testString/connections/testString/prefix_filters/testString"; server.enqueue(new MockResponse() .setHeader("Content-type", "application/json") @@ -1297,22 +1354,28 @@ public void testGetTransitGatewayConnectionWOptions() throws Throwable { constructClientService(); - // Construct an instance of the GetTransitGatewayConnectionOptions model - GetTransitGatewayConnectionOptions getTransitGatewayConnectionOptionsModel = new GetTransitGatewayConnectionOptions.Builder() + // Construct an instance of the UpdateTransitGatewayConnectionPrefixFilterOptions model + UpdateTransitGatewayConnectionPrefixFilterOptions updateTransitGatewayConnectionPrefixFilterOptionsModel = new UpdateTransitGatewayConnectionPrefixFilterOptions.Builder() .transitGatewayId("testString") .id("testString") + .filterId("testString") + .action("permit") + .before("1a15dcab-7e40-45e1-b7c5-bc690eaa9782") + .ge(Long.valueOf("0")) + .le(Long.valueOf("32")) + .prefix("192.168.100.0/24") .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.getTransitGatewayConnection(getTransitGatewayConnectionOptionsModel).execute(); + Response response = transitGatewayApisService.updateTransitGatewayConnectionPrefixFilter(updateTransitGatewayConnectionPrefixFilterOptionsModel).execute(); assertNotNull(response); - TransitGatewayConnectionCust responseObj = response.getResult(); + PrefixFilterCust responseObj = response.getResult(); assertNotNull(responseObj); // Verify the contents of the request RecordedRequest request = server.takeRequest(); assertNotNull(request); - assertEquals(request.getMethod(), "GET"); + assertEquals(request.getMethod(), "PATCH"); // Check query Map query = TestUtilities.parseQueryString(request); @@ -1321,36 +1384,36 @@ public void testGetTransitGatewayConnectionWOptions() throws Throwable { assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, getTransitGatewayConnectionPath); + assertEquals(parsedPath, updateTransitGatewayConnectionPrefixFilterPath); } - public void testGetTransitGatewayConnectionWOptionsWRetries() throws Throwable { - // Enable retries and run testGetTransitGatewayConnectionWOptions. + public void testUpdateTransitGatewayConnectionPrefixFilterWOptionsWRetries() throws Throwable { + // Enable retries and run testUpdateTransitGatewayConnectionPrefixFilterWOptions. transitGatewayApisService.enableRetries(4, 30); - testGetTransitGatewayConnectionWOptions(); + testUpdateTransitGatewayConnectionPrefixFilterWOptions(); - // Disable retries and run testGetTransitGatewayConnectionWOptions. + // Disable retries and run testUpdateTransitGatewayConnectionPrefixFilterWOptions. transitGatewayApisService.disableRetries(); - testGetTransitGatewayConnectionWOptions(); + testUpdateTransitGatewayConnectionPrefixFilterWOptions(); } - // Test the getTransitGatewayConnection operation with null options model parameter + // Test the updateTransitGatewayConnectionPrefixFilter operation with null options model parameter @Test(expectedExceptions = IllegalArgumentException.class) - public void testGetTransitGatewayConnectionNoOptions() throws Throwable { + public void testUpdateTransitGatewayConnectionPrefixFilterNoOptions() throws Throwable { // construct the service constructClientService(); server.enqueue(new MockResponse()); // Invoke operation with null options model (negative test) - transitGatewayApisService.getTransitGatewayConnection(null).execute(); + transitGatewayApisService.updateTransitGatewayConnectionPrefixFilter(null).execute(); } @Test - public void testUpdateTransitGatewayConnectionWOptions() throws Throwable { + public void testListTransitGatewayRouteReportsWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = "{\"name\": \"Transit_Service_BWTN_SJ_DL\", \"network_id\": \"crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b\", \"network_type\": \"vpc\", \"id\": \"1a15dca5-7e33-45e1-b7c5-bc690e569531\", \"base_connection_id\": \"975f58c1-afe7-469a-9727-7f3d720f2d32\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"local_bgp_asn\": 64490, \"local_gateway_ip\": \"192.168.100.1\", \"local_tunnel_ip\": \"192.168.129.2\", \"mtu\": 9000, \"network_account_id\": \"28e4d90ac7504be694471ee66e70d0d5\", \"prefix_filters\": [{\"action\": \"permit\", \"before\": \"1a15dcab-7e40-45e1-b7c5-bc690eaa9782\", \"created_at\": \"2019-01-01T12:00:00.000Z\", \"ge\": 0, \"id\": \"1a15dcab-7e30-45e1-b7c5-bc690eaa9865\", \"le\": 32, \"prefix\": \"192.168.100.0/24\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}], \"prefix_filters_default\": \"permit\", \"remote_bgp_asn\": 65010, \"remote_gateway_ip\": \"10.242.63.12\", \"remote_tunnel_ip\": \"192.168.129.1\", \"request_status\": \"pending\", \"status\": \"attached\", \"updated_at\": \"2019-01-01T12:00:00.000Z\", \"zone\": {\"name\": \"us-south-1\"}}"; - String updateTransitGatewayConnectionPath = "/transit_gateways/testString/connections/testString"; + String mockResponseBody = "{\"route_reports\": [{\"connections\": [{\"bgps\": [{\"as_path\": \"(65201 4201065544) 4203065544\", \"is_used\": true, \"local_preference\": \"190\", \"prefix\": \"172.17.0.0/16\"}], \"id\": \"3c265a62-91da-4261-a950-950b6af0eb58\", \"name\": \"transit-connection-vpc1\", \"routes\": [{\"prefix\": \"192.168.0.0/16\"}], \"type\": \"vpc\"}], \"created_at\": \"2019-01-01T12:00:00.000Z\", \"id\": \"1a15dcab-7e26-45e1-b7c5-bc690eaa9724\", \"overlapping_routes\": [{\"routes\": [{\"connection_id\": \"d2d985d8-1d8e-4e8b-96cd-cee2290ecaff\", \"prefix\": \"prefix\"}]}], \"status\": \"complete\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}]}"; + String listTransitGatewayRouteReportsPath = "/transit_gateways/testString/route_reports"; server.enqueue(new MockResponse() .setHeader("Content-type", "application/json") @@ -1359,24 +1422,21 @@ public void testUpdateTransitGatewayConnectionWOptions() throws Throwable { constructClientService(); - // Construct an instance of the UpdateTransitGatewayConnectionOptions model - UpdateTransitGatewayConnectionOptions updateTransitGatewayConnectionOptionsModel = new UpdateTransitGatewayConnectionOptions.Builder() + // Construct an instance of the ListTransitGatewayRouteReportsOptions model + ListTransitGatewayRouteReportsOptions listTransitGatewayRouteReportsOptionsModel = new ListTransitGatewayRouteReportsOptions.Builder() .transitGatewayId("testString") - .id("testString") - .name("Transit_Service_BWTN_SJ_DL") - .prefixFiltersDefault("permit") .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.updateTransitGatewayConnection(updateTransitGatewayConnectionOptionsModel).execute(); + Response response = transitGatewayApisService.listTransitGatewayRouteReports(listTransitGatewayRouteReportsOptionsModel).execute(); assertNotNull(response); - TransitGatewayConnectionCust responseObj = response.getResult(); + RouteReportCollection responseObj = response.getResult(); assertNotNull(responseObj); // Verify the contents of the request RecordedRequest request = server.takeRequest(); assertNotNull(request); - assertEquals(request.getMethod(), "PATCH"); + assertEquals(request.getMethod(), "GET"); // Check query Map query = TestUtilities.parseQueryString(request); @@ -1385,56 +1445,54 @@ public void testUpdateTransitGatewayConnectionWOptions() throws Throwable { assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, updateTransitGatewayConnectionPath); + assertEquals(parsedPath, listTransitGatewayRouteReportsPath); } - public void testUpdateTransitGatewayConnectionWOptionsWRetries() throws Throwable { - // Enable retries and run testUpdateTransitGatewayConnectionWOptions. + public void testListTransitGatewayRouteReportsWOptionsWRetries() throws Throwable { + // Enable retries and run testListTransitGatewayRouteReportsWOptions. transitGatewayApisService.enableRetries(4, 30); - testUpdateTransitGatewayConnectionWOptions(); + testListTransitGatewayRouteReportsWOptions(); - // Disable retries and run testUpdateTransitGatewayConnectionWOptions. + // Disable retries and run testListTransitGatewayRouteReportsWOptions. transitGatewayApisService.disableRetries(); - testUpdateTransitGatewayConnectionWOptions(); + testListTransitGatewayRouteReportsWOptions(); } - // Test the updateTransitGatewayConnection operation with null options model parameter + // Test the listTransitGatewayRouteReports operation with null options model parameter @Test(expectedExceptions = IllegalArgumentException.class) - public void testUpdateTransitGatewayConnectionNoOptions() throws Throwable { + public void testListTransitGatewayRouteReportsNoOptions() throws Throwable { // construct the service constructClientService(); server.enqueue(new MockResponse()); // Invoke operation with null options model (negative test) - transitGatewayApisService.updateTransitGatewayConnection(null).execute(); + transitGatewayApisService.listTransitGatewayRouteReports(null).execute(); } @Test - public void testCreateTransitGatewayConnectionActionsWOptions() throws Throwable { + public void testCreateTransitGatewayRouteReportWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = ""; - String createTransitGatewayConnectionActionsPath = "/transit_gateways/testString/connections/testString/actions"; + String mockResponseBody = "{\"connections\": [{\"bgps\": [{\"as_path\": \"(65201 4201065544) 4203065544\", \"is_used\": true, \"local_preference\": \"190\", \"prefix\": \"172.17.0.0/16\"}], \"id\": \"3c265a62-91da-4261-a950-950b6af0eb58\", \"name\": \"transit-connection-vpc1\", \"routes\": [{\"prefix\": \"192.168.0.0/16\"}], \"type\": \"vpc\"}], \"created_at\": \"2019-01-01T12:00:00.000Z\", \"id\": \"1a15dcab-7e26-45e1-b7c5-bc690eaa9724\", \"overlapping_routes\": [{\"routes\": [{\"connection_id\": \"d2d985d8-1d8e-4e8b-96cd-cee2290ecaff\", \"prefix\": \"prefix\"}]}], \"status\": \"complete\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}"; + String createTransitGatewayRouteReportPath = "/transit_gateways/testString/route_reports"; server.enqueue(new MockResponse() - .setResponseCode(204) + .setHeader("Content-type", "application/json") + .setResponseCode(202) .setBody(mockResponseBody)); constructClientService(); - // Construct an instance of the CreateTransitGatewayConnectionActionsOptions model - CreateTransitGatewayConnectionActionsOptions createTransitGatewayConnectionActionsOptionsModel = new CreateTransitGatewayConnectionActionsOptions.Builder() + // Construct an instance of the CreateTransitGatewayRouteReportOptions model + CreateTransitGatewayRouteReportOptions createTransitGatewayRouteReportOptionsModel = new CreateTransitGatewayRouteReportOptions.Builder() .transitGatewayId("testString") - .id("testString") - .action("approve") .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.createTransitGatewayConnectionActions(createTransitGatewayConnectionActionsOptionsModel).execute(); + Response response = transitGatewayApisService.createTransitGatewayRouteReport(createTransitGatewayRouteReportOptionsModel).execute(); assertNotNull(response); - Void responseObj = response.getResult(); - // Response does not have a return type. Check that the result is null. - assertNull(responseObj); + RouteReport responseObj = response.getResult(); + assertNotNull(responseObj); // Verify the contents of the request RecordedRequest request = server.takeRequest(); @@ -1448,57 +1506,60 @@ public void testCreateTransitGatewayConnectionActionsWOptions() throws Throwable assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, createTransitGatewayConnectionActionsPath); + assertEquals(parsedPath, createTransitGatewayRouteReportPath); } - public void testCreateTransitGatewayConnectionActionsWOptionsWRetries() throws Throwable { - // Enable retries and run testCreateTransitGatewayConnectionActionsWOptions. + public void testCreateTransitGatewayRouteReportWOptionsWRetries() throws Throwable { + // Enable retries and run testCreateTransitGatewayRouteReportWOptions. transitGatewayApisService.enableRetries(4, 30); - testCreateTransitGatewayConnectionActionsWOptions(); + testCreateTransitGatewayRouteReportWOptions(); - // Disable retries and run testCreateTransitGatewayConnectionActionsWOptions. + // Disable retries and run testCreateTransitGatewayRouteReportWOptions. transitGatewayApisService.disableRetries(); - testCreateTransitGatewayConnectionActionsWOptions(); + testCreateTransitGatewayRouteReportWOptions(); } - // Test the createTransitGatewayConnectionActions operation with null options model parameter + // Test the createTransitGatewayRouteReport operation with null options model parameter @Test(expectedExceptions = IllegalArgumentException.class) - public void testCreateTransitGatewayConnectionActionsNoOptions() throws Throwable { + public void testCreateTransitGatewayRouteReportNoOptions() throws Throwable { // construct the service constructClientService(); server.enqueue(new MockResponse()); // Invoke operation with null options model (negative test) - transitGatewayApisService.createTransitGatewayConnectionActions(null).execute(); + transitGatewayApisService.createTransitGatewayRouteReport(null).execute(); } @Test - public void testListGatewayLocationsWOptions() throws Throwable { + public void testDeleteTransitGatewayRouteReportWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = "{\"locations\": [{\"billing_location\": \"us\", \"name\": \"us-south\", \"type\": \"region\"}]}"; - String listGatewayLocationsPath = "/locations"; + String mockResponseBody = ""; + String deleteTransitGatewayRouteReportPath = "/transit_gateways/testString/route_reports/testString"; server.enqueue(new MockResponse() - .setHeader("Content-type", "application/json") - .setResponseCode(200) + .setResponseCode(204) .setBody(mockResponseBody)); constructClientService(); - // Construct an instance of the ListGatewayLocationsOptions model - ListGatewayLocationsOptions listGatewayLocationsOptionsModel = new ListGatewayLocationsOptions(); + // Construct an instance of the DeleteTransitGatewayRouteReportOptions model + DeleteTransitGatewayRouteReportOptions deleteTransitGatewayRouteReportOptionsModel = new DeleteTransitGatewayRouteReportOptions.Builder() + .transitGatewayId("testString") + .id("testString") + .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.listGatewayLocations(listGatewayLocationsOptionsModel).execute(); + Response response = transitGatewayApisService.deleteTransitGatewayRouteReport(deleteTransitGatewayRouteReportOptionsModel).execute(); assertNotNull(response); - TSCollection responseObj = response.getResult(); - assertNotNull(responseObj); + Void responseObj = response.getResult(); + // Response does not have a return type. Check that the result is null. + assertNull(responseObj); // Verify the contents of the request RecordedRequest request = server.takeRequest(); assertNotNull(request); - assertEquals(request.getMethod(), "GET"); + assertEquals(request.getMethod(), "DELETE"); // Check query Map query = TestUtilities.parseQueryString(request); @@ -1507,24 +1568,36 @@ public void testListGatewayLocationsWOptions() throws Throwable { assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, listGatewayLocationsPath); + assertEquals(parsedPath, deleteTransitGatewayRouteReportPath); } - public void testListGatewayLocationsWOptionsWRetries() throws Throwable { - // Enable retries and run testListGatewayLocationsWOptions. + public void testDeleteTransitGatewayRouteReportWOptionsWRetries() throws Throwable { + // Enable retries and run testDeleteTransitGatewayRouteReportWOptions. transitGatewayApisService.enableRetries(4, 30); - testListGatewayLocationsWOptions(); + testDeleteTransitGatewayRouteReportWOptions(); - // Disable retries and run testListGatewayLocationsWOptions. + // Disable retries and run testDeleteTransitGatewayRouteReportWOptions. transitGatewayApisService.disableRetries(); - testListGatewayLocationsWOptions(); + testDeleteTransitGatewayRouteReportWOptions(); } + // Test the deleteTransitGatewayRouteReport operation with null options model parameter + @Test(expectedExceptions = IllegalArgumentException.class) + public void testDeleteTransitGatewayRouteReportNoOptions() throws Throwable { + // construct the service + constructClientService(); + + server.enqueue(new MockResponse()); + + // Invoke operation with null options model (negative test) + transitGatewayApisService.deleteTransitGatewayRouteReport(null).execute(); + } + @Test - public void testGetGatewayLocationWOptions() throws Throwable { + public void testGetTransitGatewayRouteReportWOptions() throws Throwable { // Schedule some responses. - String mockResponseBody = "{\"billing_location\": \"us\", \"name\": \"us-south\", \"type\": \"region\", \"local_connection_locations\": [{\"display_name\": \"Dallas\", \"name\": \"us-south\", \"type\": \"region\"}]}"; - String getGatewayLocationPath = "/locations/testString"; + String mockResponseBody = "{\"connections\": [{\"bgps\": [{\"as_path\": \"(65201 4201065544) 4203065544\", \"is_used\": true, \"local_preference\": \"190\", \"prefix\": \"172.17.0.0/16\"}], \"id\": \"3c265a62-91da-4261-a950-950b6af0eb58\", \"name\": \"transit-connection-vpc1\", \"routes\": [{\"prefix\": \"192.168.0.0/16\"}], \"type\": \"vpc\"}], \"created_at\": \"2019-01-01T12:00:00.000Z\", \"id\": \"1a15dcab-7e26-45e1-b7c5-bc690eaa9724\", \"overlapping_routes\": [{\"routes\": [{\"connection_id\": \"d2d985d8-1d8e-4e8b-96cd-cee2290ecaff\", \"prefix\": \"prefix\"}]}], \"status\": \"complete\", \"updated_at\": \"2019-01-01T12:00:00.000Z\"}"; + String getTransitGatewayRouteReportPath = "/transit_gateways/testString/route_reports/testString"; server.enqueue(new MockResponse() .setHeader("Content-type", "application/json") @@ -1533,15 +1606,16 @@ public void testGetGatewayLocationWOptions() throws Throwable { constructClientService(); - // Construct an instance of the GetGatewayLocationOptions model - GetGatewayLocationOptions getGatewayLocationOptionsModel = new GetGatewayLocationOptions.Builder() - .name("testString") + // Construct an instance of the GetTransitGatewayRouteReportOptions model + GetTransitGatewayRouteReportOptions getTransitGatewayRouteReportOptionsModel = new GetTransitGatewayRouteReportOptions.Builder() + .transitGatewayId("testString") + .id("testString") .build(); // Invoke operation with valid options model (positive test) - Response response = transitGatewayApisService.getGatewayLocation(getGatewayLocationOptionsModel).execute(); + Response response = transitGatewayApisService.getTransitGatewayRouteReport(getTransitGatewayRouteReportOptionsModel).execute(); assertNotNull(response); - TSLocation responseObj = response.getResult(); + RouteReport responseObj = response.getResult(); assertNotNull(responseObj); // Verify the contents of the request @@ -1556,29 +1630,29 @@ public void testGetGatewayLocationWOptions() throws Throwable { assertEquals(query.get("version"), "testString"); // Check request path String parsedPath = TestUtilities.parseReqPath(request); - assertEquals(parsedPath, getGatewayLocationPath); + assertEquals(parsedPath, getTransitGatewayRouteReportPath); } - public void testGetGatewayLocationWOptionsWRetries() throws Throwable { - // Enable retries and run testGetGatewayLocationWOptions. + public void testGetTransitGatewayRouteReportWOptionsWRetries() throws Throwable { + // Enable retries and run testGetTransitGatewayRouteReportWOptions. transitGatewayApisService.enableRetries(4, 30); - testGetGatewayLocationWOptions(); + testGetTransitGatewayRouteReportWOptions(); - // Disable retries and run testGetGatewayLocationWOptions. + // Disable retries and run testGetTransitGatewayRouteReportWOptions. transitGatewayApisService.disableRetries(); - testGetGatewayLocationWOptions(); + testGetTransitGatewayRouteReportWOptions(); } - // Test the getGatewayLocation operation with null options model parameter + // Test the getTransitGatewayRouteReport operation with null options model parameter @Test(expectedExceptions = IllegalArgumentException.class) - public void testGetGatewayLocationNoOptions() throws Throwable { + public void testGetTransitGatewayRouteReportNoOptions() throws Throwable { // construct the service constructClientService(); server.enqueue(new MockResponse()); // Invoke operation with null options model (negative test) - transitGatewayApisService.getGatewayLocation(null).execute(); + transitGatewayApisService.getTransitGatewayRouteReport(null).execute(); } /** Initialize the server */ diff --git a/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/CreateTransitGatewayConnectionOptionsTest.java b/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/CreateTransitGatewayConnectionOptionsTest.java index 63188199f..11271ef64 100644 --- a/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/CreateTransitGatewayConnectionOptionsTest.java +++ b/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/CreateTransitGatewayConnectionOptionsTest.java @@ -55,6 +55,7 @@ public void testCreateTransitGatewayConnectionOptions() throws Throwable { .transitGatewayId("testString") .networkType("vpc") .baseConnectionId("975f58c1-afe7-469a-9727-7f3d720f2d32") + .baseNetworkType("classic") .localGatewayIp("192.168.100.1") .localTunnelIp("192.168.129.2") .name("Transit_Service_BWTN_SJ_DL") @@ -62,7 +63,7 @@ public void testCreateTransitGatewayConnectionOptions() throws Throwable { .networkId("crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b") .prefixFilters(new java.util.ArrayList(java.util.Arrays.asList(transitGatewayConnectionPrefixFilterModel))) .prefixFiltersDefault("permit") - .remoteBgpAsn("65010") + .remoteBgpAsn(Long.valueOf("65010")) .remoteGatewayIp("10.242.63.12") .remoteTunnelIp("192.168.129.1") .zone(zoneIdentityModel) @@ -70,6 +71,7 @@ public void testCreateTransitGatewayConnectionOptions() throws Throwable { assertEquals(createTransitGatewayConnectionOptionsModel.transitGatewayId(), "testString"); assertEquals(createTransitGatewayConnectionOptionsModel.networkType(), "vpc"); assertEquals(createTransitGatewayConnectionOptionsModel.baseConnectionId(), "975f58c1-afe7-469a-9727-7f3d720f2d32"); + assertEquals(createTransitGatewayConnectionOptionsModel.baseNetworkType(), "classic"); assertEquals(createTransitGatewayConnectionOptionsModel.localGatewayIp(), "192.168.100.1"); assertEquals(createTransitGatewayConnectionOptionsModel.localTunnelIp(), "192.168.129.2"); assertEquals(createTransitGatewayConnectionOptionsModel.name(), "Transit_Service_BWTN_SJ_DL"); @@ -77,7 +79,7 @@ public void testCreateTransitGatewayConnectionOptions() throws Throwable { assertEquals(createTransitGatewayConnectionOptionsModel.networkId(), "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b"); assertEquals(createTransitGatewayConnectionOptionsModel.prefixFilters(), new java.util.ArrayList(java.util.Arrays.asList(transitGatewayConnectionPrefixFilterModel))); assertEquals(createTransitGatewayConnectionOptionsModel.prefixFiltersDefault(), "permit"); - assertEquals(createTransitGatewayConnectionOptionsModel.remoteBgpAsn(), "65010"); + assertEquals(createTransitGatewayConnectionOptionsModel.remoteBgpAsn(), Long.valueOf("65010")); assertEquals(createTransitGatewayConnectionOptionsModel.remoteGatewayIp(), "10.242.63.12"); assertEquals(createTransitGatewayConnectionOptionsModel.remoteTunnelIp(), "192.168.129.1"); assertEquals(createTransitGatewayConnectionOptionsModel.zone(), zoneIdentityModel); diff --git a/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/PrefixFilterPutTest.java b/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/PrefixFilterPutTest.java new file mode 100644 index 000000000..c27c8d7de --- /dev/null +++ b/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/PrefixFilterPutTest.java @@ -0,0 +1,60 @@ +/* + * (C) Copyright IBM Corp. 2022. + * + * 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.transit_gateway_apis.v1.model; + +import com.ibm.cloud.networking.transit_gateway_apis.v1.model.PrefixFilterPut; +import com.ibm.cloud.networking.transit_gateway_apis.v1.utils.TestUtilities; +import com.ibm.cloud.sdk.core.service.model.FileWithMetadata; +import java.io.InputStream; +import java.util.HashMap; +import java.util.List; +import org.testng.annotations.Test; +import static org.testng.Assert.*; + +/** + * Unit test class for the PrefixFilterPut model. + */ +public class PrefixFilterPutTest { + final HashMap mockStreamMap = TestUtilities.createMockStreamMap(); + final List mockListFileWithMetadata = TestUtilities.creatMockListFileWithMetadata(); + + @Test + public void testPrefixFilterPut() throws Throwable { + PrefixFilterPut prefixFilterPutModel = new PrefixFilterPut.Builder() + .action("permit") + .ge(Long.valueOf("0")) + .le(Long.valueOf("32")) + .prefix("192.168.100.0/24") + .build(); + assertEquals(prefixFilterPutModel.action(), "permit"); + assertEquals(prefixFilterPutModel.ge(), Long.valueOf("0")); + assertEquals(prefixFilterPutModel.le(), Long.valueOf("32")); + assertEquals(prefixFilterPutModel.prefix(), "192.168.100.0/24"); + + String json = TestUtilities.serialize(prefixFilterPutModel); + + PrefixFilterPut prefixFilterPutModelNew = TestUtilities.deserialize(json, PrefixFilterPut.class); + assertTrue(prefixFilterPutModelNew instanceof PrefixFilterPut); + assertEquals(prefixFilterPutModelNew.action(), "permit"); + assertEquals(prefixFilterPutModelNew.ge(), Long.valueOf("0")); + assertEquals(prefixFilterPutModelNew.le(), Long.valueOf("32")); + assertEquals(prefixFilterPutModelNew.prefix(), "192.168.100.0/24"); + } + + @Test(expectedExceptions = IllegalArgumentException.class) + public void testPrefixFilterPutError() throws Throwable { + new PrefixFilterPut.Builder().build(); + } + +} \ No newline at end of file diff --git a/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/ReplaceTransitGatewayConnectionPrefixFilterOptionsTest.java b/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/ReplaceTransitGatewayConnectionPrefixFilterOptionsTest.java new file mode 100644 index 000000000..8888eb4c8 --- /dev/null +++ b/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/ReplaceTransitGatewayConnectionPrefixFilterOptionsTest.java @@ -0,0 +1,63 @@ +/* + * (C) Copyright IBM Corp. 2022. + * + * 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.transit_gateway_apis.v1.model; + +import com.ibm.cloud.networking.transit_gateway_apis.v1.model.PrefixFilterPut; +import com.ibm.cloud.networking.transit_gateway_apis.v1.model.ReplaceTransitGatewayConnectionPrefixFilterOptions; +import com.ibm.cloud.networking.transit_gateway_apis.v1.utils.TestUtilities; +import com.ibm.cloud.sdk.core.service.model.FileWithMetadata; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import org.testng.annotations.Test; +import static org.testng.Assert.*; + +/** + * Unit test class for the ReplaceTransitGatewayConnectionPrefixFilterOptions model. + */ +public class ReplaceTransitGatewayConnectionPrefixFilterOptionsTest { + final HashMap mockStreamMap = TestUtilities.createMockStreamMap(); + final List mockListFileWithMetadata = TestUtilities.creatMockListFileWithMetadata(); + + @Test + public void testReplaceTransitGatewayConnectionPrefixFilterOptions() throws Throwable { + PrefixFilterPut prefixFilterPutModel = new PrefixFilterPut.Builder() + .action("permit") + .ge(Long.valueOf("0")) + .le(Long.valueOf("32")) + .prefix("192.168.100.0/24") + .build(); + assertEquals(prefixFilterPutModel.action(), "permit"); + assertEquals(prefixFilterPutModel.ge(), Long.valueOf("0")); + assertEquals(prefixFilterPutModel.le(), Long.valueOf("32")); + assertEquals(prefixFilterPutModel.prefix(), "192.168.100.0/24"); + + ReplaceTransitGatewayConnectionPrefixFilterOptions replaceTransitGatewayConnectionPrefixFilterOptionsModel = new ReplaceTransitGatewayConnectionPrefixFilterOptions.Builder() + .transitGatewayId("testString") + .id("testString") + .prefixFilters(new java.util.ArrayList(java.util.Arrays.asList(prefixFilterPutModel))) + .build(); + assertEquals(replaceTransitGatewayConnectionPrefixFilterOptionsModel.transitGatewayId(), "testString"); + assertEquals(replaceTransitGatewayConnectionPrefixFilterOptionsModel.id(), "testString"); + assertEquals(replaceTransitGatewayConnectionPrefixFilterOptionsModel.prefixFilters(), new java.util.ArrayList(java.util.Arrays.asList(prefixFilterPutModel))); + } + + @Test(expectedExceptions = IllegalArgumentException.class) + public void testReplaceTransitGatewayConnectionPrefixFilterOptionsError() throws Throwable { + new ReplaceTransitGatewayConnectionPrefixFilterOptions.Builder().build(); + } + +} \ No newline at end of file diff --git a/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TSLocalLocationTest.java b/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TSLocalLocationTest.java index 9e66d8d8b..2a035b22c 100644 --- a/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TSLocalLocationTest.java +++ b/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TSLocalLocationTest.java @@ -34,6 +34,7 @@ public void testTSLocalLocation() throws Throwable { TSLocalLocation tsLocalLocationModel = new TSLocalLocation(); assertNull(tsLocalLocationModel.getDisplayName()); assertNull(tsLocalLocationModel.getName()); + assertNull(tsLocalLocationModel.getSupportedConnectionTypes()); assertNull(tsLocalLocationModel.getType()); } } \ No newline at end of file diff --git a/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TSLocationTest.java b/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TSLocationTest.java index ee405bffb..45c09bca6 100644 --- a/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TSLocationTest.java +++ b/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TSLocationTest.java @@ -18,6 +18,8 @@ import com.ibm.cloud.networking.transit_gateway_apis.v1.utils.TestUtilities; import com.ibm.cloud.sdk.core.service.model.FileWithMetadata; import java.io.InputStream; +import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import org.testng.annotations.Test; diff --git a/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitGatewayConnectionCustTest.java b/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitGatewayConnectionCustTest.java index ccf7a3305..7564a5374 100644 --- a/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitGatewayConnectionCustTest.java +++ b/modules/transit-gateway-apis/src/test/java/com/ibm/cloud/networking/transit_gateway_apis/v1/model/TransitGatewayConnectionCustTest.java @@ -35,6 +35,7 @@ public class TransitGatewayConnectionCustTest { @Test public void testTransitGatewayConnectionCust() throws Throwable { TransitGatewayConnectionCust transitGatewayConnectionCustModel = new TransitGatewayConnectionCust(); + assertNull(transitGatewayConnectionCustModel.getBaseNetworkType()); assertNull(transitGatewayConnectionCustModel.getName()); assertNull(transitGatewayConnectionCustModel.getNetworkId()); assertNull(transitGatewayConnectionCustModel.getNetworkType());