This pull request introduces several significant changes, including the addition of a new resource for managing environment groups, updates to documentation, and enhancements to UUID handling. Here are the most important changes:
New Resource Addition:
Added a new resource for managing environment groups in the Power Platform, including the corresponding client, tests, and example usage. (internal/powerplatform/services/environment_groups/api_environment_group.go, internal/powerplatform/provider.go, internal/powerplatform/provider_test.go, examples/resources/powerplatform_environment_group/resource.tf, docs/resources/environment_group.md) [1][2][3][4][5][6][7]
UUID Handling Enhancements:
Added new functions and types for handling UUIDs, including NewUUIDNull, NewUUIDUnknown, NewUUIDValue, and NewUUIDPointerValue. (internal/powerplatform/customtypes/uuid.go, internal/powerplatform/customtypes/uuid_type.go, internal/powerplatform/customtypes/uuid_value.go) [1][2][3]
Documentation Updates:
Updated the documentation to include the new environment group resource. (docs/resources/environment_group.md)
Configuration and Testing:
Modified .vscode/launch.json to include a pre-launch task and removed an outdated debug configuration. (.vscode/launch.json)
Added acceptance and unit tests for the environment group resource. (internal/powerplatform/resource_environment_group_test.go)
Dependency Management:
Updated go.mod to ensure the github.com/hashicorp/go-uuid dependency is no longer marked as indirect. (go.mod)
These changes collectively enhance the functionality and maintainability of the codebase by introducing new resources, improving UUID handling, updating documentation, and refining configurations and dependencies.
This pull request introduces several significant changes across multiple files, primarily focused on adding new features, improving existing functionality, and ensuring code compliance with licensing requirements. The most important changes include the addition of new resources and providers in Terraform configurations, the introduction of new UUID types and helper functions, and updates to the tenant settings API.
This pull request introduces several significant changes, including the addition of a new resource for managing environment groups, updates to documentation, and enhancements to UUID handling. Here are the most important changes:
New Resource Addition:
internal/powerplatform/services/environment_groups/api_environment_group.go
,internal/powerplatform/provider.go
,internal/powerplatform/provider_test.go
,examples/resources/powerplatform_environment_group/resource.tf
,docs/resources/environment_group.md
) [1] [2] [3] [4] [5] [6] [7]UUID Handling Enhancements:
NewUUIDNull
,NewUUIDUnknown
,NewUUIDValue
, andNewUUIDPointerValue
. (internal/powerplatform/customtypes/uuid.go
,internal/powerplatform/customtypes/uuid_type.go
,internal/powerplatform/customtypes/uuid_value.go
) [1] [2] [3]Documentation Updates:
docs/resources/environment_group.md
)Configuration and Testing:
.vscode/launch.json
to include a pre-launch task and removed an outdated debug configuration. (.vscode/launch.json
)internal/powerplatform/resource_environment_group_test.go
)Dependency Management:
go.mod
to ensure thegithub.com/hashicorp/go-uuid
dependency is no longer marked as indirect. (go.mod
)These changes collectively enhance the functionality and maintainability of the codebase by introducing new resources, improving UUID handling, updating documentation, and refining configurations and dependencies. This pull request introduces several significant changes across multiple files, primarily focused on adding new features, improving existing functionality, and ensuring code compliance with licensing requirements. The most important changes include the addition of new resources and providers in Terraform configurations, the introduction of new UUID types and helper functions, and updates to the tenant settings API.
Terraform Configuration Updates:
examples/resources/powerplatform_environment_group/resource.tf
: Addedazuread
provider and new resources forazuread_group
andpowerplatform_tenant_settings
. This enables routing configurations and security group assignments for environments.New UUID Types and Helpers:
internal/powerplatform/customtypes/uuid.go
: Introduced new UUID-related functions to handle different UUID states (Null
,Unknown
,Value
,PointerValue
).internal/powerplatform/customtypes/uuid_type.go
: AddedUUIDType
struct and methods to define custom UUID type behavior, including equality checks and value conversions.internal/powerplatform/customtypes/uuid_value.go
: ImplementedUUIDValue
struct with validation and semantic equality checks for UUIDs.internal/powerplatform/helpers/constants.go
: Added a constantZERO_UUID
for use in UUID-related operations.Tenant Settings API Enhancements:
internal/powerplatform/services/tenant_settings/api_tenant_settings.go
: Added methods for retrieving tenant information and updating tenant settings with corrections for specific fields. Introduced a filtering function to handle configuration-specific properties. [1] [2] [3]Licensing and Miscellaneous Updates:
internal/powerplatform/customtypes/uuid.go
internal/powerplatform/customtypes/uuid_type.go
internal/powerplatform/customtypes/uuid_value.go
internal/powerplatform/helpers/constants.go
internal/powerplatform/modifiers/restore_original_value_modifier.go
These changes enhance the functionality and maintainability of the codebase, particularly in handling UUIDs and tenant settings configurations.