All Downloads are FREE. Search and download functionalities are using the official Maven repository.
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.alicloud.eventbridge.EventSourceArgs Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing AliCloud resources.
// *** 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.alicloud.eventbridge;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class EventSourceArgs extends com.pulumi.resources.ResourceArgs {
public static final EventSourceArgs Empty = new EventSourceArgs();
/**
* The detail describe of event source.
*
*/
@Import(name="description")
private @Nullable Output description;
/**
* @return The detail describe of event source.
*
*/
public Optional> description() {
return Optional.ofNullable(this.description);
}
/**
* The name of event bus.
*
*/
@Import(name="eventBusName", required=true)
private Output eventBusName;
/**
* @return The name of event bus.
*
*/
public Output eventBusName() {
return this.eventBusName;
}
/**
* The code name of event source.
*
*/
@Import(name="eventSourceName", required=true)
private Output eventSourceName;
/**
* @return The code name of event source.
*
*/
public Output eventSourceName() {
return this.eventSourceName;
}
/**
* The config of external source.
* When `external_source_type` is `RabbitMQ`, The following attributes are supported:
* `RegionId` - The region ID of RabbitMQ.
* `InstanceId` - The instance ID of RabbitMQ.
* `VirtualHostName` - The virtual host name of RabbitMQ.
* `QueueName` - The queue name of RabbitMQ.
* When `external_source_type` is `RabbitMQ`, The following attributes are supported:
* `RegionId` - The region ID of RabbitMQ.
* `InstanceId` - The instance ID of RabbitMQ.
* `Topic` - The topic of RabbitMQ.
* `Offset` - The offset of RabbitMQ, valid values: `CONSUME_FROM_FIRST_OFFSET`, `CONSUME_FROM_LAST_OFFSET` and `CONSUME_FROM_TIMESTAMP`.
* `GroupID` - The group ID of consumer.
* When `external_source_type` is `MNS`, The following attributes are supported:
* `QueueName` - The queue name of MNS.
*
*/
@Import(name="externalSourceConfig")
private @Nullable Output> externalSourceConfig;
/**
* @return The config of external source.
* When `external_source_type` is `RabbitMQ`, The following attributes are supported:
* `RegionId` - The region ID of RabbitMQ.
* `InstanceId` - The instance ID of RabbitMQ.
* `VirtualHostName` - The virtual host name of RabbitMQ.
* `QueueName` - The queue name of RabbitMQ.
* When `external_source_type` is `RabbitMQ`, The following attributes are supported:
* `RegionId` - The region ID of RabbitMQ.
* `InstanceId` - The instance ID of RabbitMQ.
* `Topic` - The topic of RabbitMQ.
* `Offset` - The offset of RabbitMQ, valid values: `CONSUME_FROM_FIRST_OFFSET`, `CONSUME_FROM_LAST_OFFSET` and `CONSUME_FROM_TIMESTAMP`.
* `GroupID` - The group ID of consumer.
* When `external_source_type` is `MNS`, The following attributes are supported:
* `QueueName` - The queue name of MNS.
*
*/
public Optional>> externalSourceConfig() {
return Optional.ofNullable(this.externalSourceConfig);
}
/**
* The type of external data source. Valid value : `RabbitMQ`, `RocketMQ` and `MNS`. **NOTE:** Only When `linked_external_source` is `true`, This field is valid.
*
*/
@Import(name="externalSourceType")
private @Nullable Output externalSourceType;
/**
* @return The type of external data source. Valid value : `RabbitMQ`, `RocketMQ` and `MNS`. **NOTE:** Only When `linked_external_source` is `true`, This field is valid.
*
*/
public Optional> externalSourceType() {
return Optional.ofNullable(this.externalSourceType);
}
/**
* Whether to connect to an external data source. Default value: `false`
*
*/
@Import(name="linkedExternalSource")
private @Nullable Output linkedExternalSource;
/**
* @return Whether to connect to an external data source. Default value: `false`
*
*/
public Optional> linkedExternalSource() {
return Optional.ofNullable(this.linkedExternalSource);
}
private EventSourceArgs() {}
private EventSourceArgs(EventSourceArgs $) {
this.description = $.description;
this.eventBusName = $.eventBusName;
this.eventSourceName = $.eventSourceName;
this.externalSourceConfig = $.externalSourceConfig;
this.externalSourceType = $.externalSourceType;
this.linkedExternalSource = $.linkedExternalSource;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(EventSourceArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private EventSourceArgs $;
public Builder() {
$ = new EventSourceArgs();
}
public Builder(EventSourceArgs defaults) {
$ = new EventSourceArgs(Objects.requireNonNull(defaults));
}
/**
* @param description The detail describe of event source.
*
* @return builder
*
*/
public Builder description(@Nullable Output description) {
$.description = description;
return this;
}
/**
* @param description The detail describe of event source.
*
* @return builder
*
*/
public Builder description(String description) {
return description(Output.of(description));
}
/**
* @param eventBusName The name of event bus.
*
* @return builder
*
*/
public Builder eventBusName(Output eventBusName) {
$.eventBusName = eventBusName;
return this;
}
/**
* @param eventBusName The name of event bus.
*
* @return builder
*
*/
public Builder eventBusName(String eventBusName) {
return eventBusName(Output.of(eventBusName));
}
/**
* @param eventSourceName The code name of event source.
*
* @return builder
*
*/
public Builder eventSourceName(Output eventSourceName) {
$.eventSourceName = eventSourceName;
return this;
}
/**
* @param eventSourceName The code name of event source.
*
* @return builder
*
*/
public Builder eventSourceName(String eventSourceName) {
return eventSourceName(Output.of(eventSourceName));
}
/**
* @param externalSourceConfig The config of external source.
* When `external_source_type` is `RabbitMQ`, The following attributes are supported:
* `RegionId` - The region ID of RabbitMQ.
* `InstanceId` - The instance ID of RabbitMQ.
* `VirtualHostName` - The virtual host name of RabbitMQ.
* `QueueName` - The queue name of RabbitMQ.
* When `external_source_type` is `RabbitMQ`, The following attributes are supported:
* `RegionId` - The region ID of RabbitMQ.
* `InstanceId` - The instance ID of RabbitMQ.
* `Topic` - The topic of RabbitMQ.
* `Offset` - The offset of RabbitMQ, valid values: `CONSUME_FROM_FIRST_OFFSET`, `CONSUME_FROM_LAST_OFFSET` and `CONSUME_FROM_TIMESTAMP`.
* `GroupID` - The group ID of consumer.
* When `external_source_type` is `MNS`, The following attributes are supported:
* `QueueName` - The queue name of MNS.
*
* @return builder
*
*/
public Builder externalSourceConfig(@Nullable Output> externalSourceConfig) {
$.externalSourceConfig = externalSourceConfig;
return this;
}
/**
* @param externalSourceConfig The config of external source.
* When `external_source_type` is `RabbitMQ`, The following attributes are supported:
* `RegionId` - The region ID of RabbitMQ.
* `InstanceId` - The instance ID of RabbitMQ.
* `VirtualHostName` - The virtual host name of RabbitMQ.
* `QueueName` - The queue name of RabbitMQ.
* When `external_source_type` is `RabbitMQ`, The following attributes are supported:
* `RegionId` - The region ID of RabbitMQ.
* `InstanceId` - The instance ID of RabbitMQ.
* `Topic` - The topic of RabbitMQ.
* `Offset` - The offset of RabbitMQ, valid values: `CONSUME_FROM_FIRST_OFFSET`, `CONSUME_FROM_LAST_OFFSET` and `CONSUME_FROM_TIMESTAMP`.
* `GroupID` - The group ID of consumer.
* When `external_source_type` is `MNS`, The following attributes are supported:
* `QueueName` - The queue name of MNS.
*
* @return builder
*
*/
public Builder externalSourceConfig(Map externalSourceConfig) {
return externalSourceConfig(Output.of(externalSourceConfig));
}
/**
* @param externalSourceType The type of external data source. Valid value : `RabbitMQ`, `RocketMQ` and `MNS`. **NOTE:** Only When `linked_external_source` is `true`, This field is valid.
*
* @return builder
*
*/
public Builder externalSourceType(@Nullable Output externalSourceType) {
$.externalSourceType = externalSourceType;
return this;
}
/**
* @param externalSourceType The type of external data source. Valid value : `RabbitMQ`, `RocketMQ` and `MNS`. **NOTE:** Only When `linked_external_source` is `true`, This field is valid.
*
* @return builder
*
*/
public Builder externalSourceType(String externalSourceType) {
return externalSourceType(Output.of(externalSourceType));
}
/**
* @param linkedExternalSource Whether to connect to an external data source. Default value: `false`
*
* @return builder
*
*/
public Builder linkedExternalSource(@Nullable Output linkedExternalSource) {
$.linkedExternalSource = linkedExternalSource;
return this;
}
/**
* @param linkedExternalSource Whether to connect to an external data source. Default value: `false`
*
* @return builder
*
*/
public Builder linkedExternalSource(Boolean linkedExternalSource) {
return linkedExternalSource(Output.of(linkedExternalSource));
}
public EventSourceArgs build() {
if ($.eventBusName == null) {
throw new MissingRequiredPropertyException("EventSourceArgs", "eventBusName");
}
if ($.eventSourceName == null) {
throw new MissingRequiredPropertyException("EventSourceArgs", "eventSourceName");
}
return $;
}
}
}