ApiManagementServiceArgs

data class ApiManagementServiceArgs(val additionalLocations: Output<List<AdditionalLocationArgs>>? = null, val apiVersionConstraint: Output<ApiVersionConstraintArgs>? = null, val certificates: Output<List<CertificateConfigurationArgs>>? = null, val customProperties: Output<Map<String, String>>? = null, val disableGateway: Output<Boolean>? = null, val enableClientCertificate: Output<Boolean>? = null, val hostnameConfigurations: Output<List<HostnameConfigurationArgs>>? = null, val identity: Output<ApiManagementServiceIdentityArgs>? = null, val location: Output<String>? = null, val natGatewayState: Output<Either<String, NatGatewayState>>? = null, val notificationSenderEmail: Output<String>? = null, val privateEndpointConnections: Output<List<RemotePrivateEndpointConnectionWrapperArgs>>? = null, val publicIpAddressId: Output<String>? = null, val publicNetworkAccess: Output<Either<String, PublicNetworkAccess>>? = null, val publisherEmail: Output<String>? = null, val publisherName: Output<String>? = null, val resourceGroupName: Output<String>? = null, val restore: Output<Boolean>? = null, val serviceName: Output<String>? = null, val sku: Output<ApiManagementServiceSkuPropertiesArgs>? = null, val tags: Output<Map<String, String>>? = null, val virtualNetworkConfiguration: Output<VirtualNetworkConfigurationArgs>? = null, val virtualNetworkType: Output<Either<String, VirtualNetworkType>>? = null, val zones: Output<List<String>>? = null) : ConvertibleToJava<ApiManagementServiceArgs>

A single API Management service resource in List or Get response. Uses Azure REST API version 2022-09-01-preview. In version 2.x of the Azure Native provider, it used API version 2022-08-01. Other available API versions: 2021-04-01-preview, 2021-08-01, 2021-12-01-preview, 2022-04-01-preview, 2022-08-01, 2023-03-01-preview, 2023-05-01-preview, 2023-09-01-preview, 2024-05-01, 2024-06-01-preview. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native apimanagement [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

Example Usage

ApiManagementCreateMultiRegionServiceWithCustomHostname

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var apiManagementService = new AzureNative.ApiManagement.ApiManagementService("apiManagementService", new()
{
AdditionalLocations = new[]
{
new AzureNative.ApiManagement.Inputs.AdditionalLocationArgs
{
DisableGateway = true,
Location = "East US",
Sku = new AzureNative.ApiManagement.Inputs.ApiManagementServiceSkuPropertiesArgs
{
Capacity = 1,
Name = AzureNative.ApiManagement.SkuType.Premium,
},
},
},
ApiVersionConstraint = new AzureNative.ApiManagement.Inputs.ApiVersionConstraintArgs
{
MinApiVersion = "2019-01-01",
},
HostnameConfigurations = new[]
{
new AzureNative.ApiManagement.Inputs.HostnameConfigurationArgs
{
CertificatePassword = "Password",
DefaultSslBinding = true,
EncodedCertificate = "****** Base 64 Encoded Certificate ************",
HostName = "gateway1.msitesting.net",
Type = AzureNative.ApiManagement.HostnameType.Proxy,
},
new AzureNative.ApiManagement.Inputs.HostnameConfigurationArgs
{
CertificatePassword = "Password",
EncodedCertificate = "****** Base 64 Encoded Certificate ************",
HostName = "mgmt.msitesting.net",
Type = AzureNative.ApiManagement.HostnameType.Management,
},
new AzureNative.ApiManagement.Inputs.HostnameConfigurationArgs
{
CertificatePassword = "Password",
EncodedCertificate = "****** Base 64 Encoded Certificate ************",
HostName = "portal1.msitesting.net",
Type = AzureNative.ApiManagement.HostnameType.Portal,
},
},
Location = "West US",
PublisherEmail = "apim@autorestsdk.com",
PublisherName = "autorestsdk",
ResourceGroupName = "rg1",
ServiceName = "apimService1",
Sku = new AzureNative.ApiManagement.Inputs.ApiManagementServiceSkuPropertiesArgs
{
Capacity = 1,
Name = AzureNative.ApiManagement.SkuType.Premium,
},
Tags =
{
{ "tag1", "value1" },
{ "tag2", "value2" },
{ "tag3", "value3" },
},
VirtualNetworkType = AzureNative.ApiManagement.VirtualNetworkType.None,
});
});
package main
import (
apimanagement "github.com/pulumi/pulumi-azure-native-sdk/apimanagement/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := apimanagement.NewApiManagementService(ctx, "apiManagementService", &apimanagement.ApiManagementServiceArgs{
AdditionalLocations: apimanagement.AdditionalLocationArray{
&apimanagement.AdditionalLocationArgs{
DisableGateway: pulumi.Bool(true),
Location: pulumi.String("East US"),
Sku: &apimanagement.ApiManagementServiceSkuPropertiesArgs{
Capacity: pulumi.Int(1),
Name: pulumi.String(apimanagement.SkuTypePremium),
},
},
},
ApiVersionConstraint: &apimanagement.ApiVersionConstraintArgs{
MinApiVersion: pulumi.String("2019-01-01"),
},
HostnameConfigurations: apimanagement.HostnameConfigurationArray{
&apimanagement.HostnameConfigurationArgs{
CertificatePassword: pulumi.String("Password"),
DefaultSslBinding: pulumi.Bool(true),
EncodedCertificate: pulumi.String("****** Base 64 Encoded Certificate ************"),
HostName: pulumi.String("gateway1.msitesting.net"),
Type: pulumi.String(apimanagement.HostnameTypeProxy),
},
&apimanagement.HostnameConfigurationArgs{
CertificatePassword: pulumi.String("Password"),
EncodedCertificate: pulumi.String("****** Base 64 Encoded Certificate ************"),
HostName: pulumi.String("mgmt.msitesting.net"),
Type: pulumi.String(apimanagement.HostnameTypeManagement),
},
&apimanagement.HostnameConfigurationArgs{
CertificatePassword: pulumi.String("Password"),
EncodedCertificate: pulumi.String("****** Base 64 Encoded Certificate ************"),
HostName: pulumi.String("portal1.msitesting.net"),
Type: pulumi.String(apimanagement.HostnameTypePortal),
},
},
Location: pulumi.String("West US"),
PublisherEmail: pulumi.String("apim@autorestsdk.com"),
PublisherName: pulumi.String("autorestsdk"),
ResourceGroupName: pulumi.String("rg1"),
ServiceName: pulumi.String("apimService1"),
Sku: &apimanagement.ApiManagementServiceSkuPropertiesArgs{
Capacity: pulumi.Int(1),
Name: pulumi.String(apimanagement.SkuTypePremium),
},
Tags: pulumi.StringMap{
"tag1": pulumi.String("value1"),
"tag2": pulumi.String("value2"),
"tag3": pulumi.String("value3"),
},
VirtualNetworkType: pulumi.String(apimanagement.VirtualNetworkTypeNone),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.apimanagement.ApiManagementService;
import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
import com.pulumi.azurenative.apimanagement.inputs.AdditionalLocationArgs;
import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
import com.pulumi.azurenative.apimanagement.inputs.ApiVersionConstraintArgs;
import com.pulumi.azurenative.apimanagement.inputs.HostnameConfigurationArgs;
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 apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
.additionalLocations(AdditionalLocationArgs.builder()
.disableGateway(true)
.location("East US")
.sku(ApiManagementServiceSkuPropertiesArgs.builder()
.capacity(1)
.name("Premium")
.build())
.build())
.apiVersionConstraint(ApiVersionConstraintArgs.builder()
.minApiVersion("2019-01-01")
.build())
.hostnameConfigurations(
HostnameConfigurationArgs.builder()
.certificatePassword("Password")
.defaultSslBinding(true)
.encodedCertificate("****** Base 64 Encoded Certificate ************")
.hostName("gateway1.msitesting.net")
.type("Proxy")
.build(),
HostnameConfigurationArgs.builder()
.certificatePassword("Password")
.encodedCertificate("****** Base 64 Encoded Certificate ************")
.hostName("mgmt.msitesting.net")
.type("Management")
.build(),
HostnameConfigurationArgs.builder()
.certificatePassword("Password")
.encodedCertificate("****** Base 64 Encoded Certificate ************")
.hostName("portal1.msitesting.net")
.type("Portal")
.build())
.location("West US")
.publisherEmail("apim@autorestsdk.com")
.publisherName("autorestsdk")
.resourceGroupName("rg1")
.serviceName("apimService1")
.sku(ApiManagementServiceSkuPropertiesArgs.builder()
.capacity(1)
.name("Premium")
.build())
.tags(Map.ofEntries(
Map.entry("tag1", "value1"),
Map.entry("tag2", "value2"),
Map.entry("tag3", "value3")
))
.virtualNetworkType("None")
.build());
}
}

ApiManagementCreateService

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var apiManagementService = new AzureNative.ApiManagement.ApiManagementService("apiManagementService", new()
{
Location = "South Central US",
PublisherEmail = "foo@contoso.com",
PublisherName = "foo",
ResourceGroupName = "rg1",
ServiceName = "apimService1",
Sku = new AzureNative.ApiManagement.Inputs.ApiManagementServiceSkuPropertiesArgs
{
Capacity = 1,
Name = AzureNative.ApiManagement.SkuType.Developer,
},
Tags =
{
{ "Name", "Contoso" },
{ "Test", "User" },
},
});
});
package main
import (
apimanagement "github.com/pulumi/pulumi-azure-native-sdk/apimanagement/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := apimanagement.NewApiManagementService(ctx, "apiManagementService", &apimanagement.ApiManagementServiceArgs{
Location: pulumi.String("South Central US"),
PublisherEmail: pulumi.String("foo@contoso.com"),
PublisherName: pulumi.String("foo"),
ResourceGroupName: pulumi.String("rg1"),
ServiceName: pulumi.String("apimService1"),
Sku: &apimanagement.ApiManagementServiceSkuPropertiesArgs{
Capacity: pulumi.Int(1),
Name: pulumi.String(apimanagement.SkuTypeDeveloper),
},
Tags: pulumi.StringMap{
"Name": pulumi.String("Contoso"),
"Test": pulumi.String("User"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.apimanagement.ApiManagementService;
import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
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 apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
.location("South Central US")
.publisherEmail("foo@contoso.com")
.publisherName("foo")
.resourceGroupName("rg1")
.serviceName("apimService1")
.sku(ApiManagementServiceSkuPropertiesArgs.builder()
.capacity(1)
.name("Developer")
.build())
.tags(Map.ofEntries(
Map.entry("Name", "Contoso"),
Map.entry("Test", "User")
))
.build());
}
}

ApiManagementCreateServiceHavingMsi

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var apiManagementService = new AzureNative.ApiManagement.ApiManagementService("apiManagementService", new()
{
Identity = new AzureNative.ApiManagement.Inputs.ApiManagementServiceIdentityArgs
{
Type = AzureNative.ApiManagement.ApimIdentityType.SystemAssigned,
},
Location = "West US",
PublisherEmail = "apim@autorestsdk.com",
PublisherName = "autorestsdk",
ResourceGroupName = "rg1",
ServiceName = "apimService1",
Sku = new AzureNative.ApiManagement.Inputs.ApiManagementServiceSkuPropertiesArgs
{
Capacity = 0,
Name = AzureNative.ApiManagement.SkuType.Consumption,
},
Tags =
{
{ "tag1", "value1" },
{ "tag2", "value2" },
{ "tag3", "value3" },
},
});
});
package main
import (
apimanagement "github.com/pulumi/pulumi-azure-native-sdk/apimanagement/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := apimanagement.NewApiManagementService(ctx, "apiManagementService", &apimanagement.ApiManagementServiceArgs{
Identity: &apimanagement.ApiManagementServiceIdentityArgs{
Type: pulumi.String(apimanagement.ApimIdentityTypeSystemAssigned),
},
Location: pulumi.String("West US"),
PublisherEmail: pulumi.String("apim@autorestsdk.com"),
PublisherName: pulumi.String("autorestsdk"),
ResourceGroupName: pulumi.String("rg1"),
ServiceName: pulumi.String("apimService1"),
Sku: &apimanagement.ApiManagementServiceSkuPropertiesArgs{
Capacity: pulumi.Int(0),
Name: pulumi.String(apimanagement.SkuTypeConsumption),
},
Tags: pulumi.StringMap{
"tag1": pulumi.String("value1"),
"tag2": pulumi.String("value2"),
"tag3": pulumi.String("value3"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.apimanagement.ApiManagementService;
import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceIdentityArgs;
import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
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 apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
.identity(ApiManagementServiceIdentityArgs.builder()
.type("SystemAssigned")
.build())
.location("West US")
.publisherEmail("apim@autorestsdk.com")
.publisherName("autorestsdk")
.resourceGroupName("rg1")
.serviceName("apimService1")
.sku(ApiManagementServiceSkuPropertiesArgs.builder()
.capacity(0)
.name("Consumption")
.build())
.tags(Map.ofEntries(
Map.entry("tag1", "value1"),
Map.entry("tag2", "value2"),
Map.entry("tag3", "value3")
))
.build());
}
}

ApiManagementCreateServiceInVnetWithPublicIP

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var apiManagementService = new AzureNative.ApiManagement.ApiManagementService("apiManagementService", new()
{
Location = "East US 2 EUAP",
PublicIpAddressId = "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet",
PublisherEmail = "apim@autorestsdk.com",
PublisherName = "autorestsdk",
ResourceGroupName = "rg1",
ServiceName = "apimService1",
Sku = new AzureNative.ApiManagement.Inputs.ApiManagementServiceSkuPropertiesArgs
{
Capacity = 2,
Name = AzureNative.ApiManagement.SkuType.Premium,
},
Tags =
{
{ "tag1", "value1" },
{ "tag2", "value2" },
{ "tag3", "value3" },
},
VirtualNetworkConfiguration = new AzureNative.ApiManagement.Inputs.VirtualNetworkConfigurationArgs
{
SubnetResourceId = "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant",
},
VirtualNetworkType = AzureNative.ApiManagement.VirtualNetworkType.External,
Zones = new[]
{
"1",
"2",
},
});
});
package main
import (
apimanagement "github.com/pulumi/pulumi-azure-native-sdk/apimanagement/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := apimanagement.NewApiManagementService(ctx, "apiManagementService", &apimanagement.ApiManagementServiceArgs{
Location: pulumi.String("East US 2 EUAP"),
PublicIpAddressId: pulumi.String("/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet"),
PublisherEmail: pulumi.String("apim@autorestsdk.com"),
PublisherName: pulumi.String("autorestsdk"),
ResourceGroupName: pulumi.String("rg1"),
ServiceName: pulumi.String("apimService1"),
Sku: &apimanagement.ApiManagementServiceSkuPropertiesArgs{
Capacity: pulumi.Int(2),
Name: pulumi.String(apimanagement.SkuTypePremium),
},
Tags: pulumi.StringMap{
"tag1": pulumi.String("value1"),
"tag2": pulumi.String("value2"),
"tag3": pulumi.String("value3"),
},
VirtualNetworkConfiguration: &apimanagement.VirtualNetworkConfigurationArgs{
SubnetResourceId: pulumi.String("/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant"),
},
VirtualNetworkType: pulumi.String(apimanagement.VirtualNetworkTypeExternal),
Zones: pulumi.StringArray{
pulumi.String("1"),
pulumi.String("2"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.apimanagement.ApiManagementService;
import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
import com.pulumi.azurenative.apimanagement.inputs.VirtualNetworkConfigurationArgs;
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 apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
.location("East US 2 EUAP")
.publicIpAddressId("/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet")
.publisherEmail("apim@autorestsdk.com")
.publisherName("autorestsdk")
.resourceGroupName("rg1")
.serviceName("apimService1")
.sku(ApiManagementServiceSkuPropertiesArgs.builder()
.capacity(2)
.name("Premium")
.build())
.tags(Map.ofEntries(
Map.entry("tag1", "value1"),
Map.entry("tag2", "value2"),
Map.entry("tag3", "value3")
))
.virtualNetworkConfiguration(VirtualNetworkConfigurationArgs.builder()
.subnetResourceId("/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant")
.build())
.virtualNetworkType("External")
.zones(
"1",
"2")
.build());
}
}

ApiManagementCreateServiceInZones

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var apiManagementService = new AzureNative.ApiManagement.ApiManagementService("apiManagementService", new()
{
Location = "North europe",
PublisherEmail = "apim@autorestsdk.com",
PublisherName = "autorestsdk",
ResourceGroupName = "rg1",
ServiceName = "apimService1",
Sku = new AzureNative.ApiManagement.Inputs.ApiManagementServiceSkuPropertiesArgs
{
Capacity = 2,
Name = AzureNative.ApiManagement.SkuType.Premium,
},
Tags =
{
{ "tag1", "value1" },
{ "tag2", "value2" },
{ "tag3", "value3" },
},
Zones = new[]
{
"1",
"2",
},
});
});
package main
import (
apimanagement "github.com/pulumi/pulumi-azure-native-sdk/apimanagement/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := apimanagement.NewApiManagementService(ctx, "apiManagementService", &apimanagement.ApiManagementServiceArgs{
Location: pulumi.String("North europe"),
PublisherEmail: pulumi.String("apim@autorestsdk.com"),
PublisherName: pulumi.String("autorestsdk"),
ResourceGroupName: pulumi.String("rg1"),
ServiceName: pulumi.String("apimService1"),
Sku: &apimanagement.ApiManagementServiceSkuPropertiesArgs{
Capacity: pulumi.Int(2),
Name: pulumi.String(apimanagement.SkuTypePremium),
},
Tags: pulumi.StringMap{
"tag1": pulumi.String("value1"),
"tag2": pulumi.String("value2"),
"tag3": pulumi.String("value3"),
},
Zones: pulumi.StringArray{
pulumi.String("1"),
pulumi.String("2"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.apimanagement.ApiManagementService;
import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
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 apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
.location("North europe")
.publisherEmail("apim@autorestsdk.com")
.publisherName("autorestsdk")
.resourceGroupName("rg1")
.serviceName("apimService1")
.sku(ApiManagementServiceSkuPropertiesArgs.builder()
.capacity(2)
.name("Premium")
.build())
.tags(Map.ofEntries(
Map.entry("tag1", "value1"),
Map.entry("tag2", "value2"),
Map.entry("tag3", "value3")
))
.zones(
"1",
"2")
.build());
}
}

ApiManagementCreateServiceWithCustomHostnameKeyVault

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var apiManagementService = new AzureNative.ApiManagement.ApiManagementService("apiManagementService", new()
{
ApiVersionConstraint = new AzureNative.ApiManagement.Inputs.ApiVersionConstraintArgs
{
MinApiVersion = "2019-01-01",
},
HostnameConfigurations = new[]
{
new AzureNative.ApiManagement.Inputs.HostnameConfigurationArgs
{
DefaultSslBinding = true,
HostName = "gateway1.msitesting.net",
IdentityClientId = "329419bc-adec-4dce-9568-25a6d486e468",
KeyVaultId = "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
Type = AzureNative.ApiManagement.HostnameType.Proxy,
},
new AzureNative.ApiManagement.Inputs.HostnameConfigurationArgs
{
HostName = "mgmt.msitesting.net",
IdentityClientId = "329419bc-adec-4dce-9568-25a6d486e468",
KeyVaultId = "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
Type = AzureNative.ApiManagement.HostnameType.Management,
},
new AzureNative.ApiManagement.Inputs.HostnameConfigurationArgs
{
HostName = "portal1.msitesting.net",
IdentityClientId = "329419bc-adec-4dce-9568-25a6d486e468",
KeyVaultId = "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
Type = AzureNative.ApiManagement.HostnameType.Portal,
},
},
Identity = new AzureNative.ApiManagement.Inputs.ApiManagementServiceIdentityArgs
{
Type = AzureNative.ApiManagement.ApimIdentityType.UserAssigned,
UserAssignedIdentities =
{
{ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1", null },
},
},
Location = "North Europe",
PublisherEmail = "apim@autorestsdk.com",
PublisherName = "autorestsdk",
ResourceGroupName = "rg1",
ServiceName = "apimService1",
Sku = new AzureNative.ApiManagement.Inputs.ApiManagementServiceSkuPropertiesArgs
{
Capacity = 1,
Name = AzureNative.ApiManagement.SkuType.Premium,
},
Tags =
{
{ "tag1", "value1" },
{ "tag2", "value2" },
{ "tag3", "value3" },
},
VirtualNetworkType = AzureNative.ApiManagement.VirtualNetworkType.None,
});
});
package main
import (
apimanagement "github.com/pulumi/pulumi-azure-native-sdk/apimanagement/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := apimanagement.NewApiManagementService(ctx, "apiManagementService", &apimanagement.ApiManagementServiceArgs{
ApiVersionConstraint: &apimanagement.ApiVersionConstraintArgs{
MinApiVersion: pulumi.String("2019-01-01"),
},
HostnameConfigurations: apimanagement.HostnameConfigurationArray{
&apimanagement.HostnameConfigurationArgs{
DefaultSslBinding: pulumi.Bool(true),
HostName: pulumi.String("gateway1.msitesting.net"),
IdentityClientId: pulumi.String("329419bc-adec-4dce-9568-25a6d486e468"),
KeyVaultId: pulumi.String("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert"),
Type: pulumi.String(apimanagement.HostnameTypeProxy),
},
&apimanagement.HostnameConfigurationArgs{
HostName: pulumi.String("mgmt.msitesting.net"),
IdentityClientId: pulumi.String("329419bc-adec-4dce-9568-25a6d486e468"),
KeyVaultId: pulumi.String("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert"),
Type: pulumi.String(apimanagement.HostnameTypeManagement),
},
&apimanagement.HostnameConfigurationArgs{
HostName: pulumi.String("portal1.msitesting.net"),
IdentityClientId: pulumi.String("329419bc-adec-4dce-9568-25a6d486e468"),
KeyVaultId: pulumi.String("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert"),
Type: pulumi.String(apimanagement.HostnameTypePortal),
},
},
Identity: &apimanagement.ApiManagementServiceIdentityArgs{
Type: pulumi.String(apimanagement.ApimIdentityTypeUserAssigned),
UserAssignedIdentities: apimanagement.UserIdentityPropertiesMap{
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": &apimanagement.UserIdentityPropertiesArgs{},
},
},
Location: pulumi.String("North Europe"),
PublisherEmail: pulumi.String("apim@autorestsdk.com"),
PublisherName: pulumi.String("autorestsdk"),
ResourceGroupName: pulumi.String("rg1"),
ServiceName: pulumi.String("apimService1"),
Sku: &apimanagement.ApiManagementServiceSkuPropertiesArgs{
Capacity: pulumi.Int(1),
Name: pulumi.String(apimanagement.SkuTypePremium),
},
Tags: pulumi.StringMap{
"tag1": pulumi.String("value1"),
"tag2": pulumi.String("value2"),
"tag3": pulumi.String("value3"),
},
VirtualNetworkType: pulumi.String(apimanagement.VirtualNetworkTypeNone),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.apimanagement.ApiManagementService;
import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
import com.pulumi.azurenative.apimanagement.inputs.ApiVersionConstraintArgs;
import com.pulumi.azurenative.apimanagement.inputs.HostnameConfigurationArgs;
import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceIdentityArgs;
import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
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 apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
.apiVersionConstraint(ApiVersionConstraintArgs.builder()
.minApiVersion("2019-01-01")
.build())
.hostnameConfigurations(
HostnameConfigurationArgs.builder()
.defaultSslBinding(true)
.hostName("gateway1.msitesting.net")
.identityClientId("329419bc-adec-4dce-9568-25a6d486e468")
.keyVaultId("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert")
.type("Proxy")
.build(),
HostnameConfigurationArgs.builder()
.hostName("mgmt.msitesting.net")
.identityClientId("329419bc-adec-4dce-9568-25a6d486e468")
.keyVaultId("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert")
.type("Management")
.build(),
HostnameConfigurationArgs.builder()
.hostName("portal1.msitesting.net")
.identityClientId("329419bc-adec-4dce-9568-25a6d486e468")
.keyVaultId("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert")
.type("Portal")
.build())
.identity(ApiManagementServiceIdentityArgs.builder()
.type("UserAssigned")
.userAssignedIdentities(Map.of("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1", ))
.build())
.location("North Europe")
.publisherEmail("apim@autorestsdk.com")
.publisherName("autorestsdk")
.resourceGroupName("rg1")
.serviceName("apimService1")
.sku(ApiManagementServiceSkuPropertiesArgs.builder()
.capacity(1)
.name("Premium")
.build())
.tags(Map.ofEntries(
Map.entry("tag1", "value1"),
Map.entry("tag2", "value2"),
Map.entry("tag3", "value3")
))
.virtualNetworkType("None")
.build());
}
}

ApiManagementCreateServiceWithNatGatewayEnabled

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var apiManagementService = new AzureNative.ApiManagement.ApiManagementService("apiManagementService", new()
{
Location = "East US",
NatGatewayState = AzureNative.ApiManagement.NatGatewayState.Enabled,
PublisherEmail = "apim@autorestsdk.com",
PublisherName = "autorestsdk",
ResourceGroupName = "rg1",
ServiceName = "apimService1",
Sku = new AzureNative.ApiManagement.Inputs.ApiManagementServiceSkuPropertiesArgs
{
Capacity = 1,
Name = AzureNative.ApiManagement.SkuType.Premium,
},
Tags =
{
{ "tag1", "value1" },
{ "tag2", "value2" },
{ "tag3", "value3" },
},
});
});
package main
import (
apimanagement "github.com/pulumi/pulumi-azure-native-sdk/apimanagement/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := apimanagement.NewApiManagementService(ctx, "apiManagementService", &apimanagement.ApiManagementServiceArgs{
Location: pulumi.String("East US"),
NatGatewayState: pulumi.String(apimanagement.NatGatewayStateEnabled),
PublisherEmail: pulumi.String("apim@autorestsdk.com"),
PublisherName: pulumi.String("autorestsdk"),
ResourceGroupName: pulumi.String("rg1"),
ServiceName: pulumi.String("apimService1"),
Sku: &apimanagement.ApiManagementServiceSkuPropertiesArgs{
Capacity: pulumi.Int(1),
Name: pulumi.String(apimanagement.SkuTypePremium),
},
Tags: pulumi.StringMap{
"tag1": pulumi.String("value1"),
"tag2": pulumi.String("value2"),
"tag3": pulumi.String("value3"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.apimanagement.ApiManagementService;
import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
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 apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
.location("East US")
.natGatewayState("Enabled")
.publisherEmail("apim@autorestsdk.com")
.publisherName("autorestsdk")
.resourceGroupName("rg1")
.serviceName("apimService1")
.sku(ApiManagementServiceSkuPropertiesArgs.builder()
.capacity(1)
.name("Premium")
.build())
.tags(Map.ofEntries(
Map.entry("tag1", "value1"),
Map.entry("tag2", "value2"),
Map.entry("tag3", "value3")
))
.build());
}
}

ApiManagementCreateServiceWithSystemCertificates

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var apiManagementService = new AzureNative.ApiManagement.ApiManagementService("apiManagementService", new()
{
Certificates = new[]
{
new AzureNative.ApiManagement.Inputs.CertificateConfigurationArgs
{
CertificatePassword = "Password",
EncodedCertificate = "*******Base64 encoded Certificate******************",
StoreName = "CertificateAuthority",
},
},
Location = "Central US",
PublisherEmail = "apim@autorestsdk.com",
PublisherName = "autorestsdk",
ResourceGroupName = "rg1",
ServiceName = "apimService1",
Sku = new AzureNative.ApiManagement.Inputs.ApiManagementServiceSkuPropertiesArgs
{
Capacity = 1,
Name = AzureNative.ApiManagement.SkuType.Basic,
},
Tags =
{
{ "tag1", "value1" },
{ "tag2", "value2" },
{ "tag3", "value3" },
},
});
});
package main
import (
apimanagement "github.com/pulumi/pulumi-azure-native-sdk/apimanagement/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := apimanagement.NewApiManagementService(ctx, "apiManagementService", &apimanagement.ApiManagementServiceArgs{
Certificates: apimanagement.CertificateConfigurationArray{
&apimanagement.CertificateConfigurationArgs{
CertificatePassword: pulumi.String("Password"),
EncodedCertificate: pulumi.String("*******Base64 encoded Certificate******************"),
StoreName: pulumi.String("CertificateAuthority"),
},
},
Location: pulumi.String("Central US"),
PublisherEmail: pulumi.String("apim@autorestsdk.com"),
PublisherName: pulumi.String("autorestsdk"),
ResourceGroupName: pulumi.String("rg1"),
ServiceName: pulumi.String("apimService1"),
Sku: &apimanagement.ApiManagementServiceSkuPropertiesArgs{
Capacity: pulumi.Int(1),
Name: pulumi.String(apimanagement.SkuTypeBasic),
},
Tags: pulumi.StringMap{
"tag1": pulumi.String("value1"),
"tag2": pulumi.String("value2"),
"tag3": pulumi.String("value3"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.apimanagement.ApiManagementService;
import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
import com.pulumi.azurenative.apimanagement.inputs.CertificateConfigurationArgs;
import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
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 apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
.certificates(CertificateConfigurationArgs.builder()
.certificatePassword("Password")
.encodedCertificate("*******Base64 encoded Certificate******************")
.storeName("CertificateAuthority")
.build())
.location("Central US")
.publisherEmail("apim@autorestsdk.com")
.publisherName("autorestsdk")
.resourceGroupName("rg1")
.serviceName("apimService1")
.sku(ApiManagementServiceSkuPropertiesArgs.builder()
.capacity(1)
.name("Basic")
.build())
.tags(Map.ofEntries(
Map.entry("tag1", "value1"),
Map.entry("tag2", "value2"),
Map.entry("tag3", "value3")
))
.build());
}
}

ApiManagementCreateServiceWithUserAssignedIdentity

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var apiManagementService = new AzureNative.ApiManagement.ApiManagementService("apiManagementService", new()
{
Identity = new AzureNative.ApiManagement.Inputs.ApiManagementServiceIdentityArgs
{
Type = AzureNative.ApiManagement.ApimIdentityType.UserAssigned,
UserAssignedIdentities =
{
{ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1", null },
},
},
Location = "West US",
PublisherEmail = "apim@autorestsdk.com",
PublisherName = "autorestsdk",
ResourceGroupName = "rg1",
ServiceName = "apimService1",
Sku = new AzureNative.ApiManagement.Inputs.ApiManagementServiceSkuPropertiesArgs
{
Capacity = 0,
Name = AzureNative.ApiManagement.SkuType.Consumption,
},
Tags =
{
{ "tag1", "value1" },
{ "tag2", "value2" },
{ "tag3", "value3" },
},
});
});
package main
import (
apimanagement "github.com/pulumi/pulumi-azure-native-sdk/apimanagement/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := apimanagement.NewApiManagementService(ctx, "apiManagementService", &apimanagement.ApiManagementServiceArgs{
Identity: &apimanagement.ApiManagementServiceIdentityArgs{
Type: pulumi.String(apimanagement.ApimIdentityTypeUserAssigned),
UserAssignedIdentities: apimanagement.UserIdentityPropertiesMap{
"/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": &apimanagement.UserIdentityPropertiesArgs{},
},
},
Location: pulumi.String("West US"),
PublisherEmail: pulumi.String("apim@autorestsdk.com"),
PublisherName: pulumi.String("autorestsdk"),
ResourceGroupName: pulumi.String("rg1"),
ServiceName: pulumi.String("apimService1"),
Sku: &apimanagement.ApiManagementServiceSkuPropertiesArgs{
Capacity: pulumi.Int(0),
Name: pulumi.String(apimanagement.SkuTypeConsumption),
},
Tags: pulumi.StringMap{
"tag1": pulumi.String("value1"),
"tag2": pulumi.String("value2"),
"tag3": pulumi.String("value3"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.apimanagement.ApiManagementService;
import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceIdentityArgs;
import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
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 apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
.identity(ApiManagementServiceIdentityArgs.builder()
.type("UserAssigned")
.userAssignedIdentities(Map.of("/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1", ))
.build())
.location("West US")
.publisherEmail("apim@autorestsdk.com")
.publisherName("autorestsdk")
.resourceGroupName("rg1")
.serviceName("apimService1")
.sku(ApiManagementServiceSkuPropertiesArgs.builder()
.capacity(0)
.name("Consumption")
.build())
.tags(Map.ofEntries(
Map.entry("tag1", "value1"),
Map.entry("tag2", "value2"),
Map.entry("tag3", "value3")
))
.build());
}
}

ApiManagementUndelete

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var apiManagementService = new AzureNative.ApiManagement.ApiManagementService("apiManagementService", new()
{
Location = "South Central US",
PublisherEmail = "foo@contoso.com",
PublisherName = "foo",
ResourceGroupName = "rg1",
Restore = true,
ServiceName = "apimService1",
Sku = new AzureNative.ApiManagement.Inputs.ApiManagementServiceSkuPropertiesArgs
{
Capacity = 1,
Name = AzureNative.ApiManagement.SkuType.Developer,
},
});
});
package main
import (
apimanagement "github.com/pulumi/pulumi-azure-native-sdk/apimanagement/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := apimanagement.NewApiManagementService(ctx, "apiManagementService", &apimanagement.ApiManagementServiceArgs{
Location: pulumi.String("South Central US"),
PublisherEmail: pulumi.String("foo@contoso.com"),
PublisherName: pulumi.String("foo"),
ResourceGroupName: pulumi.String("rg1"),
Restore: pulumi.Bool(true),
ServiceName: pulumi.String("apimService1"),
Sku: &apimanagement.ApiManagementServiceSkuPropertiesArgs{
Capacity: pulumi.Int(1),
Name: pulumi.String(apimanagement.SkuTypeDeveloper),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.apimanagement.ApiManagementService;
import com.pulumi.azurenative.apimanagement.ApiManagementServiceArgs;
import com.pulumi.azurenative.apimanagement.inputs.ApiManagementServiceSkuPropertiesArgs;
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 apiManagementService = new ApiManagementService("apiManagementService", ApiManagementServiceArgs.builder()
.location("South Central US")
.publisherEmail("foo@contoso.com")
.publisherName("foo")
.resourceGroupName("rg1")
.restore(true)
.serviceName("apimService1")
.sku(ApiManagementServiceSkuPropertiesArgs.builder()
.capacity(1)
.name("Developer")
.build())
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:apimanagement:ApiManagementService apimService1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}

Constructors

Link copied to clipboard
constructor(additionalLocations: Output<List<AdditionalLocationArgs>>? = null, apiVersionConstraint: Output<ApiVersionConstraintArgs>? = null, certificates: Output<List<CertificateConfigurationArgs>>? = null, customProperties: Output<Map<String, String>>? = null, disableGateway: Output<Boolean>? = null, enableClientCertificate: Output<Boolean>? = null, hostnameConfigurations: Output<List<HostnameConfigurationArgs>>? = null, identity: Output<ApiManagementServiceIdentityArgs>? = null, location: Output<String>? = null, natGatewayState: Output<Either<String, NatGatewayState>>? = null, notificationSenderEmail: Output<String>? = null, privateEndpointConnections: Output<List<RemotePrivateEndpointConnectionWrapperArgs>>? = null, publicIpAddressId: Output<String>? = null, publicNetworkAccess: Output<Either<String, PublicNetworkAccess>>? = null, publisherEmail: Output<String>? = null, publisherName: Output<String>? = null, resourceGroupName: Output<String>? = null, restore: Output<Boolean>? = null, serviceName: Output<String>? = null, sku: Output<ApiManagementServiceSkuPropertiesArgs>? = null, tags: Output<Map<String, String>>? = null, virtualNetworkConfiguration: Output<VirtualNetworkConfigurationArgs>? = null, virtualNetworkType: Output<Either<String, VirtualNetworkType>>? = null, zones: Output<List<String>>? = null)

Properties

Link copied to clipboard

Additional datacenter locations of the API Management service.

Link copied to clipboard

Control Plane Apis version constraint for the API Management service.

Link copied to clipboard

List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10.

Link copied to clipboard
val customProperties: Output<Map<String, String>>? = null

Custom properties of the API Management service.
Setting Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 can be used to disable just TLS 1.1.
Setting Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 can be used to disable TLS 1.0 on an API Management service.
Setting Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 can be used to disable just TLS 1.1 for communications with backends.
Setting Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 can be used to disable TLS 1.0 for communications with backends.
Setting Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 can be used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is True if the service was created on or before April 1, 2018 and False otherwise. Http2 setting's default value is False.

You can disable any of the following ciphers by using settings Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256:false. The default value is true for them.
Note: The following ciphers can't be disabled since they are required by internal platform components: TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

Link copied to clipboard
val disableGateway: Output<Boolean>? = null

Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region.

Link copied to clipboard
val enableClientCertificate: Output<Boolean>? = null

Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway.

Link copied to clipboard

Custom hostname configuration of the API Management service.

Link copied to clipboard

Managed service identity of the Api Management service.

Link copied to clipboard
val location: Output<String>? = null

Resource location.

Link copied to clipboard
val natGatewayState: Output<Either<String, NatGatewayState>>? = null

Property can be used to enable NAT Gateway for this API Management service.

Link copied to clipboard
val notificationSenderEmail: Output<String>? = null

Email address from which the notification will be sent.

Link copied to clipboard

List of Private Endpoint Connections of this service.

Link copied to clipboard
val publicIpAddressId: Output<String>? = null

Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network.

Link copied to clipboard
val publicNetworkAccess: Output<Either<String, PublicNetworkAccess>>? = null

Whether or not public endpoint access is allowed for this API Management service. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'

Link copied to clipboard
val publisherEmail: Output<String>? = null

Publisher email.

Link copied to clipboard
val publisherName: Output<String>? = null

Publisher name.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group. The name is case insensitive.

Link copied to clipboard
val restore: Output<Boolean>? = null

Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True all other properties will be ignored.

Link copied to clipboard
val serviceName: Output<String>? = null

The name of the API Management service.

Link copied to clipboard

SKU properties of the API Management service.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Resource tags.

Link copied to clipboard

Virtual network configuration of the API Management service.

Link copied to clipboard
val virtualNetworkType: Output<Either<String, VirtualNetworkType>>? = null

The type of VPN in which API Management service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only.

Link copied to clipboard
val zones: Output<List<String>>? = null

A list of availability zones denoting where the resource needs to come from.

Functions

Link copied to clipboard
open override fun toJava(): ApiManagementServiceArgs