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

com.pulumi.azurenative.documentdb.outputs.SqlContainerGetPropertiesResponseResource Maven / Gradle / Ivy

There is a newer version: 2.78.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.documentdb.outputs;

import com.pulumi.azurenative.documentdb.outputs.ClientEncryptionPolicyResponse;
import com.pulumi.azurenative.documentdb.outputs.ConflictResolutionPolicyResponse;
import com.pulumi.azurenative.documentdb.outputs.ContainerPartitionKeyResponse;
import com.pulumi.azurenative.documentdb.outputs.IndexingPolicyResponse;
import com.pulumi.azurenative.documentdb.outputs.UniqueKeyPolicyResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Double;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class SqlContainerGetPropertiesResponseResource {
    /**
     * @return Analytical TTL.
     * 
     */
    private @Nullable Double analyticalStorageTtl;
    /**
     * @return The client encryption policy for the container.
     * 
     */
    private @Nullable ClientEncryptionPolicyResponse clientEncryptionPolicy;
    /**
     * @return The conflict resolution policy for the container.
     * 
     */
    private @Nullable ConflictResolutionPolicyResponse conflictResolutionPolicy;
    /**
     * @return Default time to live
     * 
     */
    private @Nullable Integer defaultTtl;
    /**
     * @return A system generated property representing the resource etag required for optimistic concurrency control.
     * 
     */
    private String etag;
    /**
     * @return Name of the Cosmos DB SQL container
     * 
     */
    private String id;
    /**
     * @return The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container
     * 
     */
    private @Nullable IndexingPolicyResponse indexingPolicy;
    /**
     * @return The configuration of the partition key to be used for partitioning data into multiple partitions
     * 
     */
    private @Nullable ContainerPartitionKeyResponse partitionKey;
    /**
     * @return A system generated property. A unique identifier.
     * 
     */
    private String rid;
    /**
     * @return A system generated property that denotes the last updated timestamp of the resource.
     * 
     */
    private Double ts;
    /**
     * @return The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service.
     * 
     */
    private @Nullable UniqueKeyPolicyResponse uniqueKeyPolicy;

    private SqlContainerGetPropertiesResponseResource() {}
    /**
     * @return Analytical TTL.
     * 
     */
    public Optional analyticalStorageTtl() {
        return Optional.ofNullable(this.analyticalStorageTtl);
    }
    /**
     * @return The client encryption policy for the container.
     * 
     */
    public Optional clientEncryptionPolicy() {
        return Optional.ofNullable(this.clientEncryptionPolicy);
    }
    /**
     * @return The conflict resolution policy for the container.
     * 
     */
    public Optional conflictResolutionPolicy() {
        return Optional.ofNullable(this.conflictResolutionPolicy);
    }
    /**
     * @return Default time to live
     * 
     */
    public Optional defaultTtl() {
        return Optional.ofNullable(this.defaultTtl);
    }
    /**
     * @return A system generated property representing the resource etag required for optimistic concurrency control.
     * 
     */
    public String etag() {
        return this.etag;
    }
    /**
     * @return Name of the Cosmos DB SQL container
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container
     * 
     */
    public Optional indexingPolicy() {
        return Optional.ofNullable(this.indexingPolicy);
    }
    /**
     * @return The configuration of the partition key to be used for partitioning data into multiple partitions
     * 
     */
    public Optional partitionKey() {
        return Optional.ofNullable(this.partitionKey);
    }
    /**
     * @return A system generated property. A unique identifier.
     * 
     */
    public String rid() {
        return this.rid;
    }
    /**
     * @return A system generated property that denotes the last updated timestamp of the resource.
     * 
     */
    public Double ts() {
        return this.ts;
    }
    /**
     * @return The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service.
     * 
     */
    public Optional uniqueKeyPolicy() {
        return Optional.ofNullable(this.uniqueKeyPolicy);
    }

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

    public static Builder builder(SqlContainerGetPropertiesResponseResource defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable Double analyticalStorageTtl;
        private @Nullable ClientEncryptionPolicyResponse clientEncryptionPolicy;
        private @Nullable ConflictResolutionPolicyResponse conflictResolutionPolicy;
        private @Nullable Integer defaultTtl;
        private String etag;
        private String id;
        private @Nullable IndexingPolicyResponse indexingPolicy;
        private @Nullable ContainerPartitionKeyResponse partitionKey;
        private String rid;
        private Double ts;
        private @Nullable UniqueKeyPolicyResponse uniqueKeyPolicy;
        public Builder() {}
        public Builder(SqlContainerGetPropertiesResponseResource defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.analyticalStorageTtl = defaults.analyticalStorageTtl;
    	      this.clientEncryptionPolicy = defaults.clientEncryptionPolicy;
    	      this.conflictResolutionPolicy = defaults.conflictResolutionPolicy;
    	      this.defaultTtl = defaults.defaultTtl;
    	      this.etag = defaults.etag;
    	      this.id = defaults.id;
    	      this.indexingPolicy = defaults.indexingPolicy;
    	      this.partitionKey = defaults.partitionKey;
    	      this.rid = defaults.rid;
    	      this.ts = defaults.ts;
    	      this.uniqueKeyPolicy = defaults.uniqueKeyPolicy;
        }

        @CustomType.Setter
        public Builder analyticalStorageTtl(@Nullable Double analyticalStorageTtl) {

            this.analyticalStorageTtl = analyticalStorageTtl;
            return this;
        }
        @CustomType.Setter
        public Builder clientEncryptionPolicy(@Nullable ClientEncryptionPolicyResponse clientEncryptionPolicy) {

            this.clientEncryptionPolicy = clientEncryptionPolicy;
            return this;
        }
        @CustomType.Setter
        public Builder conflictResolutionPolicy(@Nullable ConflictResolutionPolicyResponse conflictResolutionPolicy) {

            this.conflictResolutionPolicy = conflictResolutionPolicy;
            return this;
        }
        @CustomType.Setter
        public Builder defaultTtl(@Nullable Integer defaultTtl) {

            this.defaultTtl = defaultTtl;
            return this;
        }
        @CustomType.Setter
        public Builder etag(String etag) {
            if (etag == null) {
              throw new MissingRequiredPropertyException("SqlContainerGetPropertiesResponseResource", "etag");
            }
            this.etag = etag;
            return this;
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("SqlContainerGetPropertiesResponseResource", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder indexingPolicy(@Nullable IndexingPolicyResponse indexingPolicy) {

            this.indexingPolicy = indexingPolicy;
            return this;
        }
        @CustomType.Setter
        public Builder partitionKey(@Nullable ContainerPartitionKeyResponse partitionKey) {

            this.partitionKey = partitionKey;
            return this;
        }
        @CustomType.Setter
        public Builder rid(String rid) {
            if (rid == null) {
              throw new MissingRequiredPropertyException("SqlContainerGetPropertiesResponseResource", "rid");
            }
            this.rid = rid;
            return this;
        }
        @CustomType.Setter
        public Builder ts(Double ts) {
            if (ts == null) {
              throw new MissingRequiredPropertyException("SqlContainerGetPropertiesResponseResource", "ts");
            }
            this.ts = ts;
            return this;
        }
        @CustomType.Setter
        public Builder uniqueKeyPolicy(@Nullable UniqueKeyPolicyResponse uniqueKeyPolicy) {

            this.uniqueKeyPolicy = uniqueKeyPolicy;
            return this;
        }
        public SqlContainerGetPropertiesResponseResource build() {
            final var _resultValue = new SqlContainerGetPropertiesResponseResource();
            _resultValue.analyticalStorageTtl = analyticalStorageTtl;
            _resultValue.clientEncryptionPolicy = clientEncryptionPolicy;
            _resultValue.conflictResolutionPolicy = conflictResolutionPolicy;
            _resultValue.defaultTtl = defaultTtl;
            _resultValue.etag = etag;
            _resultValue.id = id;
            _resultValue.indexingPolicy = indexingPolicy;
            _resultValue.partitionKey = partitionKey;
            _resultValue.rid = rid;
            _resultValue.ts = ts;
            _resultValue.uniqueKeyPolicy = uniqueKeyPolicy;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy