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.gcp.monitoring.kotlin.inputs.UptimeCheckConfigHttpCheckArgs.kt Maven / Gradle / Ivy
Go to download
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.monitoring.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigHttpCheckArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
*
* @property acceptedResponseStatusCodes If present, the check will only pass if the HTTP response status code is in this set of status codes. If empty, the HTTP status code will only pass if the HTTP status code is 200-299.
* Structure is documented below.
* @property authInfo The authentication information using username and password. Optional when creating an HTTP check; defaults to empty. Do not use with other authentication fields.
* Structure is documented below.
* @property body The request body associated with the HTTP POST request. If `content_type` is `URL_ENCODED`, the body passed in must be URL-encoded. Users can provide a `Content-Length` header via the `headers` field or the API will do so. If the `request_method` is `GET` and `body` is not empty, the API will return an error. The maximum byte size is 1 megabyte. Note - As with all bytes fields JSON representations are base64 encoded. e.g. `foo=bar` in URL-encoded form is `foo%3Dbar` and in base64 encoding is `Zm9vJTI1M0RiYXI=`.
* @property contentType The content type to use for the check.
* Possible values are: `TYPE_UNSPECIFIED`, `URL_ENCODED`, `USER_PROVIDED`.
* @property customContentType A user provided content type header to use for the check. The invalid configurations outlined in the `content_type` field apply to custom_content_type`, as well as the following 1. `content_type` is `URL_ENCODED` and `custom_content_type` is set. 2. `content_type` is `USER_PROVIDED` and `custom_content_type` is not set.
* @property headers The list of headers to send as part of the uptime check request. If two headers have the same key and different values, they should be entered as a single header, with the value being a comma-separated list of all the desired values as described in [RFC 2616 (page 31)](https://www.w3.org/Protocols/rfc2616/rfc2616.txt). Entering two separate headers with the same key in a Create call will cause the first to be overwritten by the second. The maximum number of headers allowed is 100.
* @property maskHeaders Boolean specifying whether to encrypt the header information. Encryption should be specified for any headers related to authentication that you do not wish to be seen when retrieving the configuration. The server will be responsible for encrypting the headers. On Get/List calls, if `mask_headers` is set to `true` then the headers will be obscured with `******`.
* @property path The path to the page to run the check against. Will be combined with the host (specified within the MonitoredResource) and port to construct the full URL. If the provided path does not begin with `/`, a `/` will be prepended automatically. Optional (defaults to `/`).
* @property pingConfig Contains information needed to add pings to an HTTP check.
* Structure is documented below.
* @property port The port to the page to run the check against. Will be combined with `host` (specified within the `monitored_resource`) and path to construct the full URL. Optional (defaults to 80 without SSL, or 443 with SSL).
* @property requestMethod The HTTP request method to use for the check. If set to `METHOD_UNSPECIFIED` then `request_method` defaults to `GET`.
* Default value is `GET`.
* Possible values are: `METHOD_UNSPECIFIED`, `GET`, `POST`.
* @property serviceAgentAuthentication The authentication information using the Monitoring Service Agent. Optional when creating an HTTPS check; defaults to empty. Do not use with other authentication fields.
* Structure is documented below.
* @property useSsl If true, use HTTPS instead of HTTP to run the check.
* @property validateSsl Boolean specifying whether to include SSL certificate validation as a part of the Uptime check. Only applies to checks where `monitored_resource` is set to `uptime_url`. If `use_ssl` is `false`, setting `validate_ssl` to `true` has no effect.
*/
public data class UptimeCheckConfigHttpCheckArgs(
public val acceptedResponseStatusCodes: Output>? = null,
public val authInfo: Output? = null,
public val body: Output? = null,
public val contentType: Output? = null,
public val customContentType: Output? = null,
public val headers: Output>? = null,
public val maskHeaders: Output? = null,
public val path: Output? = null,
public val pingConfig: Output? = null,
public val port: Output? = null,
public val requestMethod: Output? = null,
public val serviceAgentAuthentication: Output? = null,
public val useSsl: Output? = null,
public val validateSsl: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigHttpCheckArgs =
com.pulumi.gcp.monitoring.inputs.UptimeCheckConfigHttpCheckArgs.builder()
.acceptedResponseStatusCodes(
acceptedResponseStatusCodes?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.authInfo(authInfo?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.body(body?.applyValue({ args0 -> args0 }))
.contentType(contentType?.applyValue({ args0 -> args0 }))
.customContentType(customContentType?.applyValue({ args0 -> args0 }))
.headers(headers?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.maskHeaders(maskHeaders?.applyValue({ args0 -> args0 }))
.path(path?.applyValue({ args0 -> args0 }))
.pingConfig(pingConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.port(port?.applyValue({ args0 -> args0 }))
.requestMethod(requestMethod?.applyValue({ args0 -> args0 }))
.serviceAgentAuthentication(
serviceAgentAuthentication?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.useSsl(useSsl?.applyValue({ args0 -> args0 }))
.validateSsl(validateSsl?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [UptimeCheckConfigHttpCheckArgs].
*/
@PulumiTagMarker
public class UptimeCheckConfigHttpCheckArgsBuilder internal constructor() {
private var acceptedResponseStatusCodes:
Output>? = null
private var authInfo: Output? = null
private var body: Output? = null
private var contentType: Output? = null
private var customContentType: Output? = null
private var headers: Output>? = null
private var maskHeaders: Output? = null
private var path: Output? = null
private var pingConfig: Output? = null
private var port: Output? = null
private var requestMethod: Output? = null
private var serviceAgentAuthentication:
Output? = null
private var useSsl: Output? = null
private var validateSsl: Output? = null
/**
* @param value If present, the check will only pass if the HTTP response status code is in this set of status codes. If empty, the HTTP status code will only pass if the HTTP status code is 200-299.
* Structure is documented below.
*/
@JvmName("hmbolmtfgnygieha")
public suspend fun acceptedResponseStatusCodes(`value`: Output>) {
this.acceptedResponseStatusCodes = value
}
@JvmName("sknsmaglvoybcdyd")
public suspend fun acceptedResponseStatusCodes(vararg values: Output) {
this.acceptedResponseStatusCodes = Output.all(values.asList())
}
/**
* @param values If present, the check will only pass if the HTTP response status code is in this set of status codes. If empty, the HTTP status code will only pass if the HTTP status code is 200-299.
* Structure is documented below.
*/
@JvmName("hoegmqqbxplpfufg")
public suspend fun acceptedResponseStatusCodes(values: List>) {
this.acceptedResponseStatusCodes = Output.all(values)
}
/**
* @param value The authentication information using username and password. Optional when creating an HTTP check; defaults to empty. Do not use with other authentication fields.
* Structure is documented below.
*/
@JvmName("okblcvhaqlyyylro")
public suspend fun authInfo(`value`: Output) {
this.authInfo = value
}
/**
* @param value The request body associated with the HTTP POST request. If `content_type` is `URL_ENCODED`, the body passed in must be URL-encoded. Users can provide a `Content-Length` header via the `headers` field or the API will do so. If the `request_method` is `GET` and `body` is not empty, the API will return an error. The maximum byte size is 1 megabyte. Note - As with all bytes fields JSON representations are base64 encoded. e.g. `foo=bar` in URL-encoded form is `foo%3Dbar` and in base64 encoding is `Zm9vJTI1M0RiYXI=`.
*/
@JvmName("ebomrnusjhqvsxqv")
public suspend fun body(`value`: Output) {
this.body = value
}
/**
* @param value The content type to use for the check.
* Possible values are: `TYPE_UNSPECIFIED`, `URL_ENCODED`, `USER_PROVIDED`.
*/
@JvmName("vlxksygkondsplcq")
public suspend fun contentType(`value`: Output) {
this.contentType = value
}
/**
* @param value A user provided content type header to use for the check. The invalid configurations outlined in the `content_type` field apply to custom_content_type`, as well as the following 1. `content_type` is `URL_ENCODED` and `custom_content_type` is set. 2. `content_type` is `USER_PROVIDED` and `custom_content_type` is not set.
*/
@JvmName("pfnjbwtlddwrbsft")
public suspend fun customContentType(`value`: Output) {
this.customContentType = value
}
/**
* @param value The list of headers to send as part of the uptime check request. If two headers have the same key and different values, they should be entered as a single header, with the value being a comma-separated list of all the desired values as described in [RFC 2616 (page 31)](https://www.w3.org/Protocols/rfc2616/rfc2616.txt). Entering two separate headers with the same key in a Create call will cause the first to be overwritten by the second. The maximum number of headers allowed is 100.
*/
@JvmName("vjoegdtqnivrfsrx")
public suspend fun headers(`value`: Output>) {
this.headers = value
}
/**
* @param value Boolean specifying whether to encrypt the header information. Encryption should be specified for any headers related to authentication that you do not wish to be seen when retrieving the configuration. The server will be responsible for encrypting the headers. On Get/List calls, if `mask_headers` is set to `true` then the headers will be obscured with `******`.
*/
@JvmName("gdxkngyuglfbwhux")
public suspend fun maskHeaders(`value`: Output) {
this.maskHeaders = value
}
/**
* @param value The path to the page to run the check against. Will be combined with the host (specified within the MonitoredResource) and port to construct the full URL. If the provided path does not begin with `/`, a `/` will be prepended automatically. Optional (defaults to `/`).
*/
@JvmName("ljvvabfqknoostnj")
public suspend fun path(`value`: Output) {
this.path = value
}
/**
* @param value Contains information needed to add pings to an HTTP check.
* Structure is documented below.
*/
@JvmName("hfmedhajllkqvwjy")
public suspend fun pingConfig(`value`: Output) {
this.pingConfig = value
}
/**
* @param value The port to the page to run the check against. Will be combined with `host` (specified within the `monitored_resource`) and path to construct the full URL. Optional (defaults to 80 without SSL, or 443 with SSL).
*/
@JvmName("gpilbtsoxbihafct")
public suspend fun port(`value`: Output) {
this.port = value
}
/**
* @param value The HTTP request method to use for the check. If set to `METHOD_UNSPECIFIED` then `request_method` defaults to `GET`.
* Default value is `GET`.
* Possible values are: `METHOD_UNSPECIFIED`, `GET`, `POST`.
*/
@JvmName("yllyyrtrbhhupejr")
public suspend fun requestMethod(`value`: Output) {
this.requestMethod = value
}
/**
* @param value The authentication information using the Monitoring Service Agent. Optional when creating an HTTPS check; defaults to empty. Do not use with other authentication fields.
* Structure is documented below.
*/
@JvmName("cxgfrymkvykrxujc")
public suspend fun serviceAgentAuthentication(`value`: Output) {
this.serviceAgentAuthentication = value
}
/**
* @param value If true, use HTTPS instead of HTTP to run the check.
*/
@JvmName("ctplshmfnfxotyex")
public suspend fun useSsl(`value`: Output) {
this.useSsl = value
}
/**
* @param value Boolean specifying whether to include SSL certificate validation as a part of the Uptime check. Only applies to checks where `monitored_resource` is set to `uptime_url`. If `use_ssl` is `false`, setting `validate_ssl` to `true` has no effect.
*/
@JvmName("eeombgxquflyhcjf")
public suspend fun validateSsl(`value`: Output) {
this.validateSsl = value
}
/**
* @param value If present, the check will only pass if the HTTP response status code is in this set of status codes. If empty, the HTTP status code will only pass if the HTTP status code is 200-299.
* Structure is documented below.
*/
@JvmName("xvwfqetlggpqixcd")
public suspend fun acceptedResponseStatusCodes(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.acceptedResponseStatusCodes = mapped
}
/**
* @param argument If present, the check will only pass if the HTTP response status code is in this set of status codes. If empty, the HTTP status code will only pass if the HTTP status code is 200-299.
* Structure is documented below.
*/
@JvmName("kvaskjccrmepcdbp")
public suspend fun acceptedResponseStatusCodes(argument: List Unit>) {
val toBeMapped = argument.toList().map {
UptimeCheckConfigHttpCheckAcceptedResponseStatusCodeArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.acceptedResponseStatusCodes = mapped
}
/**
* @param argument If present, the check will only pass if the HTTP response status code is in this set of status codes. If empty, the HTTP status code will only pass if the HTTP status code is 200-299.
* Structure is documented below.
*/
@JvmName("hxdiinvateiuporm")
public suspend fun acceptedResponseStatusCodes(vararg argument: suspend UptimeCheckConfigHttpCheckAcceptedResponseStatusCodeArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
UptimeCheckConfigHttpCheckAcceptedResponseStatusCodeArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.acceptedResponseStatusCodes = mapped
}
/**
* @param argument If present, the check will only pass if the HTTP response status code is in this set of status codes. If empty, the HTTP status code will only pass if the HTTP status code is 200-299.
* Structure is documented below.
*/
@JvmName("qcdwugjclcfxpqjn")
public suspend fun acceptedResponseStatusCodes(argument: suspend UptimeCheckConfigHttpCheckAcceptedResponseStatusCodeArgsBuilder.() -> Unit) {
val toBeMapped =
listOf(
UptimeCheckConfigHttpCheckAcceptedResponseStatusCodeArgsBuilder().applySuspend {
argument()
}.build(),
)
val mapped = of(toBeMapped)
this.acceptedResponseStatusCodes = mapped
}
/**
* @param values If present, the check will only pass if the HTTP response status code is in this set of status codes. If empty, the HTTP status code will only pass if the HTTP status code is 200-299.
* Structure is documented below.
*/
@JvmName("iekryhrleuqbmuyn")
public suspend fun acceptedResponseStatusCodes(vararg values: UptimeCheckConfigHttpCheckAcceptedResponseStatusCodeArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.acceptedResponseStatusCodes = mapped
}
/**
* @param value The authentication information using username and password. Optional when creating an HTTP check; defaults to empty. Do not use with other authentication fields.
* Structure is documented below.
*/
@JvmName("puapgdufcvdgoetb")
public suspend fun authInfo(`value`: UptimeCheckConfigHttpCheckAuthInfoArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.authInfo = mapped
}
/**
* @param argument The authentication information using username and password. Optional when creating an HTTP check; defaults to empty. Do not use with other authentication fields.
* Structure is documented below.
*/
@JvmName("amvflorcysswgryy")
public suspend fun authInfo(argument: suspend UptimeCheckConfigHttpCheckAuthInfoArgsBuilder.() -> Unit) {
val toBeMapped = UptimeCheckConfigHttpCheckAuthInfoArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.authInfo = mapped
}
/**
* @param value The request body associated with the HTTP POST request. If `content_type` is `URL_ENCODED`, the body passed in must be URL-encoded. Users can provide a `Content-Length` header via the `headers` field or the API will do so. If the `request_method` is `GET` and `body` is not empty, the API will return an error. The maximum byte size is 1 megabyte. Note - As with all bytes fields JSON representations are base64 encoded. e.g. `foo=bar` in URL-encoded form is `foo%3Dbar` and in base64 encoding is `Zm9vJTI1M0RiYXI=`.
*/
@JvmName("racbqyyjcbluemah")
public suspend fun body(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.body = mapped
}
/**
* @param value The content type to use for the check.
* Possible values are: `TYPE_UNSPECIFIED`, `URL_ENCODED`, `USER_PROVIDED`.
*/
@JvmName("mpmvqedeydvbjghb")
public suspend fun contentType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.contentType = mapped
}
/**
* @param value A user provided content type header to use for the check. The invalid configurations outlined in the `content_type` field apply to custom_content_type`, as well as the following 1. `content_type` is `URL_ENCODED` and `custom_content_type` is set. 2. `content_type` is `USER_PROVIDED` and `custom_content_type` is not set.
*/
@JvmName("dnynyespltoxkter")
public suspend fun customContentType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.customContentType = mapped
}
/**
* @param value The list of headers to send as part of the uptime check request. If two headers have the same key and different values, they should be entered as a single header, with the value being a comma-separated list of all the desired values as described in [RFC 2616 (page 31)](https://www.w3.org/Protocols/rfc2616/rfc2616.txt). Entering two separate headers with the same key in a Create call will cause the first to be overwritten by the second. The maximum number of headers allowed is 100.
*/
@JvmName("eyevhmldjuxqsnsk")
public suspend fun headers(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.headers = mapped
}
/**
* @param values The list of headers to send as part of the uptime check request. If two headers have the same key and different values, they should be entered as a single header, with the value being a comma-separated list of all the desired values as described in [RFC 2616 (page 31)](https://www.w3.org/Protocols/rfc2616/rfc2616.txt). Entering two separate headers with the same key in a Create call will cause the first to be overwritten by the second. The maximum number of headers allowed is 100.
*/
@JvmName("xebeogccxaojjkjv")
public fun headers(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.headers = mapped
}
/**
* @param value Boolean specifying whether to encrypt the header information. Encryption should be specified for any headers related to authentication that you do not wish to be seen when retrieving the configuration. The server will be responsible for encrypting the headers. On Get/List calls, if `mask_headers` is set to `true` then the headers will be obscured with `******`.
*/
@JvmName("gktrbykpeantwhwr")
public suspend fun maskHeaders(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.maskHeaders = mapped
}
/**
* @param value The path to the page to run the check against. Will be combined with the host (specified within the MonitoredResource) and port to construct the full URL. If the provided path does not begin with `/`, a `/` will be prepended automatically. Optional (defaults to `/`).
*/
@JvmName("mhjwihcrbjbitoql")
public suspend fun path(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.path = mapped
}
/**
* @param value Contains information needed to add pings to an HTTP check.
* Structure is documented below.
*/
@JvmName("igbbcimmmidkmtuu")
public suspend fun pingConfig(`value`: UptimeCheckConfigHttpCheckPingConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.pingConfig = mapped
}
/**
* @param argument Contains information needed to add pings to an HTTP check.
* Structure is documented below.
*/
@JvmName("ldhhnlftqxejtcpy")
public suspend fun pingConfig(argument: suspend UptimeCheckConfigHttpCheckPingConfigArgsBuilder.() -> Unit) {
val toBeMapped = UptimeCheckConfigHttpCheckPingConfigArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.pingConfig = mapped
}
/**
* @param value The port to the page to run the check against. Will be combined with `host` (specified within the `monitored_resource`) and path to construct the full URL. Optional (defaults to 80 without SSL, or 443 with SSL).
*/
@JvmName("hjuiusdmiityqhgw")
public suspend fun port(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.port = mapped
}
/**
* @param value The HTTP request method to use for the check. If set to `METHOD_UNSPECIFIED` then `request_method` defaults to `GET`.
* Default value is `GET`.
* Possible values are: `METHOD_UNSPECIFIED`, `GET`, `POST`.
*/
@JvmName("nrhbtoidmjrfijep")
public suspend fun requestMethod(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.requestMethod = mapped
}
/**
* @param value The authentication information using the Monitoring Service Agent. Optional when creating an HTTPS check; defaults to empty. Do not use with other authentication fields.
* Structure is documented below.
*/
@JvmName("gmwfnmcggasebbag")
public suspend fun serviceAgentAuthentication(`value`: UptimeCheckConfigHttpCheckServiceAgentAuthenticationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.serviceAgentAuthentication = mapped
}
/**
* @param argument The authentication information using the Monitoring Service Agent. Optional when creating an HTTPS check; defaults to empty. Do not use with other authentication fields.
* Structure is documented below.
*/
@JvmName("xryincfimugvcnoa")
public suspend fun serviceAgentAuthentication(argument: suspend UptimeCheckConfigHttpCheckServiceAgentAuthenticationArgsBuilder.() -> Unit) {
val toBeMapped = UptimeCheckConfigHttpCheckServiceAgentAuthenticationArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.serviceAgentAuthentication = mapped
}
/**
* @param value If true, use HTTPS instead of HTTP to run the check.
*/
@JvmName("ropxmwquwkakhxoi")
public suspend fun useSsl(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.useSsl = mapped
}
/**
* @param value Boolean specifying whether to include SSL certificate validation as a part of the Uptime check. Only applies to checks where `monitored_resource` is set to `uptime_url`. If `use_ssl` is `false`, setting `validate_ssl` to `true` has no effect.
*/
@JvmName("phhtwacydwsahfox")
public suspend fun validateSsl(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.validateSsl = mapped
}
internal fun build(): UptimeCheckConfigHttpCheckArgs = UptimeCheckConfigHttpCheckArgs(
acceptedResponseStatusCodes = acceptedResponseStatusCodes,
authInfo = authInfo,
body = body,
contentType = contentType,
customContentType = customContentType,
headers = headers,
maskHeaders = maskHeaders,
path = path,
pingConfig = pingConfig,
port = port,
requestMethod = requestMethod,
serviceAgentAuthentication = serviceAgentAuthentication,
useSsl = useSsl,
validateSsl = validateSsl,
)
}