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

com.pulumi.azurenative.awsconnector.inputs.ProjectionArgs Maven / Gradle / Ivy

There is a newer version: 2.82.0
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.azurenative.awsconnector.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;


/**
 * Definition of Projection
 * 
 */
public final class ProjectionArgs extends com.pulumi.resources.ResourceArgs {

    public static final ProjectionArgs Empty = new ProjectionArgs();

    /**
     * Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of ``NonKeyAttributes`` summed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.
     * 
     */
    @Import(name="nonKeyAttributes")
    private @Nullable Output> nonKeyAttributes;

    /**
     * @return Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of ``NonKeyAttributes`` summed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.
     * 
     */
    public Optional>> nonKeyAttributes() {
        return Optional.ofNullable(this.nonKeyAttributes);
    }

    /**
     * The set of attributes that are projected into the index:  +   ``KEYS_ONLY`` - Only the index and primary keys are projected into the index.  +   ``INCLUDE`` - In addition to the attributes described in ``KEYS_ONLY``, the secondary index will include other non-key attributes that you specify.  +   ``ALL`` - All of the table attributes are projected into the index.   When using the DynamoDB console, ``ALL`` is selected by default.
     * 
     */
    @Import(name="projectionType")
    private @Nullable Output projectionType;

    /**
     * @return The set of attributes that are projected into the index:  +   ``KEYS_ONLY`` - Only the index and primary keys are projected into the index.  +   ``INCLUDE`` - In addition to the attributes described in ``KEYS_ONLY``, the secondary index will include other non-key attributes that you specify.  +   ``ALL`` - All of the table attributes are projected into the index.   When using the DynamoDB console, ``ALL`` is selected by default.
     * 
     */
    public Optional> projectionType() {
        return Optional.ofNullable(this.projectionType);
    }

    private ProjectionArgs() {}

    private ProjectionArgs(ProjectionArgs $) {
        this.nonKeyAttributes = $.nonKeyAttributes;
        this.projectionType = $.projectionType;
    }

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

    public static final class Builder {
        private ProjectionArgs $;

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

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

        /**
         * @param nonKeyAttributes Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of ``NonKeyAttributes`` summed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.
         * 
         * @return builder
         * 
         */
        public Builder nonKeyAttributes(@Nullable Output> nonKeyAttributes) {
            $.nonKeyAttributes = nonKeyAttributes;
            return this;
        }

        /**
         * @param nonKeyAttributes Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of ``NonKeyAttributes`` summed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.
         * 
         * @return builder
         * 
         */
        public Builder nonKeyAttributes(List nonKeyAttributes) {
            return nonKeyAttributes(Output.of(nonKeyAttributes));
        }

        /**
         * @param nonKeyAttributes Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of ``NonKeyAttributes`` summed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.
         * 
         * @return builder
         * 
         */
        public Builder nonKeyAttributes(String... nonKeyAttributes) {
            return nonKeyAttributes(List.of(nonKeyAttributes));
        }

        /**
         * @param projectionType The set of attributes that are projected into the index:  +   ``KEYS_ONLY`` - Only the index and primary keys are projected into the index.  +   ``INCLUDE`` - In addition to the attributes described in ``KEYS_ONLY``, the secondary index will include other non-key attributes that you specify.  +   ``ALL`` - All of the table attributes are projected into the index.   When using the DynamoDB console, ``ALL`` is selected by default.
         * 
         * @return builder
         * 
         */
        public Builder projectionType(@Nullable Output projectionType) {
            $.projectionType = projectionType;
            return this;
        }

        /**
         * @param projectionType The set of attributes that are projected into the index:  +   ``KEYS_ONLY`` - Only the index and primary keys are projected into the index.  +   ``INCLUDE`` - In addition to the attributes described in ``KEYS_ONLY``, the secondary index will include other non-key attributes that you specify.  +   ``ALL`` - All of the table attributes are projected into the index.   When using the DynamoDB console, ``ALL`` is selected by default.
         * 
         * @return builder
         * 
         */
        public Builder projectionType(String projectionType) {
            return projectionType(Output.of(projectionType));
        }

        public ProjectionArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy