com.hashicorp.cdktf.providers.snowflake.user.UserConfig Maven / Gradle / Ivy
Show all versions of cdktf-provider-snowflake Show documentation
package com.hashicorp.cdktf.providers.snowflake.user;
/**
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.101.0 (build b95fe5d)", date = "2024-08-03T03:24:50.690Z")
@software.amazon.jsii.Jsii(module = com.hashicorp.cdktf.providers.snowflake.$Module.class, fqn = "@cdktf/provider-snowflake.user.UserConfig")
@software.amazon.jsii.Jsii.Proxy(UserConfig.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface UserConfig extends software.amazon.jsii.JsiiSerializable, com.hashicorp.cdktf.TerraformMetaArguments {
/**
* Name of the user. Note that if you do not supply login_name this will be used as login_name. doc.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#name User#name}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getName();
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#comment User#comment}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getComment() {
return null;
}
/**
* Specifies the namespace (database only or database and schema) that is active by default for the user’s session upon login.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#default_namespace User#default_namespace}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getDefaultNamespace() {
return null;
}
/**
* Specifies the role that is active by default for the user’s session upon login.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#default_role User#default_role}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getDefaultRole() {
return null;
}
/**
* Specifies the set of secondary roles that are active for the user’s session upon login.
*
* Currently only ["ALL"] value is supported - more information can be found in [doc](https://docs.snowflake.com/en/sql-reference/sql/create-user#optional-object-properties-objectproperties)
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#default_secondary_roles User#default_secondary_roles}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getDefaultSecondaryRoles() {
return null;
}
/**
* Specifies the virtual warehouse that is active by default for the user’s session upon login.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#default_warehouse User#default_warehouse}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getDefaultWarehouse() {
return null;
}
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#disabled User#disabled}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getDisabled() {
return null;
}
/**
* Name displayed for the user in the Snowflake web interface.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#display_name User#display_name}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getDisplayName() {
return null;
}
/**
* Email address for the user.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#email User#email}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getEmail() {
return null;
}
/**
* First name of the user.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#first_name User#first_name}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getFirstName() {
return null;
}
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#id User#id}.
*
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getId() {
return null;
}
/**
* Last name of the user.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#last_name User#last_name}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getLastName() {
return null;
}
/**
* The name users use to log in. If not supplied, snowflake will use name instead.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#login_name User#login_name}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getLoginName() {
return null;
}
/**
* Specifies whether the user is forced to change their password on next login (including their first/initial login) into the system.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#must_change_password User#must_change_password}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getMustChangePassword() {
return null;
}
/**
* WARNING: this will put the password in the terraform state file. Use carefully.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#password User#password}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getPassword() {
return null;
}
/**
* Specifies the user’s RSA public key; used for key-pair authentication. Must be on 1 line without header and trailer.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#rsa_public_key User#rsa_public_key}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getRsaPublicKey() {
return null;
}
/**
* Specifies the user’s second RSA public key;
*
* used to rotate the public and private keys for key-pair authentication based on an expiration schedule set by your organization. Must be on 1 line without header and trailer.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#rsa_public_key_2 User#rsa_public_key_2}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getRsaPublicKey2() {
return null;
}
/**
* @return a {@link Builder} of {@link UserConfig}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link UserConfig}
*/
@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 comment;
java.lang.String defaultNamespace;
java.lang.String defaultRole;
java.util.List defaultSecondaryRoles;
java.lang.String defaultWarehouse;
java.lang.Object disabled;
java.lang.String displayName;
java.lang.String email;
java.lang.String firstName;
java.lang.String id;
java.lang.String lastName;
java.lang.String loginName;
java.lang.Object mustChangePassword;
java.lang.String password;
java.lang.String rsaPublicKey;
java.lang.String rsaPublicKey2;
java.lang.Object connection;
java.lang.Object count;
java.util.List dependsOn;
com.hashicorp.cdktf.ITerraformIterator forEach;
com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle;
com.hashicorp.cdktf.TerraformProvider provider;
java.util.List provisioners;
/**
* Sets the value of {@link UserConfig#getName}
* @param name Name of the user. Note that if you do not supply login_name this will be used as login_name. doc. This parameter is required.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#name User#name}
* @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 UserConfig#getComment}
* @param comment Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#comment User#comment}.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder comment(java.lang.String comment) {
this.comment = comment;
return this;
}
/**
* Sets the value of {@link UserConfig#getDefaultNamespace}
* @param defaultNamespace Specifies the namespace (database only or database and schema) that is active by default for the user’s session upon login.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#default_namespace User#default_namespace}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder defaultNamespace(java.lang.String defaultNamespace) {
this.defaultNamespace = defaultNamespace;
return this;
}
/**
* Sets the value of {@link UserConfig#getDefaultRole}
* @param defaultRole Specifies the role that is active by default for the user’s session upon login.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#default_role User#default_role}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder defaultRole(java.lang.String defaultRole) {
this.defaultRole = defaultRole;
return this;
}
/**
* Sets the value of {@link UserConfig#getDefaultSecondaryRoles}
* @param defaultSecondaryRoles Specifies the set of secondary roles that are active for the user’s session upon login.
* Currently only ["ALL"] value is supported - more information can be found in [doc](https://docs.snowflake.com/en/sql-reference/sql/create-user#optional-object-properties-objectproperties)
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#default_secondary_roles User#default_secondary_roles}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder defaultSecondaryRoles(java.util.List defaultSecondaryRoles) {
this.defaultSecondaryRoles = defaultSecondaryRoles;
return this;
}
/**
* Sets the value of {@link UserConfig#getDefaultWarehouse}
* @param defaultWarehouse Specifies the virtual warehouse that is active by default for the user’s session upon login.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#default_warehouse User#default_warehouse}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder defaultWarehouse(java.lang.String defaultWarehouse) {
this.defaultWarehouse = defaultWarehouse;
return this;
}
/**
* Sets the value of {@link UserConfig#getDisabled}
* @param disabled Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#disabled User#disabled}.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder disabled(java.lang.Boolean disabled) {
this.disabled = disabled;
return this;
}
/**
* Sets the value of {@link UserConfig#getDisabled}
* @param disabled Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#disabled User#disabled}.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder disabled(com.hashicorp.cdktf.IResolvable disabled) {
this.disabled = disabled;
return this;
}
/**
* Sets the value of {@link UserConfig#getDisplayName}
* @param displayName Name displayed for the user in the Snowflake web interface.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#display_name User#display_name}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder displayName(java.lang.String displayName) {
this.displayName = displayName;
return this;
}
/**
* Sets the value of {@link UserConfig#getEmail}
* @param email Email address for the user.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#email User#email}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder email(java.lang.String email) {
this.email = email;
return this;
}
/**
* Sets the value of {@link UserConfig#getFirstName}
* @param firstName First name of the user.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#first_name User#first_name}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder firstName(java.lang.String firstName) {
this.firstName = firstName;
return this;
}
/**
* Sets the value of {@link UserConfig#getId}
* @param id Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#id User#id}.
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder id(java.lang.String id) {
this.id = id;
return this;
}
/**
* Sets the value of {@link UserConfig#getLastName}
* @param lastName Last name of the user.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#last_name User#last_name}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder lastName(java.lang.String lastName) {
this.lastName = lastName;
return this;
}
/**
* Sets the value of {@link UserConfig#getLoginName}
* @param loginName The name users use to log in. If not supplied, snowflake will use name instead.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#login_name User#login_name}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder loginName(java.lang.String loginName) {
this.loginName = loginName;
return this;
}
/**
* Sets the value of {@link UserConfig#getMustChangePassword}
* @param mustChangePassword Specifies whether the user is forced to change their password on next login (including their first/initial login) into the system.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#must_change_password User#must_change_password}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder mustChangePassword(java.lang.Boolean mustChangePassword) {
this.mustChangePassword = mustChangePassword;
return this;
}
/**
* Sets the value of {@link UserConfig#getMustChangePassword}
* @param mustChangePassword Specifies whether the user is forced to change their password on next login (including their first/initial login) into the system.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#must_change_password User#must_change_password}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder mustChangePassword(com.hashicorp.cdktf.IResolvable mustChangePassword) {
this.mustChangePassword = mustChangePassword;
return this;
}
/**
* Sets the value of {@link UserConfig#getPassword}
* @param password WARNING: this will put the password in the terraform state file. Use carefully.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#password User#password}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder password(java.lang.String password) {
this.password = password;
return this;
}
/**
* Sets the value of {@link UserConfig#getRsaPublicKey}
* @param rsaPublicKey Specifies the user’s RSA public key; used for key-pair authentication. Must be on 1 line without header and trailer.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#rsa_public_key User#rsa_public_key}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder rsaPublicKey(java.lang.String rsaPublicKey) {
this.rsaPublicKey = rsaPublicKey;
return this;
}
/**
* Sets the value of {@link UserConfig#getRsaPublicKey2}
* @param rsaPublicKey2 Specifies the user’s second RSA public key;.
* used to rotate the public and private keys for key-pair authentication based on an expiration schedule set by your organization. Must be on 1 line without header and trailer.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/user#rsa_public_key_2 User#rsa_public_key_2}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder rsaPublicKey2(java.lang.String rsaPublicKey2) {
this.rsaPublicKey2 = rsaPublicKey2;
return this;
}
/**
* Sets the value of {@link UserConfig#getConnection}
* @param connection the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder connection(com.hashicorp.cdktf.SSHProvisionerConnection connection) {
this.connection = connection;
return this;
}
/**
* Sets the value of {@link UserConfig#getConnection}
* @param connection the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder connection(com.hashicorp.cdktf.WinrmProvisionerConnection connection) {
this.connection = connection;
return this;
}
/**
* Sets the value of {@link UserConfig#getCount}
* @param count the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder count(java.lang.Number count) {
this.count = count;
return this;
}
/**
* Sets the value of {@link UserConfig#getCount}
* @param count the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder count(com.hashicorp.cdktf.TerraformCount count) {
this.count = count;
return this;
}
/**
* Sets the value of {@link UserConfig#getDependsOn}
* @param dependsOn the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@SuppressWarnings("unchecked")
public Builder dependsOn(java.util.List dependsOn) {
this.dependsOn = (java.util.List)dependsOn;
return this;
}
/**
* Sets the value of {@link UserConfig#getForEach}
* @param forEach the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder forEach(com.hashicorp.cdktf.ITerraformIterator forEach) {
this.forEach = forEach;
return this;
}
/**
* Sets the value of {@link UserConfig#getLifecycle}
* @param lifecycle the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder lifecycle(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle) {
this.lifecycle = lifecycle;
return this;
}
/**
* Sets the value of {@link UserConfig#getProvider}
* @param provider the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder provider(com.hashicorp.cdktf.TerraformProvider provider) {
this.provider = provider;
return this;
}
/**
* Sets the value of {@link UserConfig#getProvisioners}
* @param provisioners the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@SuppressWarnings("unchecked")
public Builder provisioners(java.util.List provisioners) {
this.provisioners = (java.util.List)provisioners;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link UserConfig}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public UserConfig build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link UserConfig}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements UserConfig {
private final java.lang.String name;
private final java.lang.String comment;
private final java.lang.String defaultNamespace;
private final java.lang.String defaultRole;
private final java.util.List defaultSecondaryRoles;
private final java.lang.String defaultWarehouse;
private final java.lang.Object disabled;
private final java.lang.String displayName;
private final java.lang.String email;
private final java.lang.String firstName;
private final java.lang.String id;
private final java.lang.String lastName;
private final java.lang.String loginName;
private final java.lang.Object mustChangePassword;
private final java.lang.String password;
private final java.lang.String rsaPublicKey;
private final java.lang.String rsaPublicKey2;
private final java.lang.Object connection;
private final java.lang.Object count;
private final java.util.List dependsOn;
private final com.hashicorp.cdktf.ITerraformIterator forEach;
private final com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle;
private final com.hashicorp.cdktf.TerraformProvider provider;
private final java.util.List provisioners;
/**
* 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.comment = software.amazon.jsii.Kernel.get(this, "comment", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.defaultNamespace = software.amazon.jsii.Kernel.get(this, "defaultNamespace", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.defaultRole = software.amazon.jsii.Kernel.get(this, "defaultRole", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.defaultSecondaryRoles = software.amazon.jsii.Kernel.get(this, "defaultSecondaryRoles", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
this.defaultWarehouse = software.amazon.jsii.Kernel.get(this, "defaultWarehouse", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.disabled = software.amazon.jsii.Kernel.get(this, "disabled", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.displayName = software.amazon.jsii.Kernel.get(this, "displayName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.email = software.amazon.jsii.Kernel.get(this, "email", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.firstName = software.amazon.jsii.Kernel.get(this, "firstName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.id = software.amazon.jsii.Kernel.get(this, "id", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.lastName = software.amazon.jsii.Kernel.get(this, "lastName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.loginName = software.amazon.jsii.Kernel.get(this, "loginName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.mustChangePassword = software.amazon.jsii.Kernel.get(this, "mustChangePassword", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.password = software.amazon.jsii.Kernel.get(this, "password", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.rsaPublicKey = software.amazon.jsii.Kernel.get(this, "rsaPublicKey", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.rsaPublicKey2 = software.amazon.jsii.Kernel.get(this, "rsaPublicKey2", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.connection = software.amazon.jsii.Kernel.get(this, "connection", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.count = software.amazon.jsii.Kernel.get(this, "count", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.dependsOn = software.amazon.jsii.Kernel.get(this, "dependsOn", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(com.hashicorp.cdktf.ITerraformDependable.class)));
this.forEach = software.amazon.jsii.Kernel.get(this, "forEach", software.amazon.jsii.NativeType.forClass(com.hashicorp.cdktf.ITerraformIterator.class));
this.lifecycle = software.amazon.jsii.Kernel.get(this, "lifecycle", software.amazon.jsii.NativeType.forClass(com.hashicorp.cdktf.TerraformResourceLifecycle.class));
this.provider = software.amazon.jsii.Kernel.get(this, "provider", software.amazon.jsii.NativeType.forClass(com.hashicorp.cdktf.TerraformProvider.class));
this.provisioners = software.amazon.jsii.Kernel.get(this, "provisioners", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.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 = java.util.Objects.requireNonNull(builder.name, "name is required");
this.comment = builder.comment;
this.defaultNamespace = builder.defaultNamespace;
this.defaultRole = builder.defaultRole;
this.defaultSecondaryRoles = builder.defaultSecondaryRoles;
this.defaultWarehouse = builder.defaultWarehouse;
this.disabled = builder.disabled;
this.displayName = builder.displayName;
this.email = builder.email;
this.firstName = builder.firstName;
this.id = builder.id;
this.lastName = builder.lastName;
this.loginName = builder.loginName;
this.mustChangePassword = builder.mustChangePassword;
this.password = builder.password;
this.rsaPublicKey = builder.rsaPublicKey;
this.rsaPublicKey2 = builder.rsaPublicKey2;
this.connection = builder.connection;
this.count = builder.count;
this.dependsOn = (java.util.List)builder.dependsOn;
this.forEach = builder.forEach;
this.lifecycle = builder.lifecycle;
this.provider = builder.provider;
this.provisioners = (java.util.List)builder.provisioners;
}
@Override
public final java.lang.String getName() {
return this.name;
}
@Override
public final java.lang.String getComment() {
return this.comment;
}
@Override
public final java.lang.String getDefaultNamespace() {
return this.defaultNamespace;
}
@Override
public final java.lang.String getDefaultRole() {
return this.defaultRole;
}
@Override
public final java.util.List getDefaultSecondaryRoles() {
return this.defaultSecondaryRoles;
}
@Override
public final java.lang.String getDefaultWarehouse() {
return this.defaultWarehouse;
}
@Override
public final java.lang.Object getDisabled() {
return this.disabled;
}
@Override
public final java.lang.String getDisplayName() {
return this.displayName;
}
@Override
public final java.lang.String getEmail() {
return this.email;
}
@Override
public final java.lang.String getFirstName() {
return this.firstName;
}
@Override
public final java.lang.String getId() {
return this.id;
}
@Override
public final java.lang.String getLastName() {
return this.lastName;
}
@Override
public final java.lang.String getLoginName() {
return this.loginName;
}
@Override
public final java.lang.Object getMustChangePassword() {
return this.mustChangePassword;
}
@Override
public final java.lang.String getPassword() {
return this.password;
}
@Override
public final java.lang.String getRsaPublicKey() {
return this.rsaPublicKey;
}
@Override
public final java.lang.String getRsaPublicKey2() {
return this.rsaPublicKey2;
}
@Override
public final java.lang.Object getConnection() {
return this.connection;
}
@Override
public final java.lang.Object getCount() {
return this.count;
}
@Override
public final java.util.List getDependsOn() {
return this.dependsOn;
}
@Override
public final com.hashicorp.cdktf.ITerraformIterator getForEach() {
return this.forEach;
}
@Override
public final com.hashicorp.cdktf.TerraformResourceLifecycle getLifecycle() {
return this.lifecycle;
}
@Override
public final com.hashicorp.cdktf.TerraformProvider getProvider() {
return this.provider;
}
@Override
public final java.util.List getProvisioners() {
return this.provisioners;
}
@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();
data.set("name", om.valueToTree(this.getName()));
if (this.getComment() != null) {
data.set("comment", om.valueToTree(this.getComment()));
}
if (this.getDefaultNamespace() != null) {
data.set("defaultNamespace", om.valueToTree(this.getDefaultNamespace()));
}
if (this.getDefaultRole() != null) {
data.set("defaultRole", om.valueToTree(this.getDefaultRole()));
}
if (this.getDefaultSecondaryRoles() != null) {
data.set("defaultSecondaryRoles", om.valueToTree(this.getDefaultSecondaryRoles()));
}
if (this.getDefaultWarehouse() != null) {
data.set("defaultWarehouse", om.valueToTree(this.getDefaultWarehouse()));
}
if (this.getDisabled() != null) {
data.set("disabled", om.valueToTree(this.getDisabled()));
}
if (this.getDisplayName() != null) {
data.set("displayName", om.valueToTree(this.getDisplayName()));
}
if (this.getEmail() != null) {
data.set("email", om.valueToTree(this.getEmail()));
}
if (this.getFirstName() != null) {
data.set("firstName", om.valueToTree(this.getFirstName()));
}
if (this.getId() != null) {
data.set("id", om.valueToTree(this.getId()));
}
if (this.getLastName() != null) {
data.set("lastName", om.valueToTree(this.getLastName()));
}
if (this.getLoginName() != null) {
data.set("loginName", om.valueToTree(this.getLoginName()));
}
if (this.getMustChangePassword() != null) {
data.set("mustChangePassword", om.valueToTree(this.getMustChangePassword()));
}
if (this.getPassword() != null) {
data.set("password", om.valueToTree(this.getPassword()));
}
if (this.getRsaPublicKey() != null) {
data.set("rsaPublicKey", om.valueToTree(this.getRsaPublicKey()));
}
if (this.getRsaPublicKey2() != null) {
data.set("rsaPublicKey2", om.valueToTree(this.getRsaPublicKey2()));
}
if (this.getConnection() != null) {
data.set("connection", om.valueToTree(this.getConnection()));
}
if (this.getCount() != null) {
data.set("count", om.valueToTree(this.getCount()));
}
if (this.getDependsOn() != null) {
data.set("dependsOn", om.valueToTree(this.getDependsOn()));
}
if (this.getForEach() != null) {
data.set("forEach", om.valueToTree(this.getForEach()));
}
if (this.getLifecycle() != null) {
data.set("lifecycle", om.valueToTree(this.getLifecycle()));
}
if (this.getProvider() != null) {
data.set("provider", om.valueToTree(this.getProvider()));
}
if (this.getProvisioners() != null) {
data.set("provisioners", om.valueToTree(this.getProvisioners()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@cdktf/provider-snowflake.user.UserConfig"));
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;
UserConfig.Jsii$Proxy that = (UserConfig.Jsii$Proxy) o;
if (!name.equals(that.name)) return false;
if (this.comment != null ? !this.comment.equals(that.comment) : that.comment != null) return false;
if (this.defaultNamespace != null ? !this.defaultNamespace.equals(that.defaultNamespace) : that.defaultNamespace != null) return false;
if (this.defaultRole != null ? !this.defaultRole.equals(that.defaultRole) : that.defaultRole != null) return false;
if (this.defaultSecondaryRoles != null ? !this.defaultSecondaryRoles.equals(that.defaultSecondaryRoles) : that.defaultSecondaryRoles != null) return false;
if (this.defaultWarehouse != null ? !this.defaultWarehouse.equals(that.defaultWarehouse) : that.defaultWarehouse != null) return false;
if (this.disabled != null ? !this.disabled.equals(that.disabled) : that.disabled != null) return false;
if (this.displayName != null ? !this.displayName.equals(that.displayName) : that.displayName != null) return false;
if (this.email != null ? !this.email.equals(that.email) : that.email != null) return false;
if (this.firstName != null ? !this.firstName.equals(that.firstName) : that.firstName != null) return false;
if (this.id != null ? !this.id.equals(that.id) : that.id != null) return false;
if (this.lastName != null ? !this.lastName.equals(that.lastName) : that.lastName != null) return false;
if (this.loginName != null ? !this.loginName.equals(that.loginName) : that.loginName != null) return false;
if (this.mustChangePassword != null ? !this.mustChangePassword.equals(that.mustChangePassword) : that.mustChangePassword != null) return false;
if (this.password != null ? !this.password.equals(that.password) : that.password != null) return false;
if (this.rsaPublicKey != null ? !this.rsaPublicKey.equals(that.rsaPublicKey) : that.rsaPublicKey != null) return false;
if (this.rsaPublicKey2 != null ? !this.rsaPublicKey2.equals(that.rsaPublicKey2) : that.rsaPublicKey2 != null) return false;
if (this.connection != null ? !this.connection.equals(that.connection) : that.connection != null) return false;
if (this.count != null ? !this.count.equals(that.count) : that.count != null) return false;
if (this.dependsOn != null ? !this.dependsOn.equals(that.dependsOn) : that.dependsOn != null) return false;
if (this.forEach != null ? !this.forEach.equals(that.forEach) : that.forEach != null) return false;
if (this.lifecycle != null ? !this.lifecycle.equals(that.lifecycle) : that.lifecycle != null) return false;
if (this.provider != null ? !this.provider.equals(that.provider) : that.provider != null) return false;
return this.provisioners != null ? this.provisioners.equals(that.provisioners) : that.provisioners == null;
}
@Override
public final int hashCode() {
int result = this.name.hashCode();
result = 31 * result + (this.comment != null ? this.comment.hashCode() : 0);
result = 31 * result + (this.defaultNamespace != null ? this.defaultNamespace.hashCode() : 0);
result = 31 * result + (this.defaultRole != null ? this.defaultRole.hashCode() : 0);
result = 31 * result + (this.defaultSecondaryRoles != null ? this.defaultSecondaryRoles.hashCode() : 0);
result = 31 * result + (this.defaultWarehouse != null ? this.defaultWarehouse.hashCode() : 0);
result = 31 * result + (this.disabled != null ? this.disabled.hashCode() : 0);
result = 31 * result + (this.displayName != null ? this.displayName.hashCode() : 0);
result = 31 * result + (this.email != null ? this.email.hashCode() : 0);
result = 31 * result + (this.firstName != null ? this.firstName.hashCode() : 0);
result = 31 * result + (this.id != null ? this.id.hashCode() : 0);
result = 31 * result + (this.lastName != null ? this.lastName.hashCode() : 0);
result = 31 * result + (this.loginName != null ? this.loginName.hashCode() : 0);
result = 31 * result + (this.mustChangePassword != null ? this.mustChangePassword.hashCode() : 0);
result = 31 * result + (this.password != null ? this.password.hashCode() : 0);
result = 31 * result + (this.rsaPublicKey != null ? this.rsaPublicKey.hashCode() : 0);
result = 31 * result + (this.rsaPublicKey2 != null ? this.rsaPublicKey2.hashCode() : 0);
result = 31 * result + (this.connection != null ? this.connection.hashCode() : 0);
result = 31 * result + (this.count != null ? this.count.hashCode() : 0);
result = 31 * result + (this.dependsOn != null ? this.dependsOn.hashCode() : 0);
result = 31 * result + (this.forEach != null ? this.forEach.hashCode() : 0);
result = 31 * result + (this.lifecycle != null ? this.lifecycle.hashCode() : 0);
result = 31 * result + (this.provider != null ? this.provider.hashCode() : 0);
result = 31 * result + (this.provisioners != null ? this.provisioners.hashCode() : 0);
return result;
}
}
}