Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DO NOT MERGE] Introducing Per-Site Waf Policy Support #6907

Closed
wants to merge 22 commits into from

Conversation

venkatsvpr
Copy link
Contributor

Latest improvements:

MSFT employees can try out our new experience at OpenAPI Hub - one location for using our validation tools and finding your workflow.

Contribution checklist:

  • I have reviewed the documentation for the workflow.
  • Validation tools were run on swagger spec(s) and have all been fixed in this PR.
  • The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

  • Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
  • adding/removing APIs.
  • adding/removing properties.
  • adding/removing API-version.
  • adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

  • If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
    Please follow the link to find more details on API review process.

venkatsvpr and others added 17 commits April 1, 2019 14:20
…limit as 1, upper limit is based on the Skw and AppGw Version so we shouldnt enforce the upper limit
…P. Swagger only have to protect against potential negative values
Pulling latest Master to my repo
* Add swagger specification for firewall policy resource

* Add the firewall policy spec to the list of files in readme.md

* Add priority to the Filter Rule in example for Rule Group Get

* Encapsulate the response body in a body property

* Suppress errors due to missing properties inhertied from base resource:

* Fix typo

* Fix Build errors

* Address review comments

* Revert capitalization of Tags and OperationId as Semantic valiation expects lower case

* Drop 201 response from examples

* Capitalize first letter of the operationId and tags values

* Add swagger changes for azure firewall in vHub

* Add a ref to the example file for Azure Firewall in vHub

* Fix validation check

* Address review comments
@AutorestCI
Copy link

AutorestCI commented Aug 8, 2019

Automation for azure-sdk-for-python

Encountered an unknown error: (azure-sdk-for-python)

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/azure_devtools/ci_tools/github_tools.py", line 33, in exception_to_github
    yield context
  File "/usr/local/lib/python3.6/dist-packages/swaggertosdk/restapi/github.py", line 170, in rest_handle_action
    return rest_pull_close(body, restapi_repo, sdk_pr_target_repo, sdkbase, sdk_tag)
  File "/usr/local/lib/python3.6/dist-packages/swaggertosdk/restapi/github.py", line 185, in rest_pull_close
    rest_pr_management(rest_pr, sdk_pr_target_repo, sdk_tag, sdk_default_base)
  File "/usr/local/lib/python3.6/dist-packages/swaggertosdk/restapi/github_handler.py", line 151, in rest_pr_management
    sdk_tag=sdk_tag
  File "/usr/local/lib/python3.6/dist-packages/swaggertosdk/SwaggerToSdkNewCLI.py", line 254, in generate_sdk_from_git_object
    with manage_git_folder(gh_token, Path(temp_dir) / Path("rest"), branched_rest_api_id, pr_number=pr_number) as restapi_git_folder, \
  File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__
    return next(self.gen)
  File "/usr/local/lib/python3.6/dist-packages/azure_devtools/ci_tools/github_tools.py", line 272, in manage_git_folder
    clone_to_path(gh_token, temp_dir, split_git_id[0], branch_or_commit=branch, pr_number=pr_number)
  File "/usr/local/lib/python3.6/dist-packages/azure_devtools/ci_tools/github_tools.py", line 212, in clone_to_path
    repo.git.checkout(branch_or_commit)
  File "/usr/local/lib/python3.6/dist-packages/git/cmd.py", line 548, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/git/cmd.py", line 1014, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/usr/local/lib/python3.6/dist-packages/git/cmd.py", line 825, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
  cmdline: git checkout 862838d5dbe0b003ebbae3820a2a2a5eb8377476
  stderr: 'fatal: reference is not a tree: 862838d5dbe0b003ebbae3820a2a2a5eb8377476'

@AutorestCI
Copy link

AutorestCI commented Aug 8, 2019

Automation for azure-sdk-for-go

Encountered an unknown error: (azure-sdk-for-go)

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/azure_devtools/ci_tools/github_tools.py", line 33, in exception_to_github
    yield context
  File "/usr/local/lib/python3.6/dist-packages/swaggertosdk/restapi/github.py", line 170, in rest_handle_action
    return rest_pull_close(body, restapi_repo, sdk_pr_target_repo, sdkbase, sdk_tag)
  File "/usr/local/lib/python3.6/dist-packages/swaggertosdk/restapi/github.py", line 185, in rest_pull_close
    rest_pr_management(rest_pr, sdk_pr_target_repo, sdk_tag, sdk_default_base)
  File "/usr/local/lib/python3.6/dist-packages/swaggertosdk/restapi/github_handler.py", line 151, in rest_pr_management
    sdk_tag=sdk_tag
  File "/usr/local/lib/python3.6/dist-packages/swaggertosdk/SwaggerToSdkNewCLI.py", line 254, in generate_sdk_from_git_object
    with manage_git_folder(gh_token, Path(temp_dir) / Path("rest"), branched_rest_api_id, pr_number=pr_number) as restapi_git_folder, \
  File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__
    return next(self.gen)
  File "/usr/local/lib/python3.6/dist-packages/azure_devtools/ci_tools/github_tools.py", line 272, in manage_git_folder
    clone_to_path(gh_token, temp_dir, split_git_id[0], branch_or_commit=branch, pr_number=pr_number)
  File "/usr/local/lib/python3.6/dist-packages/azure_devtools/ci_tools/github_tools.py", line 212, in clone_to_path
    repo.git.checkout(branch_or_commit)
  File "/usr/local/lib/python3.6/dist-packages/git/cmd.py", line 548, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/git/cmd.py", line 1014, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/usr/local/lib/python3.6/dist-packages/git/cmd.py", line 825, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
  cmdline: git checkout 862838d5dbe0b003ebbae3820a2a2a5eb8377476
  stderr: 'fatal: reference is not a tree: 862838d5dbe0b003ebbae3820a2a2a5eb8377476'

@azuresdkci
Copy link
Contributor

Can one of the admins verify this patch?

@anton-evseev
Copy link
Contributor

network-july-release has been merged, please rebase and retarget to master

@venkatsvpr venkatsvpr changed the base branch from network-july-release to master August 14, 2019 18:49
@openapi-sdkautomation
Copy link

openapi-sdkautomation bot commented Aug 14, 2019

In Testing, Please Ignore

[Logs] (Generated from af749ae, Iteration 6)

Succeeded .NET: test-repo-billy/azure-sdk-for-net [Logs] [Diff]
In-Progress Python: test-repo-billy/azure-sdk-for-python [Logs]
  • Package generation in progress.
In-Progress Java: test-repo-billy/azure-sdk-for-java [Logs]
  • Package generation in progress.
In-Progress Go: test-repo-billy/azure-sdk-for-go [Logs]
  • Package generation in progress.
In-Progress JavaScript: test-repo-billy/azure-sdk-for-js [Logs]
  • Package generation in progress.
Warning Ruby: test-repo-billy/azure-sdk-for-ruby [Logs] [Diff]
  • No packages generated.

Copy link

@vkrivopalov vkrivopalov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We also need to add firewallPolicy to ApplicationGatewayHttpListenerPropertiesFormat for the per-site case. The current cases cover per-URI scenario (routing rules) only.

},
"firewallPolicy": {
"$ref": "./network.json#/definitions/SubResource",
"description": "Reference of the FirewallPolicy resource."

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(minor) "Reference TO..."?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

@@ -1681,6 +1685,10 @@
"$ref": "./network.json#/definitions/SubResource",
"description": "Redirect configuration resource of the application gateway."
},
"firewallPolicy": {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For routing rules of 'Basic' type we should add a map of new objects.
That new object should be similar to ApplicationGatewayPathRulePropertiesFormat but only have
"paths" and "firewallPolicy". We can have multiple path prefixes with different WAF policies per a single Basic rule.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed!

@yungezz
Copy link
Member

yungezz commented Aug 28, 2019

hi @venkatsvpr @zikalino what's the status on the PR?

@venkatsvpr venkatsvpr closed this Aug 29, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DoNotMerge <valid label in PR review process> use to hold merge after approval
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants