WorkspaceApiArgs

data class WorkspaceApiArgs(val apiId: Output<String>? = null, val apiRevision: Output<String>? = null, val apiRevisionDescription: Output<String>? = null, val apiType: Output<Either<String, ApiType>>? = null, val apiVersion: Output<String>? = null, val apiVersionDescription: Output<String>? = null, val apiVersionSet: Output<ApiVersionSetContractDetailsArgs>? = null, val apiVersionSetId: Output<String>? = null, val authenticationSettings: Output<AuthenticationSettingsContractArgs>? = null, val contact: Output<ApiContactInformationArgs>? = null, val description: Output<String>? = null, val displayName: Output<String>? = null, val format: Output<Either<String, ContentFormat>>? = null, val isCurrent: Output<Boolean>? = null, val license: Output<ApiLicenseInformationArgs>? = null, val path: Output<String>? = null, val protocols: Output<List<Either<String, Protocol>>>? = null, val resourceGroupName: Output<String>? = null, val serviceName: Output<String>? = null, val serviceUrl: Output<String>? = null, val soapApiType: Output<Either<String, SoapApiType>>? = null, val sourceApiId: Output<String>? = null, val subscriptionKeyParameterNames: Output<SubscriptionKeyParameterNamesContractArgs>? = null, val subscriptionRequired: Output<Boolean>? = null, val termsOfServiceUrl: Output<String>? = null, val translateRequiredQueryParametersConduct: Output<Either<String, TranslateRequiredQueryParametersConduct>>? = null, val value: Output<String>? = null, val workspaceId: Output<String>? = null, val wsdlSelector: Output<ApiCreateOrUpdatePropertiesWsdlSelectorArgs>? = null) : ConvertibleToJava<WorkspaceApiArgs>

API details. Uses Azure REST API version 2022-09-01-preview. In version 2.x of the Azure Native provider, it used API version 2022-09-01-preview. Other available API versions: 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

ApiManagementCreateWorkspaceApi

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var workspaceApi = new AzureNative.ApiManagement.WorkspaceApi("workspaceApi", new()
{
ApiId = "tempgroup",
AuthenticationSettings = new AzureNative.ApiManagement.Inputs.AuthenticationSettingsContractArgs
{
OAuth2 = new AzureNative.ApiManagement.Inputs.OAuth2AuthenticationSettingsContractArgs
{
AuthorizationServerId = "authorizationServerId2283",
Scope = "oauth2scope2580",
},
},
Description = "apidescription5200",
DisplayName = "apiname1463",
Path = "newapiPath",
Protocols = new[]
{
AzureNative.ApiManagement.Protocol.Https,
AzureNative.ApiManagement.Protocol.Http,
},
ResourceGroupName = "rg1",
ServiceName = "apimService1",
ServiceUrl = "http://newechoapi.cloudapp.net/api",
SubscriptionKeyParameterNames = new AzureNative.ApiManagement.Inputs.SubscriptionKeyParameterNamesContractArgs
{
Header = "header4520",
Query = "query3037",
},
WorkspaceId = "wks1",
});
});
package main
import (
apimanagement "github.com/pulumi/pulumi-azure-native-sdk/apimanagement/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := apimanagement.NewWorkspaceApi(ctx, "workspaceApi", &apimanagement.WorkspaceApiArgs{
ApiId: pulumi.String("tempgroup"),
AuthenticationSettings: &apimanagement.AuthenticationSettingsContractArgs{
OAuth2: &apimanagement.OAuth2AuthenticationSettingsContractArgs{
AuthorizationServerId: pulumi.String("authorizationServerId2283"),
Scope: pulumi.String("oauth2scope2580"),
},
},
Description: pulumi.String("apidescription5200"),
DisplayName: pulumi.String("apiname1463"),
Path: pulumi.String("newapiPath"),
Protocols: pulumi.StringArray{
pulumi.String(apimanagement.ProtocolHttps),
pulumi.String(apimanagement.ProtocolHttp),
},
ResourceGroupName: pulumi.String("rg1"),
ServiceName: pulumi.String("apimService1"),
ServiceUrl: pulumi.String("http://newechoapi.cloudapp.net/api"),
SubscriptionKeyParameterNames: &apimanagement.SubscriptionKeyParameterNamesContractArgs{
Header: pulumi.String("header4520"),
Query: pulumi.String("query3037"),
},
WorkspaceId: pulumi.String("wks1"),
})
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.WorkspaceApi;
import com.pulumi.azurenative.apimanagement.WorkspaceApiArgs;
import com.pulumi.azurenative.apimanagement.inputs.AuthenticationSettingsContractArgs;
import com.pulumi.azurenative.apimanagement.inputs.OAuth2AuthenticationSettingsContractArgs;
import com.pulumi.azurenative.apimanagement.inputs.SubscriptionKeyParameterNamesContractArgs;
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 workspaceApi = new WorkspaceApi("workspaceApi", WorkspaceApiArgs.builder()
.apiId("tempgroup")
.authenticationSettings(AuthenticationSettingsContractArgs.builder()
.oAuth2(OAuth2AuthenticationSettingsContractArgs.builder()
.authorizationServerId("authorizationServerId2283")
.scope("oauth2scope2580")
.build())
.build())
.description("apidescription5200")
.displayName("apiname1463")
.path("newapiPath")
.protocols(
"https",
"http")
.resourceGroupName("rg1")
.serviceName("apimService1")
.serviceUrl("http://newechoapi.cloudapp.net/api")
.subscriptionKeyParameterNames(SubscriptionKeyParameterNamesContractArgs.builder()
.header("header4520")
.query("query3037")
.build())
.workspaceId("wks1")
.build());
}
}

Import

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

$ pulumi import azure-native:apimanagement:WorkspaceApi apiid9419 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}

Constructors

Link copied to clipboard
constructor(apiId: Output<String>? = null, apiRevision: Output<String>? = null, apiRevisionDescription: Output<String>? = null, apiType: Output<Either<String, ApiType>>? = null, apiVersion: Output<String>? = null, apiVersionDescription: Output<String>? = null, apiVersionSet: Output<ApiVersionSetContractDetailsArgs>? = null, apiVersionSetId: Output<String>? = null, authenticationSettings: Output<AuthenticationSettingsContractArgs>? = null, contact: Output<ApiContactInformationArgs>? = null, description: Output<String>? = null, displayName: Output<String>? = null, format: Output<Either<String, ContentFormat>>? = null, isCurrent: Output<Boolean>? = null, license: Output<ApiLicenseInformationArgs>? = null, path: Output<String>? = null, protocols: Output<List<Either<String, Protocol>>>? = null, resourceGroupName: Output<String>? = null, serviceName: Output<String>? = null, serviceUrl: Output<String>? = null, soapApiType: Output<Either<String, SoapApiType>>? = null, sourceApiId: Output<String>? = null, subscriptionKeyParameterNames: Output<SubscriptionKeyParameterNamesContractArgs>? = null, subscriptionRequired: Output<Boolean>? = null, termsOfServiceUrl: Output<String>? = null, translateRequiredQueryParametersConduct: Output<Either<String, TranslateRequiredQueryParametersConduct>>? = null, value: Output<String>? = null, workspaceId: Output<String>? = null, wsdlSelector: Output<ApiCreateOrUpdatePropertiesWsdlSelectorArgs>? = null)

Properties

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

API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.

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

Describes the revision of the API. If no value is provided, default revision 1 is created

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

Description of the API Revision.

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

Type of API.

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

Indicates the version identifier of the API if the API is versioned

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

Description of the API Version.

Link copied to clipboard

Version set details

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

A resource identifier for the related ApiVersionSet.

Link copied to clipboard

Collection of authentication settings included into this API.

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

Contact information for the API.

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

Description of the API. May include HTML formatting tags.

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

API name. Must be 1 to 300 characters long.

Link copied to clipboard
val format: Output<Either<String, ContentFormat>>? = null

Format of the Content in which the API is getting imported.

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

Indicates if API revision is current api revision.

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

License information for the API.

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

Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.

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

Describes on which protocols the operations in this API can be invoked.

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 the API Management service.

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

Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.

Link copied to clipboard
val soapApiType: Output<Either<String, SoapApiType>>? = null

Type of API to create.

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

API identifier of the source API.

Link copied to clipboard

Protocols over which API is made available.

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

Specifies whether an API or Product subscription is required for accessing the API.

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

A URL to the Terms of Service for the API. MUST be in the format of a URL.

Link copied to clipboard

Strategy of translating required query parameters to template ones. By default has value 'template'. Possible values: 'template', 'query'

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

Content value when Importing an API.

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

Workspace identifier. Must be unique in the current API Management service instance.

Link copied to clipboard

Criteria to limit import of WSDL to a subset of the document.

Functions

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