UNPKG

@kengachu-pulumi/azure-native-apimanagement

Version:

Pulumi Azure Native package for apimanagement

958 lines (957 loc) 26.5 kB
/** * Description of an additional API Management resource location. */ export interface AdditionalLocationResponse { /** * Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in this additional location. */ disableGateway?: boolean; /** * 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; /** * Property can be used to enable NAT Gateway for this API Management service. */ natGatewayState?: string; /** * Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available only for Premium SKU on stv2 platform. */ outboundPublicIPAddresses: string[]; /** * Compute Platform Version running the service. */ platformVersion: string; /** * Private Static Load Balanced IP addresses of the API Management service which is deployed in an Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated SKU. */ privateIPAddresses: string[]; /** * Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard, Premium and Isolated SKU. */ publicIPAddresses: string[]; /** * Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the location. Supported only for Premium SKU being deployed in Virtual Network. */ publicIpAddressId?: string; /** * SKU properties of the API Management service. */ sku: ApiManagementServiceSkuPropertiesResponse; /** * Virtual network configuration for the location. */ virtualNetworkConfiguration?: VirtualNetworkConfigurationResponse; /** * A list of availability zones denoting where the resource needs to come from. */ zones?: string[]; } /** * additionalLocationResponseProvideDefaults sets the appropriate defaults for AdditionalLocationResponse */ export declare function additionalLocationResponseProvideDefaults(val: AdditionalLocationResponse): AdditionalLocationResponse; /** * API contact information */ export interface ApiContactInformationResponse { /** * The email address of the contact person/organization. MUST be in the format of an email address */ email?: string; /** * The identifying name of the contact person/organization */ name?: string; /** * The URL pointing to the contact information. MUST be in the format of a URL */ url?: string; } /** * API license information */ export interface ApiLicenseInformationResponse { /** * The license name used for the API */ name?: string; /** * A URL to the license used for the API. MUST be in the format of a URL */ url?: string; } /** * 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 type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. */ type: string; /** * The list of user identities associated with the resource. The user identity * dictionary key references will be ARM resource ids in the form: * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ * providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ userAssignedIdentities?: { [key: string]: UserIdentityPropertiesResponse; }; } /** * API Management service resource SKU properties. */ export interface ApiManagementServiceSkuPropertiesResponse { /** * Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0. */ capacity: number; /** * Name of the Sku. */ name: string; } /** * Control Plane Apis version constraint for the API Management service. */ export interface ApiVersionConstraintResponse { /** * Limit control plane API calls to API Management service with version equal to or newer than this value. */ minApiVersion?: string; } /** * An API Version Set contains the common configuration for a set of API Versions relating */ export interface ApiVersionSetContractDetailsResponse { /** * Description of API Version Set. */ description?: string; /** * Identifier for existing API Version Set. Omit this value to create a new Version Set. */ id?: string; /** * The display Name of the API Version Set. */ name?: 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; } /** * A wrapper for an ARM resource id */ export interface ArmIdWrapperResponse { id: string; } /** * API Authentication Settings. */ export interface AuthenticationSettingsContractResponse { /** * OAuth2 Authentication settings */ oAuth2?: OAuth2AuthenticationSettingsContractResponse; /** * Collection of OAuth2 authentication settings included into this API. */ oAuth2AuthenticationSettings?: OAuth2AuthenticationSettingsContractResponse[]; /** * OpenID Connect Authentication Settings */ openid?: OpenIdAuthenticationSettingsContractResponse; /** * Collection of Open ID Connect authentication settings included into this API. */ openidAuthenticationSettings?: OpenIdAuthenticationSettingsContractResponse[]; } /** * Authorization error details. */ export interface AuthorizationErrorResponse { /** * Error code */ code?: string; /** * Error message */ message?: string; } /** * Authorization Provider oauth2 grant types settings */ export interface AuthorizationProviderOAuth2GrantTypesResponse { /** * OAuth2 authorization code grant parameters */ authorizationCode?: { [key: string]: string; }; /** * OAuth2 client credential grant parameters */ clientCredentials?: { [key: string]: string; }; } /** * OAuth2 settings details */ export interface AuthorizationProviderOAuth2SettingsResponse { /** * OAuth2 settings */ grantTypes?: AuthorizationProviderOAuth2GrantTypesResponse; /** * Redirect URL to be set in the OAuth application. */ redirectUrl?: string; } /** * Authorization header information. */ export interface BackendAuthorizationHeaderCredentialsResponse { /** * Authentication Parameter value. */ parameter: string; /** * Authentication Scheme name. */ scheme: string; } /** * Details of the Credentials used to connect to Backend. */ export interface BackendCredentialsContractResponse { /** * Authorization header authentication */ authorization?: BackendAuthorizationHeaderCredentialsResponse; /** * List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided. */ certificate?: string[]; /** * List of Client Certificate Ids. */ certificateIds?: string[]; /** * Header Parameter description. */ header?: { [key: string]: string[]; }; /** * Query Parameter description. */ query?: { [key: string]: string[]; }; } /** * Properties specific to the Backend Type. */ export interface BackendPropertiesResponse { /** * Backend Service Fabric Cluster Properties */ serviceFabricCluster?: BackendServiceFabricClusterPropertiesResponse; } /** * Details of the Backend WebProxy Server to use in the Request to Backend. */ export interface BackendProxyContractResponse { /** * Password to connect to the WebProxy Server */ password?: string; /** * WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all fragments and query strings. */ url: string; /** * Username to connect to the WebProxy server */ username?: string; } /** * Properties of the Service Fabric Type Backend. */ export interface BackendServiceFabricClusterPropertiesResponse { /** * The client certificate id for the management endpoint. */ clientCertificateId?: string; /** * The client certificate thumbprint for the management endpoint. Will be ignored if certificatesIds are provided */ clientCertificatethumbprint?: string; /** * The cluster management endpoint. */ managementEndpoints: string[]; /** * Maximum number of retries while attempting resolve the partition. */ maxPartitionResolutionRetries?: number; /** * Thumbprints of certificates cluster management service uses for tls communication */ serverCertificateThumbprints?: string[]; /** * Server X509 Certificate Names Collection */ serverX509Names?: X509CertificateNameResponse[]; } /** * Properties controlling TLS Certificate Validation. */ export interface BackendTlsPropertiesResponse { /** * Flag indicating whether SSL certificate chain validation should be done when using self-signed certificates for this backend host. */ validateCertificateChain?: boolean; /** * Flag indicating whether SSL certificate name validation should be done when using self-signed certificates for this backend host. */ validateCertificateName?: boolean; } /** * backendTlsPropertiesResponseProvideDefaults sets the appropriate defaults for BackendTlsPropertiesResponse */ export declare function backendTlsPropertiesResponseProvideDefaults(val: BackendTlsPropertiesResponse): BackendTlsPropertiesResponse; /** * Body logging settings. */ export interface BodyDiagnosticSettingsResponse { /** * Number of request body bytes to log. */ bytes?: number; } /** * 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 System.Security.Cryptography.x509certificates.StoreName 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; } export interface DataMaskingEntityResponse { /** * Data masking mode. */ mode?: string; /** * The name of an entity to mask (e.g. a name of a header or a query parameter). */ value?: string; } export interface DataMaskingResponse { /** * Masking settings for headers */ headers?: DataMaskingEntityResponse[]; /** * Masking settings for Url query parameters */ queryParams?: DataMaskingEntityResponse[]; } /** * Email Template Parameter contract. */ export interface EmailTemplateParametersContractPropertiesResponse { /** * Template parameter description. */ description?: string; /** * Template parameter name. */ name?: string; /** * Template parameter title. */ title?: string; } /** * Group contract Properties. */ export interface GroupContractPropertiesResponse { /** * 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; /** * Group type. */ type?: string; } /** * Custom hostname configuration. */ export interface HostnameConfigurationResponse { /** * Certificate information. */ certificate?: CertificateInformationResponse; /** * Certificate Password. */ certificatePassword?: string; /** * Certificate Source. */ certificateSource?: string; /** * Certificate Status. */ certificateStatus?: 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 gateway Hostname Type. */ defaultSslBinding?: boolean; /** * Base64 Encoded certificate. */ encodedCertificate?: string; /** * Hostname to configure on the Api Management service. */ hostName: string; /** * System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to the keyVault containing the SSL certificate. */ identityClientId?: 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 aka.ms/apimmsi. 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; /** * Http message diagnostic settings. */ export interface HttpMessageDiagnosticResponse { /** * Body logging settings. */ body?: BodyDiagnosticSettingsResponse; /** * Data masking settings. */ dataMasking?: DataMaskingResponse; /** * Array of HTTP Headers to log. */ headers?: string[]; } /** * KeyVault contract details. */ export interface KeyVaultContractPropertiesResponse { /** * Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access key vault secret. */ identityClientId?: string; /** * Last time sync and refresh status of secret from key vault. */ lastStatus?: KeyVaultLastAccessStatusContractPropertiesResponse; /** * Key vault secret identifier for fetching secret. Providing a versioned secret will prevent auto-refresh. This requires API Management service to be configured with aka.ms/apimmsi */ secretIdentifier?: string; } /** * Issue contract Update Properties. */ export interface KeyVaultLastAccessStatusContractPropertiesResponse { /** * Last status code for sync and refresh of secret from key vault. */ code?: string; /** * Details of the error else empty. */ message?: string; /** * Last time secret was accessed. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. */ timeStampUtc?: string; } /** * API OAuth2 Authentication settings details. */ export interface OAuth2AuthenticationSettingsContractResponse { /** * OAuth authorization server identifier. */ authorizationServerId?: string; /** * operations scope. */ scope?: string; } /** * API OAuth2 Authentication settings details. */ export interface OpenIdAuthenticationSettingsContractResponse { /** * How to send token to the server. */ bearerTokenSendingMethods?: string[]; /** * OAuth authorization server identifier. */ openidProviderId?: string; } /** * Operation parameters details. */ export interface ParameterContractResponse { /** * Default parameter value. */ defaultValue?: string; /** * Parameter description. */ description?: string; /** * Exampled defined for the parameter. */ examples?: { [key: string]: ParameterExampleContractResponse; }; /** * Parameter name. */ name: string; /** * Specifies whether parameter is required or not. */ required?: boolean; /** * Schema identifier. */ schemaId?: string; /** * Parameter type. */ type: string; /** * Type name defined by the schema. */ typeName?: string; /** * Parameter values. */ values?: string[]; } /** * Parameter example. */ export interface ParameterExampleContractResponse { /** * Long description for the example */ description?: string; /** * A URL that points to the literal example */ externalValue?: string; /** * Short description for the example */ summary?: string; /** * Example value. May be a primitive value, or an object. */ value?: any; } /** * Diagnostic settings for incoming/outgoing HTTP messages to the Gateway. */ export interface PipelineDiagnosticSettingsResponse { /** * Diagnostic settings for request. */ request?: HttpMessageDiagnosticResponse; /** * Diagnostic settings for response. */ response?: HttpMessageDiagnosticResponse; } /** * The Private Endpoint resource. */ export interface PrivateEndpointResponse { /** * The ARM identifier for Private Endpoint */ id: string; } /** * A collection of information about the state of the connection between service consumer and provider. */ export interface PrivateLinkServiceConnectionStateResponse { /** * A message indicating if changes on the service provider require any updates on the consumer. */ actionsRequired?: string; /** * The reason for approval/rejection of the connection. */ description?: string; /** * Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. */ status?: string; } /** * Remote Private Endpoint Connection resource. */ export interface RemotePrivateEndpointConnectionWrapperResponse { /** * All the Group ids. */ groupIds: string[]; /** * Private Endpoint connection resource id */ id?: string; /** * Private Endpoint Connection Name */ name?: string; /** * The resource of private end point. */ privateEndpoint?: ArmIdWrapperResponse; /** * A collection of information about the state of the connection between service consumer and provider. */ privateLinkServiceConnectionState: PrivateLinkServiceConnectionStateResponse; /** * The provisioning state of the private endpoint connection resource. */ provisioningState: string; /** * Private Endpoint Connection Resource Type */ type?: string; } /** * Operation request/response representation details. */ export interface RepresentationContractResponse { /** * Specifies a registered or custom content type for this representation, e.g. application/xml. */ contentType: string; /** * Exampled defined for the representation. */ examples?: { [key: string]: ParameterExampleContractResponse; }; /** * Collection of form parameters. Required if 'contentType' value is either 'application/x-www-form-urlencoded' or 'multipart/form-data'.. */ formParameters?: ParameterContractResponse[]; /** * Schema identifier. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'. */ schemaId?: string; /** * Type name defined by the schema. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'. */ typeName?: string; } /** * Operation request details. */ export interface RequestContractResponse { /** * Operation request description. */ description?: string; /** * Collection of operation request headers. */ headers?: ParameterContractResponse[]; /** * Collection of operation request query parameters. */ queryParameters?: ParameterContractResponse[]; /** * Collection of operation request representations. */ representations?: RepresentationContractResponse[]; } export interface ResourceCollectionResponseValue { /** * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */ id: string; /** * The name of the resource */ name: string; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ type: string; } /** * Resource location data properties. */ export interface ResourceLocationDataContractResponse { /** * The city or locality where the resource is located. */ city?: string; /** * The country or region where the resource is located. */ countryOrRegion?: string; /** * The district, state, or province where the resource is located. */ district?: string; /** * A canonical name for the geographic or physical location. */ name: string; } /** * Operation response details. */ export interface ResponseContractResponse { /** * Operation response description. */ description?: string; /** * Collection of operation response headers. */ headers?: ParameterContractResponse[]; /** * Collection of operation response representations. */ representations?: RepresentationContractResponse[]; /** * Operation response HTTP status code. */ statusCode: number; } /** * Sampling settings for Diagnostic. */ export interface SamplingSettingsResponse { /** * Rate of sampling for fixed-rate sampling. */ percentage?: number; /** * Sampling type. */ samplingType?: string; } /** * Subscription key parameter names details. */ export interface SubscriptionKeyParameterNamesContractResponse { /** * Subscription key header name. */ header?: string; /** * Subscription key query string parameter name. */ query?: string; } /** * Metadata pertaining to creation and last modification of the resource. */ export interface SystemDataResponse { /** * The timestamp of resource creation (UTC). */ createdAt?: string; /** * The identity that created the resource. */ createdBy?: string; /** * The type of identity that created the resource. */ createdByType?: string; /** * The timestamp of resource last modification (UTC) */ lastModifiedAt?: string; /** * The identity that last modified the resource. */ lastModifiedBy?: string; /** * The type of identity that last modified the resource. */ lastModifiedByType?: string; } /** * OAuth acquire token request body parameter (www-url-form-encoded). */ export interface TokenBodyParameterContractResponse { /** * body parameter name. */ name: string; /** * body parameter value. */ value: string; } /** * User identity details. */ export interface UserIdentityContractResponse { /** * Identifier value within provider. */ id?: string; /** * Identity provider name. */ provider?: string; } export interface UserIdentityPropertiesResponse { /** * The client id of user assigned identity. */ clientId?: string; /** * The principal id of user assigned identity. */ principalId?: 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; } /** * Wiki documentation details. */ export interface WikiDocumentationContractResponse { /** * Documentation Identifier */ documentationId?: string; } /** * Properties of server X509Names. */ export interface X509CertificateNameResponse { /** * Thumbprint for the Issuer of the Certificate. */ issuerCertificateThumbprint?: string; /** * Common Name of the Certificate. */ name?: string; }