Skip to content

feat(enterprise): add resource github_enterprise_network_configuration #82

@vmvarela

Description

@vmvarela

Description

Add full CRUD resource for enterprise network configurations. Network configurations manage private networking settings (e.g., Azure private networks) for GitHub-hosted runners within an enterprise.

go-github v84 API

func (s *EnterpriseService) ListEnterpriseNetworkConfigurations(ctx context.Context, enterprise string, opts *ListOptions) (*NetworkConfigurations, *Response, error)
// GET /enterprises/{enterprise}/network-configurations

func (s *EnterpriseService) CreateEnterpriseNetworkConfiguration(ctx context.Context, enterprise string, createReq NetworkConfigurationRequest) (*NetworkConfiguration, *Response, error)
// POST /enterprises/{enterprise}/network-configurations

func (s *EnterpriseService) GetEnterpriseNetworkConfiguration(ctx context.Context, enterprise, networkID string) (*NetworkConfiguration, *Response, error)
// GET /enterprises/{enterprise}/network-configurations/{network_configuration_id}

func (s *EnterpriseService) UpdateEnterpriseNetworkConfiguration(ctx context.Context, enterprise, networkID string, updateReq NetworkConfigurationRequest) (*NetworkConfiguration, *Response, error)
// PATCH /enterprises/{enterprise}/network-configurations/{network_configuration_id}

func (s *EnterpriseService) DeleteEnterpriseNetworkConfiguration(ctx context.Context, enterprise, networkID string) (*Response, error)
// DELETE /enterprises/{enterprise}/network-configurations/{network_configuration_id}

func (s *EnterpriseService) GetEnterpriseNetworkSettingsResource(ctx context.Context, enterprise, networkID string) (*NetworkSettingsResource, *Response, error)
// GET /enterprises/{enterprise}/network-configurations/{network_configuration_id}/network-settings-resource

Acceptance Criteria

  • Resource github_enterprise_network_configuration with full CRUD
  • Schema: enterprise_slug, name, compute_service (e.g., actions), network_settings_ids
  • Data source github_enterprise_network_configurations to list all configurations
  • Import via enterprise_slug:network_configuration_id
  • Registered in provider.go
  • Docs

Notes

  • This API is used with GitHub-hosted runners private networking (Azure VNET integration)
  • Requires enterprise to have private networking enabled

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority:lowNice to have, do when possiblesize:lLarge — 1 to 2 daystype:featureNew functionality

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions