com.azure.resourcemanager.confidentialledger.models.LedgerProperties Maven / Gradle / Ivy
Show all versions of azure-resourcemanager-confidentialledger Show documentation
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.
package com.azure.resourcemanager.confidentialledger.models;
import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
/**
* LedgerProperties
*
* Additional Confidential Ledger properties.
*/
@Fluent
public final class LedgerProperties {
/*
* Unique name for the Confidential Ledger.
*/
@JsonProperty(value = "ledgerName", access = JsonProperty.Access.WRITE_ONLY)
private String ledgerName;
/*
* Endpoint for calling Ledger Service.
*/
@JsonProperty(value = "ledgerUri", access = JsonProperty.Access.WRITE_ONLY)
private String ledgerUri;
/*
* Endpoint for accessing network identity.
*/
@JsonProperty(value = "identityServiceUri", access = JsonProperty.Access.WRITE_ONLY)
private String identityServiceUri;
/*
* Internal namespace for the Ledger
*/
@JsonProperty(value = "ledgerInternalNamespace", access = JsonProperty.Access.WRITE_ONLY)
private String ledgerInternalNamespace;
/*
* Object representing RunningState for Ledger.
*/
@JsonProperty(value = "runningState")
private RunningState runningState;
/*
* Type of Confidential Ledger
*/
@JsonProperty(value = "ledgerType")
private LedgerType ledgerType;
/*
* Provisioning state of Ledger Resource
*/
@JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
private ProvisioningState provisioningState;
/*
* Array of all AAD based Security Principals.
*/
@JsonProperty(value = "aadBasedSecurityPrincipals")
private List aadBasedSecurityPrincipals;
/*
* Array of all cert based Security Principals.
*/
@JsonProperty(value = "certBasedSecurityPrincipals")
private List certBasedSecurityPrincipals;
/** Creates an instance of LedgerProperties class. */
public LedgerProperties() {
}
/**
* Get the ledgerName property: Unique name for the Confidential Ledger.
*
* @return the ledgerName value.
*/
public String ledgerName() {
return this.ledgerName;
}
/**
* Get the ledgerUri property: Endpoint for calling Ledger Service.
*
* @return the ledgerUri value.
*/
public String ledgerUri() {
return this.ledgerUri;
}
/**
* Get the identityServiceUri property: Endpoint for accessing network identity.
*
* @return the identityServiceUri value.
*/
public String identityServiceUri() {
return this.identityServiceUri;
}
/**
* Get the ledgerInternalNamespace property: Internal namespace for the Ledger.
*
* @return the ledgerInternalNamespace value.
*/
public String ledgerInternalNamespace() {
return this.ledgerInternalNamespace;
}
/**
* Get the runningState property: Object representing RunningState for Ledger.
*
* @return the runningState value.
*/
public RunningState runningState() {
return this.runningState;
}
/**
* Set the runningState property: Object representing RunningState for Ledger.
*
* @param runningState the runningState value to set.
* @return the LedgerProperties object itself.
*/
public LedgerProperties withRunningState(RunningState runningState) {
this.runningState = runningState;
return this;
}
/**
* Get the ledgerType property: Type of Confidential Ledger.
*
* @return the ledgerType value.
*/
public LedgerType ledgerType() {
return this.ledgerType;
}
/**
* Set the ledgerType property: Type of Confidential Ledger.
*
* @param ledgerType the ledgerType value to set.
* @return the LedgerProperties object itself.
*/
public LedgerProperties withLedgerType(LedgerType ledgerType) {
this.ledgerType = ledgerType;
return this;
}
/**
* Get the provisioningState property: Provisioning state of Ledger Resource.
*
* @return the provisioningState value.
*/
public ProvisioningState provisioningState() {
return this.provisioningState;
}
/**
* Get the aadBasedSecurityPrincipals property: Array of all AAD based Security Principals.
*
* @return the aadBasedSecurityPrincipals value.
*/
public List aadBasedSecurityPrincipals() {
return this.aadBasedSecurityPrincipals;
}
/**
* Set the aadBasedSecurityPrincipals property: Array of all AAD based Security Principals.
*
* @param aadBasedSecurityPrincipals the aadBasedSecurityPrincipals value to set.
* @return the LedgerProperties object itself.
*/
public LedgerProperties withAadBasedSecurityPrincipals(List aadBasedSecurityPrincipals) {
this.aadBasedSecurityPrincipals = aadBasedSecurityPrincipals;
return this;
}
/**
* Get the certBasedSecurityPrincipals property: Array of all cert based Security Principals.
*
* @return the certBasedSecurityPrincipals value.
*/
public List certBasedSecurityPrincipals() {
return this.certBasedSecurityPrincipals;
}
/**
* Set the certBasedSecurityPrincipals property: Array of all cert based Security Principals.
*
* @param certBasedSecurityPrincipals the certBasedSecurityPrincipals value to set.
* @return the LedgerProperties object itself.
*/
public LedgerProperties withCertBasedSecurityPrincipals(
List certBasedSecurityPrincipals) {
this.certBasedSecurityPrincipals = certBasedSecurityPrincipals;
return this;
}
/**
* Validates the instance.
*
* @throws IllegalArgumentException thrown if the instance is not valid.
*/
public void validate() {
if (aadBasedSecurityPrincipals() != null) {
aadBasedSecurityPrincipals().forEach(e -> e.validate());
}
if (certBasedSecurityPrincipals() != null) {
certBasedSecurityPrincipals().forEach(e -> e.validate());
}
}
}