All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.nutanix.net.java.client.api.FloatingIpApi Maven / Gradle / Ivy

Go to download

Manage networking configuration on Nutanix clusters, including AHV and advanced networking.

There is a newer version: 4.0.2-beta-1
Show newest version
package com.nutanix.net.java.client.api;

import com.nutanix.net.java.client.ApiClient;




import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.HashSet;
import java.util.Set;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.util.UriComponentsBuilder;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.core.io.FileSystemResource;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;

@javax.annotation.Generated(value = "com.nutanix.swagger.codegen.generators.JavaClientSDKGenerator", date = "2023-08-18T03:03:05.126Z[Etc/UTC]")@Component("com.nutanix.net.java.client.api.FloatingIpApi")
public class FloatingIpApi {
    private ApiClient apiClient;
	private final Set headersToSkip;

    public FloatingIpApi() {
        this(new ApiClient());
    }

    @Autowired
    public FloatingIpApi(ApiClient apiClient) {
        this.apiClient = apiClient;
        this.headersToSkip = new HashSet<>(Arrays.asList("authorization", "cookie", "ntnx-request-id", "host", "user-agent"));
    }

    public ApiClient getApiClient() {
        return apiClient;
    }

    public void setApiClient(ApiClient apiClient) {
        this.apiClient = apiClient;
    }

    /**
     * Configure a floating IP.
     * 

202 - Task Id corresponding to the Create Floating IP operation. *

4XX - Client error response *

5XX - Server error response * @param body Task Id corresponding to the Create Floating IP operation. * @param args Additional arguments * @return com.nutanix.dp1.net.networking.v4.config.TaskReferenceApiResponse * @throws RestClientException if an error occurs while attempting to invoke the API */ public com.nutanix.dp1.net.networking.v4.config.TaskReferenceApiResponse createFloatingIp(com.nutanix.dp1.net.networking.v4.config.FloatingIp body, HashMap ... args) throws RestClientException { // Check for optional argument map HashMap argMap = args.length > 0 ? args[0] : new HashMap(); Object postBody = body; // verify the required parameter 'body' is set if (body == null) { throw new HttpClientErrorException(HttpStatus.BAD_REQUEST, "Missing the required parameter 'body' when calling createFloatingIp"); } String path = UriComponentsBuilder.fromPath("/api/networking/v4.0.b1/config/floating-ips").build().toUriString(); final MultiValueMap queryParams = new LinkedMultiValueMap(); final HttpHeaders headerParams = new HttpHeaders(); final MultiValueMap formParams = new LinkedMultiValueMap(); argMap.forEach((key, value) -> { if (!this.headersToSkip.contains(key.toLowerCase())) { String stringValue = apiClient.parameterToString(value); if (stringValue != null && !stringValue.trim().isEmpty()) { headerParams.add(key, apiClient.parameterToString(value)); } } }); final String[] accepts = { "application/json" }; final List accept = apiClient.selectHeaderAccept(accepts); final String[] contentTypes = { "application/json" }; final MediaType contentType = apiClient.selectHeaderContentType(contentTypes); String[] authNames = new String[] { "basicAuthScheme" }; ParameterizedTypeReference returnType = new ParameterizedTypeReference() {}; return apiClient.invokeAPI(path, HttpMethod.POST, queryParams, postBody, headerParams, formParams, accept, contentType, authNames, returnType); } /** * Delete the floating IP corresponding to the extId. Requires Prism Central >= pc.2022.9. *

202 - Task Id corresponding to the delete floating IP operation. *

4XX - Client error response *

5XX - Server error response * @param extId ExtId of the floating IP. * @param args Additional arguments * @return com.nutanix.dp1.net.networking.v4.config.TaskReferenceApiResponse * @throws RestClientException if an error occurs while attempting to invoke the API */ public com.nutanix.dp1.net.networking.v4.config.TaskReferenceApiResponse deleteFloatingIp(String extId, HashMap ... args) throws RestClientException { // Check for optional argument map HashMap argMap = args.length > 0 ? args[0] : new HashMap(); Object postBody = null; // verify the required parameter 'extId' is set if (extId == null) { throw new HttpClientErrorException(HttpStatus.BAD_REQUEST, "Missing the required parameter 'extId' when calling deleteFloatingIp"); } // create path and map variables final Map uriVariables = new HashMap(); uriVariables.put("extId", extId); String path = UriComponentsBuilder.fromPath("/api/networking/v4.0.b1/config/floating-ips/{extId}").buildAndExpand(uriVariables).toUriString(); final MultiValueMap queryParams = new LinkedMultiValueMap(); final HttpHeaders headerParams = new HttpHeaders(); final MultiValueMap formParams = new LinkedMultiValueMap(); argMap.forEach((key, value) -> { if (!this.headersToSkip.contains(key.toLowerCase())) { String stringValue = apiClient.parameterToString(value); if (stringValue != null && !stringValue.trim().isEmpty()) { headerParams.add(key, apiClient.parameterToString(value)); } } }); final String[] accepts = { "application/json" }; final List accept = apiClient.selectHeaderAccept(accepts); final String[] contentTypes = { }; final MediaType contentType = apiClient.selectHeaderContentType(contentTypes); String[] authNames = new String[] { "basicAuthScheme" }; ParameterizedTypeReference returnType = new ParameterizedTypeReference() {}; return apiClient.invokeAPI(path, HttpMethod.DELETE, queryParams, postBody, headerParams, formParams, accept, contentType, authNames, returnType); } /** * Get the floating IP for the specific extId. Requires Prism Central >= pc.2022.9. *

200 - Get the floating IP Response for the specific extId. *

4XX - Client error response *

5XX - Server error response * @param extId ExtId of the floating IP. * @param args Additional arguments * @return com.nutanix.dp1.net.networking.v4.config.FloatingIpApiResponse * @throws RestClientException if an error occurs while attempting to invoke the API */ public com.nutanix.dp1.net.networking.v4.config.FloatingIpApiResponse getFloatingIp(String extId, HashMap ... args) throws RestClientException { // Check for optional argument map HashMap argMap = args.length > 0 ? args[0] : new HashMap(); Object postBody = null; // verify the required parameter 'extId' is set if (extId == null) { throw new HttpClientErrorException(HttpStatus.BAD_REQUEST, "Missing the required parameter 'extId' when calling getFloatingIp"); } // create path and map variables final Map uriVariables = new HashMap(); uriVariables.put("extId", extId); String path = UriComponentsBuilder.fromPath("/api/networking/v4.0.b1/config/floating-ips/{extId}").buildAndExpand(uriVariables).toUriString(); final MultiValueMap queryParams = new LinkedMultiValueMap(); final HttpHeaders headerParams = new HttpHeaders(); final MultiValueMap formParams = new LinkedMultiValueMap(); argMap.forEach((key, value) -> { if (!this.headersToSkip.contains(key.toLowerCase())) { String stringValue = apiClient.parameterToString(value); if (stringValue != null && !stringValue.trim().isEmpty()) { headerParams.add(key, apiClient.parameterToString(value)); } } }); final String[] accepts = { "application/json" }; final List accept = apiClient.selectHeaderAccept(accepts); final String[] contentTypes = { }; final MediaType contentType = apiClient.selectHeaderContentType(contentTypes); String[] authNames = new String[] { "basicAuthScheme" }; ParameterizedTypeReference returnType = new ParameterizedTypeReference() {}; return apiClient.invokeAPI(path, HttpMethod.GET, queryParams, postBody, headerParams, formParams, accept, contentType, authNames, returnType); } /** * Get a list of floating IPs. Requires Prism Central >= pc.2022.9. *

200 - List of floating IPs queried. *

4XX - Client error response *

5XX - Server error response * @param $page A URL query parameter that specifies the page number of the result set. Must be a positive integer between 0 and the maximum number of pages that are available for that resource. Any number out of this range will lead to no results being returned. * @param $limit A URL query parameter that specifies the total number of records returned in the result set. Must be a positive integer between 1 and 100. Any number out of this range will lead to a validation error. If the limit is not provided a default value of 50 records will be returned in the result set. * @param $filter A URL query parameter that allows clients to filter a collection of resources. The expression specified with $filter is evaluated for each resource in the collection, and only items where the expression evaluates to true are included in the response. Expression specified with the $filter must conform to the OData V4.01 URL conventions. * For example, filter '$filter=name eq 'karbon-ntnx-1.0' would filter result on cluster name karbon-ntnx1.0, filter '$filter=startswith(name, 'C')' would filter on cluster name starting with C. * The filter can be applied on the following fields: *

    *
  • association
  • *
  • externalSubnetReference
  • *
  • floatingIp/ipv4/value
  • *
  • floatingIp/ipv6/value
  • *
  • name
  • *
* @param $orderby A URL query parameter that allows clients to specify the sort criteria for the returned list of objects. Resources can be sorted in ascending order using asc or descending order using desc. If asc or desc are not specified the resources will be sorted in ascending order by default. For example, '$orderby=templateName desc' would get all templates sorted by templateName in desc order. * The orderby can be applied to the following fields: *
    *
  • floatingIp/ipv4/value
  • *
  • floatingIp/ipv6/value
  • *
  • name
  • *
* @param $expand A URL query parameter that allows clients to request related resources when a resource that satisfies a particular request is retrieved. Each expand item is evaluated relative to the entity containing the property being expanded. Other query options can be applied to an expanded property by appending a semicolon-separated list of query options, enclosed in parentheses, to the property name. Allowed system query options are $filter, $select, $orderby. The following expansion keys are supported. - externalSubnet - vmNic - vpc * @param args Additional arguments * @return com.nutanix.dp1.net.networking.v4.config.FloatingIpListApiResponse * @throws RestClientException if an error occurs while attempting to invoke the API */ public com.nutanix.dp1.net.networking.v4.config.FloatingIpListApiResponse listFloatingIp(Integer $page, Integer $limit, String $filter, String $orderby, String $expand, HashMap ... args) throws RestClientException { // Check for optional argument map HashMap argMap = args.length > 0 ? args[0] : new HashMap(); Object postBody = null; String path = UriComponentsBuilder.fromPath("/api/networking/v4.0.b1/config/floating-ips").build().toUriString(); final MultiValueMap queryParams = new LinkedMultiValueMap(); final HttpHeaders headerParams = new HttpHeaders(); final MultiValueMap formParams = new LinkedMultiValueMap(); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "$page", $page)); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "$limit", $limit)); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "$filter", $filter)); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "$orderby", $orderby)); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "$expand", $expand)); argMap.forEach((key, value) -> { if (!this.headersToSkip.contains(key.toLowerCase())) { String stringValue = apiClient.parameterToString(value); if (stringValue != null && !stringValue.trim().isEmpty()) { headerParams.add(key, apiClient.parameterToString(value)); } } }); final String[] accepts = { "application/json" }; final List accept = apiClient.selectHeaderAccept(accepts); final String[] contentTypes = { }; final MediaType contentType = apiClient.selectHeaderContentType(contentTypes); String[] authNames = new String[] { "basicAuthScheme" }; ParameterizedTypeReference returnType = new ParameterizedTypeReference() {}; return apiClient.invokeAPI(path, HttpMethod.GET, queryParams, postBody, headerParams, formParams, accept, contentType, authNames, returnType); } /** * Update the floating IP for this extId. Requires Prism Central >= pc.2022.9. *

202 - Task Id corresponding to the update floating IP request. *

4XX - Client error response *

5XX - Server error response * @param extId ExtId of the floating IP. * @param body Configure a floating IP. * @param args Additional arguments * @return com.nutanix.dp1.net.networking.v4.config.TaskReferenceApiResponse * @throws RestClientException if an error occurs while attempting to invoke the API */ public com.nutanix.dp1.net.networking.v4.config.TaskReferenceApiResponse putFloatingIp(String extId, com.nutanix.dp1.net.networking.v4.config.FloatingIp body, HashMap ... args) throws RestClientException { // Check for optional argument map HashMap argMap = args.length > 0 ? args[0] : new HashMap(); Object postBody = body; // verify the required parameter 'extId' is set if (extId == null) { throw new HttpClientErrorException(HttpStatus.BAD_REQUEST, "Missing the required parameter 'extId' when calling putFloatingIp"); } // verify the required parameter 'body' is set if (body == null) { throw new HttpClientErrorException(HttpStatus.BAD_REQUEST, "Missing the required parameter 'body' when calling putFloatingIp"); } // create path and map variables final Map uriVariables = new HashMap(); uriVariables.put("extId", extId); String path = UriComponentsBuilder.fromPath("/api/networking/v4.0.b1/config/floating-ips/{extId}").buildAndExpand(uriVariables).toUriString(); final MultiValueMap queryParams = new LinkedMultiValueMap(); final HttpHeaders headerParams = new HttpHeaders(); final MultiValueMap formParams = new LinkedMultiValueMap(); argMap.forEach((key, value) -> { if (!this.headersToSkip.contains(key.toLowerCase())) { String stringValue = apiClient.parameterToString(value); if (stringValue != null && !stringValue.trim().isEmpty()) { headerParams.add(key, apiClient.parameterToString(value)); } } }); final String[] accepts = { "application/json" }; final List accept = apiClient.selectHeaderAccept(accepts); final String[] contentTypes = { "application/json" }; final MediaType contentType = apiClient.selectHeaderContentType(contentTypes); String[] authNames = new String[] { "basicAuthScheme" }; ParameterizedTypeReference returnType = new ParameterizedTypeReference() {}; return apiClient.invokeAPI(path, HttpMethod.PUT, queryParams, postBody, headerParams, formParams, accept, contentType, authNames, returnType); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy