org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationProps Maven / Gradle / Ivy
Show all versions of awscdk-resources-mongodbatlas Show documentation
package org.mongodb.awscdk.resources.mongodbatlas;
/**
* Returns, adds, edits, and removes third-party service integration configurations.
*
* MongoDB Cloud sends alerts to each third-party service that you configure.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.101.0 (build b95fe5d)", date = "2024-07-30T09:54:28.991Z")
@software.amazon.jsii.Jsii(module = org.mongodb.awscdk.resources.mongodbatlas.$Module.class, fqn = "awscdk-resources-mongodbatlas.CfnThirdPartyIntegrationProps")
@software.amazon.jsii.Jsii.Proxy(CfnThirdPartyIntegrationProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface CfnThirdPartyIntegrationProps extends software.amazon.jsii.JsiiSerializable {
/**
* Key that allows MongoDB Cloud to access your Opsgenie/Datadog account.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getApiKey() {
return null;
}
/**
* Key that allows MongoDB Cloud to access your Slack account.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getApiToken() {
return null;
}
/**
* Name of the Slack channel to which MongoDB Cloud sends alert notifications.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getChannelName() {
return null;
}
/**
* Flag that indicates whether someone has activated the Prometheus integration.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getEnabled() {
return null;
}
/**
* Combination of IPv4 address and Internet Assigned Numbers Authority (IANA) port or the IANA port alone to which Prometheus binds to ingest MongoDB metrics.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getListenAddress() {
return null;
}
/**
* Endpoint web address of the Microsoft Teams webhook to which MongoDB Cloud sends notifications.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getMicrosoftTeamsWebhookUrl() {
return null;
}
/**
* Password required for your integration with Prometheus.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getPassword() {
return null;
}
/**
* The profile is defined in AWS Secret manager.
*
* See Secret Manager Profile setup.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getProfile() {
return null;
}
/**
* Unique 24-hexadecimal digit string that identifies your project.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getProjectId() {
return null;
}
/**
* Two-letter code that indicates which regional URL MongoDB uses to access the Opsgenie/Datadog API.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getRegion() {
return null;
}
/**
* Routing key associated with your Splunk On-Call account.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getRoutingKey() {
return null;
}
/**
* Security Scheme to apply to HyperText Transfer Protocol (HTTP) traffic between Prometheus and MongoDB Cloud.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationPropsScheme getScheme() {
return null;
}
/**
* Parameter returned if someone configure this webhook with a secret.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getSecret() {
return null;
}
/**
* Desired method to discover the Prometheus service.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationPropsServiceDiscovery getServiceDiscovery() {
return null;
}
/**
* Service key associated with your PagerDuty account.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getServiceKey() {
return null;
}
/**
* Human-readable label that identifies your Slack team.
*
* Set this parameter when you configure a legacy Slack integration.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getTeamName() {
return null;
}
/**
* Root-relative path to the Transport Layer Security (TLS) Privacy Enhanced Mail (PEM) key and certificate file on the host.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getTlsPemPath() {
return null;
}
/**
* Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud.
*
* The value must match the third-party service integration type.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationPropsType getType() {
return null;
}
/**
* Endpoint web address to which MongoDB Cloud sends notifications.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getUrl() {
return null;
}
/**
* Human-readable label that identifies your Prometheus incoming webhook.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getUserName() {
return null;
}
/**
* @return a {@link Builder} of {@link CfnThirdPartyIntegrationProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link CfnThirdPartyIntegrationProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
java.lang.String apiKey;
java.lang.String apiToken;
java.lang.String channelName;
java.lang.Boolean enabled;
java.lang.String listenAddress;
java.lang.String microsoftTeamsWebhookUrl;
java.lang.String password;
java.lang.String profile;
java.lang.String projectId;
java.lang.String region;
java.lang.String routingKey;
org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationPropsScheme scheme;
java.lang.String secret;
org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationPropsServiceDiscovery serviceDiscovery;
java.lang.String serviceKey;
java.lang.String teamName;
java.lang.String tlsPemPath;
org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationPropsType type;
java.lang.String url;
java.lang.String userName;
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getApiKey}
* @param apiKey Key that allows MongoDB Cloud to access your Opsgenie/Datadog account.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder apiKey(java.lang.String apiKey) {
this.apiKey = apiKey;
return this;
}
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getApiToken}
* @param apiToken Key that allows MongoDB Cloud to access your Slack account.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder apiToken(java.lang.String apiToken) {
this.apiToken = apiToken;
return this;
}
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getChannelName}
* @param channelName Name of the Slack channel to which MongoDB Cloud sends alert notifications.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder channelName(java.lang.String channelName) {
this.channelName = channelName;
return this;
}
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getEnabled}
* @param enabled Flag that indicates whether someone has activated the Prometheus integration.
* @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 CfnThirdPartyIntegrationProps#getListenAddress}
* @param listenAddress Combination of IPv4 address and Internet Assigned Numbers Authority (IANA) port or the IANA port alone to which Prometheus binds to ingest MongoDB metrics.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder listenAddress(java.lang.String listenAddress) {
this.listenAddress = listenAddress;
return this;
}
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getMicrosoftTeamsWebhookUrl}
* @param microsoftTeamsWebhookUrl Endpoint web address of the Microsoft Teams webhook to which MongoDB Cloud sends notifications.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder microsoftTeamsWebhookUrl(java.lang.String microsoftTeamsWebhookUrl) {
this.microsoftTeamsWebhookUrl = microsoftTeamsWebhookUrl;
return this;
}
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getPassword}
* @param password Password required for your integration with Prometheus.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder password(java.lang.String password) {
this.password = password;
return this;
}
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getProfile}
* @param profile The profile is defined in AWS Secret manager.
* See Secret Manager Profile setup.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder profile(java.lang.String profile) {
this.profile = profile;
return this;
}
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getProjectId}
* @param projectId Unique 24-hexadecimal digit string that identifies your project.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder projectId(java.lang.String projectId) {
this.projectId = projectId;
return this;
}
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getRegion}
* @param region Two-letter code that indicates which regional URL MongoDB uses to access the Opsgenie/Datadog API.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder region(java.lang.String region) {
this.region = region;
return this;
}
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getRoutingKey}
* @param routingKey Routing key associated with your Splunk On-Call account.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder routingKey(java.lang.String routingKey) {
this.routingKey = routingKey;
return this;
}
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getScheme}
* @param scheme Security Scheme to apply to HyperText Transfer Protocol (HTTP) traffic between Prometheus and MongoDB Cloud.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder scheme(org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationPropsScheme scheme) {
this.scheme = scheme;
return this;
}
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getSecret}
* @param secret Parameter returned if someone configure this webhook with a secret.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder secret(java.lang.String secret) {
this.secret = secret;
return this;
}
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getServiceDiscovery}
* @param serviceDiscovery Desired method to discover the Prometheus service.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder serviceDiscovery(org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationPropsServiceDiscovery serviceDiscovery) {
this.serviceDiscovery = serviceDiscovery;
return this;
}
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getServiceKey}
* @param serviceKey Service key associated with your PagerDuty account.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder serviceKey(java.lang.String serviceKey) {
this.serviceKey = serviceKey;
return this;
}
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getTeamName}
* @param teamName Human-readable label that identifies your Slack team.
* Set this parameter when you configure a legacy Slack integration.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder teamName(java.lang.String teamName) {
this.teamName = teamName;
return this;
}
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getTlsPemPath}
* @param tlsPemPath Root-relative path to the Transport Layer Security (TLS) Privacy Enhanced Mail (PEM) key and certificate file on the host.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder tlsPemPath(java.lang.String tlsPemPath) {
this.tlsPemPath = tlsPemPath;
return this;
}
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getType}
* @param type Human-readable label that identifies the service to which you want to integrate with MongoDB Cloud.
* The value must match the third-party service integration type.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder type(org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationPropsType type) {
this.type = type;
return this;
}
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getUrl}
* @param url Endpoint web address to which MongoDB Cloud sends notifications.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder url(java.lang.String url) {
this.url = url;
return this;
}
/**
* Sets the value of {@link CfnThirdPartyIntegrationProps#getUserName}
* @param userName Human-readable label that identifies your Prometheus incoming webhook.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder userName(java.lang.String userName) {
this.userName = userName;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link CfnThirdPartyIntegrationProps}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public CfnThirdPartyIntegrationProps build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link CfnThirdPartyIntegrationProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CfnThirdPartyIntegrationProps {
private final java.lang.String apiKey;
private final java.lang.String apiToken;
private final java.lang.String channelName;
private final java.lang.Boolean enabled;
private final java.lang.String listenAddress;
private final java.lang.String microsoftTeamsWebhookUrl;
private final java.lang.String password;
private final java.lang.String profile;
private final java.lang.String projectId;
private final java.lang.String region;
private final java.lang.String routingKey;
private final org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationPropsScheme scheme;
private final java.lang.String secret;
private final org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationPropsServiceDiscovery serviceDiscovery;
private final java.lang.String serviceKey;
private final java.lang.String teamName;
private final java.lang.String tlsPemPath;
private final org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationPropsType type;
private final java.lang.String url;
private final java.lang.String userName;
/**
* 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.apiKey = software.amazon.jsii.Kernel.get(this, "apiKey", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.apiToken = software.amazon.jsii.Kernel.get(this, "apiToken", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.channelName = software.amazon.jsii.Kernel.get(this, "channelName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.enabled = software.amazon.jsii.Kernel.get(this, "enabled", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
this.listenAddress = software.amazon.jsii.Kernel.get(this, "listenAddress", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.microsoftTeamsWebhookUrl = software.amazon.jsii.Kernel.get(this, "microsoftTeamsWebhookUrl", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.password = software.amazon.jsii.Kernel.get(this, "password", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.profile = software.amazon.jsii.Kernel.get(this, "profile", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.projectId = software.amazon.jsii.Kernel.get(this, "projectId", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.region = software.amazon.jsii.Kernel.get(this, "region", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.routingKey = software.amazon.jsii.Kernel.get(this, "routingKey", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.scheme = software.amazon.jsii.Kernel.get(this, "scheme", software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationPropsScheme.class));
this.secret = software.amazon.jsii.Kernel.get(this, "secret", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.serviceDiscovery = software.amazon.jsii.Kernel.get(this, "serviceDiscovery", software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationPropsServiceDiscovery.class));
this.serviceKey = software.amazon.jsii.Kernel.get(this, "serviceKey", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.teamName = software.amazon.jsii.Kernel.get(this, "teamName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.tlsPemPath = software.amazon.jsii.Kernel.get(this, "tlsPemPath", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.type = software.amazon.jsii.Kernel.get(this, "type", software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationPropsType.class));
this.url = software.amazon.jsii.Kernel.get(this, "url", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.userName = software.amazon.jsii.Kernel.get(this, "userName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
protected Jsii$Proxy(final Builder builder) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.apiKey = builder.apiKey;
this.apiToken = builder.apiToken;
this.channelName = builder.channelName;
this.enabled = builder.enabled;
this.listenAddress = builder.listenAddress;
this.microsoftTeamsWebhookUrl = builder.microsoftTeamsWebhookUrl;
this.password = builder.password;
this.profile = builder.profile;
this.projectId = builder.projectId;
this.region = builder.region;
this.routingKey = builder.routingKey;
this.scheme = builder.scheme;
this.secret = builder.secret;
this.serviceDiscovery = builder.serviceDiscovery;
this.serviceKey = builder.serviceKey;
this.teamName = builder.teamName;
this.tlsPemPath = builder.tlsPemPath;
this.type = builder.type;
this.url = builder.url;
this.userName = builder.userName;
}
@Override
public final java.lang.String getApiKey() {
return this.apiKey;
}
@Override
public final java.lang.String getApiToken() {
return this.apiToken;
}
@Override
public final java.lang.String getChannelName() {
return this.channelName;
}
@Override
public final java.lang.Boolean getEnabled() {
return this.enabled;
}
@Override
public final java.lang.String getListenAddress() {
return this.listenAddress;
}
@Override
public final java.lang.String getMicrosoftTeamsWebhookUrl() {
return this.microsoftTeamsWebhookUrl;
}
@Override
public final java.lang.String getPassword() {
return this.password;
}
@Override
public final java.lang.String getProfile() {
return this.profile;
}
@Override
public final java.lang.String getProjectId() {
return this.projectId;
}
@Override
public final java.lang.String getRegion() {
return this.region;
}
@Override
public final java.lang.String getRoutingKey() {
return this.routingKey;
}
@Override
public final org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationPropsScheme getScheme() {
return this.scheme;
}
@Override
public final java.lang.String getSecret() {
return this.secret;
}
@Override
public final org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationPropsServiceDiscovery getServiceDiscovery() {
return this.serviceDiscovery;
}
@Override
public final java.lang.String getServiceKey() {
return this.serviceKey;
}
@Override
public final java.lang.String getTeamName() {
return this.teamName;
}
@Override
public final java.lang.String getTlsPemPath() {
return this.tlsPemPath;
}
@Override
public final org.mongodb.awscdk.resources.mongodbatlas.CfnThirdPartyIntegrationPropsType getType() {
return this.type;
}
@Override
public final java.lang.String getUrl() {
return this.url;
}
@Override
public final java.lang.String getUserName() {
return this.userName;
}
@Override
@software.amazon.jsii.Internal
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
if (this.getApiKey() != null) {
data.set("apiKey", om.valueToTree(this.getApiKey()));
}
if (this.getApiToken() != null) {
data.set("apiToken", om.valueToTree(this.getApiToken()));
}
if (this.getChannelName() != null) {
data.set("channelName", om.valueToTree(this.getChannelName()));
}
if (this.getEnabled() != null) {
data.set("enabled", om.valueToTree(this.getEnabled()));
}
if (this.getListenAddress() != null) {
data.set("listenAddress", om.valueToTree(this.getListenAddress()));
}
if (this.getMicrosoftTeamsWebhookUrl() != null) {
data.set("microsoftTeamsWebhookUrl", om.valueToTree(this.getMicrosoftTeamsWebhookUrl()));
}
if (this.getPassword() != null) {
data.set("password", om.valueToTree(this.getPassword()));
}
if (this.getProfile() != null) {
data.set("profile", om.valueToTree(this.getProfile()));
}
if (this.getProjectId() != null) {
data.set("projectId", om.valueToTree(this.getProjectId()));
}
if (this.getRegion() != null) {
data.set("region", om.valueToTree(this.getRegion()));
}
if (this.getRoutingKey() != null) {
data.set("routingKey", om.valueToTree(this.getRoutingKey()));
}
if (this.getScheme() != null) {
data.set("scheme", om.valueToTree(this.getScheme()));
}
if (this.getSecret() != null) {
data.set("secret", om.valueToTree(this.getSecret()));
}
if (this.getServiceDiscovery() != null) {
data.set("serviceDiscovery", om.valueToTree(this.getServiceDiscovery()));
}
if (this.getServiceKey() != null) {
data.set("serviceKey", om.valueToTree(this.getServiceKey()));
}
if (this.getTeamName() != null) {
data.set("teamName", om.valueToTree(this.getTeamName()));
}
if (this.getTlsPemPath() != null) {
data.set("tlsPemPath", om.valueToTree(this.getTlsPemPath()));
}
if (this.getType() != null) {
data.set("type", om.valueToTree(this.getType()));
}
if (this.getUrl() != null) {
data.set("url", om.valueToTree(this.getUrl()));
}
if (this.getUserName() != null) {
data.set("userName", om.valueToTree(this.getUserName()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("awscdk-resources-mongodbatlas.CfnThirdPartyIntegrationProps"));
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;
CfnThirdPartyIntegrationProps.Jsii$Proxy that = (CfnThirdPartyIntegrationProps.Jsii$Proxy) o;
if (this.apiKey != null ? !this.apiKey.equals(that.apiKey) : that.apiKey != null) return false;
if (this.apiToken != null ? !this.apiToken.equals(that.apiToken) : that.apiToken != null) return false;
if (this.channelName != null ? !this.channelName.equals(that.channelName) : that.channelName != null) return false;
if (this.enabled != null ? !this.enabled.equals(that.enabled) : that.enabled != null) return false;
if (this.listenAddress != null ? !this.listenAddress.equals(that.listenAddress) : that.listenAddress != null) return false;
if (this.microsoftTeamsWebhookUrl != null ? !this.microsoftTeamsWebhookUrl.equals(that.microsoftTeamsWebhookUrl) : that.microsoftTeamsWebhookUrl != null) return false;
if (this.password != null ? !this.password.equals(that.password) : that.password != null) return false;
if (this.profile != null ? !this.profile.equals(that.profile) : that.profile != null) return false;
if (this.projectId != null ? !this.projectId.equals(that.projectId) : that.projectId != null) return false;
if (this.region != null ? !this.region.equals(that.region) : that.region != null) return false;
if (this.routingKey != null ? !this.routingKey.equals(that.routingKey) : that.routingKey != null) return false;
if (this.scheme != null ? !this.scheme.equals(that.scheme) : that.scheme != null) return false;
if (this.secret != null ? !this.secret.equals(that.secret) : that.secret != null) return false;
if (this.serviceDiscovery != null ? !this.serviceDiscovery.equals(that.serviceDiscovery) : that.serviceDiscovery != null) return false;
if (this.serviceKey != null ? !this.serviceKey.equals(that.serviceKey) : that.serviceKey != null) return false;
if (this.teamName != null ? !this.teamName.equals(that.teamName) : that.teamName != null) return false;
if (this.tlsPemPath != null ? !this.tlsPemPath.equals(that.tlsPemPath) : that.tlsPemPath != null) return false;
if (this.type != null ? !this.type.equals(that.type) : that.type != null) return false;
if (this.url != null ? !this.url.equals(that.url) : that.url != null) return false;
return this.userName != null ? this.userName.equals(that.userName) : that.userName == null;
}
@Override
public final int hashCode() {
int result = this.apiKey != null ? this.apiKey.hashCode() : 0;
result = 31 * result + (this.apiToken != null ? this.apiToken.hashCode() : 0);
result = 31 * result + (this.channelName != null ? this.channelName.hashCode() : 0);
result = 31 * result + (this.enabled != null ? this.enabled.hashCode() : 0);
result = 31 * result + (this.listenAddress != null ? this.listenAddress.hashCode() : 0);
result = 31 * result + (this.microsoftTeamsWebhookUrl != null ? this.microsoftTeamsWebhookUrl.hashCode() : 0);
result = 31 * result + (this.password != null ? this.password.hashCode() : 0);
result = 31 * result + (this.profile != null ? this.profile.hashCode() : 0);
result = 31 * result + (this.projectId != null ? this.projectId.hashCode() : 0);
result = 31 * result + (this.region != null ? this.region.hashCode() : 0);
result = 31 * result + (this.routingKey != null ? this.routingKey.hashCode() : 0);
result = 31 * result + (this.scheme != null ? this.scheme.hashCode() : 0);
result = 31 * result + (this.secret != null ? this.secret.hashCode() : 0);
result = 31 * result + (this.serviceDiscovery != null ? this.serviceDiscovery.hashCode() : 0);
result = 31 * result + (this.serviceKey != null ? this.serviceKey.hashCode() : 0);
result = 31 * result + (this.teamName != null ? this.teamName.hashCode() : 0);
result = 31 * result + (this.tlsPemPath != null ? this.tlsPemPath.hashCode() : 0);
result = 31 * result + (this.type != null ? this.type.hashCode() : 0);
result = 31 * result + (this.url != null ? this.url.hashCode() : 0);
result = 31 * result + (this.userName != null ? this.userName.hashCode() : 0);
return result;
}
}
}