public CreateResourcePolicyStatementRequest withPrincipal(Principal... principal) {
        if (this.principal == null) {
            setPrincipal(new java.util.ArrayList<Principal>(principal.length));
        }
        for (Principal ele : principal) {
            this.principal.add(ele);
        }
        return this;
    }
<p>
An IAM principal, such as an IAM user, IAM role, or Amazon Web Services services that is allowed or denied access
to a resource. For more information, see <a
href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html">Amazon Web
Services JSON policy elements: Principal</a>.
</p>
<p>
<b>NOTE:</b> This method appends the values to the existing list (if any). Use
{@link #setPrincipal(java.util.Collection)} or {@link #withPrincipal(java.util.Collection)} if you want to
override the existing values.
</p>

@param principal
       An IAM principal, such as an IAM user, IAM role, or Amazon Web Services services that is allowed or denied
       access to a resource. For more information, see <a
       href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html">Amazon
       Web Services JSON policy elements: Principal</a>.
@return Returns a reference to this object so that method calls can be chained together.
aws-java-sdk-lexmodelsv2/src/main/java/com/amazonaws/services/lexmodelsv2/model/CreateResourcePolicyStatementRequest.java