Api

Manages an API within an API Management Service.

Example Usage

using System.Collections.Generic;
using Pulumi;
using Azure = Pulumi.Azure;

return await Deployment.RunAsync(() => 
{
    var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new()
    {
        Location = "West Europe",
    });

    var exampleService = new Azure.ApiManagement.Service("exampleService", new()
    {
        Location = exampleResourceGroup.Location,
        ResourceGroupName = exampleResourceGroup.Name,
        PublisherName = "My Company",
        PublisherEmail = "company@exmaple.com",
        SkuName = "Developer_1",
    });

    var exampleApi = new Azure.ApiManagement.Api("exampleApi", new()
    {
        ResourceGroupName = exampleResourceGroup.Name,
        ApiManagementName = exampleService.Name,
        Revision = "1",
        DisplayName = "Example API",
        Path = "example",
        Protocols = new[]
        {
            "https",
        },
        Import = new Azure.ApiManagement.Inputs.ApiImportArgs
        {
            ContentFormat = "swagger-link-json",
            ContentValue = "http://conferenceapi.azurewebsites.net/?format=json",
        },
    });

});
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/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleService, err := apimanagement.NewService(ctx, "exampleService", &apimanagement.ServiceArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			PublisherName:     pulumi.String("My Company"),
			PublisherEmail:    pulumi.String("company@exmaple.com"),
			SkuName:           pulumi.String("Developer_1"),
		})
		if err != nil {
			return err
		}
		_, err = apimanagement.NewApi(ctx, "exampleApi", &apimanagement.ApiArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			ApiManagementName: exampleService.Name,
			Revision:          pulumi.String("1"),
			DisplayName:       pulumi.String("Example API"),
			Path:              pulumi.String("example"),
			Protocols: pulumi.StringArray{
				pulumi.String("https"),
			},
			Import: &apimanagement.ApiImportArgs{
				ContentFormat: pulumi.String("swagger-link-json"),
				ContentValue:  pulumi.String("http://conferenceapi.azurewebsites.net/?format=json"),
			},
		})
		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.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.Api;
import com.pulumi.azure.apimanagement.ApiArgs;
import com.pulumi.azure.apimanagement.inputs.ApiImportArgs;
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 exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()        
            .location("West Europe")
            .build());

        var exampleService = new Service("exampleService", ServiceArgs.builder()        
            .location(exampleResourceGroup.location())
            .resourceGroupName(exampleResourceGroup.name())
            .publisherName("My Company")
            .publisherEmail("company@exmaple.com")
            .skuName("Developer_1")
            .build());

        var exampleApi = new Api("exampleApi", ApiArgs.builder()        
            .resourceGroupName(exampleResourceGroup.name())
            .apiManagementName(exampleService.name())
            .revision("1")
            .displayName("Example API")
            .path("example")
            .protocols("https")
            .import_(ApiImportArgs.builder()
                .contentFormat("swagger-link-json")
                .contentValue("http://conferenceapi.azurewebsites.net/?format=json")
                .build())
            .build());

    }
}
import pulumi
import pulumi_azure as azure

example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
example_service = azure.apimanagement.Service("exampleService",
    location=example_resource_group.location,
    resource_group_name=example_resource_group.name,
    publisher_name="My Company",
    publisher_email="company@exmaple.com",
    sku_name="Developer_1")
example_api = azure.apimanagement.Api("exampleApi",
    resource_group_name=example_resource_group.name,
    api_management_name=example_service.name,
    revision="1",
    display_name="Example API",
    path="example",
    protocols=["https"],
    import_=azure.apimanagement.ApiImportArgs(
        content_format="swagger-link-json",
        content_value="http://conferenceapi.azurewebsites.net/?format=json",
    ))
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleService = new azure.apimanagement.Service("exampleService", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    publisherName: "My Company",
    publisherEmail: "company@exmaple.com",
    skuName: "Developer_1",
});
const exampleApi = new azure.apimanagement.Api("exampleApi", {
    resourceGroupName: exampleResourceGroup.name,
    apiManagementName: exampleService.name,
    revision: "1",
    displayName: "Example API",
    path: "example",
    protocols: ["https"],
    "import": {
        contentFormat: "swagger-link-json",
        contentValue: "http://conferenceapi.azurewebsites.net/?format=json",
    },
});
resources:
  exampleResourceGroup:
    type: azure:core:ResourceGroup
    properties:
      location: West Europe
  exampleService:
    type: azure:apimanagement:Service
    properties:
      location: ${exampleResourceGroup.location}
      resourceGroupName: ${exampleResourceGroup.name}
      publisherName: My Company
      publisherEmail: company@exmaple.com
      skuName: Developer_1
  exampleApi:
    type: azure:apimanagement:Api
    properties:
      resourceGroupName: ${exampleResourceGroup.name}
      apiManagementName: ${exampleService.name}
      revision: 1
      displayName: Example API
      path: example
      protocols:
        - https
      import:
        contentFormat: swagger-link-json
        contentValue: http://conferenceapi.azurewebsites.net/?format=json

Create Api Resource

new Api(name: string, args: ApiArgs, opts?: CustomResourceOptions);
@overload
def Api(resource_name: str,
        opts: Optional[ResourceOptions] = None,
        api_management_name: Optional[str] = None,
        api_type: Optional[str] = None,
        contact: Optional[ApiContactArgs] = None,
        description: Optional[str] = None,
        display_name: Optional[str] = None,
        import_: Optional[ApiImportArgs] = None,
        license: Optional[ApiLicenseArgs] = None,
        name: Optional[str] = None,
        oauth2_authorization: Optional[ApiOauth2AuthorizationArgs] = None,
        openid_authentication: Optional[ApiOpenidAuthenticationArgs] = None,
        path: Optional[str] = None,
        protocols: Optional[Sequence[str]] = None,
        resource_group_name: Optional[str] = None,
        revision: Optional[str] = None,
        revision_description: Optional[str] = None,
        service_url: Optional[str] = None,
        soap_pass_through: Optional[bool] = None,
        source_api_id: Optional[str] = None,
        subscription_key_parameter_names: Optional[ApiSubscriptionKeyParameterNamesArgs] = None,
        subscription_required: Optional[bool] = None,
        terms_of_service_url: Optional[str] = None,
        version: Optional[str] = None,
        version_description: Optional[str] = None,
        version_set_id: Optional[str] = None)
@overload
def Api(resource_name: str,
        args: ApiArgs,
        opts: Optional[ResourceOptions] = None)
func NewApi(ctx *Context, name string, args ApiArgs, opts ...ResourceOption) (*Api, error)
public Api(string name, ApiArgs args, CustomResourceOptions? opts = null)
public Api(String name, ApiArgs args)
public Api(String name, ApiArgs args, CustomResourceOptions options)
type: azure:apimanagement:Api
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args ApiArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args ApiArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args ApiArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args ApiArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args ApiArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Api Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The Api resource accepts the following input properties:

ApiManagementName string

The Name of the API Management Service where this API should be created. Changing this forces a new resource to be created.

ResourceGroupName string

The Name of the Resource Group where the API Management API exists. Changing this forces a new resource to be created.

Revision string

The Revision which used for this API.

ApiType string

Type of API. Possible values are graphql, http, soap, and websocket. Defaults to http.

Contact ApiContactArgs

A contact block as documented below.

Description string

A description of the API Management API, which may include HTML formatting tags.

DisplayName string

The display name of the API.

Import ApiImportArgs

A import block as documented below.

License ApiLicenseArgs

A license block as documented below.

Name string

The name of the API Management API. Changing this forces a new resource to be created.

Oauth2Authorization ApiOauth2AuthorizationArgs

An oauth2_authorization block as documented below.

OpenidAuthentication ApiOpenidAuthenticationArgs

An openid_authentication block as documented below.

Path string

The Path for this API Management API, which is a relative URL which uniquely identifies this API and all of its resource paths within the API Management Service.

Protocols List<string>

A list of protocols the operations in this API can be invoked. Possible values are http, https, ws, and wss.

RevisionDescription string

The description of the API Revision of the API Management API.

ServiceUrl string

Absolute URL of the backend service implementing this API.

SoapPassThrough bool

Should this API expose a SOAP frontend, rather than a HTTP frontend? Defaults to false.

Deprecated:

soap_pass_through will be removed in favour of the property api_type in version 4.0 of the AzureRM Provider

SourceApiId string

The API id of the source API, which could be in format azurerm_api_management_api.example.id or in format azurerm_api_management_api.example.id;rev=1

SubscriptionKeyParameterNames ApiSubscriptionKeyParameterNamesArgs

A subscription_key_parameter_names block as documented below.

SubscriptionRequired bool

Should this API require a subscription key?

TermsOfServiceUrl string

Absolute URL of the Terms of Service for the API.

Version string

The Version number of this API, if this API is versioned.

VersionDescription string

The description of the API Version of the API Management API.

VersionSetId string

The ID of the Version Set which this API is associated with.

ApiManagementName string

The Name of the API Management Service where this API should be created. Changing this forces a new resource to be created.

ResourceGroupName string

The Name of the Resource Group where the API Management API exists. Changing this forces a new resource to be created.

Revision string

The Revision which used for this API.

ApiType string

Type of API. Possible values are graphql, http, soap, and websocket. Defaults to http.

Contact ApiContactArgs

A contact block as documented below.

Description string

A description of the API Management API, which may include HTML formatting tags.

DisplayName string

The display name of the API.

Import ApiImportArgs

A import block as documented below.

License ApiLicenseArgs

A license block as documented below.

Name string

The name of the API Management API. Changing this forces a new resource to be created.

Oauth2Authorization ApiOauth2AuthorizationArgs

An oauth2_authorization block as documented below.

OpenidAuthentication ApiOpenidAuthenticationArgs

An openid_authentication block as documented below.

Path string

The Path for this API Management API, which is a relative URL which uniquely identifies this API and all of its resource paths within the API Management Service.

Protocols []string

A list of protocols the operations in this API can be invoked. Possible values are http, https, ws, and wss.

RevisionDescription string

The description of the API Revision of the API Management API.

ServiceUrl string

Absolute URL of the backend service implementing this API.

SoapPassThrough bool

Should this API expose a SOAP frontend, rather than a HTTP frontend? Defaults to false.

Deprecated:

soap_pass_through will be removed in favour of the property api_type in version 4.0 of the AzureRM Provider

SourceApiId string

The API id of the source API, which could be in format azurerm_api_management_api.example.id or in format azurerm_api_management_api.example.id;rev=1

SubscriptionKeyParameterNames ApiSubscriptionKeyParameterNamesArgs

A subscription_key_parameter_names block as documented below.

SubscriptionRequired bool

Should this API require a subscription key?

TermsOfServiceUrl string

Absolute URL of the Terms of Service for the API.

Version string

The Version number of this API, if this API is versioned.

VersionDescription string

The description of the API Version of the API Management API.

VersionSetId string

The ID of the Version Set which this API is associated with.

apiManagementName String

The Name of the API Management Service where this API should be created. Changing this forces a new resource to be created.

resourceGroupName String

The Name of the Resource Group where the API Management API exists. Changing this forces a new resource to be created.

revision String

The Revision which used for this API.

apiType String

Type of API. Possible values are graphql, http, soap, and websocket. Defaults to http.

contact ApiContactArgs

A contact block as documented below.

description String

A description of the API Management API, which may include HTML formatting tags.

displayName String

The display name of the API.

import_ ApiImportArgs

A import block as documented below.

license ApiLicenseArgs

A license block as documented below.

name String

The name of the API Management API. Changing this forces a new resource to be created.

oauth2Authorization ApiOauth2AuthorizationArgs

An oauth2_authorization block as documented below.

openidAuthentication ApiOpenidAuthenticationArgs

An openid_authentication block as documented below.

path String

The Path for this API Management API, which is a relative URL which uniquely identifies this API and all of its resource paths within the API Management Service.

protocols List<String>

A list of protocols the operations in this API can be invoked. Possible values are http, https, ws, and wss.

revisionDescription String

The description of the API Revision of the API Management API.

serviceUrl String

Absolute URL of the backend service implementing this API.

soapPassThrough Boolean

Should this API expose a SOAP frontend, rather than a HTTP frontend? Defaults to false.

Deprecated:

soap_pass_through will be removed in favour of the property api_type in version 4.0 of the AzureRM Provider

sourceApiId String

The API id of the source API, which could be in format azurerm_api_management_api.example.id or in format azurerm_api_management_api.example.id;rev=1

subscriptionKeyParameterNames ApiSubscriptionKeyParameterNamesArgs

A subscription_key_parameter_names block as documented below.

subscriptionRequired Boolean

Should this API require a subscription key?

termsOfServiceUrl String

Absolute URL of the Terms of Service for the API.

version String

The Version number of this API, if this API is versioned.

versionDescription String

The description of the API Version of the API Management API.

versionSetId String

The ID of the Version Set which this API is associated with.

apiManagementName string

The Name of the API Management Service where this API should be created. Changing this forces a new resource to be created.

resourceGroupName string

The Name of the Resource Group where the API Management API exists. Changing this forces a new resource to be created.

revision string

The Revision which used for this API.

apiType string

Type of API. Possible values are graphql, http, soap, and websocket. Defaults to http.

contact ApiContactArgs

A contact block as documented below.

description string

A description of the API Management API, which may include HTML formatting tags.

displayName string

The display name of the API.

import ApiImportArgs

A import block as documented below.

license ApiLicenseArgs

A license block as documented below.

name string

The name of the API Management API. Changing this forces a new resource to be created.

oauth2Authorization ApiOauth2AuthorizationArgs

An oauth2_authorization block as documented below.

openidAuthentication ApiOpenidAuthenticationArgs

An openid_authentication block as documented below.

path string

The Path for this API Management API, which is a relative URL which uniquely identifies this API and all of its resource paths within the API Management Service.

protocols string[]

A list of protocols the operations in this API can be invoked. Possible values are http, https, ws, and wss.

revisionDescription string

The description of the API Revision of the API Management API.

serviceUrl string

Absolute URL of the backend service implementing this API.

soapPassThrough boolean

Should this API expose a SOAP frontend, rather than a HTTP frontend? Defaults to false.

Deprecated:

soap_pass_through will be removed in favour of the property api_type in version 4.0 of the AzureRM Provider

sourceApiId string

The API id of the source API, which could be in format azurerm_api_management_api.example.id or in format azurerm_api_management_api.example.id;rev=1

subscriptionKeyParameterNames ApiSubscriptionKeyParameterNamesArgs

A subscription_key_parameter_names block as documented below.

subscriptionRequired boolean

Should this API require a subscription key?

termsOfServiceUrl string

Absolute URL of the Terms of Service for the API.

version string

The Version number of this API, if this API is versioned.

versionDescription string

The description of the API Version of the API Management API.

versionSetId string

The ID of the Version Set which this API is associated with.

api_management_name str

The Name of the API Management Service where this API should be created. Changing this forces a new resource to be created.

resource_group_name str

The Name of the Resource Group where the API Management API exists. Changing this forces a new resource to be created.

revision str

The Revision which used for this API.

api_type str

Type of API. Possible values are graphql, http, soap, and websocket. Defaults to http.

contact ApiContactArgs

A contact block as documented below.

description str

A description of the API Management API, which may include HTML formatting tags.

display_name str

The display name of the API.

import_ ApiImportArgs

A import block as documented below.

license ApiLicenseArgs

A license block as documented below.

name str

The name of the API Management API. Changing this forces a new resource to be created.

oauth2_authorization ApiOauth2AuthorizationArgs

An oauth2_authorization block as documented below.

openid_authentication ApiOpenidAuthenticationArgs

An openid_authentication block as documented below.

path str

The Path for this API Management API, which is a relative URL which uniquely identifies this API and all of its resource paths within the API Management Service.

protocols Sequence[str]

A list of protocols the operations in this API can be invoked. Possible values are http, https, ws, and wss.

revision_description str

The description of the API Revision of the API Management API.

service_url str

Absolute URL of the backend service implementing this API.

soap_pass_through bool

Should this API expose a SOAP frontend, rather than a HTTP frontend? Defaults to false.

Deprecated:

soap_pass_through will be removed in favour of the property api_type in version 4.0 of the AzureRM Provider

source_api_id str

The API id of the source API, which could be in format azurerm_api_management_api.example.id or in format azurerm_api_management_api.example.id;rev=1

subscription_key_parameter_names ApiSubscriptionKeyParameterNamesArgs

A subscription_key_parameter_names block as documented below.

subscription_required bool

Should this API require a subscription key?

terms_of_service_url str

Absolute URL of the Terms of Service for the API.

version str

The Version number of this API, if this API is versioned.

version_description str

The description of the API Version of the API Management API.

version_set_id str

The ID of the Version Set which this API is associated with.

apiManagementName String

The Name of the API Management Service where this API should be created. Changing this forces a new resource to be created.

resourceGroupName String

The Name of the Resource Group where the API Management API exists. Changing this forces a new resource to be created.

revision String

The Revision which used for this API.

apiType String

Type of API. Possible values are graphql, http, soap, and websocket. Defaults to http.

contact Property Map

A contact block as documented below.

description String

A description of the API Management API, which may include HTML formatting tags.

displayName String

The display name of the API.

import Property Map

A import block as documented below.

license Property Map

A license block as documented below.

name String

The name of the API Management API. Changing this forces a new resource to be created.

oauth2Authorization Property Map

An oauth2_authorization block as documented below.

openidAuthentication Property Map

An openid_authentication block as documented below.

path String

The Path for this API Management API, which is a relative URL which uniquely identifies this API and all of its resource paths within the API Management Service.

protocols List<String>

A list of protocols the operations in this API can be invoked. Possible values are http, https, ws, and wss.

revisionDescription String

The description of the API Revision of the API Management API.

serviceUrl String

Absolute URL of the backend service implementing this API.

soapPassThrough Boolean

Should this API expose a SOAP frontend, rather than a HTTP frontend? Defaults to false.

Deprecated:

soap_pass_through will be removed in favour of the property api_type in version 4.0 of the AzureRM Provider

sourceApiId String

The API id of the source API, which could be in format azurerm_api_management_api.example.id or in format azurerm_api_management_api.example.id;rev=1

subscriptionKeyParameterNames Property Map

A subscription_key_parameter_names block as documented below.

subscriptionRequired Boolean

Should this API require a subscription key?

termsOfServiceUrl String

Absolute URL of the Terms of Service for the API.

version String

The Version number of this API, if this API is versioned.

versionDescription String

The description of the API Version of the API Management API.

versionSetId String

The ID of the Version Set which this API is associated with.

Outputs

All input properties are implicitly available as output properties. Additionally, the Api resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

IsCurrent bool

Is this the current API Revision?

IsOnline bool

Is this API Revision online/accessible via the Gateway?

Id string

The provider-assigned unique ID for this managed resource.

IsCurrent bool

Is this the current API Revision?

IsOnline bool

Is this API Revision online/accessible via the Gateway?

id String

The provider-assigned unique ID for this managed resource.

isCurrent Boolean

Is this the current API Revision?

isOnline Boolean

Is this API Revision online/accessible via the Gateway?

id string

The provider-assigned unique ID for this managed resource.

isCurrent boolean

Is this the current API Revision?

isOnline boolean

Is this API Revision online/accessible via the Gateway?

id str

The provider-assigned unique ID for this managed resource.

is_current bool

Is this the current API Revision?

is_online bool

Is this API Revision online/accessible via the Gateway?

id String

The provider-assigned unique ID for this managed resource.

isCurrent Boolean

Is this the current API Revision?

isOnline Boolean

Is this API Revision online/accessible via the Gateway?

Look up Existing Api Resource

Get an existing Api resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: ApiState, opts?: CustomResourceOptions): Api
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        api_management_name: Optional[str] = None,
        api_type: Optional[str] = None,
        contact: Optional[ApiContactArgs] = None,
        description: Optional[str] = None,
        display_name: Optional[str] = None,
        import_: Optional[ApiImportArgs] = None,
        is_current: Optional[bool] = None,
        is_online: Optional[bool] = None,
        license: Optional[ApiLicenseArgs] = None,
        name: Optional[str] = None,
        oauth2_authorization: Optional[ApiOauth2AuthorizationArgs] = None,
        openid_authentication: Optional[ApiOpenidAuthenticationArgs] = None,
        path: Optional[str] = None,
        protocols: Optional[Sequence[str]] = None,
        resource_group_name: Optional[str] = None,
        revision: Optional[str] = None,
        revision_description: Optional[str] = None,
        service_url: Optional[str] = None,
        soap_pass_through: Optional[bool] = None,
        source_api_id: Optional[str] = None,
        subscription_key_parameter_names: Optional[ApiSubscriptionKeyParameterNamesArgs] = None,
        subscription_required: Optional[bool] = None,
        terms_of_service_url: Optional[str] = None,
        version: Optional[str] = None,
        version_description: Optional[str] = None,
        version_set_id: Optional[str] = None) -> Api
func GetApi(ctx *Context, name string, id IDInput, state *ApiState, opts ...ResourceOption) (*Api, error)
public static Api Get(string name, Input<string> id, ApiState? state, CustomResourceOptions? opts = null)
public static Api get(String name, Output<String> id, ApiState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
ApiManagementName string

The Name of the API Management Service where this API should be created. Changing this forces a new resource to be created.

ApiType string

Type of API. Possible values are graphql, http, soap, and websocket. Defaults to http.

Contact ApiContactArgs

A contact block as documented below.

Description string

A description of the API Management API, which may include HTML formatting tags.

DisplayName string

The display name of the API.

Import ApiImportArgs

A import block as documented below.

IsCurrent bool

Is this the current API Revision?

IsOnline bool

Is this API Revision online/accessible via the Gateway?

License ApiLicenseArgs

A license block as documented below.

Name string

The name of the API Management API. Changing this forces a new resource to be created.

Oauth2Authorization ApiOauth2AuthorizationArgs

An oauth2_authorization block as documented below.

OpenidAuthentication ApiOpenidAuthenticationArgs

An openid_authentication block as documented below.

Path string

The Path for this API Management API, which is a relative URL which uniquely identifies this API and all of its resource paths within the API Management Service.

Protocols List<string>

A list of protocols the operations in this API can be invoked. Possible values are http, https, ws, and wss.

ResourceGroupName string

The Name of the Resource Group where the API Management API exists. Changing this forces a new resource to be created.

Revision string

The Revision which used for this API.

RevisionDescription string

The description of the API Revision of the API Management API.

ServiceUrl string

Absolute URL of the backend service implementing this API.

SoapPassThrough bool

Should this API expose a SOAP frontend, rather than a HTTP frontend? Defaults to false.

Deprecated:

soap_pass_through will be removed in favour of the property api_type in version 4.0 of the AzureRM Provider

SourceApiId string

The API id of the source API, which could be in format azurerm_api_management_api.example.id or in format azurerm_api_management_api.example.id;rev=1

SubscriptionKeyParameterNames ApiSubscriptionKeyParameterNamesArgs

A subscription_key_parameter_names block as documented below.

SubscriptionRequired bool

Should this API require a subscription key?

TermsOfServiceUrl string

Absolute URL of the Terms of Service for the API.

Version string

The Version number of this API, if this API is versioned.

VersionDescription string

The description of the API Version of the API Management API.

VersionSetId string

The ID of the Version Set which this API is associated with.

ApiManagementName string

The Name of the API Management Service where this API should be created. Changing this forces a new resource to be created.

ApiType string

Type of API. Possible values are graphql, http, soap, and websocket. Defaults to http.

Contact ApiContactArgs

A contact block as documented below.

Description string

A description of the API Management API, which may include HTML formatting tags.

DisplayName string

The display name of the API.

Import ApiImportArgs

A import block as documented below.

IsCurrent bool

Is this the current API Revision?

IsOnline bool

Is this API Revision online/accessible via the Gateway?

License ApiLicenseArgs

A license block as documented below.

Name string

The name of the API Management API. Changing this forces a new resource to be created.

Oauth2Authorization ApiOauth2AuthorizationArgs

An oauth2_authorization block as documented below.

OpenidAuthentication ApiOpenidAuthenticationArgs

An openid_authentication block as documented below.

Path string

The Path for this API Management API, which is a relative URL which uniquely identifies this API and all of its resource paths within the API Management Service.

Protocols []string

A list of protocols the operations in this API can be invoked. Possible values are http, https, ws, and wss.

ResourceGroupName string

The Name of the Resource Group where the API Management API exists. Changing this forces a new resource to be created.

Revision string

The Revision which used for this API.

RevisionDescription string

The description of the API Revision of the API Management API.

ServiceUrl string

Absolute URL of the backend service implementing this API.

SoapPassThrough bool

Should this API expose a SOAP frontend, rather than a HTTP frontend? Defaults to false.

Deprecated:

soap_pass_through will be removed in favour of the property api_type in version 4.0 of the AzureRM Provider

SourceApiId string

The API id of the source API, which could be in format azurerm_api_management_api.example.id or in format azurerm_api_management_api.example.id;rev=1

SubscriptionKeyParameterNames ApiSubscriptionKeyParameterNamesArgs

A subscription_key_parameter_names block as documented below.

SubscriptionRequired bool

Should this API require a subscription key?

TermsOfServiceUrl string

Absolute URL of the Terms of Service for the API.

Version string

The Version number of this API, if this API is versioned.

VersionDescription string

The description of the API Version of the API Management API.

VersionSetId string

The ID of the Version Set which this API is associated with.

apiManagementName String

The Name of the API Management Service where this API should be created. Changing this forces a new resource to be created.

apiType String

Type of API. Possible values are graphql, http, soap, and websocket. Defaults to http.

contact ApiContactArgs

A contact block as documented below.

description String

A description of the API Management API, which may include HTML formatting tags.

displayName String

The display name of the API.

import_ ApiImportArgs

A import block as documented below.

isCurrent Boolean

Is this the current API Revision?

isOnline Boolean

Is this API Revision online/accessible via the Gateway?

license ApiLicenseArgs

A license block as documented below.

name String

The name of the API Management API. Changing this forces a new resource to be created.

oauth2Authorization ApiOauth2AuthorizationArgs

An oauth2_authorization block as documented below.

openidAuthentication ApiOpenidAuthenticationArgs

An openid_authentication block as documented below.

path String

The Path for this API Management API, which is a relative URL which uniquely identifies this API and all of its resource paths within the API Management Service.

protocols List<String>

A list of protocols the operations in this API can be invoked. Possible values are http, https, ws, and wss.

resourceGroupName String

The Name of the Resource Group where the API Management API exists. Changing this forces a new resource to be created.

revision String

The Revision which used for this API.

revisionDescription String

The description of the API Revision of the API Management API.

serviceUrl String

Absolute URL of the backend service implementing this API.

soapPassThrough Boolean

Should this API expose a SOAP frontend, rather than a HTTP frontend? Defaults to false.

Deprecated:

soap_pass_through will be removed in favour of the property api_type in version 4.0 of the AzureRM Provider

sourceApiId String

The API id of the source API, which could be in format azurerm_api_management_api.example.id or in format azurerm_api_management_api.example.id;rev=1

subscriptionKeyParameterNames ApiSubscriptionKeyParameterNamesArgs

A subscription_key_parameter_names block as documented below.

subscriptionRequired Boolean

Should this API require a subscription key?

termsOfServiceUrl String

Absolute URL of the Terms of Service for the API.

version String

The Version number of this API, if this API is versioned.

versionDescription String

The description of the API Version of the API Management API.

versionSetId String

The ID of the Version Set which this API is associated with.

apiManagementName string

The Name of the API Management Service where this API should be created. Changing this forces a new resource to be created.

apiType string

Type of API. Possible values are graphql, http, soap, and websocket. Defaults to http.

contact ApiContactArgs

A contact block as documented below.

description string

A description of the API Management API, which may include HTML formatting tags.

displayName string

The display name of the API.

import ApiImportArgs

A import block as documented below.

isCurrent boolean

Is this the current API Revision?

isOnline boolean

Is this API Revision online/accessible via the Gateway?

license ApiLicenseArgs

A license block as documented below.

name string

The name of the API Management API. Changing this forces a new resource to be created.

oauth2Authorization ApiOauth2AuthorizationArgs

An oauth2_authorization block as documented below.

openidAuthentication ApiOpenidAuthenticationArgs

An openid_authentication block as documented below.

path string

The Path for this API Management API, which is a relative URL which uniquely identifies this API and all of its resource paths within the API Management Service.

protocols string[]

A list of protocols the operations in this API can be invoked. Possible values are http, https, ws, and wss.

resourceGroupName string

The Name of the Resource Group where the API Management API exists. Changing this forces a new resource to be created.

revision string

The Revision which used for this API.

revisionDescription string

The description of the API Revision of the API Management API.

serviceUrl string

Absolute URL of the backend service implementing this API.

soapPassThrough boolean

Should this API expose a SOAP frontend, rather than a HTTP frontend? Defaults to false.

Deprecated:

soap_pass_through will be removed in favour of the property api_type in version 4.0 of the AzureRM Provider

sourceApiId string

The API id of the source API, which could be in format azurerm_api_management_api.example.id or in format azurerm_api_management_api.example.id;rev=1

subscriptionKeyParameterNames ApiSubscriptionKeyParameterNamesArgs

A subscription_key_parameter_names block as documented below.

subscriptionRequired boolean

Should this API require a subscription key?

termsOfServiceUrl string

Absolute URL of the Terms of Service for the API.

version string

The Version number of this API, if this API is versioned.

versionDescription string

The description of the API Version of the API Management API.

versionSetId string

The ID of the Version Set which this API is associated with.

api_management_name str

The Name of the API Management Service where this API should be created. Changing this forces a new resource to be created.

api_type str

Type of API. Possible values are graphql, http, soap, and websocket. Defaults to http.

contact ApiContactArgs

A contact block as documented below.

description str

A description of the API Management API, which may include HTML formatting tags.

display_name str

The display name of the API.

import_ ApiImportArgs

A import block as documented below.

is_current bool

Is this the current API Revision?

is_online bool

Is this API Revision online/accessible via the Gateway?

license ApiLicenseArgs

A license block as documented below.

name str

The name of the API Management API. Changing this forces a new resource to be created.

oauth2_authorization ApiOauth2AuthorizationArgs

An oauth2_authorization block as documented below.

openid_authentication ApiOpenidAuthenticationArgs

An openid_authentication block as documented below.

path str

The Path for this API Management API, which is a relative URL which uniquely identifies this API and all of its resource paths within the API Management Service.

protocols Sequence[str]

A list of protocols the operations in this API can be invoked. Possible values are http, https, ws, and wss.

resource_group_name str

The Name of the Resource Group where the API Management API exists. Changing this forces a new resource to be created.

revision str

The Revision which used for this API.

revision_description str

The description of the API Revision of the API Management API.

service_url str

Absolute URL of the backend service implementing this API.

soap_pass_through bool

Should this API expose a SOAP frontend, rather than a HTTP frontend? Defaults to false.

Deprecated:

soap_pass_through will be removed in favour of the property api_type in version 4.0 of the AzureRM Provider

source_api_id str

The API id of the source API, which could be in format azurerm_api_management_api.example.id or in format azurerm_api_management_api.example.id;rev=1

subscription_key_parameter_names ApiSubscriptionKeyParameterNamesArgs

A subscription_key_parameter_names block as documented below.

subscription_required bool

Should this API require a subscription key?

terms_of_service_url str

Absolute URL of the Terms of Service for the API.

version str

The Version number of this API, if this API is versioned.

version_description str

The description of the API Version of the API Management API.

version_set_id str

The ID of the Version Set which this API is associated with.

apiManagementName String

The Name of the API Management Service where this API should be created. Changing this forces a new resource to be created.

apiType String

Type of API. Possible values are graphql, http, soap, and websocket. Defaults to http.

contact Property Map

A contact block as documented below.

description String

A description of the API Management API, which may include HTML formatting tags.

displayName String

The display name of the API.

import Property Map

A import block as documented below.

isCurrent Boolean

Is this the current API Revision?

isOnline Boolean

Is this API Revision online/accessible via the Gateway?

license Property Map

A license block as documented below.

name String

The name of the API Management API. Changing this forces a new resource to be created.

oauth2Authorization Property Map

An oauth2_authorization block as documented below.

openidAuthentication Property Map

An openid_authentication block as documented below.

path String

The Path for this API Management API, which is a relative URL which uniquely identifies this API and all of its resource paths within the API Management Service.

protocols List<String>

A list of protocols the operations in this API can be invoked. Possible values are http, https, ws, and wss.

resourceGroupName String

The Name of the Resource Group where the API Management API exists. Changing this forces a new resource to be created.

revision String

The Revision which used for this API.

revisionDescription String

The description of the API Revision of the API Management API.

serviceUrl String

Absolute URL of the backend service implementing this API.

soapPassThrough Boolean

Should this API expose a SOAP frontend, rather than a HTTP frontend? Defaults to false.

Deprecated:

soap_pass_through will be removed in favour of the property api_type in version 4.0 of the AzureRM Provider

sourceApiId String

The API id of the source API, which could be in format azurerm_api_management_api.example.id or in format azurerm_api_management_api.example.id;rev=1

subscriptionKeyParameterNames Property Map

A subscription_key_parameter_names block as documented below.

subscriptionRequired Boolean

Should this API require a subscription key?

termsOfServiceUrl String

Absolute URL of the Terms of Service for the API.

version String

The Version number of this API, if this API is versioned.

versionDescription String

The description of the API Version of the API Management API.

versionSetId String

The ID of the Version Set which this API is associated with.

Supporting Types

ApiContact

Email string

The email address of the contact person/organization.

Name string

The name of the contact person/organization.

Url string

Absolute URL of the contact information.

Email string

The email address of the contact person/organization.

Name string

The name of the contact person/organization.

Url string

Absolute URL of the contact information.

email String

The email address of the contact person/organization.

name String

The name of the contact person/organization.

url String

Absolute URL of the contact information.

email string

The email address of the contact person/organization.

name string

The name of the contact person/organization.

url string

Absolute URL of the contact information.

email str

The email address of the contact person/organization.

name str

The name of the contact person/organization.

url str

Absolute URL of the contact information.

email String

The email address of the contact person/organization.

name String

The name of the contact person/organization.

url String

Absolute URL of the contact information.

ApiImport

ContentFormat string

The format of the content from which the API Definition should be imported. Possible values are: openapi, openapi+json, openapi+json-link, openapi-link, swagger-json, swagger-link-json, wadl-link-json, wadl-xml, wsdl and wsdl-link.

ContentValue string

The Content from which the API Definition should be imported. When a content_format of *-link-* is specified this must be a URL, otherwise this must be defined inline.

WsdlSelector ApiImportWsdlSelector

A wsdl_selector block as defined below, which allows you to limit the import of a WSDL to only a subset of the document. This can only be specified when content_format is wsdl or wsdl-link.

ContentFormat string

The format of the content from which the API Definition should be imported. Possible values are: openapi, openapi+json, openapi+json-link, openapi-link, swagger-json, swagger-link-json, wadl-link-json, wadl-xml, wsdl and wsdl-link.

ContentValue string

The Content from which the API Definition should be imported. When a content_format of *-link-* is specified this must be a URL, otherwise this must be defined inline.

WsdlSelector ApiImportWsdlSelector

A wsdl_selector block as defined below, which allows you to limit the import of a WSDL to only a subset of the document. This can only be specified when content_format is wsdl or wsdl-link.

contentFormat String

The format of the content from which the API Definition should be imported. Possible values are: openapi, openapi+json, openapi+json-link, openapi-link, swagger-json, swagger-link-json, wadl-link-json, wadl-xml, wsdl and wsdl-link.

contentValue String

The Content from which the API Definition should be imported. When a content_format of *-link-* is specified this must be a URL, otherwise this must be defined inline.

wsdlSelector ApiImportWsdlSelector

A wsdl_selector block as defined below, which allows you to limit the import of a WSDL to only a subset of the document. This can only be specified when content_format is wsdl or wsdl-link.

contentFormat string

The format of the content from which the API Definition should be imported. Possible values are: openapi, openapi+json, openapi+json-link, openapi-link, swagger-json, swagger-link-json, wadl-link-json, wadl-xml, wsdl and wsdl-link.

contentValue string

The Content from which the API Definition should be imported. When a content_format of *-link-* is specified this must be a URL, otherwise this must be defined inline.

wsdlSelector ApiImportWsdlSelector

A wsdl_selector block as defined below, which allows you to limit the import of a WSDL to only a subset of the document. This can only be specified when content_format is wsdl or wsdl-link.

content_format str

The format of the content from which the API Definition should be imported. Possible values are: openapi, openapi+json, openapi+json-link, openapi-link, swagger-json, swagger-link-json, wadl-link-json, wadl-xml, wsdl and wsdl-link.

content_value str

The Content from which the API Definition should be imported. When a content_format of *-link-* is specified this must be a URL, otherwise this must be defined inline.

wsdl_selector ApiImportWsdlSelector

A wsdl_selector block as defined below, which allows you to limit the import of a WSDL to only a subset of the document. This can only be specified when content_format is wsdl or wsdl-link.

contentFormat String

The format of the content from which the API Definition should be imported. Possible values are: openapi, openapi+json, openapi+json-link, openapi-link, swagger-json, swagger-link-json, wadl-link-json, wadl-xml, wsdl and wsdl-link.

contentValue String

The Content from which the API Definition should be imported. When a content_format of *-link-* is specified this must be a URL, otherwise this must be defined inline.

wsdlSelector Property Map

A wsdl_selector block as defined below, which allows you to limit the import of a WSDL to only a subset of the document. This can only be specified when content_format is wsdl or wsdl-link.

ApiImportWsdlSelector

EndpointName string

The name of endpoint (port) to import from WSDL.

ServiceName string

The name of service to import from WSDL.

EndpointName string

The name of endpoint (port) to import from WSDL.

ServiceName string

The name of service to import from WSDL.

endpointName String

The name of endpoint (port) to import from WSDL.

serviceName String

The name of service to import from WSDL.

endpointName string

The name of endpoint (port) to import from WSDL.

serviceName string

The name of service to import from WSDL.

endpoint_name str

The name of endpoint (port) to import from WSDL.

service_name str

The name of service to import from WSDL.

endpointName String

The name of endpoint (port) to import from WSDL.

serviceName String

The name of service to import from WSDL.

ApiLicense

Name string

The name of the license .

Url string

Absolute URL of the license.

Name string

The name of the license .

Url string

Absolute URL of the license.

name String

The name of the license .

url String

Absolute URL of the license.

name string

The name of the license .

url string

Absolute URL of the license.

name str

The name of the license .

url str

Absolute URL of the license.

name String

The name of the license .

url String

Absolute URL of the license.

ApiOauth2Authorization

AuthorizationServerName string

OAuth authorization server identifier. The name of an OAuth2 Authorization Server.

Scope string

Operations scope.

AuthorizationServerName string

OAuth authorization server identifier. The name of an OAuth2 Authorization Server.

Scope string

Operations scope.

authorizationServerName String

OAuth authorization server identifier. The name of an OAuth2 Authorization Server.

scope String

Operations scope.

authorizationServerName string

OAuth authorization server identifier. The name of an OAuth2 Authorization Server.

scope string

Operations scope.

authorization_server_name str

OAuth authorization server identifier. The name of an OAuth2 Authorization Server.

scope str

Operations scope.

authorizationServerName String

OAuth authorization server identifier. The name of an OAuth2 Authorization Server.

scope String

Operations scope.

ApiOpenidAuthentication

OpenidProviderName string

OpenID Connect provider identifier. The name of an OpenID Connect Provider.

BearerTokenSendingMethods List<string>

How to send token to the server. A list of zero or more methods. Valid values are authorizationHeader and query.

OpenidProviderName string

OpenID Connect provider identifier. The name of an OpenID Connect Provider.

BearerTokenSendingMethods []string

How to send token to the server. A list of zero or more methods. Valid values are authorizationHeader and query.

openidProviderName String

OpenID Connect provider identifier. The name of an OpenID Connect Provider.

bearerTokenSendingMethods List<String>

How to send token to the server. A list of zero or more methods. Valid values are authorizationHeader and query.

openidProviderName string

OpenID Connect provider identifier. The name of an OpenID Connect Provider.

bearerTokenSendingMethods string[]

How to send token to the server. A list of zero or more methods. Valid values are authorizationHeader and query.

openid_provider_name str

OpenID Connect provider identifier. The name of an OpenID Connect Provider.

bearer_token_sending_methods Sequence[str]

How to send token to the server. A list of zero or more methods. Valid values are authorizationHeader and query.

openidProviderName String

OpenID Connect provider identifier. The name of an OpenID Connect Provider.

bearerTokenSendingMethods List<String>

How to send token to the server. A list of zero or more methods. Valid values are authorizationHeader and query.

ApiSubscriptionKeyParameterNames

Header string

The name of the HTTP Header which should be used for the Subscription Key.

Query string

The name of the QueryString parameter which should be used for the Subscription Key.

Header string

The name of the HTTP Header which should be used for the Subscription Key.

Query string

The name of the QueryString parameter which should be used for the Subscription Key.

header String

The name of the HTTP Header which should be used for the Subscription Key.

query String

The name of the QueryString parameter which should be used for the Subscription Key.

header string

The name of the HTTP Header which should be used for the Subscription Key.

query string

The name of the QueryString parameter which should be used for the Subscription Key.

header str

The name of the HTTP Header which should be used for the Subscription Key.

query str

The name of the QueryString parameter which should be used for the Subscription Key.

header String

The name of the HTTP Header which should be used for the Subscription Key.

query String

The name of the QueryString parameter which should be used for the Subscription Key.

Import

API Management API’s can be imported using the resource id, e.g.

 $ pulumi import azure:apimanagement/api:Api example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ApiManagement/service/instance1/apis/api1

Package Details

Repository
https://github.com/pulumi/pulumi-azure
License
Apache-2.0
Notes

This Pulumi package is based on the azurerm Terraform Provider.