com.hashicorp.cdktf.providers.snowflake.api_authentication_integration_with_client_credentials.ApiAuthenticationIntegrationWithClientCredentialsConfig Maven / Gradle / Ivy
Show all versions of cdktf-provider-snowflake Show documentation
package com.hashicorp.cdktf.providers.snowflake.api_authentication_integration_with_client_credentials;
/**
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.101.0 (build b95fe5d)", date = "2024-08-03T03:24:50.019Z")
@software.amazon.jsii.Jsii(module = com.hashicorp.cdktf.providers.snowflake.$Module.class, fqn = "@cdktf/provider-snowflake.apiAuthenticationIntegrationWithClientCredentials.ApiAuthenticationIntegrationWithClientCredentialsConfig")
@software.amazon.jsii.Jsii.Proxy(ApiAuthenticationIntegrationWithClientCredentialsConfig.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface ApiAuthenticationIntegrationWithClientCredentialsConfig extends software.amazon.jsii.JsiiSerializable, com.hashicorp.cdktf.TerraformMetaArguments {
/**
* Specifies whether this security integration is enabled or disabled.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#enabled ApiAuthenticationIntegrationWithClientCredentials#enabled}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.Object getEnabled();
/**
* Specifies the identifier (i.e. name) for the integration. This value must be unique in your account.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#name ApiAuthenticationIntegrationWithClientCredentials#name}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getName();
/**
* Specifies the client ID for the OAuth application in the external service.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#oauth_client_id ApiAuthenticationIntegrationWithClientCredentials#oauth_client_id}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getOauthClientId();
/**
* Specifies the client secret for the OAuth application in the ServiceNow instance from the previous step.
*
* The connector uses this to request an access token from the ServiceNow instance.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#oauth_client_secret ApiAuthenticationIntegrationWithClientCredentials#oauth_client_secret}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getOauthClientSecret();
/**
* Specifies a comment for the integration.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#comment ApiAuthenticationIntegrationWithClientCredentials#comment}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getComment() {
return null;
}
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#id ApiAuthenticationIntegrationWithClientCredentials#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;
}
/**
* Specifies the default lifetime of the OAuth access token (in seconds) issued by an OAuth server.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#oauth_access_token_validity ApiAuthenticationIntegrationWithClientCredentials#oauth_access_token_validity}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getOauthAccessTokenValidity() {
return null;
}
/**
* Specifies a list of scopes to use when making a request from the OAuth by a role with USAGE on the integration during the OAuth client credentials flow.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#oauth_allowed_scopes ApiAuthenticationIntegrationWithClientCredentials#oauth_allowed_scopes}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getOauthAllowedScopes() {
return null;
}
/**
* Specifies that POST is used as the authentication method to the external service.
*
* If removed from the config, the resource is recreated. Valid values are (case-insensitive): `CLIENT_SECRET_POST`.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#oauth_client_auth_method ApiAuthenticationIntegrationWithClientCredentials#oauth_client_auth_method}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getOauthClientAuthMethod() {
return null;
}
/**
* Specifies the value to determine the validity of the refresh token obtained from the OAuth server.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#oauth_refresh_token_validity ApiAuthenticationIntegrationWithClientCredentials#oauth_refresh_token_validity}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getOauthRefreshTokenValidity() {
return null;
}
/**
* Specifies the token endpoint used by the client to obtain an access token by presenting its authorization grant or refresh token.
*
* The token endpoint is used with every authorization grant except for the implicit grant type (since an access token is issued directly). If removed from the config, the resource is recreated.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#oauth_token_endpoint ApiAuthenticationIntegrationWithClientCredentials#oauth_token_endpoint}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getOauthTokenEndpoint() {
return null;
}
/**
* @return a {@link Builder} of {@link ApiAuthenticationIntegrationWithClientCredentialsConfig}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link ApiAuthenticationIntegrationWithClientCredentialsConfig}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
java.lang.Object enabled;
java.lang.String name;
java.lang.String oauthClientId;
java.lang.String oauthClientSecret;
java.lang.String comment;
java.lang.String id;
java.lang.Number oauthAccessTokenValidity;
java.util.List oauthAllowedScopes;
java.lang.String oauthClientAuthMethod;
java.lang.Number oauthRefreshTokenValidity;
java.lang.String oauthTokenEndpoint;
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 ApiAuthenticationIntegrationWithClientCredentialsConfig#getEnabled}
* @param enabled Specifies whether this security integration is enabled or disabled. This parameter is required.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#enabled ApiAuthenticationIntegrationWithClientCredentials#enabled}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder enabled(java.lang.Boolean enabled) {
this.enabled = enabled;
return this;
}
/**
* Sets the value of {@link ApiAuthenticationIntegrationWithClientCredentialsConfig#getEnabled}
* @param enabled Specifies whether this security integration is enabled or disabled. This parameter is required.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#enabled ApiAuthenticationIntegrationWithClientCredentials#enabled}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder enabled(com.hashicorp.cdktf.IResolvable enabled) {
this.enabled = enabled;
return this;
}
/**
* Sets the value of {@link ApiAuthenticationIntegrationWithClientCredentialsConfig#getName}
* @param name Specifies the identifier (i.e. name) for the integration. This value must be unique in your account. This parameter is required.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#name ApiAuthenticationIntegrationWithClientCredentials#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 ApiAuthenticationIntegrationWithClientCredentialsConfig#getOauthClientId}
* @param oauthClientId Specifies the client ID for the OAuth application in the external service. This parameter is required.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#oauth_client_id ApiAuthenticationIntegrationWithClientCredentials#oauth_client_id}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder oauthClientId(java.lang.String oauthClientId) {
this.oauthClientId = oauthClientId;
return this;
}
/**
* Sets the value of {@link ApiAuthenticationIntegrationWithClientCredentialsConfig#getOauthClientSecret}
* @param oauthClientSecret Specifies the client secret for the OAuth application in the ServiceNow instance from the previous step. This parameter is required.
* The connector uses this to request an access token from the ServiceNow instance.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#oauth_client_secret ApiAuthenticationIntegrationWithClientCredentials#oauth_client_secret}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder oauthClientSecret(java.lang.String oauthClientSecret) {
this.oauthClientSecret = oauthClientSecret;
return this;
}
/**
* Sets the value of {@link ApiAuthenticationIntegrationWithClientCredentialsConfig#getComment}
* @param comment Specifies a comment for the integration.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#comment ApiAuthenticationIntegrationWithClientCredentials#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 ApiAuthenticationIntegrationWithClientCredentialsConfig#getId}
* @param id Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#id ApiAuthenticationIntegrationWithClientCredentials#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 ApiAuthenticationIntegrationWithClientCredentialsConfig#getOauthAccessTokenValidity}
* @param oauthAccessTokenValidity Specifies the default lifetime of the OAuth access token (in seconds) issued by an OAuth server.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#oauth_access_token_validity ApiAuthenticationIntegrationWithClientCredentials#oauth_access_token_validity}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder oauthAccessTokenValidity(java.lang.Number oauthAccessTokenValidity) {
this.oauthAccessTokenValidity = oauthAccessTokenValidity;
return this;
}
/**
* Sets the value of {@link ApiAuthenticationIntegrationWithClientCredentialsConfig#getOauthAllowedScopes}
* @param oauthAllowedScopes Specifies a list of scopes to use when making a request from the OAuth by a role with USAGE on the integration during the OAuth client credentials flow.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#oauth_allowed_scopes ApiAuthenticationIntegrationWithClientCredentials#oauth_allowed_scopes}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder oauthAllowedScopes(java.util.List oauthAllowedScopes) {
this.oauthAllowedScopes = oauthAllowedScopes;
return this;
}
/**
* Sets the value of {@link ApiAuthenticationIntegrationWithClientCredentialsConfig#getOauthClientAuthMethod}
* @param oauthClientAuthMethod Specifies that POST is used as the authentication method to the external service.
* If removed from the config, the resource is recreated. Valid values are (case-insensitive): `CLIENT_SECRET_POST`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#oauth_client_auth_method ApiAuthenticationIntegrationWithClientCredentials#oauth_client_auth_method}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder oauthClientAuthMethod(java.lang.String oauthClientAuthMethod) {
this.oauthClientAuthMethod = oauthClientAuthMethod;
return this;
}
/**
* Sets the value of {@link ApiAuthenticationIntegrationWithClientCredentialsConfig#getOauthRefreshTokenValidity}
* @param oauthRefreshTokenValidity Specifies the value to determine the validity of the refresh token obtained from the OAuth server.
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#oauth_refresh_token_validity ApiAuthenticationIntegrationWithClientCredentials#oauth_refresh_token_validity}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder oauthRefreshTokenValidity(java.lang.Number oauthRefreshTokenValidity) {
this.oauthRefreshTokenValidity = oauthRefreshTokenValidity;
return this;
}
/**
* Sets the value of {@link ApiAuthenticationIntegrationWithClientCredentialsConfig#getOauthTokenEndpoint}
* @param oauthTokenEndpoint Specifies the token endpoint used by the client to obtain an access token by presenting its authorization grant or refresh token.
* The token endpoint is used with every authorization grant except for the implicit grant type (since an access token is issued directly). If removed from the config, the resource is recreated.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/snowflake-labs/snowflake/0.94.1/docs/resources/api_authentication_integration_with_client_credentials#oauth_token_endpoint ApiAuthenticationIntegrationWithClientCredentials#oauth_token_endpoint}
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder oauthTokenEndpoint(java.lang.String oauthTokenEndpoint) {
this.oauthTokenEndpoint = oauthTokenEndpoint;
return this;
}
/**
* Sets the value of {@link ApiAuthenticationIntegrationWithClientCredentialsConfig#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 ApiAuthenticationIntegrationWithClientCredentialsConfig#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 ApiAuthenticationIntegrationWithClientCredentialsConfig#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 ApiAuthenticationIntegrationWithClientCredentialsConfig#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 ApiAuthenticationIntegrationWithClientCredentialsConfig#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 ApiAuthenticationIntegrationWithClientCredentialsConfig#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 ApiAuthenticationIntegrationWithClientCredentialsConfig#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 ApiAuthenticationIntegrationWithClientCredentialsConfig#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 ApiAuthenticationIntegrationWithClientCredentialsConfig#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 ApiAuthenticationIntegrationWithClientCredentialsConfig}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public ApiAuthenticationIntegrationWithClientCredentialsConfig build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link ApiAuthenticationIntegrationWithClientCredentialsConfig}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ApiAuthenticationIntegrationWithClientCredentialsConfig {
private final java.lang.Object enabled;
private final java.lang.String name;
private final java.lang.String oauthClientId;
private final java.lang.String oauthClientSecret;
private final java.lang.String comment;
private final java.lang.String id;
private final java.lang.Number oauthAccessTokenValidity;
private final java.util.List oauthAllowedScopes;
private final java.lang.String oauthClientAuthMethod;
private final java.lang.Number oauthRefreshTokenValidity;
private final java.lang.String oauthTokenEndpoint;
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.enabled = software.amazon.jsii.Kernel.get(this, "enabled", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.name = software.amazon.jsii.Kernel.get(this, "name", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.oauthClientId = software.amazon.jsii.Kernel.get(this, "oauthClientId", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.oauthClientSecret = software.amazon.jsii.Kernel.get(this, "oauthClientSecret", 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.id = software.amazon.jsii.Kernel.get(this, "id", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.oauthAccessTokenValidity = software.amazon.jsii.Kernel.get(this, "oauthAccessTokenValidity", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.oauthAllowedScopes = software.amazon.jsii.Kernel.get(this, "oauthAllowedScopes", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
this.oauthClientAuthMethod = software.amazon.jsii.Kernel.get(this, "oauthClientAuthMethod", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.oauthRefreshTokenValidity = software.amazon.jsii.Kernel.get(this, "oauthRefreshTokenValidity", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.oauthTokenEndpoint = software.amazon.jsii.Kernel.get(this, "oauthTokenEndpoint", 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.enabled = java.util.Objects.requireNonNull(builder.enabled, "enabled is required");
this.name = java.util.Objects.requireNonNull(builder.name, "name is required");
this.oauthClientId = java.util.Objects.requireNonNull(builder.oauthClientId, "oauthClientId is required");
this.oauthClientSecret = java.util.Objects.requireNonNull(builder.oauthClientSecret, "oauthClientSecret is required");
this.comment = builder.comment;
this.id = builder.id;
this.oauthAccessTokenValidity = builder.oauthAccessTokenValidity;
this.oauthAllowedScopes = builder.oauthAllowedScopes;
this.oauthClientAuthMethod = builder.oauthClientAuthMethod;
this.oauthRefreshTokenValidity = builder.oauthRefreshTokenValidity;
this.oauthTokenEndpoint = builder.oauthTokenEndpoint;
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.Object getEnabled() {
return this.enabled;
}
@Override
public final java.lang.String getName() {
return this.name;
}
@Override
public final java.lang.String getOauthClientId() {
return this.oauthClientId;
}
@Override
public final java.lang.String getOauthClientSecret() {
return this.oauthClientSecret;
}
@Override
public final java.lang.String getComment() {
return this.comment;
}
@Override
public final java.lang.String getId() {
return this.id;
}
@Override
public final java.lang.Number getOauthAccessTokenValidity() {
return this.oauthAccessTokenValidity;
}
@Override
public final java.util.List getOauthAllowedScopes() {
return this.oauthAllowedScopes;
}
@Override
public final java.lang.String getOauthClientAuthMethod() {
return this.oauthClientAuthMethod;
}
@Override
public final java.lang.Number getOauthRefreshTokenValidity() {
return this.oauthRefreshTokenValidity;
}
@Override
public final java.lang.String getOauthTokenEndpoint() {
return this.oauthTokenEndpoint;
}
@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("enabled", om.valueToTree(this.getEnabled()));
data.set("name", om.valueToTree(this.getName()));
data.set("oauthClientId", om.valueToTree(this.getOauthClientId()));
data.set("oauthClientSecret", om.valueToTree(this.getOauthClientSecret()));
if (this.getComment() != null) {
data.set("comment", om.valueToTree(this.getComment()));
}
if (this.getId() != null) {
data.set("id", om.valueToTree(this.getId()));
}
if (this.getOauthAccessTokenValidity() != null) {
data.set("oauthAccessTokenValidity", om.valueToTree(this.getOauthAccessTokenValidity()));
}
if (this.getOauthAllowedScopes() != null) {
data.set("oauthAllowedScopes", om.valueToTree(this.getOauthAllowedScopes()));
}
if (this.getOauthClientAuthMethod() != null) {
data.set("oauthClientAuthMethod", om.valueToTree(this.getOauthClientAuthMethod()));
}
if (this.getOauthRefreshTokenValidity() != null) {
data.set("oauthRefreshTokenValidity", om.valueToTree(this.getOauthRefreshTokenValidity()));
}
if (this.getOauthTokenEndpoint() != null) {
data.set("oauthTokenEndpoint", om.valueToTree(this.getOauthTokenEndpoint()));
}
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.apiAuthenticationIntegrationWithClientCredentials.ApiAuthenticationIntegrationWithClientCredentialsConfig"));
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;
ApiAuthenticationIntegrationWithClientCredentialsConfig.Jsii$Proxy that = (ApiAuthenticationIntegrationWithClientCredentialsConfig.Jsii$Proxy) o;
if (!enabled.equals(that.enabled)) return false;
if (!name.equals(that.name)) return false;
if (!oauthClientId.equals(that.oauthClientId)) return false;
if (!oauthClientSecret.equals(that.oauthClientSecret)) return false;
if (this.comment != null ? !this.comment.equals(that.comment) : that.comment != null) return false;
if (this.id != null ? !this.id.equals(that.id) : that.id != null) return false;
if (this.oauthAccessTokenValidity != null ? !this.oauthAccessTokenValidity.equals(that.oauthAccessTokenValidity) : that.oauthAccessTokenValidity != null) return false;
if (this.oauthAllowedScopes != null ? !this.oauthAllowedScopes.equals(that.oauthAllowedScopes) : that.oauthAllowedScopes != null) return false;
if (this.oauthClientAuthMethod != null ? !this.oauthClientAuthMethod.equals(that.oauthClientAuthMethod) : that.oauthClientAuthMethod != null) return false;
if (this.oauthRefreshTokenValidity != null ? !this.oauthRefreshTokenValidity.equals(that.oauthRefreshTokenValidity) : that.oauthRefreshTokenValidity != null) return false;
if (this.oauthTokenEndpoint != null ? !this.oauthTokenEndpoint.equals(that.oauthTokenEndpoint) : that.oauthTokenEndpoint != 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.enabled.hashCode();
result = 31 * result + (this.name.hashCode());
result = 31 * result + (this.oauthClientId.hashCode());
result = 31 * result + (this.oauthClientSecret.hashCode());
result = 31 * result + (this.comment != null ? this.comment.hashCode() : 0);
result = 31 * result + (this.id != null ? this.id.hashCode() : 0);
result = 31 * result + (this.oauthAccessTokenValidity != null ? this.oauthAccessTokenValidity.hashCode() : 0);
result = 31 * result + (this.oauthAllowedScopes != null ? this.oauthAllowedScopes.hashCode() : 0);
result = 31 * result + (this.oauthClientAuthMethod != null ? this.oauthClientAuthMethod.hashCode() : 0);
result = 31 * result + (this.oauthRefreshTokenValidity != null ? this.oauthRefreshTokenValidity.hashCode() : 0);
result = 31 * result + (this.oauthTokenEndpoint != null ? this.oauthTokenEndpoint.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;
}
}
}