All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.aws.ec2.inputs.VpcEndpointConnectionNotificationState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
Show newest version
// *** 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.aws.ec2.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class VpcEndpointConnectionNotificationState extends com.pulumi.resources.ResourceArgs {

    public static final VpcEndpointConnectionNotificationState Empty = new VpcEndpointConnectionNotificationState();

    /**
     * One or more endpoint [events](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVpcEndpointConnectionNotification.html#API_CreateVpcEndpointConnectionNotification_RequestParameters) for which to receive notifications.
     * 
     * > **NOTE:** One of `vpc_endpoint_service_id` or `vpc_endpoint_id` must be specified.
     * 
     */
    @Import(name="connectionEvents")
    private @Nullable Output> connectionEvents;

    /**
     * @return One or more endpoint [events](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVpcEndpointConnectionNotification.html#API_CreateVpcEndpointConnectionNotification_RequestParameters) for which to receive notifications.
     * 
     * > **NOTE:** One of `vpc_endpoint_service_id` or `vpc_endpoint_id` must be specified.
     * 
     */
    public Optional>> connectionEvents() {
        return Optional.ofNullable(this.connectionEvents);
    }

    /**
     * The ARN of the SNS topic for the notifications.
     * 
     */
    @Import(name="connectionNotificationArn")
    private @Nullable Output connectionNotificationArn;

    /**
     * @return The ARN of the SNS topic for the notifications.
     * 
     */
    public Optional> connectionNotificationArn() {
        return Optional.ofNullable(this.connectionNotificationArn);
    }

    /**
     * The type of notification.
     * 
     */
    @Import(name="notificationType")
    private @Nullable Output notificationType;

    /**
     * @return The type of notification.
     * 
     */
    public Optional> notificationType() {
        return Optional.ofNullable(this.notificationType);
    }

    /**
     * The state of the notification.
     * 
     */
    @Import(name="state")
    private @Nullable Output state;

    /**
     * @return The state of the notification.
     * 
     */
    public Optional> state() {
        return Optional.ofNullable(this.state);
    }

    /**
     * The ID of the VPC Endpoint to receive notifications for.
     * 
     */
    @Import(name="vpcEndpointId")
    private @Nullable Output vpcEndpointId;

    /**
     * @return The ID of the VPC Endpoint to receive notifications for.
     * 
     */
    public Optional> vpcEndpointId() {
        return Optional.ofNullable(this.vpcEndpointId);
    }

    /**
     * The ID of the VPC Endpoint Service to receive notifications for.
     * 
     */
    @Import(name="vpcEndpointServiceId")
    private @Nullable Output vpcEndpointServiceId;

    /**
     * @return The ID of the VPC Endpoint Service to receive notifications for.
     * 
     */
    public Optional> vpcEndpointServiceId() {
        return Optional.ofNullable(this.vpcEndpointServiceId);
    }

    private VpcEndpointConnectionNotificationState() {}

    private VpcEndpointConnectionNotificationState(VpcEndpointConnectionNotificationState $) {
        this.connectionEvents = $.connectionEvents;
        this.connectionNotificationArn = $.connectionNotificationArn;
        this.notificationType = $.notificationType;
        this.state = $.state;
        this.vpcEndpointId = $.vpcEndpointId;
        this.vpcEndpointServiceId = $.vpcEndpointServiceId;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(VpcEndpointConnectionNotificationState defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private VpcEndpointConnectionNotificationState $;

        public Builder() {
            $ = new VpcEndpointConnectionNotificationState();
        }

        public Builder(VpcEndpointConnectionNotificationState defaults) {
            $ = new VpcEndpointConnectionNotificationState(Objects.requireNonNull(defaults));
        }

        /**
         * @param connectionEvents One or more endpoint [events](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVpcEndpointConnectionNotification.html#API_CreateVpcEndpointConnectionNotification_RequestParameters) for which to receive notifications.
         * 
         * > **NOTE:** One of `vpc_endpoint_service_id` or `vpc_endpoint_id` must be specified.
         * 
         * @return builder
         * 
         */
        public Builder connectionEvents(@Nullable Output> connectionEvents) {
            $.connectionEvents = connectionEvents;
            return this;
        }

        /**
         * @param connectionEvents One or more endpoint [events](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVpcEndpointConnectionNotification.html#API_CreateVpcEndpointConnectionNotification_RequestParameters) for which to receive notifications.
         * 
         * > **NOTE:** One of `vpc_endpoint_service_id` or `vpc_endpoint_id` must be specified.
         * 
         * @return builder
         * 
         */
        public Builder connectionEvents(List connectionEvents) {
            return connectionEvents(Output.of(connectionEvents));
        }

        /**
         * @param connectionEvents One or more endpoint [events](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVpcEndpointConnectionNotification.html#API_CreateVpcEndpointConnectionNotification_RequestParameters) for which to receive notifications.
         * 
         * > **NOTE:** One of `vpc_endpoint_service_id` or `vpc_endpoint_id` must be specified.
         * 
         * @return builder
         * 
         */
        public Builder connectionEvents(String... connectionEvents) {
            return connectionEvents(List.of(connectionEvents));
        }

        /**
         * @param connectionNotificationArn The ARN of the SNS topic for the notifications.
         * 
         * @return builder
         * 
         */
        public Builder connectionNotificationArn(@Nullable Output connectionNotificationArn) {
            $.connectionNotificationArn = connectionNotificationArn;
            return this;
        }

        /**
         * @param connectionNotificationArn The ARN of the SNS topic for the notifications.
         * 
         * @return builder
         * 
         */
        public Builder connectionNotificationArn(String connectionNotificationArn) {
            return connectionNotificationArn(Output.of(connectionNotificationArn));
        }

        /**
         * @param notificationType The type of notification.
         * 
         * @return builder
         * 
         */
        public Builder notificationType(@Nullable Output notificationType) {
            $.notificationType = notificationType;
            return this;
        }

        /**
         * @param notificationType The type of notification.
         * 
         * @return builder
         * 
         */
        public Builder notificationType(String notificationType) {
            return notificationType(Output.of(notificationType));
        }

        /**
         * @param state The state of the notification.
         * 
         * @return builder
         * 
         */
        public Builder state(@Nullable Output state) {
            $.state = state;
            return this;
        }

        /**
         * @param state The state of the notification.
         * 
         * @return builder
         * 
         */
        public Builder state(String state) {
            return state(Output.of(state));
        }

        /**
         * @param vpcEndpointId The ID of the VPC Endpoint to receive notifications for.
         * 
         * @return builder
         * 
         */
        public Builder vpcEndpointId(@Nullable Output vpcEndpointId) {
            $.vpcEndpointId = vpcEndpointId;
            return this;
        }

        /**
         * @param vpcEndpointId The ID of the VPC Endpoint to receive notifications for.
         * 
         * @return builder
         * 
         */
        public Builder vpcEndpointId(String vpcEndpointId) {
            return vpcEndpointId(Output.of(vpcEndpointId));
        }

        /**
         * @param vpcEndpointServiceId The ID of the VPC Endpoint Service to receive notifications for.
         * 
         * @return builder
         * 
         */
        public Builder vpcEndpointServiceId(@Nullable Output vpcEndpointServiceId) {
            $.vpcEndpointServiceId = vpcEndpointServiceId;
            return this;
        }

        /**
         * @param vpcEndpointServiceId The ID of the VPC Endpoint Service to receive notifications for.
         * 
         * @return builder
         * 
         */
        public Builder vpcEndpointServiceId(String vpcEndpointServiceId) {
            return vpcEndpointServiceId(Output.of(vpcEndpointServiceId));
        }

        public VpcEndpointConnectionNotificationState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy