ApiArgs

data class ApiArgs(val apiManagementName: Output<String>? = null, val apiType: Output<String>? = null, val contact: Output<ApiContactArgs>? = null, val description: Output<String>? = null, val displayName: Output<String>? = null, val import: Output<ApiImportArgs>? = null, val license: Output<ApiLicenseArgs>? = null, val name: Output<String>? = null, val oauth2Authorization: Output<ApiOauth2AuthorizationArgs>? = null, val openidAuthentication: Output<ApiOpenidAuthenticationArgs>? = null, val path: Output<String>? = null, val protocols: Output<List<String>>? = null, val resourceGroupName: Output<String>? = null, val revision: Output<String>? = null, val revisionDescription: Output<String>? = null, val serviceUrl: Output<String>? = null, val soapPassThrough: Output<Boolean>? = null, val sourceApiId: Output<String>? = null, val subscriptionKeyParameterNames: Output<ApiSubscriptionKeyParameterNamesArgs>? = null, val subscriptionRequired: Output<Boolean>? = null, val termsOfServiceUrl: Output<String>? = null, val version: Output<String>? = null, val versionDescription: Output<String>? = null, val versionSetId: Output<String>? = null) : ConvertibleToJava<ApiArgs>

Manages an API within an API Management Service.

Example Usage

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

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

Constructors

Link copied to clipboard
fun ApiArgs(apiManagementName: Output<String>? = null, apiType: Output<String>? = null, contact: Output<ApiContactArgs>? = null, description: Output<String>? = null, displayName: Output<String>? = null, import: Output<ApiImportArgs>? = null, license: Output<ApiLicenseArgs>? = null, name: Output<String>? = null, oauth2Authorization: Output<ApiOauth2AuthorizationArgs>? = null, openidAuthentication: Output<ApiOpenidAuthenticationArgs>? = null, path: Output<String>? = null, protocols: Output<List<String>>? = null, resourceGroupName: Output<String>? = null, revision: Output<String>? = null, revisionDescription: Output<String>? = null, serviceUrl: Output<String>? = null, soapPassThrough: Output<Boolean>? = null, sourceApiId: Output<String>? = null, subscriptionKeyParameterNames: Output<ApiSubscriptionKeyParameterNamesArgs>? = null, subscriptionRequired: Output<Boolean>? = null, termsOfServiceUrl: Output<String>? = null, version: Output<String>? = null, versionDescription: Output<String>? = null, versionSetId: Output<String>? = null)

Functions

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

Properties

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

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

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

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

Link copied to clipboard
val contact: Output<ApiContactArgs>? = null

A contact block as documented below.

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

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

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

The display name of the API.

Link copied to clipboard
val import: Output<ApiImportArgs>? = null

A import block as documented below.

Link copied to clipboard
val license: Output<ApiLicenseArgs>? = null

A license block as documented below.

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

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

Link copied to clipboard

An oauth2_authorization block as documented below.

Link copied to clipboard

An openid_authentication block as documented below.

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

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.

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

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

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

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

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

The Revision which used for this API. Changing this forces a new resource to be created.

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

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

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

Absolute URL of the backend service implementing this API.

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

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

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

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

Link copied to clipboard

A subscription_key_parameter_names block as documented below.

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

Should this API require a subscription key? Defaults to true.

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

Absolute URL of the Terms of Service for the API.

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

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

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

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

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

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