@kengachu-pulumi/azure-native-apimanagement
Version:
Pulumi Azure Native package for apimanagement
323 lines (322 loc) • 8.99 kB
TypeScript
/**
* Description of an additional API Management resource location.
*/
export interface AdditionalLocationResponse {
/**
* Gateway URL of the API Management service in the Region.
*/
gatewayRegionalUrl: string;
/**
* The location name of the additional region among Azure Data center regions.
*/
location: string;
/**
* SKU properties of the API Management service.
*/
sku: ApiManagementServiceSkuPropertiesResponse;
/**
* Static IP addresses of the location's virtual machines.
*/
staticIps: string[];
/**
* Virtual network configuration for the location.
*/
virtualNetworkConfiguration?: VirtualNetworkConfigurationResponse;
}
/**
* additionalLocationResponseProvideDefaults sets the appropriate defaults for AdditionalLocationResponse
*/
export declare function additionalLocationResponseProvideDefaults(val: AdditionalLocationResponse): AdditionalLocationResponse;
/**
* Identity properties of the Api Management service resource.
*/
export interface ApiManagementServiceIdentityResponse {
/**
* The principal id of the identity.
*/
principalId: string;
/**
* The client tenant id of the identity.
*/
tenantId: string;
/**
* The identity type. Currently the only supported type is 'SystemAssigned'.
*/
type: string;
}
/**
* API Management service resource SKU properties.
*/
export interface ApiManagementServiceSkuPropertiesResponse {
/**
* Capacity of the SKU (number of deployed units of the SKU). The default value is 1.
*/
capacity?: number;
/**
* Name of the Sku.
*/
name: string;
}
/**
* apiManagementServiceSkuPropertiesResponseProvideDefaults sets the appropriate defaults for ApiManagementServiceSkuPropertiesResponse
*/
export declare function apiManagementServiceSkuPropertiesResponseProvideDefaults(val: ApiManagementServiceSkuPropertiesResponse): ApiManagementServiceSkuPropertiesResponse;
/**
* Api Version Set Contract details.
*/
export interface ApiVersionSetContractResponse {
/**
* Description of API Version Set.
*/
description?: string;
/**
* Name of API Version Set
*/
displayName: string;
/**
* Resource ID.
*/
id: string;
/**
* Resource name.
*/
name: string;
/**
* Resource type for API Management resource.
*/
type: string;
/**
* Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.
*/
versionHeaderName?: string;
/**
* Name of query parameter that indicates the API Version if versioningScheme is set to `query`.
*/
versionQueryName?: string;
/**
* An value that determines where the API Version identifier will be located in a HTTP request.
*/
versioningScheme: string;
}
/**
* API Authentication Settings.
*/
export interface AuthenticationSettingsContractResponse {
/**
* OAuth2 Authentication settings
*/
oAuth2?: OAuth2AuthenticationSettingsContractResponse;
}
/**
* Certificate configuration which consist of non-trusted intermediates and root certificates.
*/
export interface CertificateConfigurationResponse {
/**
* Certificate information.
*/
certificate: CertificateInformationResponse;
/**
* Certificate Password.
*/
certificatePassword?: string;
/**
* Base64 Encoded certificate.
*/
encodedCertificate?: string;
/**
* The local certificate store location. Only Root and CertificateAuthority are valid locations.
*/
storeName: string;
}
/**
* SSL certificate information.
*/
export interface CertificateInformationResponse {
/**
* Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
*/
expiry: string;
/**
* Subject of the certificate.
*/
subject: string;
/**
* Thumbprint of the certificate.
*/
thumbprint: string;
}
/**
* Contract details.
*/
export interface GroupContractResponse {
/**
* true if the group is one of the three system groups (Administrators, Developers, or Guests); otherwise false.
*/
builtIn: boolean;
/**
* Group description. Can contain HTML formatting tags.
*/
description?: string;
/**
* Group name.
*/
displayName: string;
/**
* For external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory aad://<tenant>.onmicrosoft.com/groups/<group object id>; otherwise the value is null.
*/
externalId?: string;
/**
* Resource ID.
*/
id: string;
/**
* Resource name.
*/
name: string;
/**
* Resource type for API Management resource.
*/
type: string;
}
/**
* Custom hostname configuration.
*/
export interface HostnameConfigurationResponse {
/**
* Certificate information.
*/
certificate: CertificateInformationResponse;
/**
* Certificate Password.
*/
certificatePassword?: 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?: boolean;
/**
* Base64 Encoded certificate.
*/
encodedCertificate?: string;
/**
* Hostname to configure on the Api Management service.
*/
hostName: 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?: string;
/**
* Specify true to always negotiate client certificate on the hostname. Default Value is false.
*/
negotiateClientCertificate?: boolean;
/**
* Hostname type.
*/
type: string;
}
/**
* hostnameConfigurationResponseProvideDefaults sets the appropriate defaults for HostnameConfigurationResponse
*/
export declare function hostnameConfigurationResponseProvideDefaults(val: HostnameConfigurationResponse): HostnameConfigurationResponse;
/**
* Sampling settings contract.
*/
export interface LoggerSamplingContractResponse {
/**
* Rate re-evaluation interval in ISO8601 format.
*/
evaluationInterval?: string;
/**
* Initial sampling rate.
*/
initialPercentage?: number;
/**
* Maximum allowed rate of sampling.
*/
maxPercentage?: number;
/**
* Target rate of telemetry items per second.
*/
maxTelemetryItemsPerSecond?: number;
/**
* Minimum allowed rate of sampling.
*/
minPercentage?: number;
/**
* Moving average ration assigned to most recent value.
*/
movingAverageRatio?: number;
/**
* Rate of sampling for fixed-rate sampling.
*/
percentage?: number;
/**
* Duration in ISO8601 format after which it's allowed to lower the sampling rate.
*/
percentageDecreaseTimeout?: string;
/**
* Duration in ISO8601 format after which it's allowed to increase the sampling rate.
*/
percentageIncreaseTimeout?: string;
/**
* Sampling type.
*/
samplingType?: string;
}
/**
* API OAuth2 Authentication settings details.
*/
export interface OAuth2AuthenticationSettingsContractResponse {
/**
* OAuth authorization server identifier.
*/
authorizationServerId?: string;
/**
* operations scope.
*/
scope?: string;
}
/**
* Subscription key parameter names details.
*/
export interface SubscriptionKeyParameterNamesContractResponse {
/**
* Subscription key header name.
*/
header?: string;
/**
* Subscription key query string parameter name.
*/
query?: string;
}
/**
* User identity details.
*/
export interface UserIdentityContractResponse {
/**
* Identifier value within provider.
*/
id?: string;
/**
* Identity provider name.
*/
provider?: string;
}
/**
* Configuration of a virtual network to which API Management service is deployed.
*/
export interface VirtualNetworkConfigurationResponse {
/**
* The full resource ID of a subnet in a virtual network to deploy the API Management service in.
*/
subnetResourceId?: string;
/**
* The name of the subnet.
*/
subnetname: string;
/**
* The virtual network ID. This is typically a GUID. Expect a null GUID by default.
*/
vnetid: string;
}