com.google.api.services.securitycenter.v1.model.NotificationConfig Maven / Gradle / Ivy
/*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
/*
* This code was generated by https://github.com/googleapis/google-api-java-client-services/
* Modify at your own risk.
*/
package com.google.api.services.securitycenter.v1.model;
/**
* Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud
* SCC resource that contains the configuration to send notifications for create/update events of
* findings, assets and etc.
*
* This is the Java data model class that specifies how to parse/serialize into the JSON that is
* transmitted over HTTP when working with the Security Command Center API. For a detailed
* explanation see:
* https://developers.google.com/api-client-library/java/google-http-java-client/json
*
*
* @author Google, Inc.
*/
@SuppressWarnings("javadoc")
public final class NotificationConfig extends com.google.api.client.json.GenericJson {
/**
* The description of the notification config (max of 1024 characters).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String description;
/**
* The relative resource name of this notification config. See:
* https://cloud.google.com/apis/design/resource_names#relative_resource_name Example:
* "organizations/{organization_id}/notificationConfigs/notify_public_bucket",
* "folders/{folder_id}/notificationConfigs/notify_public_bucket", or
* "projects/{project_id}/notificationConfigs/notify_public_bucket".
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String name;
/**
* The Pub/Sub topic to send notifications to. Its format is
* "projects/[project_id]/topics/[topic]".
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String pubsubTopic;
/**
* Output only. The service account that needs "pubsub.topics.publish" permission to publish to
* the Pub/Sub topic.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String serviceAccount;
/**
* The config for triggering streaming-based notifications.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private StreamingConfig streamingConfig;
/**
* The description of the notification config (max of 1024 characters).
* @return value or {@code null} for none
*/
public java.lang.String getDescription() {
return description;
}
/**
* The description of the notification config (max of 1024 characters).
* @param description description or {@code null} for none
*/
public NotificationConfig setDescription(java.lang.String description) {
this.description = description;
return this;
}
/**
* The relative resource name of this notification config. See:
* https://cloud.google.com/apis/design/resource_names#relative_resource_name Example:
* "organizations/{organization_id}/notificationConfigs/notify_public_bucket",
* "folders/{folder_id}/notificationConfigs/notify_public_bucket", or
* "projects/{project_id}/notificationConfigs/notify_public_bucket".
* @return value or {@code null} for none
*/
public java.lang.String getName() {
return name;
}
/**
* The relative resource name of this notification config. See:
* https://cloud.google.com/apis/design/resource_names#relative_resource_name Example:
* "organizations/{organization_id}/notificationConfigs/notify_public_bucket",
* "folders/{folder_id}/notificationConfigs/notify_public_bucket", or
* "projects/{project_id}/notificationConfigs/notify_public_bucket".
* @param name name or {@code null} for none
*/
public NotificationConfig setName(java.lang.String name) {
this.name = name;
return this;
}
/**
* The Pub/Sub topic to send notifications to. Its format is
* "projects/[project_id]/topics/[topic]".
* @return value or {@code null} for none
*/
public java.lang.String getPubsubTopic() {
return pubsubTopic;
}
/**
* The Pub/Sub topic to send notifications to. Its format is
* "projects/[project_id]/topics/[topic]".
* @param pubsubTopic pubsubTopic or {@code null} for none
*/
public NotificationConfig setPubsubTopic(java.lang.String pubsubTopic) {
this.pubsubTopic = pubsubTopic;
return this;
}
/**
* Output only. The service account that needs "pubsub.topics.publish" permission to publish to
* the Pub/Sub topic.
* @return value or {@code null} for none
*/
public java.lang.String getServiceAccount() {
return serviceAccount;
}
/**
* Output only. The service account that needs "pubsub.topics.publish" permission to publish to
* the Pub/Sub topic.
* @param serviceAccount serviceAccount or {@code null} for none
*/
public NotificationConfig setServiceAccount(java.lang.String serviceAccount) {
this.serviceAccount = serviceAccount;
return this;
}
/**
* The config for triggering streaming-based notifications.
* @return value or {@code null} for none
*/
public StreamingConfig getStreamingConfig() {
return streamingConfig;
}
/**
* The config for triggering streaming-based notifications.
* @param streamingConfig streamingConfig or {@code null} for none
*/
public NotificationConfig setStreamingConfig(StreamingConfig streamingConfig) {
this.streamingConfig = streamingConfig;
return this;
}
@Override
public NotificationConfig set(String fieldName, Object value) {
return (NotificationConfig) super.set(fieldName, value);
}
@Override
public NotificationConfig clone() {
return (NotificationConfig) super.clone();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy