
com.pulumi.azure.privatelink.kotlin.inputs.EndpointPrivateServiceConnectionArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.privatelink.kotlin.inputs
import com.pulumi.azure.privatelink.inputs.EndpointPrivateServiceConnectionArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property isManualConnection Does the Private Endpoint require Manual Approval from the remote resource owner? Changing this forces a new resource to be created.
* > **NOTE:** If you are trying to connect the Private Endpoint to a remote resource without having the correct RBAC permissions on the remote resource set this value to `true`.
* @property name Specifies the Name of the Private Service Connection. Changing this forces a new resource to be created.
* @property privateConnectionResourceAlias The Service Alias of the Private Link Enabled Remote Resource which this Private Endpoint should be connected to. One of `private_connection_resource_id` or `private_connection_resource_alias` must be specified. Changing this forces a new resource to be created.
* @property privateConnectionResourceId The ID of the Private Link Enabled Remote Resource which this Private Endpoint should be connected to. One of `private_connection_resource_id` or `private_connection_resource_alias` must be specified. Changing this forces a new resource to be created. For a web app or function app slot, the parent web app should be used in this field instead of a reference to the slot itself.
* @property privateIpAddress (Required) The static IP address set by this configuration. It is recommended to use the private IP address exported in the `private_service_connection` block to obtain the address associated with the private endpoint.
* @property requestMessage A message passed to the owner of the remote resource when the private endpoint attempts to establish the connection to the remote resource. The provider allows a maximum request message length of `140` characters, however the request message maximum length is dependent on the service the private endpoint is connected to. Only valid if `is_manual_connection` is set to `true`.
* > **NOTE:** When connected to an SQL resource the `request_message` maximum length is `128`.
* @property subresourceNames A list of subresource names which the Private Endpoint is able to connect to. `subresource_names` corresponds to `group_id`. Possible values are detailed in the product [documentation](https://docs.microsoft.com/azure/private-link/private-endpoint-overview#private-link-resource) in the `Subresources` column. Changing this forces a new resource to be created.
* > **NOTE:** Some resource types (such as Storage Account) only support 1 subresource per private endpoint.
* > **NOTE:** For most Private Links one or more `subresource_names` will need to be specified, please see the linked documentation for details.
*/
public data class EndpointPrivateServiceConnectionArgs(
public val isManualConnection: Output,
public val name: Output,
public val privateConnectionResourceAlias: Output? = null,
public val privateConnectionResourceId: Output? = null,
public val privateIpAddress: Output? = null,
public val requestMessage: Output? = null,
public val subresourceNames: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azure.privatelink.inputs.EndpointPrivateServiceConnectionArgs =
com.pulumi.azure.privatelink.inputs.EndpointPrivateServiceConnectionArgs.builder()
.isManualConnection(isManualConnection.applyValue({ args0 -> args0 }))
.name(name.applyValue({ args0 -> args0 }))
.privateConnectionResourceAlias(privateConnectionResourceAlias?.applyValue({ args0 -> args0 }))
.privateConnectionResourceId(privateConnectionResourceId?.applyValue({ args0 -> args0 }))
.privateIpAddress(privateIpAddress?.applyValue({ args0 -> args0 }))
.requestMessage(requestMessage?.applyValue({ args0 -> args0 }))
.subresourceNames(subresourceNames?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}
/**
* Builder for [EndpointPrivateServiceConnectionArgs].
*/
@PulumiTagMarker
public class EndpointPrivateServiceConnectionArgsBuilder internal constructor() {
private var isManualConnection: Output? = null
private var name: Output? = null
private var privateConnectionResourceAlias: Output? = null
private var privateConnectionResourceId: Output? = null
private var privateIpAddress: Output? = null
private var requestMessage: Output? = null
private var subresourceNames: Output>? = null
/**
* @param value Does the Private Endpoint require Manual Approval from the remote resource owner? Changing this forces a new resource to be created.
* > **NOTE:** If you are trying to connect the Private Endpoint to a remote resource without having the correct RBAC permissions on the remote resource set this value to `true`.
*/
@JvmName("ldbkmelgjmowsuok")
public suspend fun isManualConnection(`value`: Output) {
this.isManualConnection = value
}
/**
* @param value Specifies the Name of the Private Service Connection. Changing this forces a new resource to be created.
*/
@JvmName("cuvovlenacynxgac")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value The Service Alias of the Private Link Enabled Remote Resource which this Private Endpoint should be connected to. One of `private_connection_resource_id` or `private_connection_resource_alias` must be specified. Changing this forces a new resource to be created.
*/
@JvmName("ywiaybkcpcmysfiq")
public suspend fun privateConnectionResourceAlias(`value`: Output) {
this.privateConnectionResourceAlias = value
}
/**
* @param value The ID of the Private Link Enabled Remote Resource which this Private Endpoint should be connected to. One of `private_connection_resource_id` or `private_connection_resource_alias` must be specified. Changing this forces a new resource to be created. For a web app or function app slot, the parent web app should be used in this field instead of a reference to the slot itself.
*/
@JvmName("piwfsbjhtgqfivby")
public suspend fun privateConnectionResourceId(`value`: Output) {
this.privateConnectionResourceId = value
}
/**
* @param value (Required) The static IP address set by this configuration. It is recommended to use the private IP address exported in the `private_service_connection` block to obtain the address associated with the private endpoint.
*/
@JvmName("yhkdcsdfncltlltm")
public suspend fun privateIpAddress(`value`: Output) {
this.privateIpAddress = value
}
/**
* @param value A message passed to the owner of the remote resource when the private endpoint attempts to establish the connection to the remote resource. The provider allows a maximum request message length of `140` characters, however the request message maximum length is dependent on the service the private endpoint is connected to. Only valid if `is_manual_connection` is set to `true`.
* > **NOTE:** When connected to an SQL resource the `request_message` maximum length is `128`.
*/
@JvmName("gpbdahxgphphyuih")
public suspend fun requestMessage(`value`: Output) {
this.requestMessage = value
}
/**
* @param value A list of subresource names which the Private Endpoint is able to connect to. `subresource_names` corresponds to `group_id`. Possible values are detailed in the product [documentation](https://docs.microsoft.com/azure/private-link/private-endpoint-overview#private-link-resource) in the `Subresources` column. Changing this forces a new resource to be created.
* > **NOTE:** Some resource types (such as Storage Account) only support 1 subresource per private endpoint.
* > **NOTE:** For most Private Links one or more `subresource_names` will need to be specified, please see the linked documentation for details.
*/
@JvmName("owcydrvkbjodlslc")
public suspend fun subresourceNames(`value`: Output>) {
this.subresourceNames = value
}
@JvmName("qcgsxdqoyqqghmfc")
public suspend fun subresourceNames(vararg values: Output) {
this.subresourceNames = Output.all(values.asList())
}
/**
* @param values A list of subresource names which the Private Endpoint is able to connect to. `subresource_names` corresponds to `group_id`. Possible values are detailed in the product [documentation](https://docs.microsoft.com/azure/private-link/private-endpoint-overview#private-link-resource) in the `Subresources` column. Changing this forces a new resource to be created.
* > **NOTE:** Some resource types (such as Storage Account) only support 1 subresource per private endpoint.
* > **NOTE:** For most Private Links one or more `subresource_names` will need to be specified, please see the linked documentation for details.
*/
@JvmName("ucsykbgtixwsopit")
public suspend fun subresourceNames(values: List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy