com.softlayer.api.service.security.Certificate Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of softlayer-api-client Show documentation
Show all versions of softlayer-api-client Show documentation
API client for accessing the SoftLayer API
package com.softlayer.api.service.security;
import com.softlayer.api.ApiClient;
import com.softlayer.api.ResponseHandler;
import com.softlayer.api.annotation.ApiMethod;
import com.softlayer.api.annotation.ApiProperty;
import com.softlayer.api.annotation.ApiType;
import com.softlayer.api.service.Entity;
import com.softlayer.api.service.network.application.delivery.controller.loadbalancer.VirtualIpAddress;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.concurrent.Future;
/**
* @see SoftLayer_Security_Certificate
*/
@ApiType("SoftLayer_Security_Certificate")
public class Certificate extends Entity {
/**
* The number of services currently associated with the certificate.
*/
@ApiProperty
protected Long associatedServiceCount;
public Long getAssociatedServiceCount() {
return associatedServiceCount;
}
public void setAssociatedServiceCount(Long associatedServiceCount) {
this.associatedServiceCount = associatedServiceCount;
}
/**
* The load balancers virtual IP addresses currently associated with the certificate.
*/
@ApiProperty
protected List loadBalancerVirtualIpAddresses;
public List getLoadBalancerVirtualIpAddresses() {
if (loadBalancerVirtualIpAddresses == null) {
loadBalancerVirtualIpAddresses = new ArrayList();
}
return loadBalancerVirtualIpAddresses;
}
/**
* The certificate provided publicly to clients requesting identity credentials. This certificate is usually signed by a source trusted by the client or a signature chain can be established between this certificate and the truested certificate.
*
* This property may only be modified when no services are associated. See associatedServiceCount.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected String certificate;
public String getCertificate() {
return certificate;
}
public void setCertificate(String certificate) {
certificateSpecified = true;
this.certificate = certificate;
}
protected boolean certificateSpecified;
public boolean isCertificateSpecified() {
return certificateSpecified;
}
public void unsetCertificate() {
certificate = null;
certificateSpecified = false;
}
/**
* The signing request used to request a certificate authority generate a signed certificate.
*
* This property may only be modified when no services are associated. See associatedServiceCount.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected String certificateSigningRequest;
public String getCertificateSigningRequest() {
return certificateSigningRequest;
}
public void setCertificateSigningRequest(String certificateSigningRequest) {
certificateSigningRequestSpecified = true;
this.certificateSigningRequest = certificateSigningRequest;
}
protected boolean certificateSigningRequestSpecified;
public boolean isCertificateSigningRequestSpecified() {
return certificateSigningRequestSpecified;
}
public void unsetCertificateSigningRequest() {
certificateSigningRequest = null;
certificateSigningRequestSpecified = false;
}
/**
* The common name (usually a domain name) encoded within the certificate.
*
* This property is read only. Changes made will be silently ignored.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected String commonName;
public String getCommonName() {
return commonName;
}
public void setCommonName(String commonName) {
commonNameSpecified = true;
this.commonName = commonName;
}
protected boolean commonNameSpecified;
public boolean isCommonNameSpecified() {
return commonNameSpecified;
}
public void unsetCommonName() {
commonName = null;
commonNameSpecified = false;
}
/**
* The date the certificate _record_ was created. The contents of the certificate may of changed since the record was created, so this does not represent anything about the certificate itself.
*
* This property is read only. Changes made will be silently ignored.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected GregorianCalendar createDate;
public GregorianCalendar getCreateDate() {
return createDate;
}
public void setCreateDate(GregorianCalendar createDate) {
createDateSpecified = true;
this.createDate = createDate;
}
protected boolean createDateSpecified;
public boolean isCreateDateSpecified() {
return createDateSpecified;
}
public void unsetCreateDate() {
createDate = null;
createDateSpecified = false;
}
/**
* The ID of the certificate record.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Long id;
public Long getId() {
return id;
}
public void setId(Long id) {
idSpecified = true;
this.id = id;
}
protected boolean idSpecified;
public boolean isIdSpecified() {
return idSpecified;
}
public void unsetId() {
id = null;
idSpecified = false;
}
/**
* The intermediate certificate authorities certificate that completes the certificate chain for the issued certificate. Required when clients will only trust the root certificate.
*
* This property may only be modified when no services are associated. See associatedServiceCount.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected String intermediateCertificate;
public String getIntermediateCertificate() {
return intermediateCertificate;
}
public void setIntermediateCertificate(String intermediateCertificate) {
intermediateCertificateSpecified = true;
this.intermediateCertificate = intermediateCertificate;
}
protected boolean intermediateCertificateSpecified;
public boolean isIntermediateCertificateSpecified() {
return intermediateCertificateSpecified;
}
public void unsetIntermediateCertificate() {
intermediateCertificate = null;
intermediateCertificateSpecified = false;
}
/**
* The size (number of bits) of the public key represented by the certificate.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Long keySize;
public Long getKeySize() {
return keySize;
}
public void setKeySize(Long keySize) {
keySizeSpecified = true;
this.keySize = keySize;
}
protected boolean keySizeSpecified;
public boolean isKeySizeSpecified() {
return keySizeSpecified;
}
public void unsetKeySize() {
keySize = null;
keySizeSpecified = false;
}
/**
* The date the certificate _record_ was last modified.The contents of the certificate may of changed since the record was created, so this does not represent anything about the certificate itself.
*
* This property is read only. Changes made will be silently ignored.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected GregorianCalendar modifyDate;
public GregorianCalendar getModifyDate() {
return modifyDate;
}
public void setModifyDate(GregorianCalendar modifyDate) {
modifyDateSpecified = true;
this.modifyDate = modifyDate;
}
protected boolean modifyDateSpecified;
public boolean isModifyDateSpecified() {
return modifyDateSpecified;
}
public void unsetModifyDate() {
modifyDate = null;
modifyDateSpecified = false;
}
/**
* A note to help describe the certificate.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected String notes;
public String getNotes() {
return notes;
}
public void setNotes(String notes) {
notesSpecified = true;
this.notes = notes;
}
protected boolean notesSpecified;
public boolean isNotesSpecified() {
return notesSpecified;
}
public void unsetNotes() {
notes = null;
notesSpecified = false;
}
/**
* The organizational name encoded in the certificate.
*
* This property is read only. Changes made will be silently ignored.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected String organizationName;
public String getOrganizationName() {
return organizationName;
}
public void setOrganizationName(String organizationName) {
organizationNameSpecified = true;
this.organizationName = organizationName;
}
protected boolean organizationNameSpecified;
public boolean isOrganizationNameSpecified() {
return organizationNameSpecified;
}
public void unsetOrganizationName() {
organizationName = null;
organizationNameSpecified = false;
}
/**
* The private key in the key/certificate pair.
*
* This property may only be modified when no services are associated. See associatedServiceCount.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected String privateKey;
public String getPrivateKey() {
return privateKey;
}
public void setPrivateKey(String privateKey) {
privateKeySpecified = true;
this.privateKey = privateKey;
}
protected boolean privateKeySpecified;
public boolean isPrivateKeySpecified() {
return privateKeySpecified;
}
public void unsetPrivateKey() {
privateKey = null;
privateKeySpecified = false;
}
/**
* The UTC timestamp representing the beginning of the certificate's validity
*
* This property is read only. Changes made will be silently ignored.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected GregorianCalendar validityBegin;
public GregorianCalendar getValidityBegin() {
return validityBegin;
}
public void setValidityBegin(GregorianCalendar validityBegin) {
validityBeginSpecified = true;
this.validityBegin = validityBegin;
}
protected boolean validityBeginSpecified;
public boolean isValidityBeginSpecified() {
return validityBeginSpecified;
}
public void unsetValidityBegin() {
validityBegin = null;
validityBeginSpecified = false;
}
/**
* The number of days remaining in the validity period for the certificate.
*
* This property is read only. Changes made will be silently ignored.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Long validityDays;
public Long getValidityDays() {
return validityDays;
}
public void setValidityDays(Long validityDays) {
validityDaysSpecified = true;
this.validityDays = validityDays;
}
protected boolean validityDaysSpecified;
public boolean isValidityDaysSpecified() {
return validityDaysSpecified;
}
public void unsetValidityDays() {
validityDays = null;
validityDaysSpecified = false;
}
/**
* The UTC timestamp representing the end of the certificate's validity period.
*
* This property is read only. Changes made will be silently ignored.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected GregorianCalendar validityEnd;
public GregorianCalendar getValidityEnd() {
return validityEnd;
}
public void setValidityEnd(GregorianCalendar validityEnd) {
validityEndSpecified = true;
this.validityEnd = validityEnd;
}
protected boolean validityEndSpecified;
public boolean isValidityEndSpecified() {
return validityEndSpecified;
}
public void unsetValidityEnd() {
validityEnd = null;
validityEndSpecified = false;
}
/**
* A count of the load balancers virtual IP addresses currently associated with the certificate.
*/
@ApiProperty
protected Long loadBalancerVirtualIpAddressCount;
public Long getLoadBalancerVirtualIpAddressCount() {
return loadBalancerVirtualIpAddressCount;
}
public void setLoadBalancerVirtualIpAddressCount(Long loadBalancerVirtualIpAddressCount) {
this.loadBalancerVirtualIpAddressCount = loadBalancerVirtualIpAddressCount;
}
public Service asService(ApiClient client) {
return service(client, id);
}
public static Service service(ApiClient client) {
return client.createService(Service.class, null);
}
public static Service service(ApiClient client, Long id) {
return client.createService(Service.class, id == null ? null : id.toString());
}
/**
* @see SoftLayer_Security_Certificate
*/
@com.softlayer.api.annotation.ApiService("SoftLayer_Security_Certificate")
public static interface Service extends com.softlayer.api.Service {
public ServiceAsync asAsync();
public Mask withNewMask();
public Mask withMask();
public void setMask(Mask mask);
/**
* Add a certificate to your account for your records, or for use with various services. Only the certificate and private key are usually required. If your issuer provided an intermediate certificate, you must also provide that certificate. Details will be extracted from the certificate. Validation will be performed between the certificate and the private key as well as the certificate and the intermediate certificate, if provided.
*
* The certificate signing request is not required, but can be provided for your records.
*
* @see SoftLayer_Security_Certificate::createObject
*/
@ApiMethod
public Certificate createObject(Certificate templateObject);
/**
* Remove a certificate from your account. You may not remove a certificate with associated services.
*
* @see SoftLayer_Security_Certificate::deleteObject
*/
@ApiMethod(instanceRequired = true)
public Boolean deleteObject();
/**
* Update a certificate. Modifications are restricted to the note and CSR if the are any services associated with the certificate. There are no modification restrictions for a certificate with no associated services.
*
* @see SoftLayer_Security_Certificate::editObject
*/
@ApiMethod(instanceRequired = true)
public Boolean editObject(Certificate templateObject);
/**
* Locate certificates by their common name, traditionally a domain name.
*
* @see SoftLayer_Security_Certificate::findByCommonName
*/
@ApiMethod
public List findByCommonName(String commonName);
/**
* @see SoftLayer_Security_Certificate::getObject
*/
@ApiMethod(instanceRequired = true)
public Certificate getObject();
/**
* Retrieve the certificate in PEM (Privacy Enhanced Mail) format, which is a string containing all base64 encoded (DER) certificates delimited by -----BEGIN/END *----- clauses.
*
* @see SoftLayer_Security_Certificate::getPemFormat
*/
@ApiMethod(instanceRequired = true)
public String getPemFormat();
/**
* The number of services currently associated with the certificate.
*
* @see SoftLayer_Security_Certificate::getAssociatedServiceCount
*/
@ApiMethod(instanceRequired = true)
public Long getAssociatedServiceCount();
/**
* The load balancers virtual IP addresses currently associated with the certificate.
*
* @see SoftLayer_Security_Certificate::getLoadBalancerVirtualIpAddresses
*/
@ApiMethod(instanceRequired = true)
public List getLoadBalancerVirtualIpAddresses();
}
public static interface ServiceAsync extends com.softlayer.api.ServiceAsync {
public Mask withNewMask();
public Mask withMask();
public void setMask(Mask mask);
/**
* Async version of {@link Service#createObject}
*/
public Future createObject(Certificate templateObject);
public Future> createObject(Certificate templateObject, ResponseHandler callback);
/**
* Async version of {@link Service#deleteObject}
*/
public Future deleteObject();
public Future> deleteObject(ResponseHandler callback);
/**
* Async version of {@link Service#editObject}
*/
public Future editObject(Certificate templateObject);
public Future> editObject(Certificate templateObject, ResponseHandler callback);
/**
* Async version of {@link Service#findByCommonName}
*/
public Future> findByCommonName(String commonName);
public Future> findByCommonName(String commonName, ResponseHandler> callback);
/**
* Async version of {@link Service#getObject}
*/
public Future getObject();
public Future> getObject(ResponseHandler callback);
/**
* Async version of {@link Service#getPemFormat}
*/
public Future getPemFormat();
public Future> getPemFormat(ResponseHandler callback);
/**
* Async version of {@link Service#getAssociatedServiceCount}
*/
public Future getAssociatedServiceCount();
/**
* Async callback version of {@link Service#getAssociatedServiceCount}
*/
public Future> getAssociatedServiceCount(ResponseHandler callback);
/**
* Async version of {@link Service#getLoadBalancerVirtualIpAddresses}
*/
public Future> getLoadBalancerVirtualIpAddresses();
/**
* Async callback version of {@link Service#getLoadBalancerVirtualIpAddresses}
*/
public Future> getLoadBalancerVirtualIpAddresses(ResponseHandler> callback);
}
public static class Mask extends com.softlayer.api.service.Entity.Mask {
public Mask associatedServiceCount() {
withLocalProperty("associatedServiceCount");
return this;
}
public com.softlayer.api.service.network.application.delivery.controller.loadbalancer.VirtualIpAddress.Mask loadBalancerVirtualIpAddresses() {
return withSubMask("loadBalancerVirtualIpAddresses", com.softlayer.api.service.network.application.delivery.controller.loadbalancer.VirtualIpAddress.Mask.class);
}
public Mask certificate() {
withLocalProperty("certificate");
return this;
}
public Mask certificateSigningRequest() {
withLocalProperty("certificateSigningRequest");
return this;
}
public Mask commonName() {
withLocalProperty("commonName");
return this;
}
public Mask createDate() {
withLocalProperty("createDate");
return this;
}
public Mask id() {
withLocalProperty("id");
return this;
}
public Mask intermediateCertificate() {
withLocalProperty("intermediateCertificate");
return this;
}
public Mask keySize() {
withLocalProperty("keySize");
return this;
}
public Mask modifyDate() {
withLocalProperty("modifyDate");
return this;
}
public Mask notes() {
withLocalProperty("notes");
return this;
}
public Mask organizationName() {
withLocalProperty("organizationName");
return this;
}
public Mask privateKey() {
withLocalProperty("privateKey");
return this;
}
public Mask validityBegin() {
withLocalProperty("validityBegin");
return this;
}
public Mask validityDays() {
withLocalProperty("validityDays");
return this;
}
public Mask validityEnd() {
withLocalProperty("validityEnd");
return this;
}
public Mask loadBalancerVirtualIpAddressCount() {
withLocalProperty("loadBalancerVirtualIpAddressCount");
return this;
}
}
}