com.microsoft.azure.keyvault.requests.SetCertificateIssuerRequest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-keyvault Show documentation
Show all versions of azure-keyvault Show documentation
This package contains Microsoft Azure Key Vault SDK.
package com.microsoft.azure.keyvault.requests;
import java.util.ArrayList;
import com.microsoft.azure.keyvault.models.AdministratorDetails;
import com.microsoft.azure.keyvault.models.IssuerAttributes;
import com.microsoft.azure.keyvault.models.IssuerCredentials;
import com.microsoft.azure.keyvault.models.OrganizationDetails;
/**
* The set certificate issuer request class.
*/
public final class SetCertificateIssuerRequest {
private final String vaultBaseUrl;
private final String issuerName;
private final String provider;
private final IssuerCredentials credentials;
private final OrganizationDetails organizationDetails;
private final IssuerAttributes attributes;
/**
* The {@link SetCertificateIssuerRequest} builder.
*/
public static class Builder {
// Required parameters
private final String vaultBaseUrl;
private final String issuerName;
private final String provider;
// Optional parameters
private IssuerCredentials credentials;
private OrganizationDetails organizationDetails;
private IssuerAttributes attributes;
/**
* The builder for constructing {@link SetCertificateIssuerRequest}
* object.
*
* @param vaultBaseUrl
* The vault name, e.g. https://myvault.vault.azure.net.
* @param issuerName
* The name of the issuer.
* @param provider The name of the issuer.
*/
public Builder(String vaultBaseUrl, String issuerName, String provider) {
this.vaultBaseUrl = vaultBaseUrl;
this.issuerName = issuerName;
this.provider = provider;
}
/**
* Set issuer credentials.
*
* @param credentials
* The issuer credentials.
* @return the Builder object itself.
*/
public Builder withCredentials(IssuerCredentials credentials) {
this.credentials = credentials;
return this;
}
/**
* Set issuer organization details.
*
* @param organizationDetails
* The issuer organization details.
* @return the Builder object itself.
*/
public Builder withOrganizationDetails(OrganizationDetails organizationDetails) {
this.organizationDetails = organizationDetails;
return this;
}
/**
* Set issuer attributes.
*
* @param attributes
* The issuer attributes.
* @return the Builder object itself.
*/
public Builder withAttributes(IssuerAttributes attributes) {
this.attributes = attributes;
return this;
}
/**
* builds the {@link SetCertificateIssuerRequest} object.
*
* @return the {@link SetCertificateIssuerRequest} object.
*/
public SetCertificateIssuerRequest build() {
return new SetCertificateIssuerRequest(this);
}
}
private SetCertificateIssuerRequest(Builder builder) {
vaultBaseUrl = builder.vaultBaseUrl;
issuerName = builder.issuerName;
provider = builder.provider;
if (builder.organizationDetails != null) {
organizationDetails = new OrganizationDetails()
.withId(builder.organizationDetails.id())
.withAdminDetails(new ArrayList(builder.organizationDetails.adminDetails()));
} else {
organizationDetails = null;
}
if (builder.credentials != null) {
credentials = new IssuerCredentials()
.withAccountId(builder.credentials.accountId())
.withPassword(builder.credentials.password());
} else {
credentials = null;
}
if (builder.attributes != null) {
attributes = new IssuerAttributes().withEnabled(builder.attributes.enabled());
} else {
attributes = null;
}
}
/**
* @return the vault base url
*/
public String vaultBaseUrl() {
return vaultBaseUrl;
}
/**
* @return the issuer name
*/
public String issuerName() {
return issuerName;
}
/**
* @return the issuer provider name
*/
public String provider() {
return provider;
}
/**
* @return the issuer credentials
*/
public IssuerCredentials credentials() {
return credentials;
}
/**
* @return the organization details
*/
public OrganizationDetails organizationDetails() {
return organizationDetails;
}
/**
* @return the issuer attributes
*/
public IssuerAttributes attributes() {
return attributes;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy