Policy Args
data class PolicyArgs(val apiManagementId: Output<String>? = null, val xmlContent: Output<String>? = null, val xmlLink: Output<String>? = null) : ConvertibleToJava<PolicyArgs>
Manages a API Management service Policy.
NOTE: This resource will, upon creation, overwrite any existing policy in the API Management service, as there is no feasible way to test whether the policy has been modified from the default. Similarly, when this resource is destroyed, the API Management service will revert to its default policy.
Example Usage
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: "pub1@email.com",
skuName: "Developer_1",
});
const exampleNamedValue = new azure.apimanagement.NamedValue("example", {
name: "example-apimg",
resourceGroupName: example.name,
apiManagementName: exampleService.name,
displayName: "ExampleProperty",
value: "Example Value",
});
const examplePolicy = new azure.apimanagement.Policy("example", {
apiManagementId: exampleService.id,
xmlContent: std.file({
input: "example.xml",
}).then(invoke => invoke.result),
});
Content copied to clipboard
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="pub1@email.com",
sku_name="Developer_1")
example_named_value = azure.apimanagement.NamedValue("example",
name="example-apimg",
resource_group_name=example.name,
api_management_name=example_service.name,
display_name="ExampleProperty",
value="Example Value")
example_policy = azure.apimanagement.Policy("example",
api_management_id=example_service.id,
xml_content=std.file(input="example.xml").result)
Content copied to clipboard
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 = "pub1@email.com",
SkuName = "Developer_1",
});
var exampleNamedValue = new Azure.ApiManagement.NamedValue("example", new()
{
Name = "example-apimg",
ResourceGroupName = example.Name,
ApiManagementName = exampleService.Name,
DisplayName = "ExampleProperty",
Value = "Example Value",
});
var examplePolicy = new Azure.ApiManagement.Policy("example", new()
{
ApiManagementId = exampleService.Id,
XmlContent = Std.File.Invoke(new()
{
Input = "example.xml",
}).Apply(invoke => invoke.Result),
});
});
Content copied to clipboard
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("pub1@email.com"),
SkuName: pulumi.String("Developer_1"),
})
if err != nil {
return err
}
_, err = apimanagement.NewNamedValue(ctx, "example", &apimanagement.NamedValueArgs{
Name: pulumi.String("example-apimg"),
ResourceGroupName: example.Name,
ApiManagementName: exampleService.Name,
DisplayName: pulumi.String("ExampleProperty"),
Value: pulumi.String("Example Value"),
})
if err != nil {
return err
}
invokeFile, err := std.File(ctx, &std.FileArgs{
Input: "example.xml",
}, nil)
if err != nil {
return err
}
_, err = apimanagement.NewPolicy(ctx, "example", &apimanagement.PolicyArgs{
ApiManagementId: exampleService.ID(),
XmlContent: pulumi.String(invokeFile.Result),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
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.NamedValue;
import com.pulumi.azure.apimanagement.NamedValueArgs;
import com.pulumi.azure.apimanagement.Policy;
import com.pulumi.azure.apimanagement.PolicyArgs;
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("pub1@email.com")
.skuName("Developer_1")
.build());
var exampleNamedValue = new NamedValue("exampleNamedValue", NamedValueArgs.builder()
.name("example-apimg")
.resourceGroupName(example.name())
.apiManagementName(exampleService.name())
.displayName("ExampleProperty")
.value("Example Value")
.build());
var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder()
.apiManagementId(exampleService.id())
.xmlContent(StdFunctions.file(FileArgs.builder()
.input("example.xml")
.build()).result())
.build());
}
}
Content copied to clipboard
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: pub1@email.com
skuName: Developer_1
exampleNamedValue:
type: azure:apimanagement:NamedValue
name: example
properties:
name: example-apimg
resourceGroupName: ${example.name}
apiManagementName: ${exampleService.name}
displayName: ExampleProperty
value: Example Value
examplePolicy:
type: azure:apimanagement:Policy
name: example
properties:
apiManagementId: ${exampleService.id}
xmlContent:
fn::invoke:
Function: std:file
Arguments:
input: example.xml
Return: result
Content copied to clipboard
Import
API Management service Policys can be imported using the resource id
, e.g.
$ pulumi import azure:apimanagement/policy:Policy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ApiManagement/service/service1
Content copied to clipboard