Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.snowflake.inputs.ExternalOauthIntegrationState Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.snowflake.inputs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.snowflake.inputs.ExternalOauthIntegrationDescribeOutputArgs;
import com.pulumi.snowflake.inputs.ExternalOauthIntegrationRelatedParameterArgs;
import com.pulumi.snowflake.inputs.ExternalOauthIntegrationShowOutputArgs;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class ExternalOauthIntegrationState extends com.pulumi.resources.ResourceArgs {
public static final ExternalOauthIntegrationState Empty = new ExternalOauthIntegrationState();
/**
* Specifies a comment for the OAuth integration.
*
*/
@Import(name="comment")
private @Nullable Output comment;
/**
* @return Specifies a comment for the OAuth integration.
*
*/
public Optional> comment() {
return Optional.ofNullable(this.comment);
}
/**
* Outputs the result of `DESCRIBE SECURITY INTEGRATIONS` for the given security integration.
*
*/
@Import(name="describeOutputs")
private @Nullable Output> describeOutputs;
/**
* @return Outputs the result of `DESCRIBE SECURITY INTEGRATIONS` for the given security integration.
*
*/
public Optional>> describeOutputs() {
return Optional.ofNullable(this.describeOutputs);
}
/**
* Specifies whether to initiate operation of the integration or suspend it.
*
*/
@Import(name="enabled")
private @Nullable Output enabled;
/**
* @return Specifies whether to initiate operation of the integration or suspend it.
*
*/
public Optional> enabled() {
return Optional.ofNullable(this.enabled);
}
/**
* Specifies the list of roles that the client can set as the primary role. For more information about this resource, see docs.
*
*/
@Import(name="externalOauthAllowedRolesLists")
private @Nullable Output> externalOauthAllowedRolesLists;
/**
* @return Specifies the list of roles that the client can set as the primary role. For more information about this resource, see docs.
*
*/
public Optional>> externalOauthAllowedRolesLists() {
return Optional.ofNullable(this.externalOauthAllowedRolesLists);
}
/**
* Specifies whether the OAuth client or user can use a role that is not defined in the OAuth access token. Valid values are (case-insensitive): `DISABLE` | `ENABLE` | `ENABLE_FOR_PRIVILEGE`.
*
*/
@Import(name="externalOauthAnyRoleMode")
private @Nullable Output externalOauthAnyRoleMode;
/**
* @return Specifies whether the OAuth client or user can use a role that is not defined in the OAuth access token. Valid values are (case-insensitive): `DISABLE` | `ENABLE` | `ENABLE_FOR_PRIVILEGE`.
*
*/
public Optional> externalOauthAnyRoleMode() {
return Optional.ofNullable(this.externalOauthAnyRoleMode);
}
/**
* Specifies additional values that can be used for the access token's audience validation on top of using the Customer's Snowflake Account URL
*
*/
@Import(name="externalOauthAudienceLists")
private @Nullable Output> externalOauthAudienceLists;
/**
* @return Specifies additional values that can be used for the access token's audience validation on top of using the Customer's Snowflake Account URL
*
*/
public Optional>> externalOauthAudienceLists() {
return Optional.ofNullable(this.externalOauthAudienceLists);
}
/**
* Specifies the list of roles that a client cannot set as the primary role. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the EXTERNAL*OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
*
*/
@Import(name="externalOauthBlockedRolesLists")
private @Nullable Output> externalOauthBlockedRolesLists;
/**
* @return Specifies the list of roles that a client cannot set as the primary role. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the EXTERNAL*OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
*
*/
public Optional>> externalOauthBlockedRolesLists() {
return Optional.ofNullable(this.externalOauthBlockedRolesLists);
}
/**
* Specifies the URL to define the OAuth 2.0 authorization server.
*
*/
@Import(name="externalOauthIssuer")
private @Nullable Output externalOauthIssuer;
/**
* @return Specifies the URL to define the OAuth 2.0 authorization server.
*
*/
public Optional> externalOauthIssuer() {
return Optional.ofNullable(this.externalOauthIssuer);
}
/**
* Specifies the endpoint or a list of endpoints from which to download public keys or certificates to validate an External OAuth access token. The maximum number of URLs that can be specified in the list is 3. If removed from the config, the resource is recreated.
*
*/
@Import(name="externalOauthJwsKeysUrls")
private @Nullable Output> externalOauthJwsKeysUrls;
/**
* @return Specifies the endpoint or a list of endpoints from which to download public keys or certificates to validate an External OAuth access token. The maximum number of URLs that can be specified in the list is 3. If removed from the config, the resource is recreated.
*
*/
public Optional>> externalOauthJwsKeysUrls() {
return Optional.ofNullable(this.externalOauthJwsKeysUrls);
}
/**
* Specifies a Base64-encoded RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. If removed from the config, the resource is recreated.
*
*/
@Import(name="externalOauthRsaPublicKey")
private @Nullable Output externalOauthRsaPublicKey;
/**
* @return Specifies a Base64-encoded RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. If removed from the config, the resource is recreated.
*
*/
public Optional> externalOauthRsaPublicKey() {
return Optional.ofNullable(this.externalOauthRsaPublicKey);
}
/**
* Specifies a second RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. Used for key rotation. If removed from the config, the resource is recreated.
*
*/
@Import(name="externalOauthRsaPublicKey2")
private @Nullable Output externalOauthRsaPublicKey2;
/**
* @return Specifies a second RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. Used for key rotation. If removed from the config, the resource is recreated.
*
*/
public Optional> externalOauthRsaPublicKey2() {
return Optional.ofNullable(this.externalOauthRsaPublicKey2);
}
/**
* Specifies the scope delimiter in the authorization token.
*
*/
@Import(name="externalOauthScopeDelimiter")
private @Nullable Output externalOauthScopeDelimiter;
/**
* @return Specifies the scope delimiter in the authorization token.
*
*/
public Optional> externalOauthScopeDelimiter() {
return Optional.ofNullable(this.externalOauthScopeDelimiter);
}
/**
* Specifies the access token claim to map the access token to an account role. If removed from the config, the resource is recreated.
*
*/
@Import(name="externalOauthScopeMappingAttribute")
private @Nullable Output externalOauthScopeMappingAttribute;
/**
* @return Specifies the access token claim to map the access token to an account role. If removed from the config, the resource is recreated.
*
*/
public Optional> externalOauthScopeMappingAttribute() {
return Optional.ofNullable(this.externalOauthScopeMappingAttribute);
}
/**
* Indicates which Snowflake user record attribute should be used to map the access token to a Snowflake user record. Valid values are (case-insensitive): `LOGIN_NAME` | `EMAIL_ADDRESS`.
*
*/
@Import(name="externalOauthSnowflakeUserMappingAttribute")
private @Nullable Output externalOauthSnowflakeUserMappingAttribute;
/**
* @return Indicates which Snowflake user record attribute should be used to map the access token to a Snowflake user record. Valid values are (case-insensitive): `LOGIN_NAME` | `EMAIL_ADDRESS`.
*
*/
public Optional> externalOauthSnowflakeUserMappingAttribute() {
return Optional.ofNullable(this.externalOauthSnowflakeUserMappingAttribute);
}
/**
* Specifies the access token claim or claims that can be used to map the access token to a Snowflake user record. If removed from the config, the resource is recreated.
*
*/
@Import(name="externalOauthTokenUserMappingClaims")
private @Nullable Output> externalOauthTokenUserMappingClaims;
/**
* @return Specifies the access token claim or claims that can be used to map the access token to a Snowflake user record. If removed from the config, the resource is recreated.
*
*/
public Optional>> externalOauthTokenUserMappingClaims() {
return Optional.ofNullable(this.externalOauthTokenUserMappingClaims);
}
/**
* Specifies the OAuth 2.0 authorization server to be Okta, Microsoft Azure AD, Ping Identity PingFederate, or a Custom OAuth 2.0 authorization server. Valid values are (case-insensitive): `OKTA` | `AZURE` | `PING_FEDERATE` | `CUSTOM`.
*
*/
@Import(name="externalOauthType")
private @Nullable Output externalOauthType;
/**
* @return Specifies the OAuth 2.0 authorization server to be Okta, Microsoft Azure AD, Ping Identity PingFederate, or a Custom OAuth 2.0 authorization server. Valid values are (case-insensitive): `OKTA` | `AZURE` | `PING_FEDERATE` | `CUSTOM`.
*
*/
public Optional> externalOauthType() {
return Optional.ofNullable(this.externalOauthType);
}
/**
* Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
*
*/
@Import(name="fullyQualifiedName")
private @Nullable Output fullyQualifiedName;
/**
* @return Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
*
*/
public Optional> fullyQualifiedName() {
return Optional.ofNullable(this.fullyQualifiedName);
}
/**
* Specifies the name of the External Oath integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return Specifies the name of the External Oath integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* Parameters related to this security integration.
*
*/
@Import(name="relatedParameters")
private @Nullable Output> relatedParameters;
/**
* @return Parameters related to this security integration.
*
*/
public Optional>> relatedParameters() {
return Optional.ofNullable(this.relatedParameters);
}
/**
* Outputs the result of `SHOW SECURITY INTEGRATIONS` for the given security integration.
*
*/
@Import(name="showOutputs")
private @Nullable Output> showOutputs;
/**
* @return Outputs the result of `SHOW SECURITY INTEGRATIONS` for the given security integration.
*
*/
public Optional>> showOutputs() {
return Optional.ofNullable(this.showOutputs);
}
private ExternalOauthIntegrationState() {}
private ExternalOauthIntegrationState(ExternalOauthIntegrationState $) {
this.comment = $.comment;
this.describeOutputs = $.describeOutputs;
this.enabled = $.enabled;
this.externalOauthAllowedRolesLists = $.externalOauthAllowedRolesLists;
this.externalOauthAnyRoleMode = $.externalOauthAnyRoleMode;
this.externalOauthAudienceLists = $.externalOauthAudienceLists;
this.externalOauthBlockedRolesLists = $.externalOauthBlockedRolesLists;
this.externalOauthIssuer = $.externalOauthIssuer;
this.externalOauthJwsKeysUrls = $.externalOauthJwsKeysUrls;
this.externalOauthRsaPublicKey = $.externalOauthRsaPublicKey;
this.externalOauthRsaPublicKey2 = $.externalOauthRsaPublicKey2;
this.externalOauthScopeDelimiter = $.externalOauthScopeDelimiter;
this.externalOauthScopeMappingAttribute = $.externalOauthScopeMappingAttribute;
this.externalOauthSnowflakeUserMappingAttribute = $.externalOauthSnowflakeUserMappingAttribute;
this.externalOauthTokenUserMappingClaims = $.externalOauthTokenUserMappingClaims;
this.externalOauthType = $.externalOauthType;
this.fullyQualifiedName = $.fullyQualifiedName;
this.name = $.name;
this.relatedParameters = $.relatedParameters;
this.showOutputs = $.showOutputs;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ExternalOauthIntegrationState defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ExternalOauthIntegrationState $;
public Builder() {
$ = new ExternalOauthIntegrationState();
}
public Builder(ExternalOauthIntegrationState defaults) {
$ = new ExternalOauthIntegrationState(Objects.requireNonNull(defaults));
}
/**
* @param comment Specifies a comment for the OAuth integration.
*
* @return builder
*
*/
public Builder comment(@Nullable Output comment) {
$.comment = comment;
return this;
}
/**
* @param comment Specifies a comment for the OAuth integration.
*
* @return builder
*
*/
public Builder comment(String comment) {
return comment(Output.of(comment));
}
/**
* @param describeOutputs Outputs the result of `DESCRIBE SECURITY INTEGRATIONS` for the given security integration.
*
* @return builder
*
*/
public Builder describeOutputs(@Nullable Output> describeOutputs) {
$.describeOutputs = describeOutputs;
return this;
}
/**
* @param describeOutputs Outputs the result of `DESCRIBE SECURITY INTEGRATIONS` for the given security integration.
*
* @return builder
*
*/
public Builder describeOutputs(List describeOutputs) {
return describeOutputs(Output.of(describeOutputs));
}
/**
* @param describeOutputs Outputs the result of `DESCRIBE SECURITY INTEGRATIONS` for the given security integration.
*
* @return builder
*
*/
public Builder describeOutputs(ExternalOauthIntegrationDescribeOutputArgs... describeOutputs) {
return describeOutputs(List.of(describeOutputs));
}
/**
* @param enabled Specifies whether to initiate operation of the integration or suspend it.
*
* @return builder
*
*/
public Builder enabled(@Nullable Output enabled) {
$.enabled = enabled;
return this;
}
/**
* @param enabled Specifies whether to initiate operation of the integration or suspend it.
*
* @return builder
*
*/
public Builder enabled(Boolean enabled) {
return enabled(Output.of(enabled));
}
/**
* @param externalOauthAllowedRolesLists Specifies the list of roles that the client can set as the primary role. For more information about this resource, see docs.
*
* @return builder
*
*/
public Builder externalOauthAllowedRolesLists(@Nullable Output> externalOauthAllowedRolesLists) {
$.externalOauthAllowedRolesLists = externalOauthAllowedRolesLists;
return this;
}
/**
* @param externalOauthAllowedRolesLists Specifies the list of roles that the client can set as the primary role. For more information about this resource, see docs.
*
* @return builder
*
*/
public Builder externalOauthAllowedRolesLists(List externalOauthAllowedRolesLists) {
return externalOauthAllowedRolesLists(Output.of(externalOauthAllowedRolesLists));
}
/**
* @param externalOauthAllowedRolesLists Specifies the list of roles that the client can set as the primary role. For more information about this resource, see docs.
*
* @return builder
*
*/
public Builder externalOauthAllowedRolesLists(String... externalOauthAllowedRolesLists) {
return externalOauthAllowedRolesLists(List.of(externalOauthAllowedRolesLists));
}
/**
* @param externalOauthAnyRoleMode Specifies whether the OAuth client or user can use a role that is not defined in the OAuth access token. Valid values are (case-insensitive): `DISABLE` | `ENABLE` | `ENABLE_FOR_PRIVILEGE`.
*
* @return builder
*
*/
public Builder externalOauthAnyRoleMode(@Nullable Output externalOauthAnyRoleMode) {
$.externalOauthAnyRoleMode = externalOauthAnyRoleMode;
return this;
}
/**
* @param externalOauthAnyRoleMode Specifies whether the OAuth client or user can use a role that is not defined in the OAuth access token. Valid values are (case-insensitive): `DISABLE` | `ENABLE` | `ENABLE_FOR_PRIVILEGE`.
*
* @return builder
*
*/
public Builder externalOauthAnyRoleMode(String externalOauthAnyRoleMode) {
return externalOauthAnyRoleMode(Output.of(externalOauthAnyRoleMode));
}
/**
* @param externalOauthAudienceLists Specifies additional values that can be used for the access token's audience validation on top of using the Customer's Snowflake Account URL
*
* @return builder
*
*/
public Builder externalOauthAudienceLists(@Nullable Output> externalOauthAudienceLists) {
$.externalOauthAudienceLists = externalOauthAudienceLists;
return this;
}
/**
* @param externalOauthAudienceLists Specifies additional values that can be used for the access token's audience validation on top of using the Customer's Snowflake Account URL
*
* @return builder
*
*/
public Builder externalOauthAudienceLists(List externalOauthAudienceLists) {
return externalOauthAudienceLists(Output.of(externalOauthAudienceLists));
}
/**
* @param externalOauthAudienceLists Specifies additional values that can be used for the access token's audience validation on top of using the Customer's Snowflake Account URL
*
* @return builder
*
*/
public Builder externalOauthAudienceLists(String... externalOauthAudienceLists) {
return externalOauthAudienceLists(List.of(externalOauthAudienceLists));
}
/**
* @param externalOauthBlockedRolesLists Specifies the list of roles that a client cannot set as the primary role. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the EXTERNAL*OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
*
* @return builder
*
*/
public Builder externalOauthBlockedRolesLists(@Nullable Output> externalOauthBlockedRolesLists) {
$.externalOauthBlockedRolesLists = externalOauthBlockedRolesLists;
return this;
}
/**
* @param externalOauthBlockedRolesLists Specifies the list of roles that a client cannot set as the primary role. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the EXTERNAL*OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
*
* @return builder
*
*/
public Builder externalOauthBlockedRolesLists(List externalOauthBlockedRolesLists) {
return externalOauthBlockedRolesLists(Output.of(externalOauthBlockedRolesLists));
}
/**
* @param externalOauthBlockedRolesLists Specifies the list of roles that a client cannot set as the primary role. By default, this list includes the ACCOUNTADMIN, ORGADMIN and SECURITYADMIN roles. To remove these privileged roles from the list, use the ALTER ACCOUNT command to set the EXTERNAL*OAUTH*ADD*PRIVILEGED*ROLES*TO*BLOCKED*LIST account parameter to FALSE. For more information about this resource, see docs.
*
* @return builder
*
*/
public Builder externalOauthBlockedRolesLists(String... externalOauthBlockedRolesLists) {
return externalOauthBlockedRolesLists(List.of(externalOauthBlockedRolesLists));
}
/**
* @param externalOauthIssuer Specifies the URL to define the OAuth 2.0 authorization server.
*
* @return builder
*
*/
public Builder externalOauthIssuer(@Nullable Output externalOauthIssuer) {
$.externalOauthIssuer = externalOauthIssuer;
return this;
}
/**
* @param externalOauthIssuer Specifies the URL to define the OAuth 2.0 authorization server.
*
* @return builder
*
*/
public Builder externalOauthIssuer(String externalOauthIssuer) {
return externalOauthIssuer(Output.of(externalOauthIssuer));
}
/**
* @param externalOauthJwsKeysUrls Specifies the endpoint or a list of endpoints from which to download public keys or certificates to validate an External OAuth access token. The maximum number of URLs that can be specified in the list is 3. If removed from the config, the resource is recreated.
*
* @return builder
*
*/
public Builder externalOauthJwsKeysUrls(@Nullable Output> externalOauthJwsKeysUrls) {
$.externalOauthJwsKeysUrls = externalOauthJwsKeysUrls;
return this;
}
/**
* @param externalOauthJwsKeysUrls Specifies the endpoint or a list of endpoints from which to download public keys or certificates to validate an External OAuth access token. The maximum number of URLs that can be specified in the list is 3. If removed from the config, the resource is recreated.
*
* @return builder
*
*/
public Builder externalOauthJwsKeysUrls(List externalOauthJwsKeysUrls) {
return externalOauthJwsKeysUrls(Output.of(externalOauthJwsKeysUrls));
}
/**
* @param externalOauthJwsKeysUrls Specifies the endpoint or a list of endpoints from which to download public keys or certificates to validate an External OAuth access token. The maximum number of URLs that can be specified in the list is 3. If removed from the config, the resource is recreated.
*
* @return builder
*
*/
public Builder externalOauthJwsKeysUrls(String... externalOauthJwsKeysUrls) {
return externalOauthJwsKeysUrls(List.of(externalOauthJwsKeysUrls));
}
/**
* @param externalOauthRsaPublicKey Specifies a Base64-encoded RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. If removed from the config, the resource is recreated.
*
* @return builder
*
*/
public Builder externalOauthRsaPublicKey(@Nullable Output externalOauthRsaPublicKey) {
$.externalOauthRsaPublicKey = externalOauthRsaPublicKey;
return this;
}
/**
* @param externalOauthRsaPublicKey Specifies a Base64-encoded RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. If removed from the config, the resource is recreated.
*
* @return builder
*
*/
public Builder externalOauthRsaPublicKey(String externalOauthRsaPublicKey) {
return externalOauthRsaPublicKey(Output.of(externalOauthRsaPublicKey));
}
/**
* @param externalOauthRsaPublicKey2 Specifies a second RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. Used for key rotation. If removed from the config, the resource is recreated.
*
* @return builder
*
*/
public Builder externalOauthRsaPublicKey2(@Nullable Output externalOauthRsaPublicKey2) {
$.externalOauthRsaPublicKey2 = externalOauthRsaPublicKey2;
return this;
}
/**
* @param externalOauthRsaPublicKey2 Specifies a second RSA public key, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- headers. Used for key rotation. If removed from the config, the resource is recreated.
*
* @return builder
*
*/
public Builder externalOauthRsaPublicKey2(String externalOauthRsaPublicKey2) {
return externalOauthRsaPublicKey2(Output.of(externalOauthRsaPublicKey2));
}
/**
* @param externalOauthScopeDelimiter Specifies the scope delimiter in the authorization token.
*
* @return builder
*
*/
public Builder externalOauthScopeDelimiter(@Nullable Output externalOauthScopeDelimiter) {
$.externalOauthScopeDelimiter = externalOauthScopeDelimiter;
return this;
}
/**
* @param externalOauthScopeDelimiter Specifies the scope delimiter in the authorization token.
*
* @return builder
*
*/
public Builder externalOauthScopeDelimiter(String externalOauthScopeDelimiter) {
return externalOauthScopeDelimiter(Output.of(externalOauthScopeDelimiter));
}
/**
* @param externalOauthScopeMappingAttribute Specifies the access token claim to map the access token to an account role. If removed from the config, the resource is recreated.
*
* @return builder
*
*/
public Builder externalOauthScopeMappingAttribute(@Nullable Output externalOauthScopeMappingAttribute) {
$.externalOauthScopeMappingAttribute = externalOauthScopeMappingAttribute;
return this;
}
/**
* @param externalOauthScopeMappingAttribute Specifies the access token claim to map the access token to an account role. If removed from the config, the resource is recreated.
*
* @return builder
*
*/
public Builder externalOauthScopeMappingAttribute(String externalOauthScopeMappingAttribute) {
return externalOauthScopeMappingAttribute(Output.of(externalOauthScopeMappingAttribute));
}
/**
* @param externalOauthSnowflakeUserMappingAttribute Indicates which Snowflake user record attribute should be used to map the access token to a Snowflake user record. Valid values are (case-insensitive): `LOGIN_NAME` | `EMAIL_ADDRESS`.
*
* @return builder
*
*/
public Builder externalOauthSnowflakeUserMappingAttribute(@Nullable Output externalOauthSnowflakeUserMappingAttribute) {
$.externalOauthSnowflakeUserMappingAttribute = externalOauthSnowflakeUserMappingAttribute;
return this;
}
/**
* @param externalOauthSnowflakeUserMappingAttribute Indicates which Snowflake user record attribute should be used to map the access token to a Snowflake user record. Valid values are (case-insensitive): `LOGIN_NAME` | `EMAIL_ADDRESS`.
*
* @return builder
*
*/
public Builder externalOauthSnowflakeUserMappingAttribute(String externalOauthSnowflakeUserMappingAttribute) {
return externalOauthSnowflakeUserMappingAttribute(Output.of(externalOauthSnowflakeUserMappingAttribute));
}
/**
* @param externalOauthTokenUserMappingClaims Specifies the access token claim or claims that can be used to map the access token to a Snowflake user record. If removed from the config, the resource is recreated.
*
* @return builder
*
*/
public Builder externalOauthTokenUserMappingClaims(@Nullable Output> externalOauthTokenUserMappingClaims) {
$.externalOauthTokenUserMappingClaims = externalOauthTokenUserMappingClaims;
return this;
}
/**
* @param externalOauthTokenUserMappingClaims Specifies the access token claim or claims that can be used to map the access token to a Snowflake user record. If removed from the config, the resource is recreated.
*
* @return builder
*
*/
public Builder externalOauthTokenUserMappingClaims(List externalOauthTokenUserMappingClaims) {
return externalOauthTokenUserMappingClaims(Output.of(externalOauthTokenUserMappingClaims));
}
/**
* @param externalOauthTokenUserMappingClaims Specifies the access token claim or claims that can be used to map the access token to a Snowflake user record. If removed from the config, the resource is recreated.
*
* @return builder
*
*/
public Builder externalOauthTokenUserMappingClaims(String... externalOauthTokenUserMappingClaims) {
return externalOauthTokenUserMappingClaims(List.of(externalOauthTokenUserMappingClaims));
}
/**
* @param externalOauthType Specifies the OAuth 2.0 authorization server to be Okta, Microsoft Azure AD, Ping Identity PingFederate, or a Custom OAuth 2.0 authorization server. Valid values are (case-insensitive): `OKTA` | `AZURE` | `PING_FEDERATE` | `CUSTOM`.
*
* @return builder
*
*/
public Builder externalOauthType(@Nullable Output externalOauthType) {
$.externalOauthType = externalOauthType;
return this;
}
/**
* @param externalOauthType Specifies the OAuth 2.0 authorization server to be Okta, Microsoft Azure AD, Ping Identity PingFederate, or a Custom OAuth 2.0 authorization server. Valid values are (case-insensitive): `OKTA` | `AZURE` | `PING_FEDERATE` | `CUSTOM`.
*
* @return builder
*
*/
public Builder externalOauthType(String externalOauthType) {
return externalOauthType(Output.of(externalOauthType));
}
/**
* @param fullyQualifiedName Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
*
* @return builder
*
*/
public Builder fullyQualifiedName(@Nullable Output fullyQualifiedName) {
$.fullyQualifiedName = fullyQualifiedName;
return this;
}
/**
* @param fullyQualifiedName Fully qualified name of the resource. For more information, see [object name resolution](https://docs.snowflake.com/en/sql-reference/name-resolution).
*
* @return builder
*
*/
public Builder fullyQualifiedName(String fullyQualifiedName) {
return fullyQualifiedName(Output.of(fullyQualifiedName));
}
/**
* @param name Specifies the name of the External Oath integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name Specifies the name of the External Oath integration. This name follows the rules for Object Identifiers. The name should be unique among security integrations in your account. Due to technical limitations (read more here), avoid using the following characters: `|`, `.`, `"`.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param relatedParameters Parameters related to this security integration.
*
* @return builder
*
*/
public Builder relatedParameters(@Nullable Output> relatedParameters) {
$.relatedParameters = relatedParameters;
return this;
}
/**
* @param relatedParameters Parameters related to this security integration.
*
* @return builder
*
*/
public Builder relatedParameters(List relatedParameters) {
return relatedParameters(Output.of(relatedParameters));
}
/**
* @param relatedParameters Parameters related to this security integration.
*
* @return builder
*
*/
public Builder relatedParameters(ExternalOauthIntegrationRelatedParameterArgs... relatedParameters) {
return relatedParameters(List.of(relatedParameters));
}
/**
* @param showOutputs Outputs the result of `SHOW SECURITY INTEGRATIONS` for the given security integration.
*
* @return builder
*
*/
public Builder showOutputs(@Nullable Output> showOutputs) {
$.showOutputs = showOutputs;
return this;
}
/**
* @param showOutputs Outputs the result of `SHOW SECURITY INTEGRATIONS` for the given security integration.
*
* @return builder
*
*/
public Builder showOutputs(List showOutputs) {
return showOutputs(Output.of(showOutputs));
}
/**
* @param showOutputs Outputs the result of `SHOW SECURITY INTEGRATIONS` for the given security integration.
*
* @return builder
*
*/
public Builder showOutputs(ExternalOauthIntegrationShowOutputArgs... showOutputs) {
return showOutputs(List.of(showOutputs));
}
public ExternalOauthIntegrationState build() {
return $;
}
}
}