org.mongodb.awscdk.resources.mongodbatlas.CfnTeamsProps Maven / Gradle / Ivy
Show all versions of awscdk-resources-mongodbatlas Show documentation
package org.mongodb.awscdk.resources.mongodbatlas;
/**
* Adds one team to the specified project.
*
* All members of the team share the same project access. To use this resource, the requesting API Key must have the Project User Admin role. This resource doesn't require the API Key to have an Access List.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.101.0 (build b95fe5d)", date = "2024-07-30T09:54:28.988Z")
@software.amazon.jsii.Jsii(module = org.mongodb.awscdk.resources.mongodbatlas.$Module.class, fqn = "awscdk-resources-mongodbatlas.CfnTeamsProps")
@software.amazon.jsii.Jsii.Proxy(CfnTeamsProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface CfnTeamsProps extends software.amazon.jsii.JsiiSerializable {
/**
* Human-readable label that identifies the team.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getName() {
return null;
}
/**
* Unique 24-hexadecimal character string that identifies the organization.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getOrgId() {
return null;
}
/**
* The profile is defined in AWS Secret manager.
*
* See Secret Manager Profile setup.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getProfile() {
return null;
}
/**
* Unique 24-hexadecimal character string that identifies the project.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getProjectId() {
return null;
}
/**
* One or more organization- or project-level roles to assign to the MongoDB Cloud user.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getRoleNames() {
return null;
}
/**
* List that contains the MongoDB Cloud users in this team.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getUsernames() {
return null;
}
/**
* List of returned documents that MongoDB Cloud provides when completing this request.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getUsers() {
return null;
}
/**
* @return a {@link Builder} of {@link CfnTeamsProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link CfnTeamsProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
java.lang.String name;
java.lang.String orgId;
java.lang.String profile;
java.lang.String projectId;
java.util.List roleNames;
java.util.List usernames;
java.util.List users;
/**
* Sets the value of {@link CfnTeamsProps#getName}
* @param name Human-readable label that identifies the team.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder name(java.lang.String name) {
this.name = name;
return this;
}
/**
* Sets the value of {@link CfnTeamsProps#getOrgId}
* @param orgId Unique 24-hexadecimal character string that identifies the organization.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder orgId(java.lang.String orgId) {
this.orgId = orgId;
return this;
}
/**
* Sets the value of {@link CfnTeamsProps#getProfile}
* @param profile The profile is defined in AWS Secret manager.
* See Secret Manager Profile setup.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder profile(java.lang.String profile) {
this.profile = profile;
return this;
}
/**
* Sets the value of {@link CfnTeamsProps#getProjectId}
* @param projectId Unique 24-hexadecimal character string that identifies the project.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder projectId(java.lang.String projectId) {
this.projectId = projectId;
return this;
}
/**
* Sets the value of {@link CfnTeamsProps#getRoleNames}
* @param roleNames One or more organization- or project-level roles to assign to the MongoDB Cloud user.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@SuppressWarnings("unchecked")
public Builder roleNames(java.util.List extends org.mongodb.awscdk.resources.mongodbatlas.CfnTeamsPropsRoleNames> roleNames) {
this.roleNames = (java.util.List)roleNames;
return this;
}
/**
* Sets the value of {@link CfnTeamsProps#getUsernames}
* @param usernames List that contains the MongoDB Cloud users in this team.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder usernames(java.util.List usernames) {
this.usernames = usernames;
return this;
}
/**
* Sets the value of {@link CfnTeamsProps#getUsers}
* @param users List of returned documents that MongoDB Cloud provides when completing this request.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@SuppressWarnings("unchecked")
public Builder users(java.util.List extends org.mongodb.awscdk.resources.mongodbatlas.AtlasUser> users) {
this.users = (java.util.List)users;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link CfnTeamsProps}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public CfnTeamsProps build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link CfnTeamsProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CfnTeamsProps {
private final java.lang.String name;
private final java.lang.String orgId;
private final java.lang.String profile;
private final java.lang.String projectId;
private final java.util.List roleNames;
private final java.util.List usernames;
private final java.util.List users;
/**
* Constructor that initializes the object based on values retrieved from the JsiiObject.
* @param objRef Reference to the JSII managed object.
*/
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
this.name = software.amazon.jsii.Kernel.get(this, "name", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.orgId = software.amazon.jsii.Kernel.get(this, "orgId", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.profile = software.amazon.jsii.Kernel.get(this, "profile", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.projectId = software.amazon.jsii.Kernel.get(this, "projectId", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.roleNames = software.amazon.jsii.Kernel.get(this, "roleNames", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.CfnTeamsPropsRoleNames.class)));
this.usernames = software.amazon.jsii.Kernel.get(this, "usernames", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
this.users = software.amazon.jsii.Kernel.get(this, "users", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.AtlasUser.class)));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
@SuppressWarnings("unchecked")
protected Jsii$Proxy(final Builder builder) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.name = builder.name;
this.orgId = builder.orgId;
this.profile = builder.profile;
this.projectId = builder.projectId;
this.roleNames = (java.util.List)builder.roleNames;
this.usernames = builder.usernames;
this.users = (java.util.List)builder.users;
}
@Override
public final java.lang.String getName() {
return this.name;
}
@Override
public final java.lang.String getOrgId() {
return this.orgId;
}
@Override
public final java.lang.String getProfile() {
return this.profile;
}
@Override
public final java.lang.String getProjectId() {
return this.projectId;
}
@Override
public final java.util.List getRoleNames() {
return this.roleNames;
}
@Override
public final java.util.List getUsernames() {
return this.usernames;
}
@Override
public final java.util.List getUsers() {
return this.users;
}
@Override
@software.amazon.jsii.Internal
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
if (this.getName() != null) {
data.set("name", om.valueToTree(this.getName()));
}
if (this.getOrgId() != null) {
data.set("orgId", om.valueToTree(this.getOrgId()));
}
if (this.getProfile() != null) {
data.set("profile", om.valueToTree(this.getProfile()));
}
if (this.getProjectId() != null) {
data.set("projectId", om.valueToTree(this.getProjectId()));
}
if (this.getRoleNames() != null) {
data.set("roleNames", om.valueToTree(this.getRoleNames()));
}
if (this.getUsernames() != null) {
data.set("usernames", om.valueToTree(this.getUsernames()));
}
if (this.getUsers() != null) {
data.set("users", om.valueToTree(this.getUsers()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("awscdk-resources-mongodbatlas.CfnTeamsProps"));
struct.set("data", data);
final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("$jsii.struct", struct);
return obj;
}
@Override
public final boolean equals(final Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
CfnTeamsProps.Jsii$Proxy that = (CfnTeamsProps.Jsii$Proxy) o;
if (this.name != null ? !this.name.equals(that.name) : that.name != null) return false;
if (this.orgId != null ? !this.orgId.equals(that.orgId) : that.orgId != null) return false;
if (this.profile != null ? !this.profile.equals(that.profile) : that.profile != null) return false;
if (this.projectId != null ? !this.projectId.equals(that.projectId) : that.projectId != null) return false;
if (this.roleNames != null ? !this.roleNames.equals(that.roleNames) : that.roleNames != null) return false;
if (this.usernames != null ? !this.usernames.equals(that.usernames) : that.usernames != null) return false;
return this.users != null ? this.users.equals(that.users) : that.users == null;
}
@Override
public final int hashCode() {
int result = this.name != null ? this.name.hashCode() : 0;
result = 31 * result + (this.orgId != null ? this.orgId.hashCode() : 0);
result = 31 * result + (this.profile != null ? this.profile.hashCode() : 0);
result = 31 * result + (this.projectId != null ? this.projectId.hashCode() : 0);
result = 31 * result + (this.roleNames != null ? this.roleNames.hashCode() : 0);
result = 31 * result + (this.usernames != null ? this.usernames.hashCode() : 0);
result = 31 * result + (this.users != null ? this.users.hashCode() : 0);
return result;
}
}
}