com.hashicorp.cdktf.providers.snowflake.password_policy.PasswordPolicyConfig Maven / Gradle / Ivy
Show all versions of cdktf-provider-snowflake Show documentation
package com.hashicorp.cdktf.providers.snowflake.password_policy;
/**
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.101.0 (build b95fe5d)", date = "2024-08-03T03:24:50.528Z")
@software.amazon.jsii.Jsii(module = com.hashicorp.cdktf.providers.snowflake.$Module.class, fqn = "@cdktf/provider-snowflake.passwordPolicy.PasswordPolicyConfig")
@software.amazon.jsii.Jsii.Proxy(PasswordPolicyConfig.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface PasswordPolicyConfig extends software.amazon.jsii.JsiiSerializable, com.hashicorp.cdktf.TerraformMetaArguments {
/**
* The database this password policy belongs to.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#database PasswordPolicy#database}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getDatabase();
/**
* Identifier for the password policy; must be unique for your account.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#name PasswordPolicy#name}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getName();
/**
* The schema this password policy belongs to.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#schema PasswordPolicy#schema}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getSchema();
/**
* Adds a comment or overwrites an existing comment for the password policy.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#comment PasswordPolicy#comment}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getComment() {
return null;
}
/**
* Specifies the number of the most recent passwords that Snowflake stores.
*
* These stored passwords cannot be repeated when a user updates their password value. The current password value does not count towards the history. When you increase the history value, Snowflake saves the previous values. When you decrease the value, Snowflake saves the stored values up to that value that is set. For example, if the history value is 8 and you change the history value to 3, Snowflake stores the most recent 3 passwords and deletes the 5 older password values from the history. Default: 0 Max: 24
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#history PasswordPolicy#history}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getHistory() {
return null;
}
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#id PasswordPolicy#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;
}
/**
* Prevent overwriting a previous password policy with the same name.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#if_not_exists PasswordPolicy#if_not_exists}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getIfNotExists() {
return null;
}
/**
* Specifies the number of minutes the user account will be locked after exhausting the designated number of password retries (i.e. PASSWORD_MAX_RETRIES). Supported range: 1 to 999, inclusive. Default: 15.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#lockout_time_mins PasswordPolicy#lockout_time_mins}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getLockoutTimeMins() {
return null;
}
/**
* Specifies the maximum number of days before the password must be changed.
*
* Supported range: 0 to 999, inclusive. A value of zero (i.e. 0) indicates that the password does not need to be changed. Snowflake does not recommend choosing this value for a default account-level password policy or for any user-level policy. Instead, choose a value that meets your internal security guidelines. Default: 90, which means the password must be changed every 90 days.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#max_age_days PasswordPolicy#max_age_days}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getMaxAgeDays() {
return null;
}
/**
* Specifies the maximum number of characters the password must contain.
*
* This number must be greater than or equal to the sum of PASSWORD_MIN_LENGTH, PASSWORD_MIN_UPPER_CASE_CHARS, and PASSWORD_MIN_LOWER_CASE_CHARS. Supported range: 8 to 256, inclusive. Default: 256
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#max_length PasswordPolicy#max_length}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getMaxLength() {
return null;
}
/**
* Specifies the maximum number of attempts to enter a password before being locked out.
*
* Supported range: 1 to 10, inclusive. Default: 5
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#max_retries PasswordPolicy#max_retries}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getMaxRetries() {
return null;
}
/**
* Specifies the number of days the user must wait before a recently changed password can be changed again.
*
* Supported range: 0 to 999, inclusive. Default: 0
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#min_age_days PasswordPolicy#min_age_days}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getMinAgeDays() {
return null;
}
/**
* Specifies the minimum number of characters the password must contain. Supported range: 8 to 256, inclusive. Default: 8.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#min_length PasswordPolicy#min_length}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getMinLength() {
return null;
}
/**
* Specifies the minimum number of lowercase characters the password must contain. Supported range: 0 to 256, inclusive. Default: 1.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#min_lower_case_chars PasswordPolicy#min_lower_case_chars}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getMinLowerCaseChars() {
return null;
}
/**
* Specifies the minimum number of numeric characters the password must contain. Supported range: 0 to 256, inclusive. Default: 1.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#min_numeric_chars PasswordPolicy#min_numeric_chars}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getMinNumericChars() {
return null;
}
/**
* Specifies the minimum number of special characters the password must contain. Supported range: 0 to 256, inclusive. Default: 1.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#min_special_chars PasswordPolicy#min_special_chars}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getMinSpecialChars() {
return null;
}
/**
* Specifies the minimum number of uppercase characters the password must contain. Supported range: 0 to 256, inclusive. Default: 1.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#min_upper_case_chars PasswordPolicy#min_upper_case_chars}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getMinUpperCaseChars() {
return null;
}
/**
* Whether to override a previous password policy with the same name.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#or_replace PasswordPolicy#or_replace}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getOrReplace() {
return null;
}
/**
* @return a {@link Builder} of {@link PasswordPolicyConfig}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link PasswordPolicyConfig}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
java.lang.String database;
java.lang.String name;
java.lang.String schema;
java.lang.String comment;
java.lang.Number history;
java.lang.String id;
java.lang.Object ifNotExists;
java.lang.Number lockoutTimeMins;
java.lang.Number maxAgeDays;
java.lang.Number maxLength;
java.lang.Number maxRetries;
java.lang.Number minAgeDays;
java.lang.Number minLength;
java.lang.Number minLowerCaseChars;
java.lang.Number minNumericChars;
java.lang.Number minSpecialChars;
java.lang.Number minUpperCaseChars;
java.lang.Object orReplace;
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 PasswordPolicyConfig#getDatabase}
* @param database The database this password policy belongs to. This parameter is required.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#database PasswordPolicy#database}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder database(java.lang.String database) {
this.database = database;
return this;
}
/**
* Sets the value of {@link PasswordPolicyConfig#getName}
* @param name Identifier for the password policy; must be unique for your account. This parameter is required.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#name PasswordPolicy#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 PasswordPolicyConfig#getSchema}
* @param schema The schema this password policy belongs to. This parameter is required.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#schema PasswordPolicy#schema}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder schema(java.lang.String schema) {
this.schema = schema;
return this;
}
/**
* Sets the value of {@link PasswordPolicyConfig#getComment}
* @param comment Adds a comment or overwrites an existing comment for the password policy.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#comment PasswordPolicy#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 PasswordPolicyConfig#getHistory}
* @param history Specifies the number of the most recent passwords that Snowflake stores.
* These stored passwords cannot be repeated when a user updates their password value. The current password value does not count towards the history. When you increase the history value, Snowflake saves the previous values. When you decrease the value, Snowflake saves the stored values up to that value that is set. For example, if the history value is 8 and you change the history value to 3, Snowflake stores the most recent 3 passwords and deletes the 5 older password values from the history. Default: 0 Max: 24
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#history PasswordPolicy#history}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder history(java.lang.Number history) {
this.history = history;
return this;
}
/**
* Sets the value of {@link PasswordPolicyConfig#getId}
* @param id Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#id PasswordPolicy#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 PasswordPolicyConfig#getIfNotExists}
* @param ifNotExists Prevent overwriting a previous password policy with the same name.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#if_not_exists PasswordPolicy#if_not_exists}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder ifNotExists(java.lang.Boolean ifNotExists) {
this.ifNotExists = ifNotExists;
return this;
}
/**
* Sets the value of {@link PasswordPolicyConfig#getIfNotExists}
* @param ifNotExists Prevent overwriting a previous password policy with the same name.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#if_not_exists PasswordPolicy#if_not_exists}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder ifNotExists(com.hashicorp.cdktf.IResolvable ifNotExists) {
this.ifNotExists = ifNotExists;
return this;
}
/**
* Sets the value of {@link PasswordPolicyConfig#getLockoutTimeMins}
* @param lockoutTimeMins Specifies the number of minutes the user account will be locked after exhausting the designated number of password retries (i.e. PASSWORD_MAX_RETRIES). Supported range: 1 to 999, inclusive. Default: 15.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#lockout_time_mins PasswordPolicy#lockout_time_mins}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder lockoutTimeMins(java.lang.Number lockoutTimeMins) {
this.lockoutTimeMins = lockoutTimeMins;
return this;
}
/**
* Sets the value of {@link PasswordPolicyConfig#getMaxAgeDays}
* @param maxAgeDays Specifies the maximum number of days before the password must be changed.
* Supported range: 0 to 999, inclusive. A value of zero (i.e. 0) indicates that the password does not need to be changed. Snowflake does not recommend choosing this value for a default account-level password policy or for any user-level policy. Instead, choose a value that meets your internal security guidelines. Default: 90, which means the password must be changed every 90 days.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#max_age_days PasswordPolicy#max_age_days}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder maxAgeDays(java.lang.Number maxAgeDays) {
this.maxAgeDays = maxAgeDays;
return this;
}
/**
* Sets the value of {@link PasswordPolicyConfig#getMaxLength}
* @param maxLength Specifies the maximum number of characters the password must contain.
* This number must be greater than or equal to the sum of PASSWORD_MIN_LENGTH, PASSWORD_MIN_UPPER_CASE_CHARS, and PASSWORD_MIN_LOWER_CASE_CHARS. Supported range: 8 to 256, inclusive. Default: 256
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#max_length PasswordPolicy#max_length}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder maxLength(java.lang.Number maxLength) {
this.maxLength = maxLength;
return this;
}
/**
* Sets the value of {@link PasswordPolicyConfig#getMaxRetries}
* @param maxRetries Specifies the maximum number of attempts to enter a password before being locked out.
* Supported range: 1 to 10, inclusive. Default: 5
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#max_retries PasswordPolicy#max_retries}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder maxRetries(java.lang.Number maxRetries) {
this.maxRetries = maxRetries;
return this;
}
/**
* Sets the value of {@link PasswordPolicyConfig#getMinAgeDays}
* @param minAgeDays Specifies the number of days the user must wait before a recently changed password can be changed again.
* Supported range: 0 to 999, inclusive. Default: 0
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#min_age_days PasswordPolicy#min_age_days}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder minAgeDays(java.lang.Number minAgeDays) {
this.minAgeDays = minAgeDays;
return this;
}
/**
* Sets the value of {@link PasswordPolicyConfig#getMinLength}
* @param minLength Specifies the minimum number of characters the password must contain. Supported range: 8 to 256, inclusive. Default: 8.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#min_length PasswordPolicy#min_length}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder minLength(java.lang.Number minLength) {
this.minLength = minLength;
return this;
}
/**
* Sets the value of {@link PasswordPolicyConfig#getMinLowerCaseChars}
* @param minLowerCaseChars Specifies the minimum number of lowercase characters the password must contain. Supported range: 0 to 256, inclusive. Default: 1.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#min_lower_case_chars PasswordPolicy#min_lower_case_chars}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder minLowerCaseChars(java.lang.Number minLowerCaseChars) {
this.minLowerCaseChars = minLowerCaseChars;
return this;
}
/**
* Sets the value of {@link PasswordPolicyConfig#getMinNumericChars}
* @param minNumericChars Specifies the minimum number of numeric characters the password must contain. Supported range: 0 to 256, inclusive. Default: 1.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#min_numeric_chars PasswordPolicy#min_numeric_chars}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder minNumericChars(java.lang.Number minNumericChars) {
this.minNumericChars = minNumericChars;
return this;
}
/**
* Sets the value of {@link PasswordPolicyConfig#getMinSpecialChars}
* @param minSpecialChars Specifies the minimum number of special characters the password must contain. Supported range: 0 to 256, inclusive. Default: 1.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#min_special_chars PasswordPolicy#min_special_chars}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder minSpecialChars(java.lang.Number minSpecialChars) {
this.minSpecialChars = minSpecialChars;
return this;
}
/**
* Sets the value of {@link PasswordPolicyConfig#getMinUpperCaseChars}
* @param minUpperCaseChars Specifies the minimum number of uppercase characters the password must contain. Supported range: 0 to 256, inclusive. Default: 1.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#min_upper_case_chars PasswordPolicy#min_upper_case_chars}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder minUpperCaseChars(java.lang.Number minUpperCaseChars) {
this.minUpperCaseChars = minUpperCaseChars;
return this;
}
/**
* Sets the value of {@link PasswordPolicyConfig#getOrReplace}
* @param orReplace Whether to override a previous password policy with the same name.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#or_replace PasswordPolicy#or_replace}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder orReplace(java.lang.Boolean orReplace) {
this.orReplace = orReplace;
return this;
}
/**
* Sets the value of {@link PasswordPolicyConfig#getOrReplace}
* @param orReplace Whether to override a previous password policy with the same name.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/password_policy#or_replace PasswordPolicy#or_replace}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder orReplace(com.hashicorp.cdktf.IResolvable orReplace) {
this.orReplace = orReplace;
return this;
}
/**
* Sets the value of {@link PasswordPolicyConfig#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 PasswordPolicyConfig#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 PasswordPolicyConfig#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 PasswordPolicyConfig#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 PasswordPolicyConfig#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 PasswordPolicyConfig#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 PasswordPolicyConfig#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 PasswordPolicyConfig#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 PasswordPolicyConfig#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 PasswordPolicyConfig}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public PasswordPolicyConfig build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link PasswordPolicyConfig}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements PasswordPolicyConfig {
private final java.lang.String database;
private final java.lang.String name;
private final java.lang.String schema;
private final java.lang.String comment;
private final java.lang.Number history;
private final java.lang.String id;
private final java.lang.Object ifNotExists;
private final java.lang.Number lockoutTimeMins;
private final java.lang.Number maxAgeDays;
private final java.lang.Number maxLength;
private final java.lang.Number maxRetries;
private final java.lang.Number minAgeDays;
private final java.lang.Number minLength;
private final java.lang.Number minLowerCaseChars;
private final java.lang.Number minNumericChars;
private final java.lang.Number minSpecialChars;
private final java.lang.Number minUpperCaseChars;
private final java.lang.Object orReplace;
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.database = software.amazon.jsii.Kernel.get(this, "database", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.name = software.amazon.jsii.Kernel.get(this, "name", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.schema = software.amazon.jsii.Kernel.get(this, "schema", 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.history = software.amazon.jsii.Kernel.get(this, "history", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.id = software.amazon.jsii.Kernel.get(this, "id", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.ifNotExists = software.amazon.jsii.Kernel.get(this, "ifNotExists", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.lockoutTimeMins = software.amazon.jsii.Kernel.get(this, "lockoutTimeMins", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.maxAgeDays = software.amazon.jsii.Kernel.get(this, "maxAgeDays", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.maxLength = software.amazon.jsii.Kernel.get(this, "maxLength", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.maxRetries = software.amazon.jsii.Kernel.get(this, "maxRetries", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.minAgeDays = software.amazon.jsii.Kernel.get(this, "minAgeDays", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.minLength = software.amazon.jsii.Kernel.get(this, "minLength", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.minLowerCaseChars = software.amazon.jsii.Kernel.get(this, "minLowerCaseChars", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.minNumericChars = software.amazon.jsii.Kernel.get(this, "minNumericChars", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.minSpecialChars = software.amazon.jsii.Kernel.get(this, "minSpecialChars", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.minUpperCaseChars = software.amazon.jsii.Kernel.get(this, "minUpperCaseChars", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.orReplace = software.amazon.jsii.Kernel.get(this, "orReplace", software.amazon.jsii.NativeType.forClass(java.lang.Object.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.database = java.util.Objects.requireNonNull(builder.database, "database is required");
this.name = java.util.Objects.requireNonNull(builder.name, "name is required");
this.schema = java.util.Objects.requireNonNull(builder.schema, "schema is required");
this.comment = builder.comment;
this.history = builder.history;
this.id = builder.id;
this.ifNotExists = builder.ifNotExists;
this.lockoutTimeMins = builder.lockoutTimeMins;
this.maxAgeDays = builder.maxAgeDays;
this.maxLength = builder.maxLength;
this.maxRetries = builder.maxRetries;
this.minAgeDays = builder.minAgeDays;
this.minLength = builder.minLength;
this.minLowerCaseChars = builder.minLowerCaseChars;
this.minNumericChars = builder.minNumericChars;
this.minSpecialChars = builder.minSpecialChars;
this.minUpperCaseChars = builder.minUpperCaseChars;
this.orReplace = builder.orReplace;
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 getDatabase() {
return this.database;
}
@Override
public final java.lang.String getName() {
return this.name;
}
@Override
public final java.lang.String getSchema() {
return this.schema;
}
@Override
public final java.lang.String getComment() {
return this.comment;
}
@Override
public final java.lang.Number getHistory() {
return this.history;
}
@Override
public final java.lang.String getId() {
return this.id;
}
@Override
public final java.lang.Object getIfNotExists() {
return this.ifNotExists;
}
@Override
public final java.lang.Number getLockoutTimeMins() {
return this.lockoutTimeMins;
}
@Override
public final java.lang.Number getMaxAgeDays() {
return this.maxAgeDays;
}
@Override
public final java.lang.Number getMaxLength() {
return this.maxLength;
}
@Override
public final java.lang.Number getMaxRetries() {
return this.maxRetries;
}
@Override
public final java.lang.Number getMinAgeDays() {
return this.minAgeDays;
}
@Override
public final java.lang.Number getMinLength() {
return this.minLength;
}
@Override
public final java.lang.Number getMinLowerCaseChars() {
return this.minLowerCaseChars;
}
@Override
public final java.lang.Number getMinNumericChars() {
return this.minNumericChars;
}
@Override
public final java.lang.Number getMinSpecialChars() {
return this.minSpecialChars;
}
@Override
public final java.lang.Number getMinUpperCaseChars() {
return this.minUpperCaseChars;
}
@Override
public final java.lang.Object getOrReplace() {
return this.orReplace;
}
@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("database", om.valueToTree(this.getDatabase()));
data.set("name", om.valueToTree(this.getName()));
data.set("schema", om.valueToTree(this.getSchema()));
if (this.getComment() != null) {
data.set("comment", om.valueToTree(this.getComment()));
}
if (this.getHistory() != null) {
data.set("history", om.valueToTree(this.getHistory()));
}
if (this.getId() != null) {
data.set("id", om.valueToTree(this.getId()));
}
if (this.getIfNotExists() != null) {
data.set("ifNotExists", om.valueToTree(this.getIfNotExists()));
}
if (this.getLockoutTimeMins() != null) {
data.set("lockoutTimeMins", om.valueToTree(this.getLockoutTimeMins()));
}
if (this.getMaxAgeDays() != null) {
data.set("maxAgeDays", om.valueToTree(this.getMaxAgeDays()));
}
if (this.getMaxLength() != null) {
data.set("maxLength", om.valueToTree(this.getMaxLength()));
}
if (this.getMaxRetries() != null) {
data.set("maxRetries", om.valueToTree(this.getMaxRetries()));
}
if (this.getMinAgeDays() != null) {
data.set("minAgeDays", om.valueToTree(this.getMinAgeDays()));
}
if (this.getMinLength() != null) {
data.set("minLength", om.valueToTree(this.getMinLength()));
}
if (this.getMinLowerCaseChars() != null) {
data.set("minLowerCaseChars", om.valueToTree(this.getMinLowerCaseChars()));
}
if (this.getMinNumericChars() != null) {
data.set("minNumericChars", om.valueToTree(this.getMinNumericChars()));
}
if (this.getMinSpecialChars() != null) {
data.set("minSpecialChars", om.valueToTree(this.getMinSpecialChars()));
}
if (this.getMinUpperCaseChars() != null) {
data.set("minUpperCaseChars", om.valueToTree(this.getMinUpperCaseChars()));
}
if (this.getOrReplace() != null) {
data.set("orReplace", om.valueToTree(this.getOrReplace()));
}
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.passwordPolicy.PasswordPolicyConfig"));
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;
PasswordPolicyConfig.Jsii$Proxy that = (PasswordPolicyConfig.Jsii$Proxy) o;
if (!database.equals(that.database)) return false;
if (!name.equals(that.name)) return false;
if (!schema.equals(that.schema)) return false;
if (this.comment != null ? !this.comment.equals(that.comment) : that.comment != null) return false;
if (this.history != null ? !this.history.equals(that.history) : that.history != null) return false;
if (this.id != null ? !this.id.equals(that.id) : that.id != null) return false;
if (this.ifNotExists != null ? !this.ifNotExists.equals(that.ifNotExists) : that.ifNotExists != null) return false;
if (this.lockoutTimeMins != null ? !this.lockoutTimeMins.equals(that.lockoutTimeMins) : that.lockoutTimeMins != null) return false;
if (this.maxAgeDays != null ? !this.maxAgeDays.equals(that.maxAgeDays) : that.maxAgeDays != null) return false;
if (this.maxLength != null ? !this.maxLength.equals(that.maxLength) : that.maxLength != null) return false;
if (this.maxRetries != null ? !this.maxRetries.equals(that.maxRetries) : that.maxRetries != null) return false;
if (this.minAgeDays != null ? !this.minAgeDays.equals(that.minAgeDays) : that.minAgeDays != null) return false;
if (this.minLength != null ? !this.minLength.equals(that.minLength) : that.minLength != null) return false;
if (this.minLowerCaseChars != null ? !this.minLowerCaseChars.equals(that.minLowerCaseChars) : that.minLowerCaseChars != null) return false;
if (this.minNumericChars != null ? !this.minNumericChars.equals(that.minNumericChars) : that.minNumericChars != null) return false;
if (this.minSpecialChars != null ? !this.minSpecialChars.equals(that.minSpecialChars) : that.minSpecialChars != null) return false;
if (this.minUpperCaseChars != null ? !this.minUpperCaseChars.equals(that.minUpperCaseChars) : that.minUpperCaseChars != null) return false;
if (this.orReplace != null ? !this.orReplace.equals(that.orReplace) : that.orReplace != 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.database.hashCode();
result = 31 * result + (this.name.hashCode());
result = 31 * result + (this.schema.hashCode());
result = 31 * result + (this.comment != null ? this.comment.hashCode() : 0);
result = 31 * result + (this.history != null ? this.history.hashCode() : 0);
result = 31 * result + (this.id != null ? this.id.hashCode() : 0);
result = 31 * result + (this.ifNotExists != null ? this.ifNotExists.hashCode() : 0);
result = 31 * result + (this.lockoutTimeMins != null ? this.lockoutTimeMins.hashCode() : 0);
result = 31 * result + (this.maxAgeDays != null ? this.maxAgeDays.hashCode() : 0);
result = 31 * result + (this.maxLength != null ? this.maxLength.hashCode() : 0);
result = 31 * result + (this.maxRetries != null ? this.maxRetries.hashCode() : 0);
result = 31 * result + (this.minAgeDays != null ? this.minAgeDays.hashCode() : 0);
result = 31 * result + (this.minLength != null ? this.minLength.hashCode() : 0);
result = 31 * result + (this.minLowerCaseChars != null ? this.minLowerCaseChars.hashCode() : 0);
result = 31 * result + (this.minNumericChars != null ? this.minNumericChars.hashCode() : 0);
result = 31 * result + (this.minSpecialChars != null ? this.minSpecialChars.hashCode() : 0);
result = 31 * result + (this.minUpperCaseChars != null ? this.minUpperCaseChars.hashCode() : 0);
result = 31 * result + (this.orReplace != null ? this.orReplace.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;
}
}
}