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.azurenative.devices.inputs.RoutingCosmosDBSqlApiPropertiesArgs Maven / Gradle / Ivy
Go to download
A native Pulumi package for creating and managing Azure 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.azurenative.devices.inputs;
import com.pulumi.azurenative.devices.enums.AuthenticationType;
import com.pulumi.azurenative.devices.inputs.ManagedIdentityArgs;
import com.pulumi.core.Either;
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;
/**
* The properties related to a cosmos DB sql collection endpoint.
*
*/
public final class RoutingCosmosDBSqlApiPropertiesArgs extends com.pulumi.resources.ResourceArgs {
public static final RoutingCosmosDBSqlApiPropertiesArgs Empty = new RoutingCosmosDBSqlApiPropertiesArgs();
/**
* Method used to authenticate against the cosmos DB sql collection endpoint
*
*/
@Import(name="authenticationType")
private @Nullable Output> authenticationType;
/**
* @return Method used to authenticate against the cosmos DB sql collection endpoint
*
*/
public Optional>> authenticationType() {
return Optional.ofNullable(this.authenticationType);
}
/**
* The name of the cosmos DB sql collection in the cosmos DB database.
*
*/
@Import(name="collectionName", required=true)
private Output collectionName;
/**
* @return The name of the cosmos DB sql collection in the cosmos DB database.
*
*/
public Output collectionName() {
return this.collectionName;
}
/**
* The name of the cosmos DB database in the cosmos DB account.
*
*/
@Import(name="databaseName", required=true)
private Output databaseName;
/**
* @return The name of the cosmos DB database in the cosmos DB account.
*
*/
public Output databaseName() {
return this.databaseName;
}
/**
* The url of the cosmos DB account. It must include the protocol https://
*
*/
@Import(name="endpointUri", required=true)
private Output endpointUri;
/**
* @return The url of the cosmos DB account. It must include the protocol https://
*
*/
public Output endpointUri() {
return this.endpointUri;
}
/**
* Id of the cosmos DB sql collection endpoint
*
*/
@Import(name="id")
private @Nullable Output id;
/**
* @return Id of the cosmos DB sql collection endpoint
*
*/
public Optional> id() {
return Optional.ofNullable(this.id);
}
/**
* Managed identity properties of routing cosmos DB collection endpoint.
*
*/
@Import(name="identity")
private @Nullable Output identity;
/**
* @return Managed identity properties of routing cosmos DB collection endpoint.
*
*/
public Optional> identity() {
return Optional.ofNullable(this.identity);
}
/**
* The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.
*
*/
@Import(name="name", required=true)
private Output name;
/**
* @return The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.
*
*/
public Output name() {
return this.name;
}
/**
* The name of the partition key associated with this cosmos DB sql collection if one exists. This is an optional parameter.
*
*/
@Import(name="partitionKeyName")
private @Nullable Output partitionKeyName;
/**
* @return The name of the partition key associated with this cosmos DB sql collection if one exists. This is an optional parameter.
*
*/
public Optional> partitionKeyName() {
return Optional.ofNullable(this.partitionKeyName);
}
/**
* The template for generating a synthetic partition key value for use with this cosmos DB sql collection. The template must include at least one of the following placeholders: {iothub}, {deviceid}, {DD}, {MM}, and {YYYY}. Any one placeholder may be specified at most once, but order and non-placeholder components are arbitrary. This parameter is only required if PartitionKeyName is specified.
*
*/
@Import(name="partitionKeyTemplate")
private @Nullable Output partitionKeyTemplate;
/**
* @return The template for generating a synthetic partition key value for use with this cosmos DB sql collection. The template must include at least one of the following placeholders: {iothub}, {deviceid}, {DD}, {MM}, and {YYYY}. Any one placeholder may be specified at most once, but order and non-placeholder components are arbitrary. This parameter is only required if PartitionKeyName is specified.
*
*/
public Optional> partitionKeyTemplate() {
return Optional.ofNullable(this.partitionKeyTemplate);
}
/**
* The primary key of the cosmos DB account.
*
*/
@Import(name="primaryKey")
private @Nullable Output primaryKey;
/**
* @return The primary key of the cosmos DB account.
*
*/
public Optional> primaryKey() {
return Optional.ofNullable(this.primaryKey);
}
/**
* The name of the resource group of the cosmos DB account.
*
*/
@Import(name="resourceGroup")
private @Nullable Output resourceGroup;
/**
* @return The name of the resource group of the cosmos DB account.
*
*/
public Optional> resourceGroup() {
return Optional.ofNullable(this.resourceGroup);
}
/**
* The secondary key of the cosmos DB account.
*
*/
@Import(name="secondaryKey")
private @Nullable Output secondaryKey;
/**
* @return The secondary key of the cosmos DB account.
*
*/
public Optional> secondaryKey() {
return Optional.ofNullable(this.secondaryKey);
}
/**
* The subscription identifier of the cosmos DB account.
*
*/
@Import(name="subscriptionId")
private @Nullable Output subscriptionId;
/**
* @return The subscription identifier of the cosmos DB account.
*
*/
public Optional> subscriptionId() {
return Optional.ofNullable(this.subscriptionId);
}
private RoutingCosmosDBSqlApiPropertiesArgs() {}
private RoutingCosmosDBSqlApiPropertiesArgs(RoutingCosmosDBSqlApiPropertiesArgs $) {
this.authenticationType = $.authenticationType;
this.collectionName = $.collectionName;
this.databaseName = $.databaseName;
this.endpointUri = $.endpointUri;
this.id = $.id;
this.identity = $.identity;
this.name = $.name;
this.partitionKeyName = $.partitionKeyName;
this.partitionKeyTemplate = $.partitionKeyTemplate;
this.primaryKey = $.primaryKey;
this.resourceGroup = $.resourceGroup;
this.secondaryKey = $.secondaryKey;
this.subscriptionId = $.subscriptionId;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(RoutingCosmosDBSqlApiPropertiesArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private RoutingCosmosDBSqlApiPropertiesArgs $;
public Builder() {
$ = new RoutingCosmosDBSqlApiPropertiesArgs();
}
public Builder(RoutingCosmosDBSqlApiPropertiesArgs defaults) {
$ = new RoutingCosmosDBSqlApiPropertiesArgs(Objects.requireNonNull(defaults));
}
/**
* @param authenticationType Method used to authenticate against the cosmos DB sql collection endpoint
*
* @return builder
*
*/
public Builder authenticationType(@Nullable Output> authenticationType) {
$.authenticationType = authenticationType;
return this;
}
/**
* @param authenticationType Method used to authenticate against the cosmos DB sql collection endpoint
*
* @return builder
*
*/
public Builder authenticationType(Either authenticationType) {
return authenticationType(Output.of(authenticationType));
}
/**
* @param authenticationType Method used to authenticate against the cosmos DB sql collection endpoint
*
* @return builder
*
*/
public Builder authenticationType(String authenticationType) {
return authenticationType(Either.ofLeft(authenticationType));
}
/**
* @param authenticationType Method used to authenticate against the cosmos DB sql collection endpoint
*
* @return builder
*
*/
public Builder authenticationType(AuthenticationType authenticationType) {
return authenticationType(Either.ofRight(authenticationType));
}
/**
* @param collectionName The name of the cosmos DB sql collection in the cosmos DB database.
*
* @return builder
*
*/
public Builder collectionName(Output collectionName) {
$.collectionName = collectionName;
return this;
}
/**
* @param collectionName The name of the cosmos DB sql collection in the cosmos DB database.
*
* @return builder
*
*/
public Builder collectionName(String collectionName) {
return collectionName(Output.of(collectionName));
}
/**
* @param databaseName The name of the cosmos DB database in the cosmos DB account.
*
* @return builder
*
*/
public Builder databaseName(Output databaseName) {
$.databaseName = databaseName;
return this;
}
/**
* @param databaseName The name of the cosmos DB database in the cosmos DB account.
*
* @return builder
*
*/
public Builder databaseName(String databaseName) {
return databaseName(Output.of(databaseName));
}
/**
* @param endpointUri The url of the cosmos DB account. It must include the protocol https://
*
* @return builder
*
*/
public Builder endpointUri(Output endpointUri) {
$.endpointUri = endpointUri;
return this;
}
/**
* @param endpointUri The url of the cosmos DB account. It must include the protocol https://
*
* @return builder
*
*/
public Builder endpointUri(String endpointUri) {
return endpointUri(Output.of(endpointUri));
}
/**
* @param id Id of the cosmos DB sql collection endpoint
*
* @return builder
*
*/
public Builder id(@Nullable Output id) {
$.id = id;
return this;
}
/**
* @param id Id of the cosmos DB sql collection endpoint
*
* @return builder
*
*/
public Builder id(String id) {
return id(Output.of(id));
}
/**
* @param identity Managed identity properties of routing cosmos DB collection endpoint.
*
* @return builder
*
*/
public Builder identity(@Nullable Output identity) {
$.identity = identity;
return this;
}
/**
* @param identity Managed identity properties of routing cosmos DB collection endpoint.
*
* @return builder
*
*/
public Builder identity(ManagedIdentityArgs identity) {
return identity(Output.of(identity));
}
/**
* @param name The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.
*
* @return builder
*
*/
public Builder name(Output name) {
$.name = name;
return this;
}
/**
* @param name The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param partitionKeyName The name of the partition key associated with this cosmos DB sql collection if one exists. This is an optional parameter.
*
* @return builder
*
*/
public Builder partitionKeyName(@Nullable Output partitionKeyName) {
$.partitionKeyName = partitionKeyName;
return this;
}
/**
* @param partitionKeyName The name of the partition key associated with this cosmos DB sql collection if one exists. This is an optional parameter.
*
* @return builder
*
*/
public Builder partitionKeyName(String partitionKeyName) {
return partitionKeyName(Output.of(partitionKeyName));
}
/**
* @param partitionKeyTemplate The template for generating a synthetic partition key value for use with this cosmos DB sql collection. The template must include at least one of the following placeholders: {iothub}, {deviceid}, {DD}, {MM}, and {YYYY}. Any one placeholder may be specified at most once, but order and non-placeholder components are arbitrary. This parameter is only required if PartitionKeyName is specified.
*
* @return builder
*
*/
public Builder partitionKeyTemplate(@Nullable Output partitionKeyTemplate) {
$.partitionKeyTemplate = partitionKeyTemplate;
return this;
}
/**
* @param partitionKeyTemplate The template for generating a synthetic partition key value for use with this cosmos DB sql collection. The template must include at least one of the following placeholders: {iothub}, {deviceid}, {DD}, {MM}, and {YYYY}. Any one placeholder may be specified at most once, but order and non-placeholder components are arbitrary. This parameter is only required if PartitionKeyName is specified.
*
* @return builder
*
*/
public Builder partitionKeyTemplate(String partitionKeyTemplate) {
return partitionKeyTemplate(Output.of(partitionKeyTemplate));
}
/**
* @param primaryKey The primary key of the cosmos DB account.
*
* @return builder
*
*/
public Builder primaryKey(@Nullable Output primaryKey) {
$.primaryKey = primaryKey;
return this;
}
/**
* @param primaryKey The primary key of the cosmos DB account.
*
* @return builder
*
*/
public Builder primaryKey(String primaryKey) {
return primaryKey(Output.of(primaryKey));
}
/**
* @param resourceGroup The name of the resource group of the cosmos DB account.
*
* @return builder
*
*/
public Builder resourceGroup(@Nullable Output resourceGroup) {
$.resourceGroup = resourceGroup;
return this;
}
/**
* @param resourceGroup The name of the resource group of the cosmos DB account.
*
* @return builder
*
*/
public Builder resourceGroup(String resourceGroup) {
return resourceGroup(Output.of(resourceGroup));
}
/**
* @param secondaryKey The secondary key of the cosmos DB account.
*
* @return builder
*
*/
public Builder secondaryKey(@Nullable Output secondaryKey) {
$.secondaryKey = secondaryKey;
return this;
}
/**
* @param secondaryKey The secondary key of the cosmos DB account.
*
* @return builder
*
*/
public Builder secondaryKey(String secondaryKey) {
return secondaryKey(Output.of(secondaryKey));
}
/**
* @param subscriptionId The subscription identifier of the cosmos DB account.
*
* @return builder
*
*/
public Builder subscriptionId(@Nullable Output subscriptionId) {
$.subscriptionId = subscriptionId;
return this;
}
/**
* @param subscriptionId The subscription identifier of the cosmos DB account.
*
* @return builder
*
*/
public Builder subscriptionId(String subscriptionId) {
return subscriptionId(Output.of(subscriptionId));
}
public RoutingCosmosDBSqlApiPropertiesArgs build() {
if ($.collectionName == null) {
throw new MissingRequiredPropertyException("RoutingCosmosDBSqlApiPropertiesArgs", "collectionName");
}
if ($.databaseName == null) {
throw new MissingRequiredPropertyException("RoutingCosmosDBSqlApiPropertiesArgs", "databaseName");
}
if ($.endpointUri == null) {
throw new MissingRequiredPropertyException("RoutingCosmosDBSqlApiPropertiesArgs", "endpointUri");
}
if ($.name == null) {
throw new MissingRequiredPropertyException("RoutingCosmosDBSqlApiPropertiesArgs", "name");
}
return $;
}
}
}