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

com.pulumi.aws.iot.inputs.TopicRuleErrorActionDynamodbArgs 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.iot.inputs;

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


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

    public static final TopicRuleErrorActionDynamodbArgs Empty = new TopicRuleErrorActionDynamodbArgs();

    /**
     * The hash key name.
     * 
     */
    @Import(name="hashKeyField", required=true)
    private Output hashKeyField;

    /**
     * @return The hash key name.
     * 
     */
    public Output hashKeyField() {
        return this.hashKeyField;
    }

    /**
     * The hash key type. Valid values are "STRING" or "NUMBER".
     * 
     */
    @Import(name="hashKeyType")
    private @Nullable Output hashKeyType;

    /**
     * @return The hash key type. Valid values are "STRING" or "NUMBER".
     * 
     */
    public Optional> hashKeyType() {
        return Optional.ofNullable(this.hashKeyType);
    }

    /**
     * The hash key value.
     * 
     */
    @Import(name="hashKeyValue", required=true)
    private Output hashKeyValue;

    /**
     * @return The hash key value.
     * 
     */
    public Output hashKeyValue() {
        return this.hashKeyValue;
    }

    /**
     * The operation. Valid values are "INSERT", "UPDATE", or "DELETE".
     * 
     */
    @Import(name="operation")
    private @Nullable Output operation;

    /**
     * @return The operation. Valid values are "INSERT", "UPDATE", or "DELETE".
     * 
     */
    public Optional> operation() {
        return Optional.ofNullable(this.operation);
    }

    /**
     * The action payload.
     * 
     */
    @Import(name="payloadField")
    private @Nullable Output payloadField;

    /**
     * @return The action payload.
     * 
     */
    public Optional> payloadField() {
        return Optional.ofNullable(this.payloadField);
    }

    /**
     * The range key name.
     * 
     */
    @Import(name="rangeKeyField")
    private @Nullable Output rangeKeyField;

    /**
     * @return The range key name.
     * 
     */
    public Optional> rangeKeyField() {
        return Optional.ofNullable(this.rangeKeyField);
    }

    /**
     * The range key type. Valid values are "STRING" or "NUMBER".
     * 
     */
    @Import(name="rangeKeyType")
    private @Nullable Output rangeKeyType;

    /**
     * @return The range key type. Valid values are "STRING" or "NUMBER".
     * 
     */
    public Optional> rangeKeyType() {
        return Optional.ofNullable(this.rangeKeyType);
    }

    /**
     * The range key value.
     * 
     */
    @Import(name="rangeKeyValue")
    private @Nullable Output rangeKeyValue;

    /**
     * @return The range key value.
     * 
     */
    public Optional> rangeKeyValue() {
        return Optional.ofNullable(this.rangeKeyValue);
    }

    /**
     * The ARN of the IAM role that grants access to the DynamoDB table.
     * 
     */
    @Import(name="roleArn", required=true)
    private Output roleArn;

    /**
     * @return The ARN of the IAM role that grants access to the DynamoDB table.
     * 
     */
    public Output roleArn() {
        return this.roleArn;
    }

    /**
     * The name of the DynamoDB table.
     * 
     */
    @Import(name="tableName", required=true)
    private Output tableName;

    /**
     * @return The name of the DynamoDB table.
     * 
     */
    public Output tableName() {
        return this.tableName;
    }

    private TopicRuleErrorActionDynamodbArgs() {}

    private TopicRuleErrorActionDynamodbArgs(TopicRuleErrorActionDynamodbArgs $) {
        this.hashKeyField = $.hashKeyField;
        this.hashKeyType = $.hashKeyType;
        this.hashKeyValue = $.hashKeyValue;
        this.operation = $.operation;
        this.payloadField = $.payloadField;
        this.rangeKeyField = $.rangeKeyField;
        this.rangeKeyType = $.rangeKeyType;
        this.rangeKeyValue = $.rangeKeyValue;
        this.roleArn = $.roleArn;
        this.tableName = $.tableName;
    }

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

    public static final class Builder {
        private TopicRuleErrorActionDynamodbArgs $;

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

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

        /**
         * @param hashKeyField The hash key name.
         * 
         * @return builder
         * 
         */
        public Builder hashKeyField(Output hashKeyField) {
            $.hashKeyField = hashKeyField;
            return this;
        }

        /**
         * @param hashKeyField The hash key name.
         * 
         * @return builder
         * 
         */
        public Builder hashKeyField(String hashKeyField) {
            return hashKeyField(Output.of(hashKeyField));
        }

        /**
         * @param hashKeyType The hash key type. Valid values are "STRING" or "NUMBER".
         * 
         * @return builder
         * 
         */
        public Builder hashKeyType(@Nullable Output hashKeyType) {
            $.hashKeyType = hashKeyType;
            return this;
        }

        /**
         * @param hashKeyType The hash key type. Valid values are "STRING" or "NUMBER".
         * 
         * @return builder
         * 
         */
        public Builder hashKeyType(String hashKeyType) {
            return hashKeyType(Output.of(hashKeyType));
        }

        /**
         * @param hashKeyValue The hash key value.
         * 
         * @return builder
         * 
         */
        public Builder hashKeyValue(Output hashKeyValue) {
            $.hashKeyValue = hashKeyValue;
            return this;
        }

        /**
         * @param hashKeyValue The hash key value.
         * 
         * @return builder
         * 
         */
        public Builder hashKeyValue(String hashKeyValue) {
            return hashKeyValue(Output.of(hashKeyValue));
        }

        /**
         * @param operation The operation. Valid values are "INSERT", "UPDATE", or "DELETE".
         * 
         * @return builder
         * 
         */
        public Builder operation(@Nullable Output operation) {
            $.operation = operation;
            return this;
        }

        /**
         * @param operation The operation. Valid values are "INSERT", "UPDATE", or "DELETE".
         * 
         * @return builder
         * 
         */
        public Builder operation(String operation) {
            return operation(Output.of(operation));
        }

        /**
         * @param payloadField The action payload.
         * 
         * @return builder
         * 
         */
        public Builder payloadField(@Nullable Output payloadField) {
            $.payloadField = payloadField;
            return this;
        }

        /**
         * @param payloadField The action payload.
         * 
         * @return builder
         * 
         */
        public Builder payloadField(String payloadField) {
            return payloadField(Output.of(payloadField));
        }

        /**
         * @param rangeKeyField The range key name.
         * 
         * @return builder
         * 
         */
        public Builder rangeKeyField(@Nullable Output rangeKeyField) {
            $.rangeKeyField = rangeKeyField;
            return this;
        }

        /**
         * @param rangeKeyField The range key name.
         * 
         * @return builder
         * 
         */
        public Builder rangeKeyField(String rangeKeyField) {
            return rangeKeyField(Output.of(rangeKeyField));
        }

        /**
         * @param rangeKeyType The range key type. Valid values are "STRING" or "NUMBER".
         * 
         * @return builder
         * 
         */
        public Builder rangeKeyType(@Nullable Output rangeKeyType) {
            $.rangeKeyType = rangeKeyType;
            return this;
        }

        /**
         * @param rangeKeyType The range key type. Valid values are "STRING" or "NUMBER".
         * 
         * @return builder
         * 
         */
        public Builder rangeKeyType(String rangeKeyType) {
            return rangeKeyType(Output.of(rangeKeyType));
        }

        /**
         * @param rangeKeyValue The range key value.
         * 
         * @return builder
         * 
         */
        public Builder rangeKeyValue(@Nullable Output rangeKeyValue) {
            $.rangeKeyValue = rangeKeyValue;
            return this;
        }

        /**
         * @param rangeKeyValue The range key value.
         * 
         * @return builder
         * 
         */
        public Builder rangeKeyValue(String rangeKeyValue) {
            return rangeKeyValue(Output.of(rangeKeyValue));
        }

        /**
         * @param roleArn The ARN of the IAM role that grants access to the DynamoDB table.
         * 
         * @return builder
         * 
         */
        public Builder roleArn(Output roleArn) {
            $.roleArn = roleArn;
            return this;
        }

        /**
         * @param roleArn The ARN of the IAM role that grants access to the DynamoDB table.
         * 
         * @return builder
         * 
         */
        public Builder roleArn(String roleArn) {
            return roleArn(Output.of(roleArn));
        }

        /**
         * @param tableName The name of the DynamoDB table.
         * 
         * @return builder
         * 
         */
        public Builder tableName(Output tableName) {
            $.tableName = tableName;
            return this;
        }

        /**
         * @param tableName The name of the DynamoDB table.
         * 
         * @return builder
         * 
         */
        public Builder tableName(String tableName) {
            return tableName(Output.of(tableName));
        }

        public TopicRuleErrorActionDynamodbArgs build() {
            if ($.hashKeyField == null) {
                throw new MissingRequiredPropertyException("TopicRuleErrorActionDynamodbArgs", "hashKeyField");
            }
            if ($.hashKeyValue == null) {
                throw new MissingRequiredPropertyException("TopicRuleErrorActionDynamodbArgs", "hashKeyValue");
            }
            if ($.roleArn == null) {
                throw new MissingRequiredPropertyException("TopicRuleErrorActionDynamodbArgs", "roleArn");
            }
            if ($.tableName == null) {
                throw new MissingRequiredPropertyException("TopicRuleErrorActionDynamodbArgs", "tableName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy