From e5e6d0b7270bad12136a4b36a374fca698a7414b Mon Sep 17 00:00:00 2001 From: Julia Zolotarev Date: Tue, 12 Nov 2024 17:16:58 -0500 Subject: [PATCH 1/4] APP-15961 - Update rule to use resource group id --- docs/resources/rule.md | 2 +- jupiterone/internal/client/rule.graphql | 10 +++++----- jupiterone/resource_rule.go | 20 ++++++++++---------- jupiterone/resource_rule_test.go | 2 +- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/resources/rule.md b/docs/resources/rule.md index cc1ea7ed..7d50cda4 100644 --- a/docs/resources/rule.md +++ b/docs/resources/rule.md @@ -126,7 +126,7 @@ resource "jupiterone_rule" "users_without_mfa" { - `labels` (List of Attributes) Key/value pairs to apply to the jupiterone_rule entity. If label_value is a string that represents a boolean or number (i.e. "true", "1"), it will be converted to a boolean or number respectively. - `templates` (Map of String) Optional key/value pairs of template name to template - `trigger_on_new_only` (Boolean) -- `collection_id` (String) Optional ID of a collection to associate with the rule. +- `resource_group_id` (String) Optional ID of a resource group to associate with the rule. ### Read-Only diff --git a/jupiterone/internal/client/rule.graphql b/jupiterone/internal/client/rule.graphql index 4af598d5..99005d58 100644 --- a/jupiterone/internal/client/rule.graphql +++ b/jupiterone/internal/client/rule.graphql @@ -2,7 +2,7 @@ query GetQuestionRuleInstance($id: ID!) { questionRuleInstance(id: $id) { id name - collectionId + resourceGroupId description version specVersion @@ -34,7 +34,7 @@ query GetQuestionRuleInstance($id: ID!) { } # @genqlient(for: "RuleOperationInput.when", omitempty: true) -# @genqlient(for: "CreateInlineQuestionRuleInstanceInput.collectionId", omitempty: true) +# @genqlient(for: "CreateInlineQuestionRuleInstanceInput.resourceGroupId", omitempty: true) mutation CreateInlineQuestionRuleInstance( $instance: CreateInlineQuestionRuleInstanceInput! ) { @@ -65,7 +65,7 @@ mutation CreateInlineQuestionRuleInstance( } # @genqlient(for: "RuleOperationInput.when", omitempty: true) -# @genqlient(for: "CreateReferencedQuestionRuleInstanceInput.collectionId", omitempty: true) +# @genqlient(for: "CreateReferencedQuestionRuleInstanceInput.resourceGroupId", omitempty: true) mutation CreateReferencedQuestionRuleInstance( $instance: CreateReferencedQuestionRuleInstanceInput! ) { @@ -91,7 +91,7 @@ mutation CreateReferencedQuestionRuleInstance( # @genqlient(for: "UpdateInlineQuestionRuleInstanceInput.outputs", omitempty: true) # @genqlient(for: "UpdateInlineQuestionRuleInstanceInput.state", omitempty: true) # @genqlient(for: "UpdateInlineQuestionRuleInstanceInput.remediationSteps", omitempty: true) -# @genqlient(for: "UpdateInlineQuestionRuleInstanceInput.collectionId", omitempty: true) +# @genqlient(for: "UpdateInlineQuestionRuleInstanceInput.resourceGroupId", omitempty: true) mutation UpdateInlineQuestionRuleInstance( $instance: UpdateInlineQuestionRuleInstanceInput! ) { @@ -112,7 +112,7 @@ mutation UpdateInlineQuestionRuleInstance( # @genqlient(for: "UpdateReferencedQuestionRuleInstanceInput.outputs", omitempty: true) # @genqlient(for: "UpdateReferencedQuestionRuleInstanceInput.latestAlertId", omitempty: true) # @genqlient(for: "UpdateReferencedQuestionRuleInstanceInput.state", omitempty: true) -# @genqlient(for: "UpdateReferencedQuestionRuleInstanceInput.collectionId", omitempty: true) +# @genqlient(for: "UpdateReferencedQuestionRuleInstanceInput.resourceGroupId", omitempty: true) mutation UpdateReferencedQuestionRuleInstance( $instance: UpdateReferencedQuestionRuleInstanceInput! ) { diff --git a/jupiterone/resource_rule.go b/jupiterone/resource_rule.go index 8c4c670c..52483e77 100644 --- a/jupiterone/resource_rule.go +++ b/jupiterone/resource_rule.go @@ -127,7 +127,7 @@ type RuleModel struct { TriggerOnNewOnly types.Bool `json:"trigger_on_new_only" tfsdk:"trigger_on_new_only"` IgnorePreviousResults types.Bool `json:"ignore_previous_results" tfsdk:"ignore_previous_results"` Labels []RuleLabel `json:"labels" tfsdk:"labels"` - CollectionId types.String `json:"collection_id,omitempty" tfsdk:"collection_id"` + ResourceGroupId types.String `json:"resource_group_id,omitempty" tfsdk:"resource_group_id"` } func NewQuestionRuleResource() resource.Resource { @@ -286,9 +286,9 @@ func (*QuestionRuleResource) Schema(ctx context.Context, req resource.SchemaRequ }, }, }, - "collection_id": schema.StringAttribute{ + "resource_group_id": schema.StringAttribute{ Optional: true, - Description: "Specifies the ID of a collection for the rule to be added to", + Description: "Specifies the ID of a resource group for the rule to be added to", }, }, // TODO: Deprecate the use of blocks following new framework guidance: @@ -515,10 +515,10 @@ func (r *QuestionRuleResource) Read(ctx context.Context, req resource.ReadReques resp.Diagnostics.AddError("error unmarshaling templates from response", err.Error()) } - if rule.CollectionId != "" { - data.CollectionId = types.StringValue(rule.CollectionId) + if rule.ResourceGroupId != "" { + data.ResourceGroupId = types.StringValue(rule.ResourceGroupId) } else { - data.CollectionId = types.StringNull() + data.ResourceGroupId = types.StringNull() } if rule.QuestionId != "" { @@ -658,7 +658,7 @@ func (r *RuleModel) BuildCreateReferencedQuestionRuleInstanceInput() (client.Cre NotifyOnFailure: r.NotifyOnFailure.ValueBool(), TriggerActionsOnNewEntitiesOnly: r.TriggerOnNewOnly.ValueBool(), IgnorePreviousResults: r.IgnorePreviousResults.ValueBool(), - CollectionId: r.CollectionId.ValueString(), + ResourceGroupId: r.ResourceGroupId.ValueString(), } var err error @@ -708,7 +708,7 @@ func (r *RuleModel) BuildUpdateReferencedQuestionRuleInstanceInput() (client.Upd NotifyOnFailure: r.NotifyOnFailure.ValueBool(), TriggerActionsOnNewEntitiesOnly: r.TriggerOnNewOnly.ValueBool(), IgnorePreviousResults: r.IgnorePreviousResults.ValueBool(), - CollectionId: r.CollectionId.ValueString(), + ResourceGroupId: r.ResourceGroupId.ValueString(), } var err error @@ -760,7 +760,7 @@ func (r *RuleModel) BuildCreateInlineQuestionRuleInstanceInput() (client.CreateI NotifyOnFailure: r.NotifyOnFailure.ValueBool(), TriggerActionsOnNewEntitiesOnly: r.TriggerOnNewOnly.ValueBool(), IgnorePreviousResults: r.IgnorePreviousResults.ValueBool(), - CollectionId: r.CollectionId.ValueString(), + ResourceGroupId: r.ResourceGroupId.ValueString(), } var err error @@ -825,7 +825,7 @@ func (r *RuleModel) BuildUpdateInlineQuestionRuleInstanceInput() (client.UpdateI NotifyOnFailure: r.NotifyOnFailure.ValueBool(), TriggerActionsOnNewEntitiesOnly: r.TriggerOnNewOnly.ValueBool(), IgnorePreviousResults: r.IgnorePreviousResults.ValueBool(), - CollectionId: r.CollectionId.ValueString(), + ResourceGroupId: r.ResourceGroupId.ValueString(), } var err error diff --git a/jupiterone/resource_rule_test.go b/jupiterone/resource_rule_test.go index 79549b46..4d39ec54 100644 --- a/jupiterone/resource_rule_test.go +++ b/jupiterone/resource_rule_test.go @@ -135,7 +135,7 @@ func TestInlineRuleInstance_BasicImport(t *testing.T) { resource.TestCheckResourceAttr(testRuleResourceName, "question.0.queries.0.query", "Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true"), resource.TestCheckResourceAttr(testRuleResourceName, "labels.0.label_name", "label1"), resource.TestCheckResourceAttr(testRuleResourceName, "labels.#", "0"), - resource.TestCheckResourceAttr(testRuleResourceName, "collection_id", "null"), + resource.TestCheckResourceAttr(testRuleResourceName, "resource_group_id", "null"), ), }, }, From 5ae9fef82607a624f373e1c70ce4362f6c9f4992 Mon Sep 17 00:00:00 2001 From: Julia Zolotarev Date: Tue, 12 Nov 2024 17:18:18 -0500 Subject: [PATCH 2/4] APP-15961 - Update resource permission to not reference collection --- docs/resources/resource_permission.md | 4 ++-- jupiterone/resource_resource_permission.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/resources/resource_permission.md b/docs/resources/resource_permission.md index 65894ae3..cc879927 100644 --- a/docs/resources/resource_permission.md +++ b/docs/resources/resource_permission.md @@ -39,8 +39,8 @@ resource "jupiterone_resource_permission" "administrator_permissions" { - `subject_id` (String) The ID of the subject that the resource permissions will be applied to (e.g. group ID). - `subject_type` (String) The type of the subject that the resource permissions will be applied to (e.g. group). - `resource_area` (String) The resource area that these permissions will be applied to (e.g. rule). -- `resource_type` (String) The resource type that these permissions will be applied to (e.g. rule, rule_collection, \*). -- `resource_id` (String) The resource ID that these permissions will be applied to (e.g. rule ID, rule_collection ID, \*). +- `resource_type` (String) The resource type that these permissions will be applied to (e.g. rule, resource_group, \*). +- `resource_id` (String) The resource ID that these permissions will be applied to (e.g. rule ID, resource_group ID, \*). - `can_read` (Boolean) Whether the subject can read the resource. - `can_create` (Boolean) Whether the subject can create the resource. - `can_update` (Boolean) Whether the subject can update the resource. diff --git a/jupiterone/resource_resource_permission.go b/jupiterone/resource_resource_permission.go index c1e14765..9683e161 100644 --- a/jupiterone/resource_resource_permission.go +++ b/jupiterone/resource_resource_permission.go @@ -81,11 +81,11 @@ func (*ResourcePermissionResource) Schema(ctx context.Context, req resource.Sche }, "resource_type": schema.StringAttribute{ Required: true, - Description: "The resource type that these permissions will be applied to (e.g. rule, rule_collection, *).", + Description: "The resource type that these permissions will be applied to (e.g. rule, resource_group, *).", }, "resource_id": schema.StringAttribute{ Required: true, - Description: "The ID of the resource that these permissions will be applied to (e.g. rule ID, rule collection ID, *).", + Description: "The ID of the resource that these permissions will be applied to (e.g. rule ID, resource group ID, *).", }, "can_read": schema.BoolAttribute{ Required: true, From ec2136a12bc54cb16d0cef2b66ccbc041802978e Mon Sep 17 00:00:00 2001 From: Julia Zolotarev Date: Wed, 13 Nov 2024 10:57:42 -0500 Subject: [PATCH 3/4] APP-15961 - Update tests and generated schema --- .../TestInlineRuleInstance_Basic.yaml | 58 ++++++------- .../TestInlineRuleInstance_BasicImport.yaml | 26 +++--- .../TestReferencedQuestionRule_Basic.yaml | 86 +++++++++---------- jupiterone/internal/client/generated.go | 38 ++++++-- 4 files changed, 115 insertions(+), 93 deletions(-) diff --git a/jupiterone/cassettes/TestInlineRuleInstance_Basic.yaml b/jupiterone/cassettes/TestInlineRuleInstance_Basic.yaml index 3b520269..065e2216 100644 --- a/jupiterone/cassettes/TestInlineRuleInstance_Basic.yaml +++ b/jupiterone/cassettes/TestInlineRuleInstance_Basic.yaml @@ -6,13 +6,13 @@ interactions: proto: HTTP/1.1 proto_major: 1 proto_minor: 1 - content_length: 1311 + content_length: 1329 transfer_encoding: [] trailer: {} host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nmutation CreateInlineQuestionRuleInstance ($instance: CreateInlineQuestionRuleInstanceInput!) {\n\tcreateQuestionRuleInstance: createInlineQuestionRuleInstance(instance: $instance) {\n\t\tid\n\t\tversion\n\t\tspecVersion\n\t\tquestion {\n\t\t\tqueries {\n\t\t\t\tname\n\t\t\t\tquery\n\t\t\t\tversion\n\t\t\t\tincludeDeleted\n\t\t\t}\n\t\t}\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t\tlabels {\n\t\t\tlabelName\n\t\t\tlabelValue\n\t\t}\n\t}\n}\n","variables":{"instance":{"question":{"queries":[{"query":"Find DataStore with classification=(''critical'' or ''sensitive'' or ''confidential'' or ''restricted'') and encrypted!=true","name":"query0","version":"v1","includeDeleted":false}]},"templates":null,"tags":["tf_acc:1","tf_acc:2"],"name":"tf-provider-test-rule","description":"Test","specVersion":1,"operations":[{"when":{"condition":"{{queries.query0.total != 0}}","specVersion":1,"type":"FILTER"},"actions":[{"targetProperty":"alertLevel","targetValue":"HIGH","type":"SET_PROPERTY"},{"type":"CREATE_ALERT"}]}],"outputs":["queries.query0.total","alertLevel"],"pollingInterval":"ONE_WEEK","notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":true,"ignorePreviousResults":false,"remediationSteps":"","labels":null,"j1Internal":false}},"operationName":"CreateInlineQuestionRuleInstance"}' + body: '{"query":"\nmutation CreateInlineQuestionRuleInstance ($instance: CreateInlineQuestionRuleInstanceInput!) {\n\tcreateQuestionRuleInstance: createInlineQuestionRuleInstance(instance: $instance) {\n\t\tid\n\t\tversion\n\t\tspecVersion\n\t\tquestion {\n\t\t\tqueries {\n\t\t\t\tname\n\t\t\t\tquery\n\t\t\t\tversion\n\t\t\t\tincludeDeleted\n\t\t\t}\n\t\t}\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t\tlabels {\n\t\t\tlabelName\n\t\t\tlabelValue\n\t\t}\n\t}\n}\n","variables":{"instance":{"question":{"queries":[{"query":"Find DataStore with classification=(''critical'' or ''sensitive'' or ''confidential'' or ''restricted'') and encrypted!=true","name":"query0","version":"v1","includeDeleted":false}]},"templates":null,"tags":["tf_acc:1","tf_acc:2"],"name":"tf-provider-test-rule","description":"Test","specVersion":1,"operations":[{"when":{"condition":"{{queries.query0.total != 0}}","specVersion":1,"type":"FILTER"},"actions":[{"targetProperty":"alertLevel","targetValue":"HIGH","type":"SET_PROPERTY"},{"type":"CREATE_ALERT"}]}],"outputs":["queries.query0.total","alertLevel"],"pollingInterval":"ONE_WEEK","notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":true,"ignorePreviousResults":false,"remediationSteps":"","collectionId":"","labels":null,"j1Internal":false}},"operationName":"CreateInlineQuestionRuleInstance"}' form: {} headers: Cache-Control: @@ -30,7 +30,7 @@ interactions: content_length: 635 uncompressed: false body: | - {"data":{"createQuestionRuleInstance":{"id":"d3052389-8599-439e-a9e8-f1827ef4eacc","version":1,"specVersion":1,"question":{"queries":[{"name":"query0","query":"Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true","version":"v1","includeDeleted":false}]},"operations":[{"when":{"condition":"{{queries.query0.total != 0}}","specVersion":1,"type":"FILTER"},"actions":[{"targetProperty":"alertLevel","targetValue":"HIGH","type":"SET_PROPERTY","id":"321601b9-fa1b-406a-8739-3eafdd7c9cd2"},{"type":"CREATE_ALERT","id":"4091bf3c-af3d-409b-a599-c877227ed2ca"}]}],"labels":[]}}} + {"data":{"createQuestionRuleInstance":{"id":"5af7b3fe-de85-4c22-8f35-1b795e65f762","version":1,"specVersion":1,"question":{"queries":[{"name":"query0","query":"Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true","version":"v1","includeDeleted":false}]},"operations":[{"when":{"condition":"{{queries.query0.total != 0}}","specVersion":1,"type":"FILTER"},"actions":[{"targetProperty":"alertLevel","targetValue":"HIGH","type":"SET_PROPERTY","id":"e21cb9a9-4b30-4eb2-b4ae-b7083ef4f1be"},{"type":"CREATE_ALERT","id":"889eb7b6-bcd5-4c8f-a046-86d90f5aa210"}]}],"labels":[]}}} headers: Access-Control-Allow-Credentials: - "true" @@ -78,19 +78,19 @@ interactions: - "0" status: 200 OK code: 200 - duration: 1.083248209s + duration: 5.932296042s - id: 1 request: proto: HTTP/1.1 proto_major: 1 proto_minor: 1 - content_length: 650 + content_length: 653 transfer_encoding: [] trailer: {} host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nquery GetQuestionRuleInstance ($id: ID!) {\n\tquestionRuleInstance(id: $id) {\n\t\tid\n\t\tname\n\t\tcollectionId\n\t\tdescription\n\t\tversion\n\t\tspecVersion\n\t\tlatest\n\t\tpollingInterval\n\t\tdeleted\n\t\ttype\n\t\ttemplates\n\t\tnotifyOnFailure\n\t\ttriggerActionsOnNewEntitiesOnly\n\t\tignorePreviousResults\n\t\tquestionId\n\t\tquestion {\n\t\t\tqueries {\n\t\t\t\tname\n\t\t\t\tquery\n\t\t\t\tversion\n\t\t\t\tincludeDeleted\n\t\t\t}\n\t\t}\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t\toutputs\n\t\ttags\n\t}\n}\n","variables":{"id":"d3052389-8599-439e-a9e8-f1827ef4eacc"},"operationName":"GetQuestionRuleInstance"}' + body: '{"query":"\nquery GetQuestionRuleInstance ($id: ID!) {\n\tquestionRuleInstance(id: $id) {\n\t\tid\n\t\tname\n\t\tresourceGroupId\n\t\tdescription\n\t\tversion\n\t\tspecVersion\n\t\tlatest\n\t\tpollingInterval\n\t\tdeleted\n\t\ttype\n\t\ttemplates\n\t\tnotifyOnFailure\n\t\ttriggerActionsOnNewEntitiesOnly\n\t\tignorePreviousResults\n\t\tquestionId\n\t\tquestion {\n\t\t\tqueries {\n\t\t\t\tname\n\t\t\t\tquery\n\t\t\t\tversion\n\t\t\t\tincludeDeleted\n\t\t\t}\n\t\t}\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t\toutputs\n\t\ttags\n\t}\n}\n","variables":{"id":"5af7b3fe-de85-4c22-8f35-1b795e65f762"},"operationName":"GetQuestionRuleInstance"}' form: {} headers: Cache-Control: @@ -105,15 +105,15 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 973 + content_length: 976 uncompressed: false body: | - {"data":{"questionRuleInstance":{"id":"d3052389-8599-439e-a9e8-f1827ef4eacc","name":"tf-provider-test-rule","collectionId":null,"description":"Test","version":1,"specVersion":1,"latest":true,"pollingInterval":"ONE_WEEK","deleted":false,"type":"QUESTION","templates":null,"notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":true,"ignorePreviousResults":false,"questionId":null,"question":{"queries":[{"name":"query0","query":"Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true","version":"v1","includeDeleted":false}]},"operations":[{"when":{"type":"FILTER","condition":"{{queries.query0.total != 0}}","specVersion":1},"actions":[{"targetValue":"HIGH","id":"321601b9-fa1b-406a-8739-3eafdd7c9cd2","type":"SET_PROPERTY","targetProperty":"alertLevel"},{"type":"CREATE_ALERT","id":"4091bf3c-af3d-409b-a599-c877227ed2ca"}]}],"outputs":["queries.query0.total","alertLevel"],"tags":["tf_acc:1","tf_acc:2"]}}} + {"data":{"questionRuleInstance":{"id":"5af7b3fe-de85-4c22-8f35-1b795e65f762","name":"tf-provider-test-rule","resourceGroupId":null,"description":"Test","version":1,"specVersion":1,"latest":true,"pollingInterval":"ONE_WEEK","deleted":false,"type":"QUESTION","templates":null,"notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":true,"ignorePreviousResults":false,"questionId":null,"question":{"queries":[{"name":"query0","query":"Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true","version":"v1","includeDeleted":false}]},"operations":[{"when":{"type":"FILTER","condition":"{{queries.query0.total != 0}}","specVersion":1},"actions":[{"targetValue":"HIGH","id":"e21cb9a9-4b30-4eb2-b4ae-b7083ef4f1be","type":"SET_PROPERTY","targetProperty":"alertLevel"},{"type":"CREATE_ALERT","id":"889eb7b6-bcd5-4c8f-a046-86d90f5aa210"}]}],"outputs":["queries.query0.total","alertLevel"],"tags":["tf_acc:1","tf_acc:2"]}}} headers: Access-Control-Allow-Credentials: - "true" Content-Length: - - "973" + - "976" Content-Security-Policy: - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self'' https: data:;form-action ''self'';frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests' Content-Type: @@ -156,19 +156,19 @@ interactions: - "0" status: 200 OK code: 200 - duration: 156.837583ms + duration: 168.647375ms - id: 2 request: proto: HTTP/1.1 proto_major: 1 proto_minor: 1 - content_length: 650 + content_length: 653 transfer_encoding: [] trailer: {} host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nquery GetQuestionRuleInstance ($id: ID!) {\n\tquestionRuleInstance(id: $id) {\n\t\tid\n\t\tname\n\t\tcollectionId\n\t\tdescription\n\t\tversion\n\t\tspecVersion\n\t\tlatest\n\t\tpollingInterval\n\t\tdeleted\n\t\ttype\n\t\ttemplates\n\t\tnotifyOnFailure\n\t\ttriggerActionsOnNewEntitiesOnly\n\t\tignorePreviousResults\n\t\tquestionId\n\t\tquestion {\n\t\t\tqueries {\n\t\t\t\tname\n\t\t\t\tquery\n\t\t\t\tversion\n\t\t\t\tincludeDeleted\n\t\t\t}\n\t\t}\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t\toutputs\n\t\ttags\n\t}\n}\n","variables":{"id":"d3052389-8599-439e-a9e8-f1827ef4eacc"},"operationName":"GetQuestionRuleInstance"}' + body: '{"query":"\nquery GetQuestionRuleInstance ($id: ID!) {\n\tquestionRuleInstance(id: $id) {\n\t\tid\n\t\tname\n\t\tresourceGroupId\n\t\tdescription\n\t\tversion\n\t\tspecVersion\n\t\tlatest\n\t\tpollingInterval\n\t\tdeleted\n\t\ttype\n\t\ttemplates\n\t\tnotifyOnFailure\n\t\ttriggerActionsOnNewEntitiesOnly\n\t\tignorePreviousResults\n\t\tquestionId\n\t\tquestion {\n\t\t\tqueries {\n\t\t\t\tname\n\t\t\t\tquery\n\t\t\t\tversion\n\t\t\t\tincludeDeleted\n\t\t\t}\n\t\t}\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t\toutputs\n\t\ttags\n\t}\n}\n","variables":{"id":"5af7b3fe-de85-4c22-8f35-1b795e65f762"},"operationName":"GetQuestionRuleInstance"}' form: {} headers: Cache-Control: @@ -183,15 +183,15 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 973 + content_length: 976 uncompressed: false body: | - {"data":{"questionRuleInstance":{"id":"d3052389-8599-439e-a9e8-f1827ef4eacc","name":"tf-provider-test-rule","collectionId":null,"description":"Test","version":1,"specVersion":1,"latest":true,"pollingInterval":"ONE_WEEK","deleted":false,"type":"QUESTION","templates":null,"notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":true,"ignorePreviousResults":false,"questionId":null,"question":{"queries":[{"name":"query0","query":"Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true","version":"v1","includeDeleted":false}]},"operations":[{"when":{"type":"FILTER","condition":"{{queries.query0.total != 0}}","specVersion":1},"actions":[{"targetValue":"HIGH","id":"321601b9-fa1b-406a-8739-3eafdd7c9cd2","type":"SET_PROPERTY","targetProperty":"alertLevel"},{"type":"CREATE_ALERT","id":"4091bf3c-af3d-409b-a599-c877227ed2ca"}]}],"outputs":["queries.query0.total","alertLevel"],"tags":["tf_acc:1","tf_acc:2"]}}} + {"data":{"questionRuleInstance":{"id":"5af7b3fe-de85-4c22-8f35-1b795e65f762","name":"tf-provider-test-rule","resourceGroupId":null,"description":"Test","version":1,"specVersion":1,"latest":true,"pollingInterval":"ONE_WEEK","deleted":false,"type":"QUESTION","templates":null,"notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":true,"ignorePreviousResults":false,"questionId":null,"question":{"queries":[{"name":"query0","query":"Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true","version":"v1","includeDeleted":false}]},"operations":[{"when":{"type":"FILTER","condition":"{{queries.query0.total != 0}}","specVersion":1},"actions":[{"targetValue":"HIGH","id":"e21cb9a9-4b30-4eb2-b4ae-b7083ef4f1be","type":"SET_PROPERTY","targetProperty":"alertLevel"},{"type":"CREATE_ALERT","id":"889eb7b6-bcd5-4c8f-a046-86d90f5aa210"}]}],"outputs":["queries.query0.total","alertLevel"],"tags":["tf_acc:1","tf_acc:2"]}}} headers: Access-Control-Allow-Credentials: - "true" Content-Length: - - "973" + - "976" Content-Security-Policy: - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self'' https: data:;form-action ''self'';frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests' Content-Type: @@ -234,19 +234,19 @@ interactions: - "0" status: 200 OK code: 200 - duration: 460.636292ms + duration: 192.829833ms - id: 3 request: proto: HTTP/1.1 proto_major: 1 proto_minor: 1 - content_length: 1055 + content_length: 1073 transfer_encoding: [] trailer: {} host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nmutation UpdateInlineQuestionRuleInstance ($instance: UpdateInlineQuestionRuleInstanceInput!) {\n\tupdateInlineQuestionRuleInstance(instance: $instance) {\n\t\tversion\n\t\tspecVersion\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t}\n}\n","variables":{"instance":{"question":{"queries":[{"query":"Find DataStore with classification=(''critical'' or ''sensitive'' or ''confidential'' or ''restricted'') and encrypted!=true","name":"query0","version":"v1","includeDeleted":false}]},"id":"d3052389-8599-439e-a9e8-f1827ef4eacc","version":1,"state":{"actions":null},"templates":null,"tags":["tf_acc:1","tf_acc:2"],"name":"tf-provider-test-rule","description":"Test","specVersion":1,"operations":[{"actions":[{"targetProperty":"alertLevel","targetValue":"HIGH","type":"SET_PROPERTY"},{"type":"CREATE_ALERT"}]}],"outputs":["queries.query0.total","alertLevel"],"pollingInterval":"ONE_WEEK","notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":true,"ignorePreviousResults":false,"labels":null}},"operationName":"UpdateInlineQuestionRuleInstance"}' + body: '{"query":"\nmutation UpdateInlineQuestionRuleInstance ($instance: UpdateInlineQuestionRuleInstanceInput!) {\n\tupdateInlineQuestionRuleInstance(instance: $instance) {\n\t\tversion\n\t\tspecVersion\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t}\n}\n","variables":{"instance":{"question":{"queries":[{"query":"Find DataStore with classification=(''critical'' or ''sensitive'' or ''confidential'' or ''restricted'') and encrypted!=true","name":"query0","version":"v1","includeDeleted":false}]},"id":"5af7b3fe-de85-4c22-8f35-1b795e65f762","version":1,"state":{"actions":null},"templates":null,"tags":["tf_acc:1","tf_acc:2"],"name":"tf-provider-test-rule","description":"Test","specVersion":1,"operations":[{"actions":[{"targetProperty":"alertLevel","targetValue":"HIGH","type":"SET_PROPERTY"},{"type":"CREATE_ALERT"}]}],"outputs":["queries.query0.total","alertLevel"],"pollingInterval":"ONE_WEEK","notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":true,"ignorePreviousResults":false,"collectionId":"","labels":null}},"operationName":"UpdateInlineQuestionRuleInstance"}' form: {} headers: Cache-Control: @@ -264,7 +264,7 @@ interactions: content_length: 304 uncompressed: false body: | - {"data":{"updateInlineQuestionRuleInstance":{"version":2,"specVersion":1,"operations":[{"when":null,"actions":[{"targetProperty":"alertLevel","targetValue":"HIGH","type":"SET_PROPERTY","id":"156ae2d8-a80f-4087-9602-00b66389631a"},{"type":"CREATE_ALERT","id":"fc2aff5f-9c5e-4234-b490-2bbfef32383b"}]}]}}} + {"data":{"updateInlineQuestionRuleInstance":{"version":2,"specVersion":1,"operations":[{"when":null,"actions":[{"targetProperty":"alertLevel","targetValue":"HIGH","type":"SET_PROPERTY","id":"dd51761b-5da6-474f-8a57-2fd9cbe57fce"},{"type":"CREATE_ALERT","id":"beb55cd0-3ca8-4223-8230-fae3071f1711"}]}]}}} headers: Access-Control-Allow-Credentials: - "true" @@ -312,19 +312,19 @@ interactions: - "0" status: 200 OK code: 200 - duration: 529.386458ms + duration: 466.432042ms - id: 4 request: proto: HTTP/1.1 proto_major: 1 proto_minor: 1 - content_length: 650 + content_length: 653 transfer_encoding: [] trailer: {} host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nquery GetQuestionRuleInstance ($id: ID!) {\n\tquestionRuleInstance(id: $id) {\n\t\tid\n\t\tname\n\t\tcollectionId\n\t\tdescription\n\t\tversion\n\t\tspecVersion\n\t\tlatest\n\t\tpollingInterval\n\t\tdeleted\n\t\ttype\n\t\ttemplates\n\t\tnotifyOnFailure\n\t\ttriggerActionsOnNewEntitiesOnly\n\t\tignorePreviousResults\n\t\tquestionId\n\t\tquestion {\n\t\t\tqueries {\n\t\t\t\tname\n\t\t\t\tquery\n\t\t\t\tversion\n\t\t\t\tincludeDeleted\n\t\t\t}\n\t\t}\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t\toutputs\n\t\ttags\n\t}\n}\n","variables":{"id":"d3052389-8599-439e-a9e8-f1827ef4eacc"},"operationName":"GetQuestionRuleInstance"}' + body: '{"query":"\nquery GetQuestionRuleInstance ($id: ID!) {\n\tquestionRuleInstance(id: $id) {\n\t\tid\n\t\tname\n\t\tresourceGroupId\n\t\tdescription\n\t\tversion\n\t\tspecVersion\n\t\tlatest\n\t\tpollingInterval\n\t\tdeleted\n\t\ttype\n\t\ttemplates\n\t\tnotifyOnFailure\n\t\ttriggerActionsOnNewEntitiesOnly\n\t\tignorePreviousResults\n\t\tquestionId\n\t\tquestion {\n\t\t\tqueries {\n\t\t\t\tname\n\t\t\t\tquery\n\t\t\t\tversion\n\t\t\t\tincludeDeleted\n\t\t\t}\n\t\t}\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t\toutputs\n\t\ttags\n\t}\n}\n","variables":{"id":"5af7b3fe-de85-4c22-8f35-1b795e65f762"},"operationName":"GetQuestionRuleInstance"}' form: {} headers: Cache-Control: @@ -339,15 +339,15 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 900 + content_length: 903 uncompressed: false body: | - {"data":{"questionRuleInstance":{"id":"d3052389-8599-439e-a9e8-f1827ef4eacc","name":"tf-provider-test-rule","collectionId":null,"description":"Test","version":2,"specVersion":1,"latest":true,"pollingInterval":"ONE_WEEK","deleted":false,"type":"QUESTION","templates":null,"notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":true,"ignorePreviousResults":false,"questionId":null,"question":{"queries":[{"name":"query0","query":"Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true","version":"v1","includeDeleted":false}]},"operations":[{"when":null,"actions":[{"targetValue":"HIGH","id":"156ae2d8-a80f-4087-9602-00b66389631a","type":"SET_PROPERTY","targetProperty":"alertLevel"},{"type":"CREATE_ALERT","id":"fc2aff5f-9c5e-4234-b490-2bbfef32383b"}]}],"outputs":["queries.query0.total","alertLevel"],"tags":["tf_acc:1","tf_acc:2"]}}} + {"data":{"questionRuleInstance":{"id":"5af7b3fe-de85-4c22-8f35-1b795e65f762","name":"tf-provider-test-rule","resourceGroupId":null,"description":"Test","version":2,"specVersion":1,"latest":true,"pollingInterval":"ONE_WEEK","deleted":false,"type":"QUESTION","templates":null,"notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":true,"ignorePreviousResults":false,"questionId":null,"question":{"queries":[{"name":"query0","query":"Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true","version":"v1","includeDeleted":false}]},"operations":[{"when":null,"actions":[{"targetValue":"HIGH","id":"dd51761b-5da6-474f-8a57-2fd9cbe57fce","type":"SET_PROPERTY","targetProperty":"alertLevel"},{"type":"CREATE_ALERT","id":"beb55cd0-3ca8-4223-8230-fae3071f1711"}]}],"outputs":["queries.query0.total","alertLevel"],"tags":["tf_acc:1","tf_acc:2"]}}} headers: Access-Control-Allow-Credentials: - "true" Content-Length: - - "900" + - "903" Content-Security-Policy: - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self'' https: data:;form-action ''self'';frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests' Content-Type: @@ -390,7 +390,7 @@ interactions: - "0" status: 200 OK code: 200 - duration: 442.071125ms + duration: 176.50625ms - id: 5 request: proto: HTTP/1.1 @@ -402,7 +402,7 @@ interactions: host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nmutation DeleteRuleInstance ($id: ID!) {\n\tdeleteRuleInstance(id: $id) {\n\t\tid\n\t}\n}\n","variables":{"id":"d3052389-8599-439e-a9e8-f1827ef4eacc"},"operationName":"DeleteRuleInstance"}' + body: '{"query":"\nmutation DeleteRuleInstance ($id: ID!) {\n\tdeleteRuleInstance(id: $id) {\n\t\tid\n\t}\n}\n","variables":{"id":"5af7b3fe-de85-4c22-8f35-1b795e65f762"},"operationName":"DeleteRuleInstance"}' form: {} headers: Cache-Control: @@ -420,7 +420,7 @@ interactions: content_length: 78 uncompressed: false body: | - {"data":{"deleteRuleInstance":{"id":"d3052389-8599-439e-a9e8-f1827ef4eacc"}}} + {"data":{"deleteRuleInstance":{"id":"5af7b3fe-de85-4c22-8f35-1b795e65f762"}}} headers: Access-Control-Allow-Credentials: - "true" @@ -468,4 +468,4 @@ interactions: - "0" status: 200 OK code: 200 - duration: 200.050292ms + duration: 202.818416ms diff --git a/jupiterone/cassettes/TestInlineRuleInstance_BasicImport.yaml b/jupiterone/cassettes/TestInlineRuleInstance_BasicImport.yaml index 0fd0941f..88db677f 100644 --- a/jupiterone/cassettes/TestInlineRuleInstance_BasicImport.yaml +++ b/jupiterone/cassettes/TestInlineRuleInstance_BasicImport.yaml @@ -6,13 +6,13 @@ interactions: proto: HTTP/1.1 proto_major: 1 proto_minor: 1 - content_length: 1114 + content_length: 1132 transfer_encoding: [] trailer: {} host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nmutation CreateInlineQuestionRuleInstance ($instance: CreateInlineQuestionRuleInstanceInput!) {\n\tcreateQuestionRuleInstance: createInlineQuestionRuleInstance(instance: $instance) {\n\t\tid\n\t\tversion\n\t\tspecVersion\n\t\tquestion {\n\t\t\tqueries {\n\t\t\t\tname\n\t\t\t\tquery\n\t\t\t\tversion\n\t\t\t\tincludeDeleted\n\t\t\t}\n\t\t}\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t\tlabels {\n\t\t\tlabelName\n\t\t\tlabelValue\n\t\t}\n\t}\n}\n","variables":{"instance":{"question":{"queries":[{"query":"Find DataStore with classification=(''critical'' or ''sensitive'' or ''confidential'' or ''restricted'') and encrypted!=true","name":"query0","version":"v1","includeDeleted":false}]},"templates":null,"tags":["tf_acc:1","tf_acc:2"],"name":"tf-provider-test-rule","description":"test","specVersion":1,"operations":[],"outputs":["queries.query0.total","alertLevel"],"pollingInterval":"ONE_DAY","notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":false,"ignorePreviousResults":false,"remediationSteps":"","labels":null,"j1Internal":false}},"operationName":"CreateInlineQuestionRuleInstance"}' + body: '{"query":"\nmutation CreateInlineQuestionRuleInstance ($instance: CreateInlineQuestionRuleInstanceInput!) {\n\tcreateQuestionRuleInstance: createInlineQuestionRuleInstance(instance: $instance) {\n\t\tid\n\t\tversion\n\t\tspecVersion\n\t\tquestion {\n\t\t\tqueries {\n\t\t\t\tname\n\t\t\t\tquery\n\t\t\t\tversion\n\t\t\t\tincludeDeleted\n\t\t\t}\n\t\t}\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t\tlabels {\n\t\t\tlabelName\n\t\t\tlabelValue\n\t\t}\n\t}\n}\n","variables":{"instance":{"question":{"queries":[{"query":"Find DataStore with classification=(''critical'' or ''sensitive'' or ''confidential'' or ''restricted'') and encrypted!=true","name":"query0","version":"v1","includeDeleted":false}]},"templates":null,"tags":["tf_acc:1","tf_acc:2"],"name":"tf-provider-test-rule","description":"test","specVersion":1,"operations":[],"outputs":["queries.query0.total","alertLevel"],"pollingInterval":"ONE_DAY","notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":false,"ignorePreviousResults":false,"remediationSteps":"","collectionId":"","labels":null,"j1Internal":false}},"operationName":"CreateInlineQuestionRuleInstance"}' form: {} headers: Cache-Control: @@ -30,7 +30,7 @@ interactions: content_length: 350 uncompressed: false body: | - {"data":{"createQuestionRuleInstance":{"id":"2cb574d2-0cf1-4f41-8b57-bfca2a6eb5cc","version":1,"specVersion":1,"question":{"queries":[{"name":"query0","query":"Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true","version":"v1","includeDeleted":false}]},"operations":[],"labels":[]}}} + {"data":{"createQuestionRuleInstance":{"id":"2fbfcdd3-3dfa-4ec6-b308-7d69317398f2","version":1,"specVersion":1,"question":{"queries":[{"name":"query0","query":"Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true","version":"v1","includeDeleted":false}]},"operations":[],"labels":[]}}} headers: Access-Control-Allow-Credentials: - "true" @@ -78,19 +78,19 @@ interactions: - "0" status: 200 OK code: 200 - duration: 746.634084ms + duration: 714.939333ms - id: 1 request: proto: HTTP/1.1 proto_major: 1 proto_minor: 1 - content_length: 650 + content_length: 653 transfer_encoding: [] trailer: {} host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nquery GetQuestionRuleInstance ($id: ID!) {\n\tquestionRuleInstance(id: $id) {\n\t\tid\n\t\tname\n\t\tcollectionId\n\t\tdescription\n\t\tversion\n\t\tspecVersion\n\t\tlatest\n\t\tpollingInterval\n\t\tdeleted\n\t\ttype\n\t\ttemplates\n\t\tnotifyOnFailure\n\t\ttriggerActionsOnNewEntitiesOnly\n\t\tignorePreviousResults\n\t\tquestionId\n\t\tquestion {\n\t\t\tqueries {\n\t\t\t\tname\n\t\t\t\tquery\n\t\t\t\tversion\n\t\t\t\tincludeDeleted\n\t\t\t}\n\t\t}\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t\toutputs\n\t\ttags\n\t}\n}\n","variables":{"id":"2cb574d2-0cf1-4f41-8b57-bfca2a6eb5cc"},"operationName":"GetQuestionRuleInstance"}' + body: '{"query":"\nquery GetQuestionRuleInstance ($id: ID!) {\n\tquestionRuleInstance(id: $id) {\n\t\tid\n\t\tname\n\t\tresourceGroupId\n\t\tdescription\n\t\tversion\n\t\tspecVersion\n\t\tlatest\n\t\tpollingInterval\n\t\tdeleted\n\t\ttype\n\t\ttemplates\n\t\tnotifyOnFailure\n\t\ttriggerActionsOnNewEntitiesOnly\n\t\tignorePreviousResults\n\t\tquestionId\n\t\tquestion {\n\t\t\tqueries {\n\t\t\t\tname\n\t\t\t\tquery\n\t\t\t\tversion\n\t\t\t\tincludeDeleted\n\t\t\t}\n\t\t}\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t\toutputs\n\t\ttags\n\t}\n}\n","variables":{"id":"2fbfcdd3-3dfa-4ec6-b308-7d69317398f2"},"operationName":"GetQuestionRuleInstance"}' form: {} headers: Cache-Control: @@ -105,15 +105,15 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 688 + content_length: 691 uncompressed: false body: | - {"data":{"questionRuleInstance":{"id":"2cb574d2-0cf1-4f41-8b57-bfca2a6eb5cc","name":"tf-provider-test-rule","collectionId":null,"description":"test","version":1,"specVersion":1,"latest":true,"pollingInterval":"ONE_DAY","deleted":false,"type":"QUESTION","templates":null,"notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":false,"ignorePreviousResults":false,"questionId":null,"question":{"queries":[{"name":"query0","query":"Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true","version":"v1","includeDeleted":false}]},"operations":[],"outputs":["queries.query0.total","alertLevel"],"tags":["tf_acc:1","tf_acc:2"]}}} + {"data":{"questionRuleInstance":{"id":"2fbfcdd3-3dfa-4ec6-b308-7d69317398f2","name":"tf-provider-test-rule","resourceGroupId":null,"description":"test","version":1,"specVersion":1,"latest":true,"pollingInterval":"ONE_DAY","deleted":false,"type":"QUESTION","templates":null,"notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":false,"ignorePreviousResults":false,"questionId":null,"question":{"queries":[{"name":"query0","query":"Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true","version":"v1","includeDeleted":false}]},"operations":[],"outputs":["queries.query0.total","alertLevel"],"tags":["tf_acc:1","tf_acc:2"]}}} headers: Access-Control-Allow-Credentials: - "true" Content-Length: - - "688" + - "691" Content-Security-Policy: - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self'' https: data:;form-action ''self'';frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests' Content-Type: @@ -156,7 +156,7 @@ interactions: - "0" status: 200 OK code: 200 - duration: 219.746958ms + duration: 166.679917ms - id: 2 request: proto: HTTP/1.1 @@ -168,7 +168,7 @@ interactions: host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nmutation DeleteRuleInstance ($id: ID!) {\n\tdeleteRuleInstance(id: $id) {\n\t\tid\n\t}\n}\n","variables":{"id":"2cb574d2-0cf1-4f41-8b57-bfca2a6eb5cc"},"operationName":"DeleteRuleInstance"}' + body: '{"query":"\nmutation DeleteRuleInstance ($id: ID!) {\n\tdeleteRuleInstance(id: $id) {\n\t\tid\n\t}\n}\n","variables":{"id":"2fbfcdd3-3dfa-4ec6-b308-7d69317398f2"},"operationName":"DeleteRuleInstance"}' form: {} headers: Cache-Control: @@ -186,7 +186,7 @@ interactions: content_length: 78 uncompressed: false body: | - {"data":{"deleteRuleInstance":{"id":"2cb574d2-0cf1-4f41-8b57-bfca2a6eb5cc"}}} + {"data":{"deleteRuleInstance":{"id":"2fbfcdd3-3dfa-4ec6-b308-7d69317398f2"}}} headers: Access-Control-Allow-Credentials: - "true" @@ -234,4 +234,4 @@ interactions: - "0" status: 200 OK code: 200 - duration: 228.711917ms + duration: 185.454542ms diff --git a/jupiterone/cassettes/TestReferencedQuestionRule_Basic.yaml b/jupiterone/cassettes/TestReferencedQuestionRule_Basic.yaml index f3914ef9..39d38a46 100644 --- a/jupiterone/cassettes/TestReferencedQuestionRule_Basic.yaml +++ b/jupiterone/cassettes/TestReferencedQuestionRule_Basic.yaml @@ -30,7 +30,7 @@ interactions: content_length: 74 uncompressed: false body: | - {"data":{"createQuestion":{"id":"7d2f7921-9c07-4b92-836b-8a4ee4a44a81"}}} + {"data":{"createQuestion":{"id":"b07a2f3e-50f7-4a7e-b65c-92959ac9b9fe"}}} headers: Access-Control-Allow-Credentials: - "true" @@ -78,19 +78,19 @@ interactions: - "0" status: 200 OK code: 200 - duration: 2.225157833s + duration: 2.421468417s - id: 1 request: proto: HTTP/1.1 proto_major: 1 proto_minor: 1 - content_length: 978 + content_length: 996 transfer_encoding: [] trailer: {} host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nmutation CreateReferencedQuestionRuleInstance ($instance: CreateReferencedQuestionRuleInstanceInput!) {\n\tcreateQuestionRuleInstance: createReferencedQuestionRuleInstance(instance: $instance) {\n\t\tid\n\t\tversion\n\t\tspecVersion\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t}\n}\n","variables":{"instance":{"questionId":"7d2f7921-9c07-4b92-836b-8a4ee4a44a81","templates":null,"tags":["tf_acc:1","tf_acc:2"],"name":"tf-provider-test-rule","description":"Test","specVersion":1,"operations":[{"when":{"condition":"{{queries.query0.total != 0}}","specVersion":1,"type":"FILTER"},"actions":[{"targetProperty":"alertLevel","targetValue":"HIGH","type":"SET_PROPERTY"},{"type":"CREATE_ALERT"}]}],"outputs":["queries.query0.total","alertLevel"],"pollingInterval":"ONE_WEEK","notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":false,"ignorePreviousResults":false,"remediationSteps":"","labels":null}},"operationName":"CreateReferencedQuestionRuleInstance"}' + body: '{"query":"\nmutation CreateReferencedQuestionRuleInstance ($instance: CreateReferencedQuestionRuleInstanceInput!) {\n\tcreateQuestionRuleInstance: createReferencedQuestionRuleInstance(instance: $instance) {\n\t\tid\n\t\tversion\n\t\tspecVersion\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t}\n}\n","variables":{"instance":{"questionId":"b07a2f3e-50f7-4a7e-b65c-92959ac9b9fe","templates":null,"tags":["tf_acc:1","tf_acc:2"],"name":"tf-provider-test-rule","description":"Test","specVersion":1,"operations":[{"when":{"condition":"{{queries.query0.total != 0}}","specVersion":1,"type":"FILTER"},"actions":[{"targetProperty":"alertLevel","targetValue":"HIGH","type":"SET_PROPERTY"},{"type":"CREATE_ALERT"}]}],"outputs":["queries.query0.total","alertLevel"],"pollingInterval":"ONE_WEEK","notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":false,"ignorePreviousResults":false,"remediationSteps":"","collectionId":"","labels":null}},"operationName":"CreateReferencedQuestionRuleInstance"}' form: {} headers: Cache-Control: @@ -108,7 +108,7 @@ interactions: content_length: 415 uncompressed: false body: | - {"data":{"createQuestionRuleInstance":{"id":"d525e04f-3aa2-4835-845f-15c6823e801d","version":1,"specVersion":1,"operations":[{"when":{"condition":"{{queries.query0.total != 0}}","specVersion":1,"type":"FILTER"},"actions":[{"targetProperty":"alertLevel","targetValue":"HIGH","type":"SET_PROPERTY","id":"ae70faf9-ce53-4925-acc7-4c1876353157"},{"type":"CREATE_ALERT","id":"b6ef40e1-abb0-4f21-8013-5843d1367a10"}]}]}}} + {"data":{"createQuestionRuleInstance":{"id":"429574a6-687e-4fd1-aff8-ce7248d396e3","version":1,"specVersion":1,"operations":[{"when":{"condition":"{{queries.query0.total != 0}}","specVersion":1,"type":"FILTER"},"actions":[{"targetProperty":"alertLevel","targetValue":"HIGH","type":"SET_PROPERTY","id":"1c35d201-6cfe-40cf-8a40-85572d260f4a"},{"type":"CREATE_ALERT","id":"94ad2b7a-44a0-402d-86df-61490517a28f"}]}]}}} headers: Access-Control-Allow-Credentials: - "true" @@ -156,7 +156,7 @@ interactions: - "0" status: 200 OK code: 200 - duration: 1.284597417s + duration: 1.455695417s - id: 2 request: proto: HTTP/1.1 @@ -168,7 +168,7 @@ interactions: host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nquery GetQuestionById ($id: ID!) {\n\tquestion(id: $id) {\n\t\tid\n\t\ttitle\n\t\tdescription\n\t\tshowTrend\n\t\tpollingInterval\n\t\tqueries {\n\t\t\tname\n\t\t\tquery\n\t\t\tversion\n\t\t\tincludeDeleted\n\t\t\tresultsAre\n\t\t}\n\t\ttags\n\t\tcompliance {\n\t\t\tstandard\n\t\t\trequirements\n\t\t\tcontrols\n\t\t}\n\t}\n}\n","variables":{"id":"7d2f7921-9c07-4b92-836b-8a4ee4a44a81"},"operationName":"GetQuestionById"}' + body: '{"query":"\nquery GetQuestionById ($id: ID!) {\n\tquestion(id: $id) {\n\t\tid\n\t\ttitle\n\t\tdescription\n\t\tshowTrend\n\t\tpollingInterval\n\t\tqueries {\n\t\t\tname\n\t\t\tquery\n\t\t\tversion\n\t\t\tincludeDeleted\n\t\t\tresultsAre\n\t\t}\n\t\ttags\n\t\tcompliance {\n\t\t\tstandard\n\t\t\trequirements\n\t\t\tcontrols\n\t\t}\n\t}\n}\n","variables":{"id":"b07a2f3e-50f7-4a7e-b65c-92959ac9b9fe"},"operationName":"GetQuestionById"}' form: {} headers: Cache-Control: @@ -186,7 +186,7 @@ interactions: content_length: 436 uncompressed: false body: | - {"data":{"question":{"id":"7d2f7921-9c07-4b92-836b-8a4ee4a44a81","title":"tf-provider-test-rule","description":"Test","showTrend":false,"pollingInterval":"ONE_DAY","queries":[{"name":"query0","query":"Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true","version":"v1","includeDeleted":false,"resultsAre":"INFORMATIVE"}],"tags":["tf_acc:1","tf_acc:2"],"compliance":[]}}} + {"data":{"question":{"id":"b07a2f3e-50f7-4a7e-b65c-92959ac9b9fe","title":"tf-provider-test-rule","description":"Test","showTrend":false,"pollingInterval":"ONE_DAY","queries":[{"name":"query0","query":"Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true","version":"v1","includeDeleted":false,"resultsAre":"INFORMATIVE"}],"tags":["tf_acc:1","tf_acc:2"],"compliance":[]}}} headers: Access-Control-Allow-Credentials: - "true" @@ -234,19 +234,19 @@ interactions: - "0" status: 200 OK code: 200 - duration: 349.569167ms + duration: 221.946583ms - id: 3 request: proto: HTTP/1.1 proto_major: 1 proto_minor: 1 - content_length: 650 + content_length: 653 transfer_encoding: [] trailer: {} host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nquery GetQuestionRuleInstance ($id: ID!) {\n\tquestionRuleInstance(id: $id) {\n\t\tid\n\t\tname\n\t\tcollectionId\n\t\tdescription\n\t\tversion\n\t\tspecVersion\n\t\tlatest\n\t\tpollingInterval\n\t\tdeleted\n\t\ttype\n\t\ttemplates\n\t\tnotifyOnFailure\n\t\ttriggerActionsOnNewEntitiesOnly\n\t\tignorePreviousResults\n\t\tquestionId\n\t\tquestion {\n\t\t\tqueries {\n\t\t\t\tname\n\t\t\t\tquery\n\t\t\t\tversion\n\t\t\t\tincludeDeleted\n\t\t\t}\n\t\t}\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t\toutputs\n\t\ttags\n\t}\n}\n","variables":{"id":"d525e04f-3aa2-4835-845f-15c6823e801d"},"operationName":"GetQuestionRuleInstance"}' + body: '{"query":"\nquery GetQuestionRuleInstance ($id: ID!) {\n\tquestionRuleInstance(id: $id) {\n\t\tid\n\t\tname\n\t\tresourceGroupId\n\t\tdescription\n\t\tversion\n\t\tspecVersion\n\t\tlatest\n\t\tpollingInterval\n\t\tdeleted\n\t\ttype\n\t\ttemplates\n\t\tnotifyOnFailure\n\t\ttriggerActionsOnNewEntitiesOnly\n\t\tignorePreviousResults\n\t\tquestionId\n\t\tquestion {\n\t\t\tqueries {\n\t\t\t\tname\n\t\t\t\tquery\n\t\t\t\tversion\n\t\t\t\tincludeDeleted\n\t\t\t}\n\t\t}\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t\toutputs\n\t\ttags\n\t}\n}\n","variables":{"id":"429574a6-687e-4fd1-aff8-ce7248d396e3"},"operationName":"GetQuestionRuleInstance"}' form: {} headers: Cache-Control: @@ -261,15 +261,15 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 816 + content_length: 819 uncompressed: false body: | - {"data":{"questionRuleInstance":{"id":"d525e04f-3aa2-4835-845f-15c6823e801d","name":"tf-provider-test-rule","collectionId":null,"description":"Test","version":1,"specVersion":1,"latest":true,"pollingInterval":"ONE_WEEK","deleted":false,"type":"QUESTION","templates":null,"notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":false,"ignorePreviousResults":false,"questionId":"7d2f7921-9c07-4b92-836b-8a4ee4a44a81","question":null,"operations":[{"when":{"type":"FILTER","condition":"{{queries.query0.total != 0}}","specVersion":1},"actions":[{"targetValue":"HIGH","id":"ae70faf9-ce53-4925-acc7-4c1876353157","type":"SET_PROPERTY","targetProperty":"alertLevel"},{"type":"CREATE_ALERT","id":"b6ef40e1-abb0-4f21-8013-5843d1367a10"}]}],"outputs":["queries.query0.total","alertLevel"],"tags":["tf_acc:1","tf_acc:2"]}}} + {"data":{"questionRuleInstance":{"id":"429574a6-687e-4fd1-aff8-ce7248d396e3","name":"tf-provider-test-rule","resourceGroupId":null,"description":"Test","version":1,"specVersion":1,"latest":true,"pollingInterval":"ONE_WEEK","deleted":false,"type":"QUESTION","templates":null,"notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":false,"ignorePreviousResults":false,"questionId":"b07a2f3e-50f7-4a7e-b65c-92959ac9b9fe","question":null,"operations":[{"when":{"type":"FILTER","condition":"{{queries.query0.total != 0}}","specVersion":1},"actions":[{"targetValue":"HIGH","id":"1c35d201-6cfe-40cf-8a40-85572d260f4a","type":"SET_PROPERTY","targetProperty":"alertLevel"},{"type":"CREATE_ALERT","id":"94ad2b7a-44a0-402d-86df-61490517a28f"}]}],"outputs":["queries.query0.total","alertLevel"],"tags":["tf_acc:1","tf_acc:2"]}}} headers: Access-Control-Allow-Credentials: - "true" Content-Length: - - "816" + - "819" Content-Security-Policy: - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self'' https: data:;form-action ''self'';frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests' Content-Type: @@ -312,7 +312,7 @@ interactions: - "0" status: 200 OK code: 200 - duration: 149.247333ms + duration: 158.445834ms - id: 4 request: proto: HTTP/1.1 @@ -324,7 +324,7 @@ interactions: host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nquery GetQuestionById ($id: ID!) {\n\tquestion(id: $id) {\n\t\tid\n\t\ttitle\n\t\tdescription\n\t\tshowTrend\n\t\tpollingInterval\n\t\tqueries {\n\t\t\tname\n\t\t\tquery\n\t\t\tversion\n\t\t\tincludeDeleted\n\t\t\tresultsAre\n\t\t}\n\t\ttags\n\t\tcompliance {\n\t\t\tstandard\n\t\t\trequirements\n\t\t\tcontrols\n\t\t}\n\t}\n}\n","variables":{"id":"7d2f7921-9c07-4b92-836b-8a4ee4a44a81"},"operationName":"GetQuestionById"}' + body: '{"query":"\nquery GetQuestionById ($id: ID!) {\n\tquestion(id: $id) {\n\t\tid\n\t\ttitle\n\t\tdescription\n\t\tshowTrend\n\t\tpollingInterval\n\t\tqueries {\n\t\t\tname\n\t\t\tquery\n\t\t\tversion\n\t\t\tincludeDeleted\n\t\t\tresultsAre\n\t\t}\n\t\ttags\n\t\tcompliance {\n\t\t\tstandard\n\t\t\trequirements\n\t\t\tcontrols\n\t\t}\n\t}\n}\n","variables":{"id":"b07a2f3e-50f7-4a7e-b65c-92959ac9b9fe"},"operationName":"GetQuestionById"}' form: {} headers: Cache-Control: @@ -342,7 +342,7 @@ interactions: content_length: 436 uncompressed: false body: | - {"data":{"question":{"id":"7d2f7921-9c07-4b92-836b-8a4ee4a44a81","title":"tf-provider-test-rule","description":"Test","showTrend":false,"pollingInterval":"ONE_DAY","queries":[{"name":"query0","query":"Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true","version":"v1","includeDeleted":false,"resultsAre":"INFORMATIVE"}],"tags":["tf_acc:1","tf_acc:2"],"compliance":[]}}} + {"data":{"question":{"id":"b07a2f3e-50f7-4a7e-b65c-92959ac9b9fe","title":"tf-provider-test-rule","description":"Test","showTrend":false,"pollingInterval":"ONE_DAY","queries":[{"name":"query0","query":"Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true","version":"v1","includeDeleted":false,"resultsAre":"INFORMATIVE"}],"tags":["tf_acc:1","tf_acc:2"],"compliance":[]}}} headers: Access-Control-Allow-Credentials: - "true" @@ -390,19 +390,19 @@ interactions: - "0" status: 200 OK code: 200 - duration: 233.255583ms + duration: 213.585459ms - id: 5 request: proto: HTTP/1.1 proto_major: 1 proto_minor: 1 - content_length: 650 + content_length: 653 transfer_encoding: [] trailer: {} host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nquery GetQuestionRuleInstance ($id: ID!) {\n\tquestionRuleInstance(id: $id) {\n\t\tid\n\t\tname\n\t\tcollectionId\n\t\tdescription\n\t\tversion\n\t\tspecVersion\n\t\tlatest\n\t\tpollingInterval\n\t\tdeleted\n\t\ttype\n\t\ttemplates\n\t\tnotifyOnFailure\n\t\ttriggerActionsOnNewEntitiesOnly\n\t\tignorePreviousResults\n\t\tquestionId\n\t\tquestion {\n\t\t\tqueries {\n\t\t\t\tname\n\t\t\t\tquery\n\t\t\t\tversion\n\t\t\t\tincludeDeleted\n\t\t\t}\n\t\t}\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t\toutputs\n\t\ttags\n\t}\n}\n","variables":{"id":"d525e04f-3aa2-4835-845f-15c6823e801d"},"operationName":"GetQuestionRuleInstance"}' + body: '{"query":"\nquery GetQuestionRuleInstance ($id: ID!) {\n\tquestionRuleInstance(id: $id) {\n\t\tid\n\t\tname\n\t\tresourceGroupId\n\t\tdescription\n\t\tversion\n\t\tspecVersion\n\t\tlatest\n\t\tpollingInterval\n\t\tdeleted\n\t\ttype\n\t\ttemplates\n\t\tnotifyOnFailure\n\t\ttriggerActionsOnNewEntitiesOnly\n\t\tignorePreviousResults\n\t\tquestionId\n\t\tquestion {\n\t\t\tqueries {\n\t\t\t\tname\n\t\t\t\tquery\n\t\t\t\tversion\n\t\t\t\tincludeDeleted\n\t\t\t}\n\t\t}\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t\toutputs\n\t\ttags\n\t}\n}\n","variables":{"id":"429574a6-687e-4fd1-aff8-ce7248d396e3"},"operationName":"GetQuestionRuleInstance"}' form: {} headers: Cache-Control: @@ -417,15 +417,15 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 816 + content_length: 819 uncompressed: false body: | - {"data":{"questionRuleInstance":{"id":"d525e04f-3aa2-4835-845f-15c6823e801d","name":"tf-provider-test-rule","collectionId":null,"description":"Test","version":1,"specVersion":1,"latest":true,"pollingInterval":"ONE_WEEK","deleted":false,"type":"QUESTION","templates":null,"notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":false,"ignorePreviousResults":false,"questionId":"7d2f7921-9c07-4b92-836b-8a4ee4a44a81","question":null,"operations":[{"when":{"type":"FILTER","condition":"{{queries.query0.total != 0}}","specVersion":1},"actions":[{"targetValue":"HIGH","id":"ae70faf9-ce53-4925-acc7-4c1876353157","type":"SET_PROPERTY","targetProperty":"alertLevel"},{"type":"CREATE_ALERT","id":"b6ef40e1-abb0-4f21-8013-5843d1367a10"}]}],"outputs":["queries.query0.total","alertLevel"],"tags":["tf_acc:1","tf_acc:2"]}}} + {"data":{"questionRuleInstance":{"id":"429574a6-687e-4fd1-aff8-ce7248d396e3","name":"tf-provider-test-rule","resourceGroupId":null,"description":"Test","version":1,"specVersion":1,"latest":true,"pollingInterval":"ONE_WEEK","deleted":false,"type":"QUESTION","templates":null,"notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":false,"ignorePreviousResults":false,"questionId":"b07a2f3e-50f7-4a7e-b65c-92959ac9b9fe","question":null,"operations":[{"when":{"type":"FILTER","condition":"{{queries.query0.total != 0}}","specVersion":1},"actions":[{"targetValue":"HIGH","id":"1c35d201-6cfe-40cf-8a40-85572d260f4a","type":"SET_PROPERTY","targetProperty":"alertLevel"},{"type":"CREATE_ALERT","id":"94ad2b7a-44a0-402d-86df-61490517a28f"}]}],"outputs":["queries.query0.total","alertLevel"],"tags":["tf_acc:1","tf_acc:2"]}}} headers: Access-Control-Allow-Credentials: - "true" Content-Length: - - "816" + - "819" Content-Security-Policy: - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self'' https: data:;form-action ''self'';frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests' Content-Type: @@ -468,19 +468,19 @@ interactions: - "0" status: 200 OK code: 200 - duration: 150.993167ms + duration: 158.629458ms - id: 6 request: proto: HTTP/1.1 proto_major: 1 proto_minor: 1 - content_length: 938 + content_length: 956 transfer_encoding: [] trailer: {} host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nmutation UpdateReferencedQuestionRuleInstance ($instance: UpdateReferencedQuestionRuleInstanceInput!) {\n\tupdateReferencedQuestionRuleInstance(instance: $instance) {\n\t\tversion\n\t\tspecVersion\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t}\n}\n","variables":{"instance":{"questionId":"7d2f7921-9c07-4b92-836b-8a4ee4a44a81","id":"d525e04f-3aa2-4835-845f-15c6823e801d","version":1,"state":{"actions":null},"templates":null,"tags":["tf_acc:1","tf_acc:2"],"name":"tf-provider-test-rule","description":"Test","specVersion":1,"operations":[{"actions":[{"targetProperty":"alertLevel","targetValue":"HIGH","type":"SET_PROPERTY"},{"type":"CREATE_ALERT"}]}],"outputs":["queries.query0.total","alertLevel"],"pollingInterval":"ONE_WEEK","notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":false,"ignorePreviousResults":false,"remediationSteps":"","labels":null}},"operationName":"UpdateReferencedQuestionRuleInstance"}' + body: '{"query":"\nmutation UpdateReferencedQuestionRuleInstance ($instance: UpdateReferencedQuestionRuleInstanceInput!) {\n\tupdateReferencedQuestionRuleInstance(instance: $instance) {\n\t\tversion\n\t\tspecVersion\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t}\n}\n","variables":{"instance":{"questionId":"b07a2f3e-50f7-4a7e-b65c-92959ac9b9fe","id":"429574a6-687e-4fd1-aff8-ce7248d396e3","version":1,"state":{"actions":null},"templates":null,"tags":["tf_acc:1","tf_acc:2"],"name":"tf-provider-test-rule","description":"Test","specVersion":1,"operations":[{"actions":[{"targetProperty":"alertLevel","targetValue":"HIGH","type":"SET_PROPERTY"},{"type":"CREATE_ALERT"}]}],"outputs":["queries.query0.total","alertLevel"],"pollingInterval":"ONE_WEEK","notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":false,"ignorePreviousResults":false,"remediationSteps":"","collectionId":"","labels":null}},"operationName":"UpdateReferencedQuestionRuleInstance"}' form: {} headers: Cache-Control: @@ -498,7 +498,7 @@ interactions: content_length: 308 uncompressed: false body: | - {"data":{"updateReferencedQuestionRuleInstance":{"version":2,"specVersion":1,"operations":[{"when":null,"actions":[{"targetProperty":"alertLevel","targetValue":"HIGH","type":"SET_PROPERTY","id":"489e0b52-e4f6-45b7-99cd-01764a737d99"},{"type":"CREATE_ALERT","id":"59e08d05-832c-4921-9829-62064db4bb32"}]}]}}} + {"data":{"updateReferencedQuestionRuleInstance":{"version":2,"specVersion":1,"operations":[{"when":null,"actions":[{"targetProperty":"alertLevel","targetValue":"HIGH","type":"SET_PROPERTY","id":"fcf33883-ac59-4de6-af47-efcb50f8ec56"},{"type":"CREATE_ALERT","id":"9c8393e9-abcd-431e-be99-b7dd831d52b3"}]}]}}} headers: Access-Control-Allow-Credentials: - "true" @@ -546,7 +546,7 @@ interactions: - "0" status: 200 OK code: 200 - duration: 672.419666ms + duration: 611.525084ms - id: 7 request: proto: HTTP/1.1 @@ -558,7 +558,7 @@ interactions: host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nquery GetQuestionById ($id: ID!) {\n\tquestion(id: $id) {\n\t\tid\n\t\ttitle\n\t\tdescription\n\t\tshowTrend\n\t\tpollingInterval\n\t\tqueries {\n\t\t\tname\n\t\t\tquery\n\t\t\tversion\n\t\t\tincludeDeleted\n\t\t\tresultsAre\n\t\t}\n\t\ttags\n\t\tcompliance {\n\t\t\tstandard\n\t\t\trequirements\n\t\t\tcontrols\n\t\t}\n\t}\n}\n","variables":{"id":"7d2f7921-9c07-4b92-836b-8a4ee4a44a81"},"operationName":"GetQuestionById"}' + body: '{"query":"\nquery GetQuestionById ($id: ID!) {\n\tquestion(id: $id) {\n\t\tid\n\t\ttitle\n\t\tdescription\n\t\tshowTrend\n\t\tpollingInterval\n\t\tqueries {\n\t\t\tname\n\t\t\tquery\n\t\t\tversion\n\t\t\tincludeDeleted\n\t\t\tresultsAre\n\t\t}\n\t\ttags\n\t\tcompliance {\n\t\t\tstandard\n\t\t\trequirements\n\t\t\tcontrols\n\t\t}\n\t}\n}\n","variables":{"id":"b07a2f3e-50f7-4a7e-b65c-92959ac9b9fe"},"operationName":"GetQuestionById"}' form: {} headers: Cache-Control: @@ -576,7 +576,7 @@ interactions: content_length: 436 uncompressed: false body: | - {"data":{"question":{"id":"7d2f7921-9c07-4b92-836b-8a4ee4a44a81","title":"tf-provider-test-rule","description":"Test","showTrend":false,"pollingInterval":"ONE_DAY","queries":[{"name":"query0","query":"Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true","version":"v1","includeDeleted":false,"resultsAre":"INFORMATIVE"}],"tags":["tf_acc:1","tf_acc:2"],"compliance":[]}}} + {"data":{"question":{"id":"b07a2f3e-50f7-4a7e-b65c-92959ac9b9fe","title":"tf-provider-test-rule","description":"Test","showTrend":false,"pollingInterval":"ONE_DAY","queries":[{"name":"query0","query":"Find DataStore with classification=('critical' or 'sensitive' or 'confidential' or 'restricted') and encrypted!=true","version":"v1","includeDeleted":false,"resultsAre":"INFORMATIVE"}],"tags":["tf_acc:1","tf_acc:2"],"compliance":[]}}} headers: Access-Control-Allow-Credentials: - "true" @@ -624,19 +624,19 @@ interactions: - "0" status: 200 OK code: 200 - duration: 214.978708ms + duration: 224.390792ms - id: 8 request: proto: HTTP/1.1 proto_major: 1 proto_minor: 1 - content_length: 650 + content_length: 653 transfer_encoding: [] trailer: {} host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nquery GetQuestionRuleInstance ($id: ID!) {\n\tquestionRuleInstance(id: $id) {\n\t\tid\n\t\tname\n\t\tcollectionId\n\t\tdescription\n\t\tversion\n\t\tspecVersion\n\t\tlatest\n\t\tpollingInterval\n\t\tdeleted\n\t\ttype\n\t\ttemplates\n\t\tnotifyOnFailure\n\t\ttriggerActionsOnNewEntitiesOnly\n\t\tignorePreviousResults\n\t\tquestionId\n\t\tquestion {\n\t\t\tqueries {\n\t\t\t\tname\n\t\t\t\tquery\n\t\t\t\tversion\n\t\t\t\tincludeDeleted\n\t\t\t}\n\t\t}\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t\toutputs\n\t\ttags\n\t}\n}\n","variables":{"id":"d525e04f-3aa2-4835-845f-15c6823e801d"},"operationName":"GetQuestionRuleInstance"}' + body: '{"query":"\nquery GetQuestionRuleInstance ($id: ID!) {\n\tquestionRuleInstance(id: $id) {\n\t\tid\n\t\tname\n\t\tresourceGroupId\n\t\tdescription\n\t\tversion\n\t\tspecVersion\n\t\tlatest\n\t\tpollingInterval\n\t\tdeleted\n\t\ttype\n\t\ttemplates\n\t\tnotifyOnFailure\n\t\ttriggerActionsOnNewEntitiesOnly\n\t\tignorePreviousResults\n\t\tquestionId\n\t\tquestion {\n\t\t\tqueries {\n\t\t\t\tname\n\t\t\t\tquery\n\t\t\t\tversion\n\t\t\t\tincludeDeleted\n\t\t\t}\n\t\t}\n\t\toperations {\n\t\t\twhen\n\t\t\tactions\n\t\t}\n\t\toutputs\n\t\ttags\n\t}\n}\n","variables":{"id":"429574a6-687e-4fd1-aff8-ce7248d396e3"},"operationName":"GetQuestionRuleInstance"}' form: {} headers: Cache-Control: @@ -651,15 +651,15 @@ interactions: proto_minor: 0 transfer_encoding: [] trailer: {} - content_length: 743 + content_length: 746 uncompressed: false body: | - {"data":{"questionRuleInstance":{"id":"d525e04f-3aa2-4835-845f-15c6823e801d","name":"tf-provider-test-rule","collectionId":null,"description":"Test","version":2,"specVersion":1,"latest":true,"pollingInterval":"ONE_WEEK","deleted":false,"type":"QUESTION","templates":null,"notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":false,"ignorePreviousResults":false,"questionId":"7d2f7921-9c07-4b92-836b-8a4ee4a44a81","question":null,"operations":[{"when":null,"actions":[{"targetValue":"HIGH","id":"489e0b52-e4f6-45b7-99cd-01764a737d99","type":"SET_PROPERTY","targetProperty":"alertLevel"},{"type":"CREATE_ALERT","id":"59e08d05-832c-4921-9829-62064db4bb32"}]}],"outputs":["queries.query0.total","alertLevel"],"tags":["tf_acc:1","tf_acc:2"]}}} + {"data":{"questionRuleInstance":{"id":"429574a6-687e-4fd1-aff8-ce7248d396e3","name":"tf-provider-test-rule","resourceGroupId":null,"description":"Test","version":2,"specVersion":1,"latest":true,"pollingInterval":"ONE_WEEK","deleted":false,"type":"QUESTION","templates":null,"notifyOnFailure":false,"triggerActionsOnNewEntitiesOnly":false,"ignorePreviousResults":false,"questionId":"b07a2f3e-50f7-4a7e-b65c-92959ac9b9fe","question":null,"operations":[{"when":null,"actions":[{"targetValue":"HIGH","id":"fcf33883-ac59-4de6-af47-efcb50f8ec56","type":"SET_PROPERTY","targetProperty":"alertLevel"},{"type":"CREATE_ALERT","id":"9c8393e9-abcd-431e-be99-b7dd831d52b3"}]}],"outputs":["queries.query0.total","alertLevel"],"tags":["tf_acc:1","tf_acc:2"]}}} headers: Access-Control-Allow-Credentials: - "true" Content-Length: - - "743" + - "746" Content-Security-Policy: - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self'' https: data:;form-action ''self'';frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests' Content-Type: @@ -702,7 +702,7 @@ interactions: - "0" status: 200 OK code: 200 - duration: 156.036917ms + duration: 153.776334ms - id: 9 request: proto: HTTP/1.1 @@ -714,7 +714,7 @@ interactions: host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nmutation DeleteRuleInstance ($id: ID!) {\n\tdeleteRuleInstance(id: $id) {\n\t\tid\n\t}\n}\n","variables":{"id":"d525e04f-3aa2-4835-845f-15c6823e801d"},"operationName":"DeleteRuleInstance"}' + body: '{"query":"\nmutation DeleteRuleInstance ($id: ID!) {\n\tdeleteRuleInstance(id: $id) {\n\t\tid\n\t}\n}\n","variables":{"id":"429574a6-687e-4fd1-aff8-ce7248d396e3"},"operationName":"DeleteRuleInstance"}' form: {} headers: Cache-Control: @@ -732,7 +732,7 @@ interactions: content_length: 78 uncompressed: false body: | - {"data":{"deleteRuleInstance":{"id":"d525e04f-3aa2-4835-845f-15c6823e801d"}}} + {"data":{"deleteRuleInstance":{"id":"429574a6-687e-4fd1-aff8-ce7248d396e3"}}} headers: Access-Control-Allow-Credentials: - "true" @@ -780,7 +780,7 @@ interactions: - "0" status: 200 OK code: 200 - duration: 401.343208ms + duration: 301.521625ms - id: 10 request: proto: HTTP/1.1 @@ -792,7 +792,7 @@ interactions: host: graphql.dev.jupiterone.io remote_addr: "" request_uri: "" - body: '{"query":"\nmutation DeleteQuestion ($id: ID!) {\n\tdeleteQuestion(id: $id) {\n\t\tid\n\t}\n}\n","variables":{"id":"7d2f7921-9c07-4b92-836b-8a4ee4a44a81"},"operationName":"DeleteQuestion"}' + body: '{"query":"\nmutation DeleteQuestion ($id: ID!) {\n\tdeleteQuestion(id: $id) {\n\t\tid\n\t}\n}\n","variables":{"id":"b07a2f3e-50f7-4a7e-b65c-92959ac9b9fe"},"operationName":"DeleteQuestion"}' form: {} headers: Cache-Control: @@ -810,7 +810,7 @@ interactions: content_length: 74 uncompressed: false body: | - {"data":{"deleteQuestion":{"id":"7d2f7921-9c07-4b92-836b-8a4ee4a44a81"}}} + {"data":{"deleteQuestion":{"id":"b07a2f3e-50f7-4a7e-b65c-92959ac9b9fe"}}} headers: Access-Control-Allow-Credentials: - "true" @@ -858,4 +858,4 @@ interactions: - "0" status: 200 OK code: 200 - duration: 392.906125ms + duration: 486.108625ms diff --git a/jupiterone/internal/client/generated.go b/jupiterone/internal/client/generated.go index e4e895ba..843af0b5 100644 --- a/jupiterone/internal/client/generated.go +++ b/jupiterone/internal/client/generated.go @@ -491,7 +491,8 @@ type CreateInlineQuestionRuleInstanceInput struct { TriggerActionsOnNewEntitiesOnly bool `json:"triggerActionsOnNewEntitiesOnly"` IgnorePreviousResults bool `json:"ignorePreviousResults"` RemediationSteps string `json:"remediationSteps"` - CollectionId string `json:"collectionId,omitempty"` + CollectionId string `json:"collectionId"` + ResourceGroupId string `json:"resourceGroupId,omitempty"` Labels []RuleInstanceLabelInput `json:"labels"` J1Internal bool `json:"j1Internal"` } @@ -552,6 +553,9 @@ func (v *CreateInlineQuestionRuleInstanceInput) GetRemediationSteps() string { // GetCollectionId returns CreateInlineQuestionRuleInstanceInput.CollectionId, and is useful for accessing the field via an interface. func (v *CreateInlineQuestionRuleInstanceInput) GetCollectionId() string { return v.CollectionId } +// GetResourceGroupId returns CreateInlineQuestionRuleInstanceInput.ResourceGroupId, and is useful for accessing the field via an interface. +func (v *CreateInlineQuestionRuleInstanceInput) GetResourceGroupId() string { return v.ResourceGroupId } + // GetLabels returns CreateInlineQuestionRuleInstanceInput.Labels, and is useful for accessing the field via an interface. func (v *CreateInlineQuestionRuleInstanceInput) GetLabels() []RuleInstanceLabelInput { return v.Labels } @@ -1012,7 +1016,8 @@ type CreateReferencedQuestionRuleInstanceInput struct { TriggerActionsOnNewEntitiesOnly bool `json:"triggerActionsOnNewEntitiesOnly"` IgnorePreviousResults bool `json:"ignorePreviousResults"` RemediationSteps string `json:"remediationSteps"` - CollectionId string `json:"collectionId,omitempty"` + CollectionId string `json:"collectionId"` + ResourceGroupId string `json:"resourceGroupId,omitempty"` Labels []RuleInstanceLabelInput `json:"labels"` } @@ -1072,6 +1077,11 @@ func (v *CreateReferencedQuestionRuleInstanceInput) GetRemediationSteps() string // GetCollectionId returns CreateReferencedQuestionRuleInstanceInput.CollectionId, and is useful for accessing the field via an interface. func (v *CreateReferencedQuestionRuleInstanceInput) GetCollectionId() string { return v.CollectionId } +// GetResourceGroupId returns CreateReferencedQuestionRuleInstanceInput.ResourceGroupId, and is useful for accessing the field via an interface. +func (v *CreateReferencedQuestionRuleInstanceInput) GetResourceGroupId() string { + return v.ResourceGroupId +} + // GetLabels returns CreateReferencedQuestionRuleInstanceInput.Labels, and is useful for accessing the field via an interface. func (v *CreateReferencedQuestionRuleInstanceInput) GetLabels() []RuleInstanceLabelInput { return v.Labels @@ -1990,7 +2000,7 @@ func (v *GetQuestionByIdResponse) GetQuestion() GetQuestionByIdQuestion { return type GetQuestionRuleInstanceQuestionRuleInstance struct { Id string `json:"id"` Name string `json:"name"` - CollectionId string `json:"collectionId"` + ResourceGroupId string `json:"resourceGroupId"` Description string `json:"description"` Version int `json:"version"` SpecVersion int `json:"specVersion"` @@ -2015,8 +2025,10 @@ func (v *GetQuestionRuleInstanceQuestionRuleInstance) GetId() string { return v. // GetName returns GetQuestionRuleInstanceQuestionRuleInstance.Name, and is useful for accessing the field via an interface. func (v *GetQuestionRuleInstanceQuestionRuleInstance) GetName() string { return v.Name } -// GetCollectionId returns GetQuestionRuleInstanceQuestionRuleInstance.CollectionId, and is useful for accessing the field via an interface. -func (v *GetQuestionRuleInstanceQuestionRuleInstance) GetCollectionId() string { return v.CollectionId } +// GetResourceGroupId returns GetQuestionRuleInstanceQuestionRuleInstance.ResourceGroupId, and is useful for accessing the field via an interface. +func (v *GetQuestionRuleInstanceQuestionRuleInstance) GetResourceGroupId() string { + return v.ResourceGroupId +} // GetDescription returns GetQuestionRuleInstanceQuestionRuleInstance.Description, and is useful for accessing the field via an interface. func (v *GetQuestionRuleInstanceQuestionRuleInstance) GetDescription() string { return v.Description } @@ -3232,7 +3244,8 @@ type UpdateInlineQuestionRuleInstanceInput struct { TriggerActionsOnNewEntitiesOnly bool `json:"triggerActionsOnNewEntitiesOnly"` IgnorePreviousResults bool `json:"ignorePreviousResults"` RemediationSteps string `json:"remediationSteps,omitempty"` - CollectionId string `json:"collectionId,omitempty"` + CollectionId string `json:"collectionId"` + ResourceGroupId string `json:"resourceGroupId,omitempty"` Labels []RuleInstanceLabelInput `json:"labels"` } @@ -3304,6 +3317,9 @@ func (v *UpdateInlineQuestionRuleInstanceInput) GetRemediationSteps() string { // GetCollectionId returns UpdateInlineQuestionRuleInstanceInput.CollectionId, and is useful for accessing the field via an interface. func (v *UpdateInlineQuestionRuleInstanceInput) GetCollectionId() string { return v.CollectionId } +// GetResourceGroupId returns UpdateInlineQuestionRuleInstanceInput.ResourceGroupId, and is useful for accessing the field via an interface. +func (v *UpdateInlineQuestionRuleInstanceInput) GetResourceGroupId() string { return v.ResourceGroupId } + // GetLabels returns UpdateInlineQuestionRuleInstanceInput.Labels, and is useful for accessing the field via an interface. func (v *UpdateInlineQuestionRuleInstanceInput) GetLabels() []RuleInstanceLabelInput { return v.Labels } @@ -3530,7 +3546,8 @@ type UpdateReferencedQuestionRuleInstanceInput struct { TriggerActionsOnNewEntitiesOnly bool `json:"triggerActionsOnNewEntitiesOnly"` IgnorePreviousResults bool `json:"ignorePreviousResults"` RemediationSteps string `json:"remediationSteps"` - CollectionId string `json:"collectionId,omitempty"` + CollectionId string `json:"collectionId"` + ResourceGroupId string `json:"resourceGroupId,omitempty"` Labels []RuleInstanceLabelInput `json:"labels"` } @@ -3602,6 +3619,11 @@ func (v *UpdateReferencedQuestionRuleInstanceInput) GetRemediationSteps() string // GetCollectionId returns UpdateReferencedQuestionRuleInstanceInput.CollectionId, and is useful for accessing the field via an interface. func (v *UpdateReferencedQuestionRuleInstanceInput) GetCollectionId() string { return v.CollectionId } +// GetResourceGroupId returns UpdateReferencedQuestionRuleInstanceInput.ResourceGroupId, and is useful for accessing the field via an interface. +func (v *UpdateReferencedQuestionRuleInstanceInput) GetResourceGroupId() string { + return v.ResourceGroupId +} + // GetLabels returns UpdateReferencedQuestionRuleInstanceInput.Labels, and is useful for accessing the field via an interface. func (v *UpdateReferencedQuestionRuleInstanceInput) GetLabels() []RuleInstanceLabelInput { return v.Labels @@ -5525,7 +5547,7 @@ query GetQuestionRuleInstance ($id: ID!) { questionRuleInstance(id: $id) { id name - collectionId + resourceGroupId description version specVersion From c3d04bd0bda34d8b435e966dd0d0dcabe09eebf2 Mon Sep 17 00:00:00 2001 From: Julia Zolotarev Date: Wed, 13 Nov 2024 12:13:14 -0500 Subject: [PATCH 4/4] APP-15961 - Attempt to fix linter situation --- .golangci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.golangci.yml b/.golangci.yml index 168503c9..16b95207 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -10,7 +10,7 @@ linters: enable: - errcheck - gofmt - - gomnd + - mnd - gosimple - ineffassign - makezero