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

com.pulumi.azure.privatelink.kotlin.outputs.EndpointPrivateServiceConnection.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.privatelink.kotlin.outputs

import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @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.
 */
public data class EndpointPrivateServiceConnection(
    public val isManualConnection: Boolean,
    public val name: String,
    public val privateConnectionResourceAlias: String? = null,
    public val privateConnectionResourceId: String? = null,
    public val privateIpAddress: String? = null,
    public val requestMessage: String? = null,
    public val subresourceNames: List? = null,
) {
    public companion object {
        public
        fun toKotlin(javaType: com.pulumi.azure.privatelink.outputs.EndpointPrivateServiceConnection):
            EndpointPrivateServiceConnection = EndpointPrivateServiceConnection(
            isManualConnection = javaType.isManualConnection(),
            name = javaType.name(),
            privateConnectionResourceAlias = javaType.privateConnectionResourceAlias().map({ args0 ->
                args0
            }).orElse(null),
            privateConnectionResourceId = javaType.privateConnectionResourceId().map({ args0 ->
                args0
            }).orElse(null),
            privateIpAddress = javaType.privateIpAddress().map({ args0 -> args0 }).orElse(null),
            requestMessage = javaType.requestMessage().map({ args0 -> args0 }).orElse(null),
            subresourceNames = javaType.subresourceNames().map({ args0 -> args0 }),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy