/** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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 org.apache.camel.component.digitalocean; import com.myjeeva.digitalocean.impl.DigitalOceanClient; import org.apache.camel.component.digitalocean.constants.DigitalOceanOperations; import org.apache.camel.component.digitalocean.constants.DigitalOceanResources; import org.apache.camel.spi.Metadata; import org.apache.camel.spi.UriParam; import org.apache.camel.spi.UriParams; import org.apache.camel.spi.UriPath; @UriParams public class DigitalOceanConfiguration { @UriPath(enums = "create,update,delete,list,ownList,get,listBackups,listActions,listNeighbors,listSnapshots,listKernels,listAllNeighbors," + "enableBackups,disableBackups,reboot,powerCycle,shutdown,powerOn,powerOff,restore,resetPassword," + "resize,rebuild,rename,changeKernel,enableIpv6,enablePrivateNetworking,takeSnapshot,transfer,convert," + "attach,detach,assign,unassign,tag,untag") private DigitalOceanOperations operation; @UriParam(enums = "account,actions,blockStorages,droplets,mages,snapshots,keys,regions,sizes,floatingIPs,tags") @Metadata(required = "true") private DigitalOceanResources resource; @UriParam(label = "advanced") private DigitalOceanClient digitalOceanClient; @UriParam(label = "security", secret = true) private String oAuthToken; @UriParam(defaultValue = "1") private Integer page = 1; @UriParam(defaultValue = "25") private Integer perPage = 25; @UriParam(label = "proxy") private String httpProxyHost; @UriParam(label = "proxy", secret = true) private String httpProxyUser; @UriParam(label = "proxy", secret = true) private String httpProxyPassword; @UriParam(label = "proxy") private Integer httpProxyPort; public DigitalOceanResources getResource() { return resource; } /** * The DigitalOcean resource type on which perform the operation. */ public void setResource(DigitalOceanResources resource) { this.resource = resource; } public DigitalOceanOperations getOperation() { return operation; } /** * The operation to perform to the given resource. */ public void setOperation(DigitalOceanOperations operation) { this.operation = operation; } public String getOAuthToken() { return oAuthToken; } /** * DigitalOcean OAuth Token */ public void setOAuthToken(String oAuthToken) { this.oAuthToken = oAuthToken; } public Integer getPerPage() { return perPage; } /** * Use for pagination. Set the number of item per request. The maximum number of results per page is 200. */ public void setPerPage(Integer perPage) { this.perPage = perPage; } public Integer getPage() { return page; } /** * Use for pagination. Force the page number. */ public void setPage(Integer page) { this.page = page; } public String getHttpProxyHost() { return httpProxyHost; } /** * Set a proxy host if needed */ public void setHttpProxyHost(String httpProxyHost) { this.httpProxyHost = httpProxyHost; } public String getHttpProxyUser() { return httpProxyUser; } /** * Set a proxy host if needed */ public void setHttpProxyUser(String httpProxyUser) { this.httpProxyUser = httpProxyUser; } public String getHttpProxyPassword() { return httpProxyPassword; } /** * Set a proxy password if needed */ public void setHttpProxyPassword(String httpProxyPassword) { this.httpProxyPassword = httpProxyPassword; } public Integer getHttpProxyPort() { return httpProxyPort; } /** * Set a proxy port if needed */ public void setHttpProxyPort(Integer httpProxyPort) { this.httpProxyPort = httpProxyPort; } public DigitalOceanClient getDigitalOceanClient() { return digitalOceanClient; } /** * To use a existing configured DigitalOceanClient as client */ public void setDigitalOceanClient(DigitalOceanClient digitalOceanClient) { this.digitalOceanClient = digitalOceanClient; } }