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

feat: Introduce public_ip module #80

Merged
merged 26 commits into from
Aug 8, 2024
Merged

Conversation

acelebanski
Copy link
Contributor

@acelebanski acelebanski commented Jul 25, 2024

Description

This PR introduces a public_ip module for more advanced creation of Public IP Addresses and Prefixes.
It modifies other modules to accept passing PIPs created that way.
It also adds the capability to use PIPs created with the module to the examples.

These modules are adapted to work with public_ip module:

  • vmseries
  • panorama
  • loadbalancer
  • appgw
  • natgw
  • virtual_network_gateway
  • test_infrastructure

Additional enhancements introduced by this PR:

  • Capability to source Public IP Addresses from a different RG within the virtual_network_gateway module
  • Capability to create LB Frontends with Public IP Prefix within the loadbalancer module
  • Capability to create Public IP Addresses within the vmss module with the same properties as offered by the public_ip module

Motivation and Context

All other modules that may require a Public IP Address resource support simple creation of it. This module allows more advanced
creation of Public IP Addresses and Prefixes, including:

  • Sourcing Public IPs from different Resource Groups than the main resource
  • Specifying Availability Zones for Public IPs separately from the main resource
  • Specifying Domain Name Label and Idle Timeout for Public IPs
  • Allocating Public IP Addresses from an existing Public IP Prefix (e.g. Custom non-Microsoft IP Prefix)

How Has This Been Tested?

In progress

Types of changes

  • New feature (non-breaking change which adds functionality)

Checklist

  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes if appropriate.
  • All new and existing tests passed.

@acelebanski acelebanski added the enhancement New feature or request label Jul 25, 2024
@acelebanski acelebanski changed the title feat: Introduce public_ip module and refactor the examples feat: Introduce public_ip module Jul 25, 2024
@acelebanski acelebanski marked this pull request as ready for review July 29, 2024 09:25
@acelebanski acelebanski requested a review from a team as a code owner July 29, 2024 09:25
@acelebanski
Copy link
Contributor Author

acelebanski commented Jul 29, 2024

/idempotence paths="examples/common_vmseries examples/common_vmseries_and_autoscale examples/dedicated_vmseries examples/dedicated_vmseries_and_autoscale examples/gwlb_with_vmseries examples/standalone_panorama examples/standalone_vmseries"

Testing job ID: 10142143499
Job result: SUCCESS

Copy link
Contributor

@sebastianczech sebastianczech left a comment

Choose a reason for hiding this comment

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

Great work 👍

@acelebanski acelebanski merged commit 6cc5eb4 into main Aug 8, 2024
103 checks passed
@acelebanski acelebanski deleted the pip-module-introduction branch August 8, 2024 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
2 participants