Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/orange-cloudavenue/terraform-plugin-framework-supertypes


https://github.com/orange-cloudavenue/terraform-plugin-framework-supertypes

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        



Latest release


Last commit


Stars


Issues

# terraform-plugin-framework-supertypes

This repository contains the custom types for the Terraform Plugin Framework.

*Why supertypes?*

The supertypes are custom types that are used to extend the functionality of the Terraform Plugin Framework. They are used to define the custom types that are used in the Terraform Plugin Framework.

Custom types available in the supertypes:

* `StringType` - A custom type that is used to define the string type.
* `Int64Type` - A custom type that is used to define the integer type.
* `NumberType` - A custom type that is used to define the number type.
* `BoolType` - A custom type that is used to define the boolean type.
* `Float64Type` - A custom type that is used to define the float type.
* `MapType` - A custom type that is used to define the map type.
* `ListType` - A custom type that is used to define the list type.
* `SetType` - A custom type that is used to define the set type.
* `MapNestedType` - A custom type that is used to define the nested map type.
* `ListNestedType` - A custom type that is used to define the nested list type.
* `SetNestedType` - A custom type that is used to define the nested set type.
* `MapNestedObjectValueOf` - A custom type that is used to define the nested object value of the map type. This type use golang generics to construct automatically the nested object.
* `ListNestedObjectValueOf` - A custom type that is used to define the nested object value of the list type. This type use golang generics to construct automatically the nested object.
* `SetNestedObjectValueOf` - A custom type that is used to define the nested object value of the set type. This type use golang generics to construct automatically the nested object.

Principal functions available for each custom type:

* `Get()` - A function that is used to get the value.
* `Set()` - A function that is used to set the value.
* `SetNull()` - A function that is used to set the value to null.
* `SetUnknown()` - A function that is used to set the value to unknown.
* `IsKnown()` - A function that is used to check if the value is known.

Special functions available for the `Float64Type`:

* `SetFloat32()` - A function that is used to set the `float32` value into the `float64`.
* `SetFloat64()` - A function that is used to set the `float64` value into the `float64`.
* `SetFloat32Ptr()` - A function that is used to set the `float32` pointer value into the `float64`.
* `SetFloat64Ptr()` - A function that is used to set the `float64` pointer value into the `float64`.
* `GetFloat32()` - A function that is used to get the value as a `float32`.
* `GetFloat64()` - A function that is used to get the value as a `float64`.
* `GetFloat32Ptr()` - A function that is used to get the value as a `float32` pointer.
* `GetFloat64Ptr()` - A function that is used to get the value as a `float64` pointer.

Special functions available for the `Int64Type`:

* `SetInt()` - A function that is used to set `int` into the `int64`.
* `SetInt8()` - A function that is used to set `int8` into the `int64`.
* `SetInt16()` - A function that is used to set `int16` into the `int64`.
* `SetInt32()` - A function that is used to set `int32` into the `int64`.
* `SetInt64()` - A function that is used to set `int64` into the `int64`.
* `SetIntPtr()` - A function that is used to set `int` pointer into the `int64`.
* `SetInt8Ptr()` - A function that is used to set `int8` pointer into the `int64`.
* `SetInt16Ptr()` - A function that is used to set `int16` pointer into the `int64`.
* `SetInt32Ptr()` - A function that is used to set `int32` pointer into the `int64`.
* `SetInt64Ptr()` - A function that is used to set `int64` pointer into the `int64`.
* `GetInt()` - A function that is used to get the value as an `int`.
* `GetInt8()` - A function that is used to get the value as an `int8`.
* `GetInt16()` - A function that is used to get the value as an `int16`.
* `GetInt32()` - A function that is used to get the value as an `int32`.
* `GetInt64()` - A function that is used to get the value as an `int64`.
* `GetIntPtr()` - A function that is used to get the value as an `int` pointer.
* `GetInt8Ptr()` - A function that is used to get the value as an `int8` pointer.
* `GetInt16Ptr()` - A function that is used to get the value as an `int16` pointer.
* `GetInt32Ptr()` - A function that is used to get the value as an `int32` pointer.
* `GetInt64Ptr()` - A function that is used to get the value as an `int64` pointer.

## Installation

For installing the supertypes, you can use the `go get` command:

```sh
go get github.com/orange-cloudavenue/terraform-plugin-framework-supertypes@latest
```

## Documentation

documentation is in progress.