com.pulumi.azure.apimanagement.kotlin.GatewayHostNameConfigurationArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-azure-kotlin Show documentation
Show all versions of pulumi-azure-kotlin Show documentation
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.azure.apimanagement.kotlin
import com.pulumi.azure.apimanagement.GatewayHostNameConfigurationArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* Manages an API Management Gateway Host Name Configuration.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as azure from "@pulumi/azure";
* import * as std from "@pulumi/std";
* const example = new azure.core.ResourceGroup("example", {
* name: "example-resources",
* location: "West Europe",
* });
* const exampleService = new azure.apimanagement.Service("example", {
* name: "example-apim",
* location: example.location,
* resourceGroupName: example.name,
* publisherName: "pub1",
* publisherEmail: "[email protected]",
* skuName: "Consumption_0",
* });
* const exampleGateway = new azure.apimanagement.Gateway("example", {
* name: "example-gateway",
* apiManagementId: exampleService.id,
* description: "Example API Management gateway",
* locationData: {
* name: "example name",
* city: "example city",
* district: "example district",
* region: "example region",
* },
* });
* const exampleCertificate = new azure.apimanagement.Certificate("example", {
* name: "example-cert",
* apiManagementName: exampleService.name,
* resourceGroupName: example.name,
* data: std.filebase64({
* input: "example.pfx",
* }).then(invoke => invoke.result),
* });
* const exampleGatewayHostNameConfiguration = new azure.apimanagement.GatewayHostNameConfiguration("example", {
* name: "example-host-name-configuration",
* apiManagementId: exampleService.id,
* gatewayName: exampleGateway.name,
* certificateId: exampleCertificate.id,
* hostName: "example-host-name",
* requestClientCertificateEnabled: true,
* http2Enabled: true,
* tls10Enabled: true,
* tls11Enabled: false,
* });
* ```
* ```python
* import pulumi
* import pulumi_azure as azure
* import pulumi_std as std
* example = azure.core.ResourceGroup("example",
* name="example-resources",
* location="West Europe")
* example_service = azure.apimanagement.Service("example",
* name="example-apim",
* location=example.location,
* resource_group_name=example.name,
* publisher_name="pub1",
* publisher_email="[email protected]",
* sku_name="Consumption_0")
* example_gateway = azure.apimanagement.Gateway("example",
* name="example-gateway",
* api_management_id=example_service.id,
* description="Example API Management gateway",
* location_data=azure.apimanagement.GatewayLocationDataArgs(
* name="example name",
* city="example city",
* district="example district",
* region="example region",
* ))
* example_certificate = azure.apimanagement.Certificate("example",
* name="example-cert",
* api_management_name=example_service.name,
* resource_group_name=example.name,
* data=std.filebase64(input="example.pfx").result)
* example_gateway_host_name_configuration = azure.apimanagement.GatewayHostNameConfiguration("example",
* name="example-host-name-configuration",
* api_management_id=example_service.id,
* gateway_name=example_gateway.name,
* certificate_id=example_certificate.id,
* host_name="example-host-name",
* request_client_certificate_enabled=True,
* http2_enabled=True,
* tls10_enabled=True,
* tls11_enabled=False)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Azure = Pulumi.Azure;
* using Std = Pulumi.Std;
* return await Deployment.RunAsync(() =>
* {
* var example = new Azure.Core.ResourceGroup("example", new()
* {
* Name = "example-resources",
* Location = "West Europe",
* });
* var exampleService = new Azure.ApiManagement.Service("example", new()
* {
* Name = "example-apim",
* Location = example.Location,
* ResourceGroupName = example.Name,
* PublisherName = "pub1",
* PublisherEmail = "[email protected]",
* SkuName = "Consumption_0",
* });
* var exampleGateway = new Azure.ApiManagement.Gateway("example", new()
* {
* Name = "example-gateway",
* ApiManagementId = exampleService.Id,
* Description = "Example API Management gateway",
* LocationData = new Azure.ApiManagement.Inputs.GatewayLocationDataArgs
* {
* Name = "example name",
* City = "example city",
* District = "example district",
* Region = "example region",
* },
* });
* var exampleCertificate = new Azure.ApiManagement.Certificate("example", new()
* {
* Name = "example-cert",
* ApiManagementName = exampleService.Name,
* ResourceGroupName = example.Name,
* Data = Std.Filebase64.Invoke(new()
* {
* Input = "example.pfx",
* }).Apply(invoke => invoke.Result),
* });
* var exampleGatewayHostNameConfiguration = new Azure.ApiManagement.GatewayHostNameConfiguration("example", new()
* {
* Name = "example-host-name-configuration",
* ApiManagementId = exampleService.Id,
* GatewayName = exampleGateway.Name,
* CertificateId = exampleCertificate.Id,
* HostName = "example-host-name",
* RequestClientCertificateEnabled = true,
* Http2Enabled = true,
* Tls10Enabled = true,
* Tls11Enabled = false,
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/apimanagement"
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
* "github.com/pulumi/pulumi-std/sdk/go/std"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
* Name: pulumi.String("example-resources"),
* Location: pulumi.String("West Europe"),
* })
* if err != nil {
* return err
* }
* exampleService, err := apimanagement.NewService(ctx, "example", &apimanagement.ServiceArgs{
* Name: pulumi.String("example-apim"),
* Location: example.Location,
* ResourceGroupName: example.Name,
* PublisherName: pulumi.String("pub1"),
* PublisherEmail: pulumi.String("[email protected]"),
* SkuName: pulumi.String("Consumption_0"),
* })
* if err != nil {
* return err
* }
* exampleGateway, err := apimanagement.NewGateway(ctx, "example", &apimanagement.GatewayArgs{
* Name: pulumi.String("example-gateway"),
* ApiManagementId: exampleService.ID(),
* Description: pulumi.String("Example API Management gateway"),
* LocationData: &apimanagement.GatewayLocationDataArgs{
* Name: pulumi.String("example name"),
* City: pulumi.String("example city"),
* District: pulumi.String("example district"),
* Region: pulumi.String("example region"),
* },
* })
* if err != nil {
* return err
* }
* invokeFilebase64, err := std.Filebase64(ctx, &std.Filebase64Args{
* Input: "example.pfx",
* }, nil)
* if err != nil {
* return err
* }
* exampleCertificate, err := apimanagement.NewCertificate(ctx, "example", &apimanagement.CertificateArgs{
* Name: pulumi.String("example-cert"),
* ApiManagementName: exampleService.Name,
* ResourceGroupName: example.Name,
* Data: invokeFilebase64.Result,
* })
* if err != nil {
* return err
* }
* _, err = apimanagement.NewGatewayHostNameConfiguration(ctx, "example", &apimanagement.GatewayHostNameConfigurationArgs{
* Name: pulumi.String("example-host-name-configuration"),
* ApiManagementId: exampleService.ID(),
* GatewayName: exampleGateway.Name,
* CertificateId: exampleCertificate.ID(),
* HostName: pulumi.String("example-host-name"),
* RequestClientCertificateEnabled: pulumi.Bool(true),
* Http2Enabled: pulumi.Bool(true),
* Tls10Enabled: pulumi.Bool(true),
* Tls11Enabled: pulumi.Bool(false),
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.azure.core.ResourceGroup;
* import com.pulumi.azure.core.ResourceGroupArgs;
* import com.pulumi.azure.apimanagement.Service;
* import com.pulumi.azure.apimanagement.ServiceArgs;
* import com.pulumi.azure.apimanagement.Gateway;
* import com.pulumi.azure.apimanagement.GatewayArgs;
* import com.pulumi.azure.apimanagement.inputs.GatewayLocationDataArgs;
* import com.pulumi.azure.apimanagement.Certificate;
* import com.pulumi.azure.apimanagement.CertificateArgs;
* import com.pulumi.azure.apimanagement.GatewayHostNameConfiguration;
* import com.pulumi.azure.apimanagement.GatewayHostNameConfigurationArgs;
* import java.util.List;
* import java.util.ArrayList;
* import java.util.Map;
* import java.io.File;
* import java.nio.file.Files;
* import java.nio.file.Paths;
* public class App {
* public static void main(String[] args) {
* Pulumi.run(App::stack);
* }
* public static void stack(Context ctx) {
* var example = new ResourceGroup("example", ResourceGroupArgs.builder()
* .name("example-resources")
* .location("West Europe")
* .build());
* var exampleService = new Service("exampleService", ServiceArgs.builder()
* .name("example-apim")
* .location(example.location())
* .resourceGroupName(example.name())
* .publisherName("pub1")
* .publisherEmail("[email protected]")
* .skuName("Consumption_0")
* .build());
* var exampleGateway = new Gateway("exampleGateway", GatewayArgs.builder()
* .name("example-gateway")
* .apiManagementId(exampleService.id())
* .description("Example API Management gateway")
* .locationData(GatewayLocationDataArgs.builder()
* .name("example name")
* .city("example city")
* .district("example district")
* .region("example region")
* .build())
* .build());
* var exampleCertificate = new Certificate("exampleCertificate", CertificateArgs.builder()
* .name("example-cert")
* .apiManagementName(exampleService.name())
* .resourceGroupName(example.name())
* .data(StdFunctions.filebase64(Filebase64Args.builder()
* .input("example.pfx")
* .build()).result())
* .build());
* var exampleGatewayHostNameConfiguration = new GatewayHostNameConfiguration("exampleGatewayHostNameConfiguration", GatewayHostNameConfigurationArgs.builder()
* .name("example-host-name-configuration")
* .apiManagementId(exampleService.id())
* .gatewayName(exampleGateway.name())
* .certificateId(exampleCertificate.id())
* .hostName("example-host-name")
* .requestClientCertificateEnabled(true)
* .http2Enabled(true)
* .tls10Enabled(true)
* .tls11Enabled(false)
* .build());
* }
* }
* ```
* ```yaml
* resources:
* example:
* type: azure:core:ResourceGroup
* properties:
* name: example-resources
* location: West Europe
* exampleService:
* type: azure:apimanagement:Service
* name: example
* properties:
* name: example-apim
* location: ${example.location}
* resourceGroupName: ${example.name}
* publisherName: pub1
* publisherEmail: [email protected]
* skuName: Consumption_0
* exampleGateway:
* type: azure:apimanagement:Gateway
* name: example
* properties:
* name: example-gateway
* apiManagementId: ${exampleService.id}
* description: Example API Management gateway
* locationData:
* name: example name
* city: example city
* district: example district
* region: example region
* exampleCertificate:
* type: azure:apimanagement:Certificate
* name: example
* properties:
* name: example-cert
* apiManagementName: ${exampleService.name}
* resourceGroupName: ${example.name}
* data:
* fn::invoke:
* Function: std:filebase64
* Arguments:
* input: example.pfx
* Return: result
* exampleGatewayHostNameConfiguration:
* type: azure:apimanagement:GatewayHostNameConfiguration
* name: example
* properties:
* name: example-host-name-configuration
* apiManagementId: ${exampleService.id}
* gatewayName: ${exampleGateway.name}
* certificateId: ${exampleCertificate.id}
* hostName: example-host-name
* requestClientCertificateEnabled: true
* http2Enabled: true
* tls10Enabled: true
* tls11Enabled: false
* ```
*
* ## Import
* API Management Gateway Host Name Configuration can be imported using the `resource id`, e.g.
* ```sh
* $ pulumi import azure:apimanagement/gatewayHostNameConfiguration:GatewayHostNameConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1/gateways/gateway1/hostnameConfigurations/hc1
* ```
* @property apiManagementId The ID of the API Management Service. Changing this forces a new resource to be created.
* @property certificateId The certificate ID to be used for TLS connection establishment.
* @property gatewayName The name of the API Management Gateway. Changing this forces a new resource to be created.
* @property hostName The host name to use for the API Management Gateway Host Name Configuration.
* @property http2Enabled Whether HTTP/2.0 is supported. Defaults to `true`.
* @property name The name of the API Management Gateway Host Name Configuration. Changing this forces a new resource to be created.
* @property requestClientCertificateEnabled Whether the API Management Gateway requests a client certificate.
* @property tls10Enabled Whether TLS 1.0 is supported.
* @property tls11Enabled Whether TLS 1.1 is supported.
*/
public data class GatewayHostNameConfigurationArgs(
public val apiManagementId: Output? = null,
public val certificateId: Output? = null,
public val gatewayName: Output? = null,
public val hostName: Output? = null,
public val http2Enabled: Output? = null,
public val name: Output? = null,
public val requestClientCertificateEnabled: Output? = null,
public val tls10Enabled: Output? = null,
public val tls11Enabled: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azure.apimanagement.GatewayHostNameConfigurationArgs =
com.pulumi.azure.apimanagement.GatewayHostNameConfigurationArgs.builder()
.apiManagementId(apiManagementId?.applyValue({ args0 -> args0 }))
.certificateId(certificateId?.applyValue({ args0 -> args0 }))
.gatewayName(gatewayName?.applyValue({ args0 -> args0 }))
.hostName(hostName?.applyValue({ args0 -> args0 }))
.http2Enabled(http2Enabled?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.requestClientCertificateEnabled(requestClientCertificateEnabled?.applyValue({ args0 -> args0 }))
.tls10Enabled(tls10Enabled?.applyValue({ args0 -> args0 }))
.tls11Enabled(tls11Enabled?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [GatewayHostNameConfigurationArgs].
*/
@PulumiTagMarker
public class GatewayHostNameConfigurationArgsBuilder internal constructor() {
private var apiManagementId: Output? = null
private var certificateId: Output? = null
private var gatewayName: Output? = null
private var hostName: Output? = null
private var http2Enabled: Output? = null
private var name: Output? = null
private var requestClientCertificateEnabled: Output? = null
private var tls10Enabled: Output? = null
private var tls11Enabled: Output? = null
/**
* @param value The ID of the API Management Service. Changing this forces a new resource to be created.
*/
@JvmName("fxqwymeqtvltfodi")
public suspend fun apiManagementId(`value`: Output) {
this.apiManagementId = value
}
/**
* @param value The certificate ID to be used for TLS connection establishment.
*/
@JvmName("yjtecasjrdkienrn")
public suspend fun certificateId(`value`: Output) {
this.certificateId = value
}
/**
* @param value The name of the API Management Gateway. Changing this forces a new resource to be created.
*/
@JvmName("xaiisgdqlnidleai")
public suspend fun gatewayName(`value`: Output) {
this.gatewayName = value
}
/**
* @param value The host name to use for the API Management Gateway Host Name Configuration.
*/
@JvmName("qphnljhtygpuxtgv")
public suspend fun hostName(`value`: Output) {
this.hostName = value
}
/**
* @param value Whether HTTP/2.0 is supported. Defaults to `true`.
*/
@JvmName("rptpbexxqvydgcis")
public suspend fun http2Enabled(`value`: Output) {
this.http2Enabled = value
}
/**
* @param value The name of the API Management Gateway Host Name Configuration. Changing this forces a new resource to be created.
*/
@JvmName("wwyucxlwmciqckhk")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value Whether the API Management Gateway requests a client certificate.
*/
@JvmName("pynsfcwcsfveduvm")
public suspend fun requestClientCertificateEnabled(`value`: Output) {
this.requestClientCertificateEnabled = value
}
/**
* @param value Whether TLS 1.0 is supported.
*/
@JvmName("nunqxjowyqkeogdx")
public suspend fun tls10Enabled(`value`: Output) {
this.tls10Enabled = value
}
/**
* @param value Whether TLS 1.1 is supported.
*/
@JvmName("oinbhgyvrelpibdy")
public suspend fun tls11Enabled(`value`: Output) {
this.tls11Enabled = value
}
/**
* @param value The ID of the API Management Service. Changing this forces a new resource to be created.
*/
@JvmName("ujnvfvicfskwqvbg")
public suspend fun apiManagementId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.apiManagementId = mapped
}
/**
* @param value The certificate ID to be used for TLS connection establishment.
*/
@JvmName("iqlreoibhogcbvqx")
public suspend fun certificateId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.certificateId = mapped
}
/**
* @param value The name of the API Management Gateway. Changing this forces a new resource to be created.
*/
@JvmName("mycgsxfcrridbaxy")
public suspend fun gatewayName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.gatewayName = mapped
}
/**
* @param value The host name to use for the API Management Gateway Host Name Configuration.
*/
@JvmName("wxrmonnhbbmgvgkf")
public suspend fun hostName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.hostName = mapped
}
/**
* @param value Whether HTTP/2.0 is supported. Defaults to `true`.
*/
@JvmName("aatepvihtkvajtuu")
public suspend fun http2Enabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.http2Enabled = mapped
}
/**
* @param value The name of the API Management Gateway Host Name Configuration. Changing this forces a new resource to be created.
*/
@JvmName("vxdkihsuqvuvdhkn")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value Whether the API Management Gateway requests a client certificate.
*/
@JvmName("dawpoykcibturxyh")
public suspend fun requestClientCertificateEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.requestClientCertificateEnabled = mapped
}
/**
* @param value Whether TLS 1.0 is supported.
*/
@JvmName("kcxxqvgthkiblymd")
public suspend fun tls10Enabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tls10Enabled = mapped
}
/**
* @param value Whether TLS 1.1 is supported.
*/
@JvmName("arojhxkafuhkjkxr")
public suspend fun tls11Enabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tls11Enabled = mapped
}
internal fun build(): GatewayHostNameConfigurationArgs = GatewayHostNameConfigurationArgs(
apiManagementId = apiManagementId,
certificateId = certificateId,
gatewayName = gatewayName,
hostName = hostName,
http2Enabled = http2Enabled,
name = name,
requestClientCertificateEnabled = requestClientCertificateEnabled,
tls10Enabled = tls10Enabled,
tls11Enabled = tls11Enabled,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy