Created
November 14, 2022 23:49
Revisions
-
pmenglund created this gist
Nov 14, 2022 .There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,348 @@ $ terraform apply data.rockset_account.current: Reading... data.rockset_account.current: Read complete after 1s [id=318212636800] data.aws_iam_policy_document.rockset-trust-policy: Reading... data.aws_iam_policy_document.rockset-trust-policy: Read complete after 0s [id=2982727827] Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create Terraform will perform the following actions: # aws_iam_policy.rockset-s3-integration will be created + resource "aws_iam_policy" "rockset-s3-integration" { + arn = (known after apply) + id = (known after apply) + name = "rockset-s3-integration" + path = "/" + policy = jsonencode( { + Id = "RocksetS3IntegrationPolicy" + Statement = [ + { + Action = [ + "s3:ListBucket", ] + Effect = "Allow" + Resource = [ + "arn:aws:s3:::rockset-community-datasets", ] + Sid = "BucketActions" }, + { + Action = [ + "s3:GetObject", ] + Effect = "Allow" + Resource = [ + "arn:aws:s3:::rockset-community-datasets/*", ] + Sid = "ObjectActions" }, ] + Version = "2012-10-17" } ) + policy_id = (known after apply) + tags_all = (known after apply) } # aws_iam_role.rockset will be created + resource "aws_iam_role" "rockset" { + arn = (known after apply) + assume_role_policy = jsonencode( { + Statement = [ + { + Action = "sts:AssumeRole" + Condition = { + StringEquals = { + "sts:ExternalId" = "e61625b901162f9a210b615794ab76108eed8904500f5dd85d9d52c33ef501ae" } } + Effect = "Allow" + Principal = { + AWS = "arn:aws:iam::318212636800:root" } + Sid = "" }, ] + Version = "2012-10-17" } ) + create_date = (known after apply) + force_detach_policies = false + id = (known after apply) + managed_policy_arns = (known after apply) + max_session_duration = 3600 + name = "rockset-s3-integration" + name_prefix = (known after apply) + path = "/" + tags_all = (known after apply) + unique_id = (known after apply) + inline_policy { + name = (known after apply) + policy = (known after apply) } } # aws_iam_role_policy_attachment.rockset_s3_integration will be created + resource "aws_iam_role_policy_attachment" "rockset_s3_integration" { + id = (known after apply) + policy_arn = (known after apply) + role = "rockset-s3-integration" } # aws_ssm_parameter.api-key will be created + resource "aws_ssm_parameter" "api-key" { + arn = (known after apply) + data_type = (known after apply) + id = (known after apply) + insecure_value = (known after apply) + key_id = (known after apply) + name = "/rockset/blog/apikey" + tags_all = (known after apply) + tier = (known after apply) + type = "SecureString" + value = (sensitive value) + version = (known after apply) } # rockset_alias.movies will be created + resource "rockset_alias" "movies" { + collections = [ + "blog.movies-s3", ] + description = "created by Rockset terraform provider" + id = (known after apply) + name = "movies" + workspace = "blog" } # rockset_api_key.ql-only will be created + resource "rockset_api_key" "ql-only" { + id = (known after apply) + key = (sensitive value) + name = "blog-ql-only" + role = "blog-read-only" + user = (known after apply) } # rockset_kafka_collection.orders will be created + resource "rockset_kafka_collection" "orders" { + description = "created by Rockset terraform provider" + field_mapping_query = <<-EOT SELECT COUNT(i.orderid) AS orders, SUM(i.orderunits) AS units, i.address.zipcode, i.address.state, -- bucket data in five minute buckets TIME_BUCKET(MINUTES(5), TIMESTAMP_MILLIS(i.ordertime)) AS _event_time FROM _input AS i WHERE -- drop all records with an incorrect state i.address.state != 'State_' GROUP BY _event_time, i.address.zipcode, i.address.state EOT + id = (known after apply) + name = "orders" + retention_secs = 2592000 + wait_for_collection = true + wait_for_documents = 0 + workspace = "blog" + source { + consumer_group_id = (known after apply) + integration_name = "confluent-cloud-blog" + offset_reset_policy = "EARLIEST" + status = (known after apply) + topic_name = "test_json" + use_v3 = true } } # rockset_kafka_integration.confluent will be created + resource "rockset_kafka_integration" "confluent" { + bootstrap_servers = "pkc-pgq85.us-west-2.aws.confluent.cloud:9092" + connection_string = (known after apply) + description = "created by Rockset terraform provider" + id = (known after apply) + name = "confluent-cloud-blog" + security_config = { + "api_key" = "5E6CVIXJRFSJY26J" + "secret" = "WuPP..." } + use_v3 = true + wait_for_integration = true } # rockset_query_lambda.top-rated will be created + resource "rockset_query_lambda" "top-rated" { + description = "created by Rockset terraform provider" + id = (known after apply) + name = "top-rated-movies" + state = (known after apply) + version = (known after apply) + workspace = "blog" + sql { + query = <<-EOT SELECT title, TIME_BUCKET( YEARS(1), PARSE_TIMESTAMP('%Y-%m-%d', release_date) ) as year, popularity FROM blog.movies AS m where release_date != '' AND popularity > 10 GROUP BY year, title, popularity order by popularity desc EOT } } # rockset_query_lambda_tag.stable will be created + resource "rockset_query_lambda_tag" "stable" { + id = (known after apply) + name = "stable" + query_lambda = "top-rated-movies" + version = (known after apply) + workspace = "blog" } # rockset_role.read-only will be created + resource "rockset_role" "read-only" { + created_at = (known after apply) + created_by = (known after apply) + id = (known after apply) + name = "blog-read-only" + owner_email = (known after apply) + privilege { + action = "EXECUTE_QUERY_LAMBDA_WS" + cluster = "*ALL*" + resource_name = "blog" } } # rockset_s3_collection.movies will be created + resource "rockset_s3_collection" "movies" { + description = "created by Rockset terraform provider" + id = (known after apply) + name = "movies-s3" + retention_secs = 2592000 + wait_for_collection = true + wait_for_documents = 0 + workspace = "blog" + source { + bucket = "rockset-community-datasets" + format = "json" + integration_name = "rockset-community-datasets" + pattern = "public/movies/*.json" } } # rockset_s3_integration.integration will be created + resource "rockset_s3_integration" "integration" { + aws_role_arn = (known after apply) + description = "created by Rockset terraform provider" + id = (known after apply) + name = "rockset-community-datasets" } # rockset_view.english-movies will be created + resource "rockset_view" "english-movies" { + created_by = (known after apply) + description = "created by Rockset terraform provider" + id = (known after apply) + name = "english-movies" + query = <<-EOT SELECT * FROM blog.movies AS m WHERE m.original_language = 'en' EOT + workspace = "blog" } # rockset_workspace.blog will be created + resource "rockset_workspace" "blog" { + created_by = (known after apply) + description = "created by Rockset terraform provider" + id = (known after apply) + name = "blog" } # time_sleep.wait_30s will be created + resource "time_sleep" "wait_30s" { + create_duration = "15s" + id = (known after apply) } Plan: 16 to add, 0 to change, 0 to destroy. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value: yes rockset_workspace.blog: Creating... rockset_kafka_integration.confluent: Creating... rockset_workspace.blog: Creation complete after 0s [id=blog] rockset_role.read-only: Creating... rockset_query_lambda.top-rated: Creating... rockset_role.read-only: Creation complete after 1s [id=blog-read-only] rockset_api_key.ql-only: Creating... rockset_api_key.ql-only: Creation complete after 0s [id=blog-ql-only] rockset_query_lambda.top-rated: Creation complete after 1s [id=blog.top-rated-movies] rockset_query_lambda_tag.stable: Creating... rockset_query_lambda_tag.stable: Creation complete after 0s [id=blog.top-rated-movies.stable] rockset_kafka_integration.confluent: Creation complete after 1s [id=confluent-cloud-blog] rockset_kafka_collection.orders: Creating... aws_ssm_parameter.api-key: Creating... aws_iam_role.rockset: Creating... aws_iam_policy.rockset-s3-integration: Creating... aws_ssm_parameter.api-key: Creation complete after 1s [id=/rockset/blog/apikey] aws_iam_policy.rockset-s3-integration: Creation complete after 1s [id=arn:aws:iam::459021908517:policy/rockset-s3-integration] aws_iam_role.rockset: Creation complete after 2s [id=rockset-s3-integration] aws_iam_role_policy_attachment.rockset_s3_integration: Creating... time_sleep.wait_30s: Creating... aws_iam_role_policy_attachment.rockset_s3_integration: Creation complete after 0s [id=rockset-s3-integration-20221114233744029000000001] rockset_kafka_collection.orders: Still creating... [10s elapsed] time_sleep.wait_30s: Still creating... [10s elapsed] time_sleep.wait_30s: Creation complete after 15s [id=2022-11-14T23:37:58Z] rockset_s3_integration.integration: Creating... rockset_s3_integration.integration: Creation complete after 0s [id=rockset-community-datasets] rockset_s3_collection.movies: Creating... rockset_kafka_collection.orders: Still creating... [20s elapsed] rockset_s3_collection.movies: Still creating... [10s elapsed] rockset_kafka_collection.orders: Still creating... [30s elapsed] rockset_kafka_collection.orders: Creation complete after 34s [id=blog.orders] rockset_s3_collection.movies: Still creating... [20s elapsed] rockset_s3_collection.movies: Still creating... [30s elapsed] rockset_s3_collection.movies: Still creating... [40s elapsed] rockset_s3_collection.movies: Creation complete after 43s [id=blog.movies-s3] rockset_alias.movies: Creating... rockset_alias.movies: Creation complete after 1s [id=blog.movies] rockset_view.english-movies: Creating... rockset_view.english-movies: Creation complete after 1s [id=blog.english-movies] Apply complete! Resources: 16 added, 0 changed, 0 destroyed.