MICROSOFT.APICENTER

ApiDefinitions_CreateOrUpdate

valid {
    input.Body.properties.title == STRING
    input.Body.properties.description == STRING
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.ReqMap.versionName == STRING
    input.ReqMap.definitionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApiDefinitions_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.ReqMap.versionName == STRING
    input.ReqMap.definitionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApiDefinitions_ExportSpecification

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.ReqMap.versionName == STRING
    input.ReqMap.definitionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApiDefinitions_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.ReqMap.versionName == STRING
    input.ReqMap.definitionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApiDefinitions_Head

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.ReqMap.versionName == STRING
    input.ReqMap.definitionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApiDefinitions_ImportSpecification

enum_ApiSpecImportSourceFormat := [ "inline", "link" ]

valid {
    input.Body.value == STRING
    input.Body.format == enum_ApiSpecImportSourceFormat[_]
    input.Body.specification.name == STRING
    input.Body.specification.version == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.ReqMap.versionName == STRING
    input.ReqMap.definitionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApiDefinitions_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.ReqMap.versionName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApiVersions_CreateOrUpdate

enum_LifecycleStage := [ "design", "development", "testing", "preview", "production", "deprecated", "retired" ]

valid {
    input.Body.properties.title == STRING
    input.Body.properties.lifecycleStage == enum_LifecycleStage[_]
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.ReqMap.versionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApiVersions_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.ReqMap.versionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApiVersions_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.ReqMap.versionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApiVersions_Head

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.ReqMap.versionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ApiVersions_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Apis_CreateOrUpdate

enum_ApiKind := [ "rest", "graphql", "grpc", "soap", "webhook", "websocket" ]

valid {
    input.Body.properties.title == STRING
    input.Body.properties.kind == enum_ApiKind[_]
    input.Body.properties.description == STRING
    input.Body.properties.summary == STRING
    input.Body.properties.termsOfService.url == STRING
    input.Body.properties.externalDocumentation[_].title == STRING
    input.Body.properties.externalDocumentation[_].description == STRING
    input.Body.properties.externalDocumentation[_].url == STRING
    input.Body.properties.contacts[_].name == STRING
    input.Body.properties.contacts[_].url == STRING
    input.Body.properties.contacts[_].email == STRING
    input.Body.properties.license.name == STRING
    input.Body.properties.license.url == STRING
    input.Body.properties.license.identifier == STRING
    input.Body.properties.customProperties.STRING == STRING
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Apis_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Apis_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Apis_Head

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Apis_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Deployments_CreateOrUpdate

enum_DeploymentState := [ "active", "inactive" ]

valid {
    input.Body.properties.title == STRING
    input.Body.properties.description == STRING
    input.Body.properties.environmentId == STRING
    input.Body.properties.definitionId == STRING
    input.Body.properties.state == enum_DeploymentState[_]
    input.Body.properties.server.runtimeUri[_] == STRING
    input.Body.properties.customProperties.STRING == STRING
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.ReqMap.deploymentName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Deployments_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.ReqMap.deploymentName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Deployments_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.ReqMap.deploymentName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Deployments_Head

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.ReqMap.deploymentName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Deployments_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.apiName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Environments_CreateOrUpdate

enum_EnvironmentKind := [ "development", "testing", "staging", "production" ]
enum_EnvironmentServerType := [ "Azure API Management", "Azure compute service", "Apigee API Management", "AWS API Gateway", "Kong API Gateway", "Kubernetes", "MuleSoft API Management" ]

valid {
    input.Body.properties.title == STRING
    input.Body.properties.description == STRING
    input.Body.properties.kind == enum_EnvironmentKind[_]
    input.Body.properties.server.type == enum_EnvironmentServerType[_]
    input.Body.properties.server.managementPortalUri[_] == STRING
    input.Body.properties.onboarding.instructions == STRING
    input.Body.properties.onboarding.developerPortalUri[_] == STRING
    input.Body.properties.customProperties.STRING == STRING
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.environmentName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Environments_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.environmentName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Environments_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.environmentName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Environments_Head

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.ReqMap.environmentName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Environments_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MetadataSchemas_CreateOrUpdate

enum_MetadataAssignmentEntity := [ "api", "environment", "deployment" ]

valid {
    input.Body.properties.schema == STRING
    input.Body.properties.assignedTo[_].entity == enum_MetadataAssignmentEntity[_]
    input.Body.properties.assignedTo[_].required == BOOLEAN
    input.Body.properties.assignedTo[_].deprecated == BOOLEAN
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.metadataSchemaName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MetadataSchemas_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.metadataSchemaName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MetadataSchemas_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.metadataSchemaName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MetadataSchemas_Head

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.metadataSchemaName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MetadataSchemas_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Operations_List

valid {
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

Services_CreateOrUpdate

enum_ManagedServiceIdentityType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned" ]

valid {
    input.Body.properties == {}
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Services_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Services_ExportMetadataSchema

enum_MetadataAssignmentEntity := [ "api", "environment", "deployment" ]

valid {
    input.Body.assignedTo == enum_MetadataAssignmentEntity[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Services_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Services_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Services_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Services_Update

enum_ManagedServiceIdentityType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned" ]

valid {
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Workspaces_CreateOrUpdate

valid {
    input.Body.properties.title == STRING
    input.Body.properties.description == STRING
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Workspaces_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Workspaces_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Workspaces_Head

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.ReqMap.workspaceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Workspaces_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.serviceName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}