diff --git a/CHANGELOG.md b/CHANGELOG.md index 74806e8..101c763 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ CHANGELOG ========= +## 0.1.9 - 2024-03-29 +Update to Terraform Provider [0.6.9](https://github.com/MaterializeInc/terraform-provider-materialize/releases/tag/v0.6.9). + ## 0.1.8 - 2024-03-14 Update to Terraform Provider [0.6.8](https://github.com/MaterializeInc/terraform-provider-materialize/releases/tag/v0.6.8). diff --git a/examples/docker-compose.yml b/examples/docker-compose.yml index a9e6ac9..59ae0b4 100644 --- a/examples/docker-compose.yml +++ b/examples/docker-compose.yml @@ -9,7 +9,8 @@ services: command: - '--cluster-replica-sizes={"3xsmall": {"workers": 1, "scale": 1, "credits_per_hour": "1"}, "2xsmall": {"workers": 1, "scale": 1, "credits_per_hour": "1"}}' - --bootstrap-default-cluster-replica-size=3xsmall - - --bootstrap-builtin-cluster-replica-size=3xsmall + - --bootstrap-builtin-system-cluster-replica-size=3xsmall + - --bootstrap-builtin-introspection-cluster-replica-size=3xsmall - --availability-zone=test1 - --availability-zone=test2 - --all-features @@ -29,4 +30,4 @@ services: container_name: cloud build: mocks/cloud ports: - - "3001:3001" \ No newline at end of file + - "3001:3001" diff --git a/examples/mocks/frontegg/mock_server.go b/examples/mocks/frontegg/mock_server.go index 5b0354f..4b5a63f 100644 --- a/examples/mocks/frontegg/mock_server.go +++ b/examples/mocks/frontegg/mock_server.go @@ -595,13 +595,29 @@ func listSSOConfigs(w http.ResponseWriter, r *http.Request) { mutex.Lock() configs := make([]SSOConfig, 0, len(ssoConfigs)) for _, config := range ssoConfigs { + // Ensure that Domains and Groups are not nil + if config.Domains == nil { + config.Domains = []Domain{} + } + if config.Groups == nil { + config.Groups = []GroupMapping{} + } + // Initialize RoleIds if it's nil + if config.RoleIds == nil { + config.RoleIds = []string{} + } configs = append(configs, config) } mutex.Unlock() - responseBytes, _ := json.Marshal(configs) - fmt.Printf("Response body: %s\n", string(responseBytes)) + responseBytes, err := json.Marshal(configs) + if err != nil { + fmt.Printf("Error marshaling response: %v\n", err) + sendResponse(w, http.StatusInternalServerError, "Internal server error") + return + } + fmt.Printf("Response body: %s\n", string(responseBytes)) sendResponse(w, http.StatusOK, configs) } diff --git a/provider/cmd/pulumi-resource-materialize/schema.json b/provider/cmd/pulumi-resource-materialize/schema.json index df40739..cdffcbd 100644 --- a/provider/cmd/pulumi-resource-materialize/schema.json +++ b/provider/cmd/pulumi-resource-materialize/schema.json @@ -4736,8 +4736,7 @@ "inputProperties": { "awsPrivatelink": { "$ref": "#/types/materialize:index/ConnectionPostgresAwsPrivatelink:ConnectionPostgresAwsPrivatelink", - "description": "The AWS PrivateLink configuration for the Postgres database.\n", - "willReplaceOnChanges": true + "description": "The AWS PrivateLink configuration for the Postgres database.\n" }, "comment": { "type": "string", @@ -4745,8 +4744,7 @@ }, "database": { "type": "string", - "description": "The target Postgres database.\n", - "willReplaceOnChanges": true + "description": "The target Postgres database.\n" }, "databaseName": { "type": "string", @@ -4755,8 +4753,7 @@ }, "host": { "type": "string", - "description": "The Postgres database hostname.\n", - "willReplaceOnChanges": true + "description": "The Postgres database hostname.\n" }, "name": { "type": "string", @@ -4768,13 +4765,11 @@ }, "password": { "$ref": "#/types/materialize:index/ConnectionPostgresPassword:ConnectionPostgresPassword", - "description": "The Postgres database password.\n", - "willReplaceOnChanges": true + "description": "The Postgres database password.\n" }, "port": { "type": "integer", - "description": "The Postgres database port.\n", - "willReplaceOnChanges": true + "description": "The Postgres database port.\n" }, "region": { "type": "string", @@ -4788,33 +4783,27 @@ }, "sshTunnel": { "$ref": "#/types/materialize:index/ConnectionPostgresSshTunnel:ConnectionPostgresSshTunnel", - "description": "The SSH tunnel configuration for the Postgres database.\n", - "willReplaceOnChanges": true + "description": "The SSH tunnel configuration for the Postgres database.\n" }, "sslCertificate": { "$ref": "#/types/materialize:index/ConnectionPostgresSslCertificate:ConnectionPostgresSslCertificate", - "description": "The client certificate for the Postgres database.. Can be supplied as either free text using `text` or reference to a secret object using `secret`.\n", - "willReplaceOnChanges": true + "description": "The client certificate for the Postgres database.. Can be supplied as either free text using `text` or reference to a secret object using `secret`.\n" }, "sslCertificateAuthority": { "$ref": "#/types/materialize:index/ConnectionPostgresSslCertificateAuthority:ConnectionPostgresSslCertificateAuthority", - "description": "The CA certificate for the Postgres database.. Can be supplied as either free text using `text` or reference to a secret object using `secret`.\n", - "willReplaceOnChanges": true + "description": "The CA certificate for the Postgres database.. Can be supplied as either free text using `text` or reference to a secret object using `secret`.\n" }, "sslKey": { "$ref": "#/types/materialize:index/ConnectionPostgresSslKey:ConnectionPostgresSslKey", - "description": "The client key for the Postgres database.\n", - "willReplaceOnChanges": true + "description": "The client key for the Postgres database.\n" }, "sslMode": { "type": "string", - "description": "The SSL mode for the Postgres database.\n", - "willReplaceOnChanges": true + "description": "The SSL mode for the Postgres database.\n" }, "user": { "$ref": "#/types/materialize:index/ConnectionPostgresUser:ConnectionPostgresUser", - "description": "The Postgres database username.. Can be supplied as either free text using `text` or reference to a secret object using `secret`.\n", - "willReplaceOnChanges": true + "description": "The Postgres database username.. Can be supplied as either free text using `text` or reference to a secret object using `secret`.\n" }, "validate": { "type": "boolean", @@ -4831,8 +4820,7 @@ "properties": { "awsPrivatelink": { "$ref": "#/types/materialize:index/ConnectionPostgresAwsPrivatelink:ConnectionPostgresAwsPrivatelink", - "description": "The AWS PrivateLink configuration for the Postgres database.\n", - "willReplaceOnChanges": true + "description": "The AWS PrivateLink configuration for the Postgres database.\n" }, "comment": { "type": "string", @@ -4840,8 +4828,7 @@ }, "database": { "type": "string", - "description": "The target Postgres database.\n", - "willReplaceOnChanges": true + "description": "The target Postgres database.\n" }, "databaseName": { "type": "string", @@ -4850,8 +4837,7 @@ }, "host": { "type": "string", - "description": "The Postgres database hostname.\n", - "willReplaceOnChanges": true + "description": "The Postgres database hostname.\n" }, "name": { "type": "string", @@ -4863,13 +4849,11 @@ }, "password": { "$ref": "#/types/materialize:index/ConnectionPostgresPassword:ConnectionPostgresPassword", - "description": "The Postgres database password.\n", - "willReplaceOnChanges": true + "description": "The Postgres database password.\n" }, "port": { "type": "integer", - "description": "The Postgres database port.\n", - "willReplaceOnChanges": true + "description": "The Postgres database port.\n" }, "qualifiedSqlName": { "type": "string", @@ -4887,33 +4871,27 @@ }, "sshTunnel": { "$ref": "#/types/materialize:index/ConnectionPostgresSshTunnel:ConnectionPostgresSshTunnel", - "description": "The SSH tunnel configuration for the Postgres database.\n", - "willReplaceOnChanges": true + "description": "The SSH tunnel configuration for the Postgres database.\n" }, "sslCertificate": { "$ref": "#/types/materialize:index/ConnectionPostgresSslCertificate:ConnectionPostgresSslCertificate", - "description": "The client certificate for the Postgres database.. Can be supplied as either free text using `text` or reference to a secret object using `secret`.\n", - "willReplaceOnChanges": true + "description": "The client certificate for the Postgres database.. Can be supplied as either free text using `text` or reference to a secret object using `secret`.\n" }, "sslCertificateAuthority": { "$ref": "#/types/materialize:index/ConnectionPostgresSslCertificateAuthority:ConnectionPostgresSslCertificateAuthority", - "description": "The CA certificate for the Postgres database.. Can be supplied as either free text using `text` or reference to a secret object using `secret`.\n", - "willReplaceOnChanges": true + "description": "The CA certificate for the Postgres database.. Can be supplied as either free text using `text` or reference to a secret object using `secret`.\n" }, "sslKey": { "$ref": "#/types/materialize:index/ConnectionPostgresSslKey:ConnectionPostgresSslKey", - "description": "The client key for the Postgres database.\n", - "willReplaceOnChanges": true + "description": "The client key for the Postgres database.\n" }, "sslMode": { "type": "string", - "description": "The SSL mode for the Postgres database.\n", - "willReplaceOnChanges": true + "description": "The SSL mode for the Postgres database.\n" }, "user": { "$ref": "#/types/materialize:index/ConnectionPostgresUser:ConnectionPostgresUser", - "description": "The Postgres database username.. Can be supplied as either free text using `text` or reference to a secret object using `secret`.\n", - "willReplaceOnChanges": true + "description": "The Postgres database username.. Can be supplied as either free text using `text` or reference to a secret object using `secret`.\n" }, "validate": { "type": "boolean", @@ -4973,6 +4951,10 @@ "user": { "type": "string", "description": "The user of the SSH tunnel.\n" + }, + "validate": { + "type": "boolean", + "description": "**Private Preview** If the connection should wait for validation.\n" } }, "required": [ @@ -4997,8 +4979,7 @@ }, "host": { "type": "string", - "description": "The host of the SSH tunnel.\n", - "willReplaceOnChanges": true + "description": "The host of the SSH tunnel.\n" }, "name": { "type": "string", @@ -5010,8 +4991,7 @@ }, "port": { "type": "integer", - "description": "The port of the SSH tunnel.\n", - "willReplaceOnChanges": true + "description": "The port of the SSH tunnel.\n" }, "region": { "type": "string", @@ -5025,8 +5005,11 @@ }, "user": { "type": "string", - "description": "The user of the SSH tunnel.\n", - "willReplaceOnChanges": true + "description": "The user of the SSH tunnel.\n" + }, + "validate": { + "type": "boolean", + "description": "**Private Preview** If the connection should wait for validation.\n" } }, "requiredInputs": [ @@ -5048,8 +5031,7 @@ }, "host": { "type": "string", - "description": "The host of the SSH tunnel.\n", - "willReplaceOnChanges": true + "description": "The host of the SSH tunnel.\n" }, "name": { "type": "string", @@ -5061,8 +5043,7 @@ }, "port": { "type": "integer", - "description": "The port of the SSH tunnel.\n", - "willReplaceOnChanges": true + "description": "The port of the SSH tunnel.\n" }, "publicKey1": { "type": "string", @@ -5088,8 +5069,11 @@ }, "user": { "type": "string", - "description": "The user of the SSH tunnel.\n", - "willReplaceOnChanges": true + "description": "The user of the SSH tunnel.\n" + }, + "validate": { + "type": "boolean", + "description": "**Private Preview** If the connection should wait for validation.\n" } }, "type": "object" @@ -7411,6 +7395,81 @@ "type": "object" } }, + "materialize:index/roleParameter:RoleParameter": { + "description": "Manages a system parameter in Materialize.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as materialize from \"@pulumi/materialize\";\n\n// ALTER ROLE some_role SET transaction_isolation = 'strict serializable';\nconst exampleRole = new materialize.Role(\"exampleRole\", {});\nconst exampleRoleParameter = new materialize.RoleParameter(\"exampleRoleParameter\", {\n roleName: exampleRole.name,\n variableName: \"transaction_isolation\",\n variableValue: \"strict serializable\",\n});\n```\n```python\nimport pulumi\nimport pulumi_materialize as materialize\n\n# ALTER ROLE some_role SET transaction_isolation = 'strict serializable';\nexample_role = materialize.Role(\"exampleRole\")\nexample_role_parameter = materialize.RoleParameter(\"exampleRoleParameter\",\n role_name=example_role.name,\n variable_name=\"transaction_isolation\",\n variable_value=\"strict serializable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Materialize = Pulumi.Materialize;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ALTER ROLE some_role SET transaction_isolation = 'strict serializable';\n var exampleRole = new Materialize.Role(\"exampleRole\");\n\n var exampleRoleParameter = new Materialize.RoleParameter(\"exampleRoleParameter\", new()\n {\n RoleName = exampleRole.Name,\n VariableName = \"transaction_isolation\",\n VariableValue = \"strict serializable\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-materialize/sdk/go/materialize\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRole, err := materialize.NewRole(ctx, \"exampleRole\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = materialize.NewRoleParameter(ctx, \"exampleRoleParameter\", \u0026materialize.RoleParameterArgs{\n\t\t\tRoleName: exampleRole.Name,\n\t\t\tVariableName: pulumi.String(\"transaction_isolation\"),\n\t\t\tVariableValue: pulumi.String(\"strict serializable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.materialize.Role;\nimport com.pulumi.materialize.RoleParameter;\nimport com.pulumi.materialize.RoleParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleRole = new Role(\"exampleRole\");\n\n var exampleRoleParameter = new RoleParameter(\"exampleRoleParameter\", RoleParameterArgs.builder() \n .roleName(exampleRole.name())\n .variableName(\"transaction_isolation\")\n .variableValue(\"strict serializable\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # ALTER ROLE some_role SET transaction_isolation = 'strict serializable';\n exampleRole:\n type: materialize:Role\n exampleRoleParameter:\n type: materialize:RoleParameter\n properties:\n roleName: ${exampleRole.name}\n variableName: transaction_isolation\n variableValue: strict serializable\n```\n{{% /example %}}\n{{% /examples %}}", + "properties": { + "region": { + "type": "string", + "description": "The region to use for the resource connection. If not set, the default region is used.\n" + }, + "roleName": { + "type": "string", + "description": "The name of the role to grant privilege to.\n" + }, + "variableName": { + "type": "string", + "description": "The name of the session variable to modify.\n" + }, + "variableValue": { + "type": "string", + "description": "The value to assign to the session variable.\n" + } + }, + "required": [ + "roleName", + "variableName", + "variableValue" + ], + "inputProperties": { + "region": { + "type": "string", + "description": "The region to use for the resource connection. If not set, the default region is used.\n", + "willReplaceOnChanges": true + }, + "roleName": { + "type": "string", + "description": "The name of the role to grant privilege to.\n", + "willReplaceOnChanges": true + }, + "variableName": { + "type": "string", + "description": "The name of the session variable to modify.\n" + }, + "variableValue": { + "type": "string", + "description": "The value to assign to the session variable.\n" + } + }, + "requiredInputs": [ + "roleName", + "variableName", + "variableValue" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering RoleParameter resources.\n", + "properties": { + "region": { + "type": "string", + "description": "The region to use for the resource connection. If not set, the default region is used.\n", + "willReplaceOnChanges": true + }, + "roleName": { + "type": "string", + "description": "The name of the role to grant privilege to.\n", + "willReplaceOnChanges": true + }, + "variableName": { + "type": "string", + "description": "The name of the session variable to modify.\n" + }, + "variableValue": { + "type": "string", + "description": "The value to assign to the session variable.\n" + } + }, + "type": "object" + } + }, "materialize:index/sCIM2Configuration:SCIM2Configuration": { "description": "The SCIM 2.0 configurations resource allows you to create, read, and delete the SCIM 2.0 configurations.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as materialize from \"@pulumi/materialize\";\n\n// Create a SCIM config\nconst exampleScimConfig = new materialize.SCIM2Configuration(\"exampleScimConfig\", {\n connectionName: \"example_connection\",\n source: \"okta\",\n});\n```\n```python\nimport pulumi\nimport pulumi_materialize as materialize\n\n# Create a SCIM config\nexample_scim_config = materialize.SCIM2Configuration(\"exampleScimConfig\",\n connection_name=\"example_connection\",\n source=\"okta\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Materialize = Pulumi.Materialize;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a SCIM config\n var exampleScimConfig = new Materialize.SCIM2Configuration(\"exampleScimConfig\", new()\n {\n ConnectionName = \"example_connection\",\n Source = \"okta\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-materialize/sdk/go/materialize\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := materialize.NewSCIM2Configuration(ctx, \"exampleScimConfig\", \u0026materialize.SCIM2ConfigurationArgs{\n\t\t\tConnectionName: pulumi.String(\"example_connection\"),\n\t\t\tSource: pulumi.String(\"okta\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.materialize.SCIM2Configuration;\nimport com.pulumi.materialize.SCIM2ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleScimConfig = new SCIM2Configuration(\"exampleScimConfig\", SCIM2ConfigurationArgs.builder() \n .connectionName(\"example_connection\")\n .source(\"okta\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a SCIM config\n exampleScimConfig:\n type: materialize:SCIM2Configuration\n properties:\n connectionName: example_connection\n source: okta\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nSCIM Configuration ID can be found using the `materialize_scim_configs` data source\n\n```sh\n $ pulumi import materialize:index/sCIM2Configuration:SCIM2Configuration example_scim_config \u003cscim_config_id\u003e\n```\n\n ", "properties": { diff --git a/provider/go.mod b/provider/go.mod index 8e93828..379d458 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -5,7 +5,7 @@ go 1.20 replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230912190043-e6d96b3b8f7e require ( - github.com/MaterializeInc/terraform-provider-materialize v0.6.8 + github.com/MaterializeInc/terraform-provider-materialize v0.6.9 github.com/pulumi/pulumi-terraform-bridge/v3 v3.59.0 github.com/pulumi/pulumi/sdk/v3 v3.81.0 ) diff --git a/provider/go.sum b/provider/go.sum index f8a4bb9..b962b41 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -715,8 +715,8 @@ github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYr github.com/Masterminds/sprig/v3 v3.2.1/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk= github.com/Masterminds/sprig/v3 v3.2.3 h1:eL2fZNezLomi0uOLqjQoN6BfsDD+fyLtgbJMAj9n6YA= github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBaRMhvYXJNkGuM= -github.com/MaterializeInc/terraform-provider-materialize v0.6.8 h1:peU7Cfym8Dw7zft+LQL81y7CurwfqNpOdp/yW0ghu00= -github.com/MaterializeInc/terraform-provider-materialize v0.6.8/go.mod h1:OiKVThIYxLU5nQFzABdOEJOaQ7Q9wZAOnsJX4UTRSq0= +github.com/MaterializeInc/terraform-provider-materialize v0.6.9 h1:+1uVe+NiRZs8flDcj0fAWYHCk3GrzagickjFn3cOSV0= +github.com/MaterializeInc/terraform-provider-materialize v0.6.9/go.mod h1:OiKVThIYxLU5nQFzABdOEJOaQ7Q9wZAOnsJX4UTRSq0= github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= diff --git a/provider/resources.go b/provider/resources.go index 66d9ff9..8f45ddd 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -111,6 +111,7 @@ func Provider() tfbridge.ProviderInfo { "materialize_materialized_view_grant": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "GrantMaterializedView")}, "materialize_role": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "Role")}, "materialize_role_grant": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "GrantRole")}, + "materialize_role_parameter": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "RoleParameter")}, "materialize_schema": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "Schema")}, "materialize_schema_grant": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "GrantSchema")}, "materialize_schema_grant_default_privilege": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "GrantSchemaDefaultPrivilege")},