Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

Version 1 Current »

This is a rough document, the process will be streamlined in a future release when we move private kong to Kubernetes. As of now, these APIs need to be added for private kong under the private API list. These API’s and the roles / deployment files will be made available on in a future release.

private_ml_core_prefix: /private/mlcore
private_ml_project_prefix: /private/mlprojects
private_ml_survey_prefix: /private/mlsurvey

ml_survey_private_url: "http://{{private_ingressgateway_ip}}/ml-survey"
ml_core_private_url:  "http://{{private_ingressgateway_ip}}/ml-core"
ml_project_private_url: "http://{{private_ingressgateway_ip}}/ml-projects"

  - name: EntitiesUpload
    uris: "{{ private_ml_survey_prefix }}/api/v1/entities/bulkCreate"
    upstream_url: "{{ ml_survey_private_url }}/v1/entities/bulkCreate"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'registryUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: EntitiesUpdate
    uris: "{{ private_ml_survey_prefix }}/api/v1/entities/bulkUpdate"
    upstream_url: "{{ ml_survey_private_url }}/v1/entities/bulkUpdate"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'registryUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: EntitiesMapping
    uris: "{{ private_ml_survey_prefix }}/api/v1/entities/mappingUpload"
    upstream_url: "{{ ml_survey_private_url }}/v1/entities/mappingUpload"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'registryUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: UploadUserRoles
    uris: "{{ private_ml_survey_prefix }}/api/v1/userRoles/bulkCreate"
    upstream_url: "{{ ml_survey_private_url }}/v1/userRoles/bulkCreate"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'mlApp'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: FetchUserRoles
    uris: "{{ private_ml_survey_prefix }}/api/v1/userRoles/list"
    upstream_url: "{{ ml_survey_private_url }}/v1/userRoles/list"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'mlApp'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: RateObservation
    uris: "{{ private_ml_survey_prefix }}/api/v1/observationSubmissions/rate"
    upstream_url: "{{ ml_survey_private_url }}/v1/observationSubmissions/rate"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'observationUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: GenerateObservationLink
    uris: "{{ private_ml_survey_prefix }}/api/v1/solutions/getObservationSolutionLink"
    upstream_url: "{{ ml_survey_private_url }}/v1/solutions/getObservationSolutionLink"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsAccess'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: CreateChildSurveySolution
    uris: "{{ private_ml_survey_prefix }}/api/v1/surveys/importSurveryTemplateToSolution"
    upstream_url: "{{ ml_survey_private_url }}/v1/surveys/importSurveryTemplateToSolution"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsAccess'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: GenerateSurveyLink
    uris: "{{ private_ml_survey_prefix }}/api/v1/surveys/getLink"
    upstream_url: "{{ ml_survey_private_url }}/v1/surveys/getLink"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsAccess'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: UpdateQuestions
    uris: "{{ private_ml_survey_prefix }}/api/v1/questions/bulkUpdate"
    upstream_url: "{{ ml_survey_private_url }}/v1/questions/bulkUpdate"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: UploadQuestions
    uris: "{{ private_ml_survey_prefix }}/api/v1/questions/bulkCreate"
    upstream_url: "{{ ml_survey_private_url }}/v1/questions/bulkCreate"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: MapProgramToObservationSolution
    uris: "{{ private_ml_survey_prefix }}/api/v1/solutions/importFromSolution”
    upstream_url: "{{ ml_survey_private_url }}/v1/solutions/importFromSolution"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'programsUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: MapProgramToSurveySolution
    uris: "{{ private_ml_survey_prefix }}/api/v1/surveys/mapSurverySolutionToProgram”
    upstream_url: "{{ ml_survey_private_url }}/v1/surveys/mapSurverySolutionToProgram"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'programsUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: FetchUserExtension
    uris: "{{ private_ml_survey_prefix }}/api/v1/userExtension/getProfile"
    upstream_url: "{{ ml_survey_private_url }}/v1/userExtension/getProfile"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'useraccess'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: CreateProgram
    uris: "{{ private_ml_core_prefix }}/api/v1/programs/create"
    upstream_url: "{{ ml_core_private_url }}/v1/programs/create"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'programsAccess'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: FetchEntityType
    uris: "{{ private_ml_survey_prefix }}/api/v1/entityTypes/list"
    upstream_url: "{{ ml_survey_private_url }}/v1/entityTypes/list"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'mlApp'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: UpdateSolution
    uris: "{{ private_ml_core_prefix }}/api/v1/solutions/update"
    upstream_url: "{{ ml_core_private_url }}/v1/solutions/update"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: UpdateSolutionAddRoles
    uris: "{{ private_ml_core_prefix }}/api/v1/solutions/addRolesInScope"
    upstream_url: "{{ ml_core_private_url }}/v1/solutions/addRolesInScope"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: UpdateSolutionAddEntities
    uris: "{{ private_ml_core_prefix }}/api/v1/solutions/addEntitiesInScope"
    upstream_url: "{{ ml_core_private_url }}/v1/solutions/addEntitiesInScope"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: UpdateSolutionRemoveRoles
    uris: "{{ private_ml_core_prefix }}/api/v1/solutions/removeRolesInScope"
    upstream_url: "{{ ml_core_private_url }}/v1/solutions/removeRolesInScope"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: UpdateSolutionRemoveEntities
    uris: "{{ private_ml_core_prefix }}/api/v1/solutions/removeEntitiesInScope"
    upstream_url: "{{ ml_core_private_url }}/v1/solutions/removeEntitiesInScope"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: UpdateProgram
    uris: "{{ private_ml_core_prefix }}/api/v1/programs/update"
    upstream_url: "{{ ml_core_private_url }}/v1/programs/update"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'programsUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: UpdateProgramAddRoles
    uris: "{{ private_ml_core_prefix }}/api/v1/programs/addRolesInScope"
    upstream_url: "{{ ml_core_private_url }}/v1/programs/addRolesInScope"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'programsUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: UpdateProgramAddEntities
    uris: "{{ private_ml_core_prefix }}/api/v1/programs/addEntitiesInScope"
    upstream_url: "{{ ml_core_private_url }}/v1/programs/addEntitiesInScope"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'programsUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: UpdateProgramRemoveRoles
    uris: "{{ private_ml_core_prefix }}/api/v1/programs/removeRolesInScope"
    upstream_url: "{{ ml_core_private_url }}/v1/programs/removeRolesInScope"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'programsUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: UpdateProgramRemoveEntities
    uris: "{{ private_ml_core_prefix }}/api/v1/programs/removeEntitiesInScope"
    upstream_url: "{{ ml_core_private_url }}/v1/programs/removeEntitiesInScope"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'programsUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: ProgramSearch
    uris: "{{ private_ml_core_prefix }}/api/v1/programs/list"
    upstream_url: "{{ ml_core_private_url }}/v1/programs/list"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'programsAccess'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: FetchRelatedEntities
    uris: "{{ private_ml_survey_prefix }}/api/v1/entities/relatedEntities"
    upstream_url: "{{ ml_survey_private_url }}/v1/entities/relatedEntities"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'registryAccess'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: FetchQuestionList
    uris: "{{ private_ml_survey_prefix }}/api/v1/solutions/questionList"
    upstream_url: "{{ ml_survey_private_url }}/v1/solutions/questionList"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsAccess'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: FetchEntitiesList
    uris: "{{ private_ml_core_prefix }}/api/v1/entities/listByEntityType"
    upstream_url: "{{ ml_core_private_url }}/v1/entities/listByEntityType"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'registryAccess'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: SearchForSolutions
    uris: "{{ private_ml_core_prefix }}/api/v1/solutions/list"
    upstream_url: "{{ ml_core_private_url }}/v1/solutions/list"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsAccess'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: FetchCriteriaDetails
    uris: "{{ private_ml_survey_prefix }}/api/v1/solutionDetails/criteria"
    upstream_url: "{{ ml_survey_private_url }}/v1/solutionDetails/criteria"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsAccess'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: FetchSolutionDocument
    uris: "{{ private_ml_core_prefix }}/api/v1/solutions/details"
    upstream_url: "{{ ml_core_private_url }}/v1/solutions/details"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsAccess'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: CriteriaUpload
    uris: "{{ private_ml_survey_prefix }}/api/v1/criteria/upload"
    upstream_url: "{{ ml_survey_private_url }}/v1/criteria/upload"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: FrameworkUpload
    uris: "{{ private_ml_survey_prefix }}/api/v1/frameworks/create"
    upstream_url: "{{ ml_survey_private_url }}/v1/frameworks/create"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'frameworkUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: UploadThemesToFramewok
    uris: "{{ private_ml_survey_prefix }}/api/v1/frameworks/uploadThemes/"
    upstream_url: "{{ ml_survey_private_url }}/v1/frameworks/uploadThemes"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'frameworkUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: CreateSolutionFromFramework
    uris: "{{ private_ml_survey_prefix }}/api/v1/observations/importFromFramework"
    upstream_url: "{{ ml_survey_private_url }}/v1/observations/importFromFramework"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'observationAccess'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: UploadCriteriaRubricsForSolution
    uris: "{{ private_ml_survey_prefix }}/api/v1/solutions/uploadCriteriaRubricExpressions"
    upstream_url: "{{ ml_survey_private_url }}/v1/solutions/uploadCriteriaRubricExpressions"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsAccess'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: UploadThemeRubricToSolution
    uris: "{{ private_ml_survey_prefix }}/api/v1/solutions/uploadThemesRubricExpressions"
    upstream_url: "{{ ml_survey_private_url }}/v1/solutions/uploadThemesRubricExpressions"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsAccess'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: CreateSurveySolution
    uris: "{{ private_ml_survey_prefix }}/api/v1/surveys/createSolutionTemplate"
    upstream_url: "{{ ml_survey_private_url }}/v1/surveys/createSolutionTemplate"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'surveyAccess'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: ProjectsUpload
    uris: "{{ private_ml_project_prefix }}/api/v1/project/templates/bulkCreate"
    upstream_url: "{{ ml_project_private_url }}/v1/project/templates/bulkCreate"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'projectUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: ProjectsUpdate
    uris: "{{ private_ml_project_prefix }}/api/v1/project/templates/bulkUpdate"
    upstream_url: "{{ ml_project_private_url }}/v1/project/templates/bulkUpdate"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'projectUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: TasksUpload
    uris: "{{ private_ml_project_prefix }}/api/v1/project/templateTasks/bulkCreate"
    upstream_url: "{{ ml_project_private_url }}/v1/project/templateTasks/bulkCreate"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'projectUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: TasksUpdate
    uris: "{{ private_ml_project_prefix }}/api/v1/project/templateTasks/bulkUpdate"
    upstream_url: "{{ ml_project_private_url }}/v1/project/templateTasks/bulkUpdate"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'projectUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: SolutionCreationForProjects
    uris: "{{ private_ml_project_prefix }}/api/v1/solutions/create"
    upstream_url: "{{ ml_project_private_url }}/v1/solutions/create"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: MapSolutionToProject
    uris: "{{ private_ml_project_prefix }}/api/v1/project/templates/importProjectTemplate"
    upstream_url: "{{ ml_project_private_url }}/v1/project/templates/importProjectTemplate"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsUpdate'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: SearchForCreatedProjects
    uris: "{{ private_ml_project_prefix }}/api/v1/library/categories/projects"
    upstream_url: "{{ ml_project_private_url }}/v1/library/categories/projects"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'solutionsAccess'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  - name: RolesUpdate
    uris: "{{ private_ml_survey_prefix }}/api/v1/userRoles/bulkUpdate"
    upstream_url: "{{ ml_survey_private_url }}/v1/userRoles/bulkUpdate"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'mlApp'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"    

  - name: ReadUserDetails
    uris: "{{ private_ml_project_prefix }}/api/user/v1/read"
    upstream_url: "{{ ml_project_private_url }}/user/v1/read"
    strip_uri: true
    plugins:
    - name: jwt
    - name: cors
    - "{{ statsd_pulgin }}"
    - name: acl
      config.whitelist:
        - 'mlApp'
    - name: rate-limiting
      config.policy: local
      config.hour: "{{ medium_rate_limit_per_hour }}"
      config.limit_by: credential
    - name: request-size-limiting
      config.allowed_payload_size: "{{ medium_request_size_limit }}"

  • No labels