@kengachu-pulumi/azure-native-apimanagement
Version:
Pulumi Azure Native package for apimanagement
231 lines (230 loc) • 7.46 kB
TypeScript
import * as enums from "./enums";
import * as pulumi from "@pulumi/pulumi";
/**
* Description of an additional API Management resource location.
*/
export interface AdditionalLocationArgs {
/**
* The location name of the additional region among Azure Data center regions.
*/
location: pulumi.Input<string>;
/**
* SKU properties of the API Management service.
*/
sku: pulumi.Input<ApiManagementServiceSkuPropertiesArgs>;
/**
* Virtual network configuration for the location.
*/
virtualNetworkConfiguration?: pulumi.Input<VirtualNetworkConfigurationArgs>;
}
/**
* additionalLocationArgsProvideDefaults sets the appropriate defaults for AdditionalLocationArgs
*/
export declare function additionalLocationArgsProvideDefaults(val: AdditionalLocationArgs): AdditionalLocationArgs;
/**
* Criteria to limit import of WSDL to a subset of the document.
*/
export interface ApiCreateOrUpdatePropertiesWsdlSelectorArgs {
/**
* Name of endpoint(port) to import from WSDL
*/
wsdlEndpointName?: pulumi.Input<string>;
/**
* Name of service to import from WSDL
*/
wsdlServiceName?: pulumi.Input<string>;
}
/**
* Identity properties of the Api Management service resource.
*/
export interface ApiManagementServiceIdentityArgs {
/**
* The identity type. Currently the only supported type is 'SystemAssigned'.
*/
type: pulumi.Input<string | enums.ApimIdentityType>;
}
/**
* API Management service resource SKU properties.
*/
export interface ApiManagementServiceSkuPropertiesArgs {
/**
* Capacity of the SKU (number of deployed units of the SKU). The default value is 1.
*/
capacity?: pulumi.Input<number>;
/**
* Name of the Sku.
*/
name: pulumi.Input<string | enums.SkuType>;
}
/**
* apiManagementServiceSkuPropertiesArgsProvideDefaults sets the appropriate defaults for ApiManagementServiceSkuPropertiesArgs
*/
export declare function apiManagementServiceSkuPropertiesArgsProvideDefaults(val: ApiManagementServiceSkuPropertiesArgs): ApiManagementServiceSkuPropertiesArgs;
/**
* Api Version Set Contract details.
*/
export interface ApiVersionSetContractArgs {
/**
* Description of API Version Set.
*/
description?: pulumi.Input<string>;
/**
* Name of API Version Set
*/
displayName: pulumi.Input<string>;
/**
* Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.
*/
versionHeaderName?: pulumi.Input<string>;
/**
* Name of query parameter that indicates the API Version if versioningScheme is set to `query`.
*/
versionQueryName?: pulumi.Input<string>;
/**
* An value that determines where the API Version identifier will be located in a HTTP request.
*/
versioningScheme: pulumi.Input<string | enums.VersioningScheme>;
}
/**
* API Authentication Settings.
*/
export interface AuthenticationSettingsContractArgs {
/**
* OAuth2 Authentication settings
*/
oAuth2?: pulumi.Input<OAuth2AuthenticationSettingsContractArgs>;
}
/**
* Certificate configuration which consist of non-trusted intermediates and root certificates.
*/
export interface CertificateConfigurationArgs {
/**
* Certificate Password.
*/
certificatePassword?: pulumi.Input<string>;
/**
* Base64 Encoded certificate.
*/
encodedCertificate?: pulumi.Input<string>;
/**
* The local certificate store location. Only Root and CertificateAuthority are valid locations.
*/
storeName: pulumi.Input<string>;
}
/**
* Custom hostname configuration.
*/
export interface HostnameConfigurationArgs {
/**
* Certificate Password.
*/
certificatePassword?: pulumi.Input<string>;
/**
* Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The setting only applied to Proxy Hostname Type.
*/
defaultSslBinding?: pulumi.Input<boolean>;
/**
* Base64 Encoded certificate.
*/
encodedCertificate?: pulumi.Input<string>;
/**
* Hostname to configure on the Api Management service.
*/
hostName: pulumi.Input<string>;
/**
* Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, auto-update of ssl certificate will not work. This requires Api Management service to be configured with MSI. The secret should be of type *application/x-pkcs12*
*/
keyVaultId?: pulumi.Input<string>;
/**
* Specify true to always negotiate client certificate on the hostname. Default Value is false.
*/
negotiateClientCertificate?: pulumi.Input<boolean>;
/**
* Hostname type.
*/
type: pulumi.Input<enums.HostnameType>;
}
/**
* hostnameConfigurationArgsProvideDefaults sets the appropriate defaults for HostnameConfigurationArgs
*/
export declare function hostnameConfigurationArgsProvideDefaults(val: HostnameConfigurationArgs): HostnameConfigurationArgs;
/**
* Sampling settings contract.
*/
export interface LoggerSamplingContractArgs {
/**
* Rate re-evaluation interval in ISO8601 format.
*/
evaluationInterval?: pulumi.Input<string>;
/**
* Initial sampling rate.
*/
initialPercentage?: pulumi.Input<number>;
/**
* Maximum allowed rate of sampling.
*/
maxPercentage?: pulumi.Input<number>;
/**
* Target rate of telemetry items per second.
*/
maxTelemetryItemsPerSecond?: pulumi.Input<number>;
/**
* Minimum allowed rate of sampling.
*/
minPercentage?: pulumi.Input<number>;
/**
* Moving average ration assigned to most recent value.
*/
movingAverageRatio?: pulumi.Input<number>;
/**
* Rate of sampling for fixed-rate sampling.
*/
percentage?: pulumi.Input<number>;
/**
* Duration in ISO8601 format after which it's allowed to lower the sampling rate.
*/
percentageDecreaseTimeout?: pulumi.Input<string>;
/**
* Duration in ISO8601 format after which it's allowed to increase the sampling rate.
*/
percentageIncreaseTimeout?: pulumi.Input<string>;
/**
* Sampling type.
*/
samplingType?: pulumi.Input<string | enums.SamplingType>;
}
/**
* API OAuth2 Authentication settings details.
*/
export interface OAuth2AuthenticationSettingsContractArgs {
/**
* OAuth authorization server identifier.
*/
authorizationServerId?: pulumi.Input<string>;
/**
* operations scope.
*/
scope?: pulumi.Input<string>;
}
/**
* Subscription key parameter names details.
*/
export interface SubscriptionKeyParameterNamesContractArgs {
/**
* Subscription key header name.
*/
header?: pulumi.Input<string>;
/**
* Subscription key query string parameter name.
*/
query?: pulumi.Input<string>;
}
/**
* Configuration of a virtual network to which API Management service is deployed.
*/
export interface VirtualNetworkConfigurationArgs {
/**
* The full resource ID of a subnet in a virtual network to deploy the API Management service in.
*/
subnetResourceId?: pulumi.Input<string>;
}