ApiArgs

data class ApiArgs(val apiName: Output<String>? = null, val contacts: Output<List<ContactArgs>>? = null, val customProperties: Output<Any>? = null, val description: Output<String>? = null, val externalDocumentation: Output<List<ExternalDocumentationArgs>>? = null, val kind: Output<Either<String, ApiKind>>? = null, val license: Output<LicenseArgs>? = null, val resourceGroupName: Output<String>? = null, val serviceName: Output<String>? = null, val summary: Output<String>? = null, val termsOfService: Output<TermsOfServiceArgs>? = null, val title: Output<String>? = null, val workspaceName: Output<String>? = null) : ConvertibleToJava<ApiArgs>

API entity. Uses Azure REST API version 2024-03-15-preview. In version 2.x of the Azure Native provider, it used API version 2024-03-01. Other available API versions: 2024-03-01, 2024-06-01-preview. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native apicenter [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

Example Usage

Apis_CreateOrUpdate

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var api = new AzureNative.ApiCenter.Api("api", new()
{
ApiName = "echo-api",
CustomProperties = new Dictionary<string, object?>
{
["author"] = "John Doe",
},
Description = "A simple HTTP request/response service.",
ExternalDocumentation = new[]
{
new AzureNative.ApiCenter.Inputs.ExternalDocumentationArgs
{
Title = "Onboarding docs",
Url = "https://docs.contoso.com",
},
},
Kind = AzureNative.ApiCenter.ApiKind.Rest,
License = new AzureNative.ApiCenter.Inputs.LicenseArgs
{
Url = "https://contoso.com/license",
},
ResourceGroupName = "contoso-resources",
ServiceName = "contoso",
TermsOfService = new AzureNative.ApiCenter.Inputs.TermsOfServiceArgs
{
Url = "https://contoso.com/terms-of-service",
},
Title = "Echo API",
WorkspaceName = "default",
});
});
package main
import (
apicenter "github.com/pulumi/pulumi-azure-native-sdk/apicenter/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := apicenter.NewApi(ctx, "api", &apicenter.ApiArgs{
ApiName: pulumi.String("echo-api"),
CustomProperties: pulumi.Any(map[string]interface{}{
"author": "John Doe",
}),
Description: pulumi.String("A simple HTTP request/response service."),
ExternalDocumentation: apicenter.ExternalDocumentationArray{
&apicenter.ExternalDocumentationArgs{
Title: pulumi.String("Onboarding docs"),
Url: pulumi.String("https://docs.contoso.com"),
},
},
Kind: pulumi.String(apicenter.ApiKindRest),
License: &apicenter.LicenseArgs{
Url: pulumi.String("https://contoso.com/license"),
},
ResourceGroupName: pulumi.String("contoso-resources"),
ServiceName: pulumi.String("contoso"),
TermsOfService: &apicenter.TermsOfServiceArgs{
Url: pulumi.String("https://contoso.com/terms-of-service"),
},
Title: pulumi.String("Echo API"),
WorkspaceName: pulumi.String("default"),
})
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.apicenter.Api;
import com.pulumi.azurenative.apicenter.ApiArgs;
import com.pulumi.azurenative.apicenter.inputs.ExternalDocumentationArgs;
import com.pulumi.azurenative.apicenter.inputs.LicenseArgs;
import com.pulumi.azurenative.apicenter.inputs.TermsOfServiceArgs;
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 api = new Api("api", ApiArgs.builder()
.apiName("echo-api")
.customProperties(Map.of("author", "John Doe"))
.description("A simple HTTP request/response service.")
.externalDocumentation(ExternalDocumentationArgs.builder()
.title("Onboarding docs")
.url("https://docs.contoso.com")
.build())
.kind("rest")
.license(LicenseArgs.builder()
.url("https://contoso.com/license")
.build())
.resourceGroupName("contoso-resources")
.serviceName("contoso")
.termsOfService(TermsOfServiceArgs.builder()
.url("https://contoso.com/terms-of-service")
.build())
.title("Echo API")
.workspaceName("default")
.build());
}
}

Import

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

$ pulumi import azure-native:apicenter:Api echo-api /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiCenter/services/{serviceName}/workspaces/{workspaceName}/apis/{apiName}

Constructors

Link copied to clipboard
constructor(apiName: Output<String>? = null, contacts: Output<List<ContactArgs>>? = null, customProperties: Output<Any>? = null, description: Output<String>? = null, externalDocumentation: Output<List<ExternalDocumentationArgs>>? = null, kind: Output<Either<String, ApiKind>>? = null, license: Output<LicenseArgs>? = null, resourceGroupName: Output<String>? = null, serviceName: Output<String>? = null, summary: Output<String>? = null, termsOfService: Output<TermsOfServiceArgs>? = null, title: Output<String>? = null, workspaceName: Output<String>? = null)

Properties

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

The name of the API.

Link copied to clipboard
val contacts: Output<List<ContactArgs>>? = null

The set of contacts

Link copied to clipboard
val customProperties: Output<Any>? = null

The custom metadata defined for API catalog entities.

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

Description of the API.

Link copied to clipboard

The set of external documentation

Link copied to clipboard
val kind: Output<Either<String, ApiKind>>? = null

Kind of API. For example, REST or GraphQL.

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

The license information for the API.

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 serviceName: Output<String>? = null

The name of Azure API Center service.

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

Short description of the API.

Link copied to clipboard
val termsOfService: Output<TermsOfServiceArgs>? = null

Terms of service for the API.

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

API title.

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

The name of the workspace.

Functions

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