diff --git a/blueprints/thousandeyes/endpoint_label.probe.plan.json b/blueprints/thousandeyes/endpoint_label.probe.plan.json new file mode 100644 index 00000000..f8a36c40 --- /dev/null +++ b/blueprints/thousandeyes/endpoint_label.probe.plan.json @@ -0,0 +1,29 @@ +{ + "fixtures": [ + { + "name": "minimal", + "body": { + "name": "CURATE_ME-stamped-by-probe", + "matchType": "and", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ] + } + } + ], + "candidates": {}, + "deny": [], + "budget": { + "maxRequests": 260, + "maxCreates": 50 + }, + "expansions": [ + "expand=filters" + ] +} diff --git a/blueprints/thousandeyes/provider.blueprint.json b/blueprints/thousandeyes/provider.blueprint.json index 9a777981..ac72f919 100644 --- a/blueprints/thousandeyes/provider.blueprint.json +++ b/blueprints/thousandeyes/provider.blueprint.json @@ -48,6 +48,6 @@ "specVersion": "7.0.98", "specSha256": "969c3dfceafed4ab3db33675e688d9957f460aa8263689fdab3108e7f0e6b7cb", "snapshotDir": "7.0.98-t1785502133469", - "sdkVersion": "v0.1.0" + "sdkVersion": "v0.2.0" } } diff --git a/blueprints/thousandeyes/resources/alert_suppression_window.blueprint.json b/blueprints/thousandeyes/resources/alert_suppression_window.blueprint.json index 64c16b48..7fa9a6ad 100644 --- a/blueprints/thousandeyes/resources/alert_suppression_window.blueprint.json +++ b/blueprints/thousandeyes/resources/alert_suppression_window.blueprint.json @@ -172,18 +172,16 @@ "wire": { "jsonPath": "endRepeat", "sdkField": "EndRepeat", - "sdkGoType": "alert_suppression_windows.EndRepeat", + "sdkGoType": "*alert_suppression_windows.EndRepeat", "expand": { "func": "expandAlertSuppressionWindowEndRepeat", "needsCtx": true, - "returnsError": true, - "deref": true + "returnsError": true }, "flatten": { "func": "flattenAlertSuppressionWindowEndRepeat", "needsCtx": true, - "returnsError": true, - "takesAddress": true + "returnsError": true } } }, @@ -407,18 +405,16 @@ "wire": { "jsonPath": "repeat", "sdkField": "Repeat", - "sdkGoType": "alert_suppression_windows.Repeat", + "sdkGoType": "*alert_suppression_windows.Repeat", "expand": { "func": "expandAlertSuppressionWindowRepeat", "needsCtx": true, - "returnsError": true, - "deref": true + "returnsError": true }, "flatten": { "func": "flattenAlertSuppressionWindowRepeat", "needsCtx": true, - "returnsError": true, - "takesAddress": true + "returnsError": true } } }, diff --git a/blueprints/thousandeyes/resources/dashboard.blueprint.json b/blueprints/thousandeyes/resources/dashboard.blueprint.json index a3fb0aad..c4620505 100644 --- a/blueprints/thousandeyes/resources/dashboard.blueprint.json +++ b/blueprints/thousandeyes/resources/dashboard.blueprint.json @@ -612,18 +612,16 @@ "wire": { "jsonPath": "layout", "sdkField": "Layout", - "sdkGoType": "dashboards.DashboardLayout", + "sdkGoType": "*dashboards.DashboardLayout", "expand": { "func": "expandDashboardLayout", "needsCtx": true, - "returnsError": true, - "deref": true + "returnsError": true }, "flatten": { "func": "flattenDashboardLayout", "needsCtx": true, - "returnsError": true, - "takesAddress": true + "returnsError": true } }, "drop": true @@ -709,7 +707,7 @@ } } ], - "markdownDescription": "Retrieve dashboard.\n\nDropped pending an SDK fix: Dashboard declares Layout and DefaultTimespan as value-typed structs, so every request serialises them as empty objects the API refuses (\"layout\":{\"type\":\"\"}, \"defaultTimespan\":{}) whenever a configuration omits them -- which is every configuration that does not use widgets, themselves the stated v1 drop. Pointer fields in go-sdk-thousandeyes re-enable this resource unchanged; the recorded evidence and probe plan stay committed for that day (live isolation, 2026-08-03)." + "markdownDescription": "Retrieve dashboard." }, "binding": { "service": { @@ -808,8 +806,7 @@ "import": { "style": "passthroughId", "attribute": "id" - }, - "drop": true + } } ] } diff --git a/blueprints/thousandeyes/resources/dashboards_filter.blueprint.json b/blueprints/thousandeyes/resources/dashboards_filter.blueprint.json index ae2abb09..25cff09a 100644 --- a/blueprints/thousandeyes/resources/dashboards_filter.blueprint.json +++ b/blueprints/thousandeyes/resources/dashboards_filter.blueprint.json @@ -284,12 +284,11 @@ "wire": { "jsonPath": "createdBy", "sdkField": "CreatedBy", - "sdkGoType": "dashboards_filters.ApiDashboardFilterUserDetails", + "sdkGoType": "*dashboards_filters.ApiDashboardFilterUserDetails", "flatten": { "func": "flattenDashboardsFilterApiDashboardFilterUserDetails", "needsCtx": true, - "returnsError": true, - "takesAddress": true + "returnsError": true }, "skipExpand": true } @@ -423,12 +422,11 @@ "wire": { "jsonPath": "modifiedBy", "sdkField": "ModifiedBy", - "sdkGoType": "dashboards_filters.ApiDashboardFilterUserDetails", + "sdkGoType": "*dashboards_filters.ApiDashboardFilterUserDetails", "flatten": { "func": "flattenDashboardsFilterApiDashboardFilterUserDetails2", "needsCtx": true, - "returnsError": true, - "takesAddress": true + "returnsError": true }, "skipExpand": true } diff --git a/blueprints/thousandeyes/resources/endpoint_label.blueprint.json b/blueprints/thousandeyes/resources/endpoint_label.blueprint.json new file mode 100644 index 00000000..ad9511ee --- /dev/null +++ b/blueprints/thousandeyes/resources/endpoint_label.blueprint.json @@ -0,0 +1,426 @@ +{ + "formatVersion": "4", + "resources": [ + { + "key": "endpoint_label", + "name": "endpoint_label", + "goPackage": "endpoint_label", + "goPackageAlias": "v7EndpointLabel", + "goTypeName": "EndpointLabelResource", + "modelTypeName": "EndpointLabelResourceModel", + "serviceGroup": "endpoint_agent_labels", + "apiVersionDir": "v7", + "schema": { + "attributes": [ + { + "name": "color", + "goField": "Color", + "type": { + "kind": "string" + }, + "computedOptionalRequired": "computed_optional", + "markdownDescription": "UI color\n\n\nObserved: the API assigns \"#d9d9d9\" when this is omitted.\n", + "behaviour": { + "serverDefault": { + "kind": "", + "raw": "\"#d9d9d9\"" + }, + "returnedOnUpdate": true + }, + "wire": { + "jsonPath": "color", + "sdkField": "Color", + "sdkGoType": "*string", + "expand": { + "func": "convert.FrameworkToPtrString" + }, + "flatten": { + "func": "convert.PtrStringToFramework" + } + } + }, + { + "name": "filters", + "goField": "Filters", + "type": { + "kind": "set_nested", + "nestedObject": { + "goTypeName": "EndpointLabelFilterModel", + "sdkType": "endpoint_agent_labels.Filter", + "attrTypesVar": "endpointLabelFilterAttrTypes", + "objectTypeVar": "endpointLabelFilterObjectType", + "expandFunc": "expandEndpointLabelFilters", + "flattenFunc": "flattenEndpointLabelFilters", + "attributes": [ + { + "name": "key", + "goField": "Key", + "type": { + "kind": "string", + "allowedValues": [ + "agent-id", + "public-network", + "local-network", + "connection", + "gateway", + "platform", + "agent-type", + "vpn-vendor", + "vpn-gateway-address", + "vpn-client-network", + "vpn-client-address", + "ip-address-family", + "ssid", + "bssid", + "hostname", + "username", + "asn" + ] + }, + "computedOptionalRequired": "computed_optional", + "markdownDescription": "Type of filter - the data that will be used to filter.\n\n\nValues accepted here: `agent-id`, `public-network`, `local-network`, `connection`, `gateway`, `platform`, `agent-type`, `vpn-vendor`, `vpn-gateway-address`, `vpn-client-network`, `vpn-client-address`, `ip-address-family`, `ssid`, `bssid`, `hostname`, `username`, `asn`.\nObserved: the API assigns \"platform\" when this is omitted.\nThe API accepted a value from outside the documented set, so no OneOf validator is generated for this attribute.\n", + "behaviour": { + "serverDefault": { + "kind": "", + "raw": "\"platform\"" + }, + "acceptedValues": [ + "agent-id", + "public-network", + "local-network", + "connection", + "gateway", + "platform", + "agent-type", + "vpn-vendor", + "vpn-gateway-address", + "vpn-client-network", + "vpn-client-address", + "ip-address-family", + "ssid", + "bssid", + "hostname", + "username", + "asn" + ], + "valuesClosed": false + }, + "wire": { + "jsonPath": "key", + "sdkField": "Key", + "sdkGoType": "endpoint_agent_labels.FilterType", + "expand": { + "func": "convert.FrameworkToEnum", + "typeArgs": [ + "endpoint_agent_labels.FilterType" + ] + }, + "flatten": { + "func": "convert.EnumToFramework" + } + } + }, + { + "name": "mode", + "goField": "Mode", + "type": { + "kind": "string", + "allowedValues": [ + "in", + "not-in" + ] + }, + "computedOptionalRequired": "computed_optional", + "markdownDescription": "Type of matching to be applied for the values:\n\n* `in`: The value on the agent must match one of the list of values provided.\n* `not-in`: The value on the agent must not match any of the list of values provided.\n\n\nValues accepted here: `in`, `not-in`.\nObserved: the API assigns \"in\" when this is omitted.\nThe API accepted a value from outside the documented set, so no OneOf validator is generated for this attribute.\n", + "behaviour": { + "serverDefault": { + "kind": "", + "raw": "\"in\"" + }, + "acceptedValues": [ + "in", + "not-in" + ], + "valuesClosed": false + }, + "wire": { + "jsonPath": "mode", + "sdkField": "Mode", + "sdkGoType": "endpoint_agent_labels.LabelFilterMode", + "expand": { + "func": "convert.FrameworkToEnum", + "typeArgs": [ + "endpoint_agent_labels.LabelFilterMode" + ] + }, + "flatten": { + "func": "convert.EnumToFramework" + } + } + }, + { + "name": "values", + "goField": "Values", + "type": { + "kind": "set", + "elementType": { + "kind": "string" + } + }, + "computedOptionalRequired": "optional", + "wire": { + "jsonPath": "values", + "sdkField": "Values", + "sdkGoType": "[]string", + "expand": { + "func": "convert.FrameworkSetToStringSlice", + "needsCtx": true, + "returnsError": true + }, + "flatten": { + "func": "convert.StringSliceToFrameworkSet", + "needsCtx": true, + "returnsError": true + } + } + } + ] + } + }, + "computedOptionalRequired": "optional", + "markdownDescription": "The filters combined using the matchType to determine the label's match.\n\nThe API refuses a label without at least one filter (live probe, 2026-08-04).\n\nOnly returned when the read asks for expand=filters; the generated read always does (live probe, 2026-08-04).\n\n\nThe API enforces this field's presence, which the specification does not declare.\n", + "behaviour": { + "requiredByApi": true, + "returnedOnUpdate": true + }, + "wire": { + "jsonPath": "filters", + "sdkField": "Filters", + "sdkGoType": "[]endpoint_agent_labels.Filter", + "expand": { + "func": "expandEndpointLabelFilters", + "needsCtx": true, + "returnsError": true + }, + "flatten": { + "func": "flattenEndpointLabelFilters", + "needsCtx": true, + "returnsError": true + } + } + }, + { + "name": "id", + "goField": "ID", + "type": { + "kind": "string" + }, + "computedOptionalRequired": "computed", + "markdownDescription": "Label identifier.", + "wire": { + "jsonPath": "id", + "sdkField": "ID", + "sdkGoType": "endpoint_agent_labels.LabelId", + "flatten": { + "func": "convert.EnumToFramework", + "typeArgs": [ + "endpoint_agent_labels.LabelId" + ] + }, + "skipExpand": true + } + }, + { + "name": "match_type", + "goField": "MatchType", + "type": { + "kind": "string", + "allowedValues": [ + "and", + "or" + ] + }, + "computedOptionalRequired": "optional", + "markdownDescription": "Specifies how the filters are combined for matching this label.\n\n* `and`: All filters must be matched.\n* `or`: Any of the filters should match.\n\n\nValues accepted here: `and`, `or`.\nThe API enforces this field's presence, which the specification does not declare.\n", + "behaviour": { + "requiredByApi": true, + "returnedOnUpdate": true, + "acceptedValues": [ + "and", + "or" + ], + "valuesClosed": true + }, + "wire": { + "jsonPath": "matchType", + "sdkField": "MatchType", + "sdkGoType": "endpoint_agent_labels.MatchType", + "expand": { + "func": "convert.FrameworkToEnum", + "typeArgs": [ + "endpoint_agent_labels.MatchType" + ] + }, + "flatten": { + "func": "convert.EnumToFramework" + } + } + }, + { + "name": "name", + "goField": "Name", + "type": { + "kind": "string" + }, + "computedOptionalRequired": "optional", + "markdownDescription": "The label name.\n\nRequired-by-API by curation: the sweeper's field, unprobeable by omission.", + "behaviour": { + "requiredByApi": true + }, + "wire": { + "jsonPath": "name", + "sdkField": "Name", + "sdkGoType": "string", + "expand": { + "func": "convert.FrameworkToString" + }, + "updateExpand": { + "func": "convert.FrameworkToPtrString" + }, + "flatten": { + "func": "convert.PtrStringToFramework" + } + } + } + ], + "markdownDescription": "Retrieve label." + }, + "binding": { + "service": { + "importPath": "github.com/deploymenttheory/go-sdk-thousandeyes/thousandeyes/thousandeyes_api/endpoint_agent_labels", + "typeName": "EndpointAgentLabels", + "accessor": "r.client.API.EndpointAgentLabels" + }, + "create": { + "style": "method", + "method": "CreateEndpointLabel", + "args": [ + { + "kind": "ctx" + }, + { + "kind": "body" + } + ], + "return": "resultTransportError", + "resultType": "endpoint_agent_labels.LabelResponse", + "httpMethod": "POST", + "pathTemplate": "/endpoint/labels" + }, + "read": { + "style": "method", + "method": "GetEndpointLabel", + "args": [ + { + "kind": "ctx" + }, + { + "kind": "stateField", + "field": "ID" + }, + { + "kind": "literal", + "expr": "teclient.WithQueryParam(\"expand\", \"filters\")", + "imports": [ + { + "path": "github.com/deploymenttheory/go-sdk-thousandeyes/thousandeyes/client", + "alias": "teclient" + } + ] + } + ], + "return": "resultTransportError", + "resultType": "endpoint_agent_labels.LabelResponse", + "httpMethod": "GET", + "pathTemplate": "/endpoint/labels/{id}" + }, + "update": { + "style": "method", + "method": "UpdateEndpointLabel", + "args": [ + { + "kind": "ctx" + }, + { + "kind": "stateField", + "field": "ID" + }, + { + "kind": "body" + } + ], + "return": "resultTransportError", + "resultType": "endpoint_agent_labels.LabelResponse", + "httpMethod": "PATCH", + "pathTemplate": "/endpoint/labels/{id}" + }, + "delete": { + "style": "method", + "method": "DeleteEndpointLabel", + "args": [ + { + "kind": "ctx" + }, + { + "kind": "stateField", + "field": "ID" + } + ], + "return": "transportError", + "httpMethod": "DELETE", + "pathTemplate": "/endpoint/labels/{id}" + }, + "id": { + "attribute": "id", + "goField": "ID", + "fromCreate": "created.ID" + }, + "body": { + "requestType": "endpoint_agent_labels.LabelRequest", + "responseType": "endpoint_agent_labels.LabelResponse", + "constructorExpr": "&endpoint_agent_labels.LabelRequest{}", + "updateRequestType": "endpoint_agent_labels.Label", + "updateConstructorExpr": "&endpoint_agent_labels.Label{}", + "accessStyle": "structField" + } + }, + "policy": { + "updateStyle": "patchMerge", + "delete": { + "notFoundIsSuccess": true + } + }, + "import": { + "style": "passthroughId", + "attribute": "id" + }, + "accFixture": { + "values": [ + { + "attr": "filters", + "hcl": "[{ key = \"platform\", mode = \"in\", values = [\"windows\"] }]", + "wire": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ] + } + ] + } + } + ] +} diff --git a/blueprints/thousandeyes/resources/tests_http_server.blueprint.json b/blueprints/thousandeyes/resources/tests_http_server.blueprint.json index b7bdfb09..e4e3fec8 100644 --- a/blueprints/thousandeyes/resources/tests_http_server.blueprint.json +++ b/blueprints/thousandeyes/resources/tests_http_server.blueprint.json @@ -281,7 +281,7 @@ "kind": "int64" }, "computedOptionalRequired": "computed", - "markdownDescription": "Specifies the divisor (y value) for the “X of Y times” condition.", + "markdownDescription": "Specifies the divisor (y value) for the \u201cX of Y times\u201d condition.", "wire": { "jsonPath": "roundsViolatingOutOf", "sdkField": "RoundsViolatingOutOf", @@ -299,7 +299,7 @@ "kind": "int64" }, "computedOptionalRequired": "computed", - "markdownDescription": "Specifies the numerator (x value) for the “X of Y times” condition", + "markdownDescription": "Specifies the numerator (x value) for the \u201cX of Y times\u201d condition", "wire": { "jsonPath": "roundsViolatingRequired", "sdkField": "RoundsViolatingRequired", @@ -2808,28 +2808,35 @@ "hcl": "[{ agent_id = \"3\" }]" }, { - "attr": "url", - "hcl": "\"https://www.example.com\"" + "attr": "bandwidth_measurements", + "hcl": "false" }, { - "attr": "interval", - "hcl": "3600" + "attr": "desired_status_code", + "hcl": "\"200\"" + }, + { + "attr": "dns_override", + "hcl": "\"8.8.8.8\"" }, { "attr": "fixed_packet_rate", "hcl": "50" }, { - "attr": "bandwidth_measurements", - "hcl": "false" + "attr": "headers", + "hcl": "[\"X-Tfacc: yes\"]", + "wire": [ + "X-Tfacc: yes" + ] }, { - "attr": "desired_status_code", - "hcl": "\"200\"" + "attr": "interval", + "hcl": "3600" }, { - "attr": "dns_override", - "hcl": "\"8.8.8.8\"" + "attr": "url", + "hcl": "\"https://www.example.com\"" } ] } diff --git a/blueprints/thousandeyes/resources/user.blueprint.json b/blueprints/thousandeyes/resources/user.blueprint.json index 2ff17d64..3ea0bad7 100644 --- a/blueprints/thousandeyes/resources/user.blueprint.json +++ b/blueprints/thousandeyes/resources/user.blueprint.json @@ -531,6 +531,7 @@ }, { "attr": "all_account_group_role_ids", + "hcl": "", "omit": true }, { diff --git a/cmd/tfpluginframeworkgen/interop_test.go b/cmd/tfpluginframeworkgen/interop_test.go index d21b43fe..7d5fc7ac 100644 --- a/cmd/tfpluginframeworkgen/interop_test.go +++ b/cmd/tfpluginframeworkgen/interop_test.go @@ -90,8 +90,8 @@ func TestUnit_CLI_Interop_TheCommittedSpecIsValid(t *testing.T) { } // Sorted by name in the export, so the alerts pair precedes credential, the // tests_* family and tag. - if len(doc.Resources) != 21 || doc.Resources[0].Name != "account_group" { - t.Fatalf("got %d resources starting %q, want 21 starting with account_group", + if len(doc.Resources) != 23 || doc.Resources[0].Name != "account_group" { + t.Fatalf("got %d resources starting %q, want 23 starting with account_group", len(doc.Resources), firstName(doc.Resources)) } byName := map[string]int{} @@ -250,7 +250,7 @@ func TestUnit_CLI_Interop_ImportWritesInvisibleDrafts(t *testing.T) { t.Fatalf("walking the output: %v", err) } - if len(found) != 22 { + if len(found) != 24 { t.Errorf("wrote %d drafts (%v), want a provider draft and one per resource", len(found), found) } diff --git a/internal/blueprint/binding.go b/internal/blueprint/binding.go index 19e43595..48c66747 100644 --- a/internal/blueprint/binding.go +++ b/internal/blueprint/binding.go @@ -191,6 +191,10 @@ type Argument struct { // Expr is a verbatim Go expression, required for ArgLiteral and otherwise an // override the emitter would have derived from Field. Expr string `json:"expr,omitempty"` + // Imports are the packages Expr references -- a request option like + // client.WithQueryParam("expand", "filters") names the SDK's client package, + // which crud.go otherwise never imports. + Imports []Import `json:"imports,omitempty"` } // IDBinding says where a resource's identifier comes from after create, and what @@ -271,6 +275,11 @@ type WireBinding struct { // Expand converts Terraform to SDK; Flatten converts SDK to Terraform. Expand *ConvertCall `json:"expand,omitempty"` + // UpdateExpand overrides Expand for the update body, for an SDK whose update + // type declares a field differently from create's -- an endpoint label's Name + // is string on LabelRequest and *string on Label, and one assignment list + // cannot fill both. Meaningful only with a split update body. + UpdateExpand *ConvertCall `json:"updateExpand,omitempty"` Flatten *ConvertCall `json:"flatten,omitempty"` // SkipExpand excludes an attribute from the request body. A computed diff --git a/internal/probe/probes_rehearsal.go b/internal/probe/probes_rehearsal.go index 2172cd70..28b491a3 100644 --- a/internal/probe/probes_rehearsal.go +++ b/internal/probe/probes_rehearsal.go @@ -176,7 +176,7 @@ func (p rehearsal) directionA( } hops.createEcho = resp - read1, err := s.ReadCreated(ctx, p.Name(), id, nil) + read1, err := s.ReadCreated(ctx, p.Name(), id, expansionQuery(sc)) out.Requests++ if err != nil { return nil, err @@ -243,7 +243,7 @@ func (p rehearsal) directionA( } hops.updateEcho = upd - read2, err := s.ReadCreated(ctx, p.Name(), id, nil) + read2, err := s.ReadCreated(ctx, p.Name(), id, expansionQuery(sc)) out.Requests++ if err != nil { return hops, err @@ -255,7 +255,7 @@ func (p rehearsal) directionA( } out.Requests++ - read3, err := s.ReadCreated(ctx, p.Name(), id, nil) + read3, err := s.ReadCreated(ctx, p.Name(), id, expansionQuery(sc)) out.Requests++ if err != nil { return hops, err @@ -314,7 +314,7 @@ func (p rehearsal) directionB( } hops.createEcho = resp - read1, err := s.ReadCreated(ctx, p.Name(), id, nil) + read1, err := s.ReadCreated(ctx, p.Name(), id, expansionQuery(sc)) out.Requests++ if err != nil { return nil, err @@ -330,7 +330,7 @@ func (p rehearsal) directionB( } out.Requests++ - read2, err := s.ReadCreated(ctx, p.Name(), id, nil) + read2, err := s.ReadCreated(ctx, p.Name(), id, expansionQuery(sc)) out.Requests++ if err != nil { return hops, err diff --git a/internal/render/acctest.go b/internal/render/acctest.go index a89f956d..78a9dba5 100644 --- a/internal/render/acctest.go +++ b/internal/render/acctest.go @@ -76,6 +76,15 @@ func TestHelper( imports.add(bp.Provider.SDK.ClientImport.Path, bp.Provider.SDK.ClientImport.Alias) imports.add(bp.Provider.GoModule+"/"+accSubdir+"/exists", "") + // A literal argument's expression can name packages of its own -- an aliased + // request option for an expansion-gated read is the live case, aliased because + // the helper's own client variable shadows the SDK's client package name. + for _, a := range op.Args { + for _, imp := range a.Imports { + imports.add(imp.Path, imp.Alias) + } + } + v := TestHelperView{ Header: GeneratedHeader(opts.BlueprintPath, opts.BlueprintSHA256), Package: r.GoPackage, @@ -155,6 +164,18 @@ func helperArgs(r blueprint.Resource, op blueprint.Operation) ([]string, error) out = append(out, fmt.Sprintf("state.Attributes[%s]", goStringLit(name))) + case blueprint.ArgLiteral: + // A literal with an expression is a constant -- a request option like an + // expansion query needs no source, only repeating. Without one there is + // nothing to repeat, which stays a refusal below. + if a.Expr != "" { + out = append(out, a.Expr) + + continue + } + + fallthrough + default: return nil, &ErrUnsupported{ What: fmt.Sprintf("test helper for resource %q", r.Key), diff --git a/internal/render/render.go b/internal/render/render.go index e19a9d5e..675e14e9 100644 --- a/internal/render/render.go +++ b/internal/render/render.go @@ -220,6 +220,10 @@ type ConstructView struct { type ConstructTarget struct { RequestType string ConstructorExpr string + // Assignments are the update body's own statements. They differ from the + // create list exactly where an attribute declares UpdateExpand -- an SDK whose + // update type spells a field differently from create's. + Assignments []string } // StateView is the flatten function. @@ -547,6 +551,21 @@ func Resource(bp blueprint.Blueprint, r blueprint.Resource, opts Options) (Resou } v.CRUD = crud + // An argument's verbatim expression can name packages crud.go never otherwise + // imports -- a request option for an expansion-gated read is the live case. + for _, op := range []*blueprint.Operation{ + r.Binding.Create, r.Binding.Read, r.Binding.Update, r.Binding.Delete, + } { + if op == nil { + continue + } + for _, arg := range op.Args { + for _, imp := range arg.Imports { + impCRUD.add(imp.Path, imp.Alias) + } + } + } + // The identifier assignment can name an SDK type in a generic argument -- // alerts_rule's id flattens through EnumToFramework[alert_rules.RuleId] -- and // crud.go otherwise never imports the service package. Gated on actual use: @@ -1135,39 +1154,51 @@ func constructView(r blueprint.Resource, shapes []nestedShape) ConstructView { continue } - // A fallible conversion becomes two statements plus a diagnostics append, - // which is why the enclosing function has to return diagnostics at all. - if a.Wire.Expand.ReturnsError { - v.NeedsDiagnostics = true - - // A wrapper cannot take a two-value call, so the result lands in a temp - // first: Deref for a value-typed field the helper points at (a - // suppression window's required Repeat), Cast for a named slice of what - // the helper produces (a dashboard filter's Context). - if needsTemp(*a.Wire.Expand) { - call := *a.Wire.Expand - call.Deref, call.Cast = false, "" - tmp := lowerFirst(a.GoField) + "Raw" - v.Assignments = append(v.Assignments, fmt.Sprintf( - "%s, d := %s\ndiags.Append(d...)\nbody.%s = %s", - tmp, convertExpr(call, "data."+a.GoField), a.Wire.SDKField, - wrapConverted(*a.Wire.Expand, tmp))) - continue + if v.Update != nil { + updateCall := a.Wire.Expand + if a.Wire.UpdateExpand != nil { + updateCall = a.Wire.UpdateExpand } - - v.Assignments = append(v.Assignments, fmt.Sprintf( - "body.%s, d = %s\ndiags.Append(d...)", - a.Wire.SDKField, convertExpr(*a.Wire.Expand, "data."+a.GoField))) - continue + v.Update.Assignments = append(v.Update.Assignments, + expandAssignment(*updateCall, a, &v.NeedsDiagnostics)) } - v.Assignments = append(v.Assignments, fmt.Sprintf("body.%s = %s", - a.Wire.SDKField, convertExpr(*a.Wire.Expand, "data."+a.GoField))) + v.Assignments = append(v.Assignments, + expandAssignment(*a.Wire.Expand, a, &v.NeedsDiagnostics)) } return v } +// expandAssignment renders one construct statement for a call and attribute. +// +// A fallible conversion becomes two statements plus a diagnostics append, which is +// why the enclosing function has to return diagnostics at all. A wrapper cannot take +// a two-value call, so the result lands in a temp first: Deref for a value-typed +// field the helper points at, Cast for a named slice of what the helper produces. +func expandAssignment(call blueprint.ConvertCall, a blueprint.Attribute, needsDiags *bool) string { + if !call.ReturnsError { + return fmt.Sprintf("body.%s = %s", + a.Wire.SDKField, convertExpr(call, "data."+a.GoField)) + } + + *needsDiags = true + + if needsTemp(call) { + inner := call + inner.Deref, inner.Cast = false, "" + tmp := lowerFirst(a.GoField) + "Raw" + return fmt.Sprintf( + "%s, d := %s\ndiags.Append(d...)\nbody.%s = %s", + tmp, convertExpr(inner, "data."+a.GoField), a.Wire.SDKField, + wrapConverted(call, tmp)) + } + + return fmt.Sprintf( + "body.%s, d = %s\ndiags.Append(d...)", + a.Wire.SDKField, convertExpr(call, "data."+a.GoField)) +} + func stateView( s blueprint.Schema, responseType string, diff --git a/internal/sdkbind/verify.go b/internal/sdkbind/verify.go index 3e148936..ca83fa40 100644 --- a/internal/sdkbind/verify.go +++ b/internal/sdkbind/verify.go @@ -627,6 +627,13 @@ func verifySplitFieldsAgree( if request == "" || update == "" || a.Wire.SkipExpand || a.Wire.Expand == nil { return } + // A per-op expand converter is the declared answer to a type that differs + // between the two bodies -- existence on each is already checked above, and + // identity is exactly what UpdateExpand exists to not require. + if a.Wire.UpdateExpand != nil { + r.Checked++ + return + } created, errC := l.LookupField(svc.ImportPath, request, a.Wire.SDKField) updated, errU := l.LookupField(svc.ImportPath, update, a.Wire.SDKField) diff --git a/internal/templates/construct.go.tmpl b/internal/templates/construct.go.tmpl index ebe746f4..901c7c6c 100644 --- a/internal/templates/construct.go.tmpl +++ b/internal/templates/construct.go.tmpl @@ -36,9 +36,9 @@ func constructResource(ctx context.Context, data *{{ .ModelTypeName }}) *{{ .Con // constructResourceUpdate builds the update request body. // // A separate function because this SDK gives update its own request type. The -// assignment list is identical to constructResource's -- the two types are -// field-name clones, and the bindings check has proven every assigned field -// exists on both -- so the only thing that differs is the type being filled. +// assignment list is create's except where an attribute declares updateExpand -- +// an SDK whose update type spells a field differently from create's -- and the +// bindings check has proven every assigned field exists on its own type. {{- if .Construct.NeedsDiagnostics }} func constructResourceUpdate(ctx context.Context, data *{{ .ModelTypeName }}) (*{{ .Construct.Update.RequestType }}, diag.Diagnostics) { var ( @@ -51,7 +51,7 @@ func constructResourceUpdate(ctx context.Context, data *{{ .ModelTypeName }}) *{ tflog.Debug(ctx, "constructing update request body", map[string]any{"resource": ResourceName}) body := {{ .Construct.Update.ConstructorExpr }} -{{ range .Construct.Assignments }} +{{ range .Construct.Update.Assignments }} {{ . }} {{- end }} {{ if .Construct.NeedsDiagnostics }} diff --git a/interop-specs/thousandeyes/provider-code-spec.json b/interop-specs/thousandeyes/provider-code-spec.json index 2749e4bb..5177f00b 100644 --- a/interop-specs/thousandeyes/provider-code-spec.json +++ b/interop-specs/thousandeyes/provider-code-spec.json @@ -862,6 +862,160 @@ "markdown_description": "Manages a ThousandEyes credential: a named secret whose value is stored encrypted and used by browser synthetics transaction tests. The create and update responses deliberately omit the value; state is populated by the read that follows, which returns it decrypted." } }, + { + "name": "dashboard", + "schema": { + "attributes": [ + { + "name": "account_id", + "int64": { + "computed_optional_required": "computed", + "deprecation_message": "The API documents this field as deprecated.", + "description": "Identifier for the account group associated with a dashboard." + } + }, + { + "name": "aid", + "string": { + "computed_optional_required": "computed", + "description": "Identifier for the account group associated with a dashboard." + } + }, + { + "name": "created_by", + "int64": { + "computed_optional_required": "computed", + "deprecation_message": "The API documents this field as deprecated.", + "description": "Identifier for the user that created a dashboard." + } + }, + { + "name": "dashboard_created_by", + "string": { + "computed_optional_required": "computed", + "description": "Identifier for the user that created a dashboard." + } + }, + { + "name": "id", + "string": { + "computed_optional_required": "computed", + "description": "Identifier of a dashboard.\n\nNamed `id` because terraform-plugin-testing populates import state only from an attribute literally called id; the wire field stays dashboardId." + } + }, + { + "name": "dashboard_modified_by", + "string": { + "computed_optional_required": "computed", + "description": "Identifier for the user that last modified a dashboard." + } + }, + { + "name": "dashboard_modified_date", + "string": { + "computed_optional_required": "computed", + "description": "UTC date/time when a dashboard was last modified (ISO date-time format)." + } + }, + { + "name": "description", + "string": { + "computed_optional_required": "optional", + "description": "A text description of the dashboard's purpose and functionality. This information assists users in understanding the dashboard but isn't displayed when viewing a dashboard." + } + }, + { + "name": "global_filter_id", + "string": { + "computed_optional_required": "optional", + "description": "Default global dashboard filter ID (obtained from `/dashboards/filters` endpoint)." + } + }, + { + "name": "global_override", + "bool": { + "computed_optional_required": "computed", + "deprecation_message": "The API documents this field as deprecated.", + "description": "When set to `true`, the defaultTimespan is used and overrides the widget's timespan. If set to `false`, the the widget's timespan is used." + } + }, + { + "name": "is_built_in", + "bool": { + "computed_optional_required": "computed", + "description": "Indicates if a dashboard is built-in. True for built-in dashboards, false for user-created dashboards." + } + }, + { + "name": "is_default_for_account", + "bool": { + "computed_optional_required": "computed", + "description": "Indicates whether this dashboard is the account group's default. True for default, false if not." + } + }, + { + "name": "is_default_for_user", + "bool": { + "computed_optional_required": "computed", + "description": "Indicates whether this dashboard is the user's default. True for default, false if not." + } + }, + { + "name": "is_global_override", + "bool": { + "computed_optional_required": "computed_optional", + "description": "When set to `true`, the defaultTimespan is used and overrides the widget's timespan. If set to `false`, the the widget's timespan is used.\n\n\nObserved: the API assigns false when this is omitted.\nObserved: the API assigns false when this is omitted from an update.\nOmitting this field from an update resets it rather than preserving the stored value.\n" + } + }, + { + "name": "is_migrated_report", + "bool": { + "computed_optional_required": "computed", + "description": "True if this dashboard was previously a report." + } + }, + { + "name": "is_private", + "bool": { + "computed_optional_required": "computed_optional", + "description": "A dashboard can be viewed by other users in the account. If true, only the creator of the dashboard may view it. If false, all users in the same account may view it.\n\n\nObserved: the API assigns false when this is omitted.\nObserved: the API assigns false when this is omitted from an update.\nOmitting this field from an update resets it rather than preserving the stored value.\n" + } + }, + { + "name": "migrated_report", + "bool": { + "computed_optional_required": "computed", + "deprecation_message": "The API documents this field as deprecated.", + "description": "True if this dashboard was previously a report." + } + }, + { + "name": "modified_by", + "int64": { + "computed_optional_required": "computed", + "deprecation_message": "The API documents this field as deprecated.", + "description": "Identifier for the user that last modified a dashboard." + } + }, + { + "name": "modified_date", + "string": { + "computed_optional_required": "computed", + "deprecation_message": "The API documents this field as deprecated.", + "description": "UTC date/time when a dashboard was last modified." + } + }, + { + "name": "title", + "string": { + "computed_optional_required": "optional", + "description": "Title of a dashboard.\n\nMarked required-by-API by curation: title is the sweeper's field, so the probe cannot test omitting it, and a titleless dashboard is unaddressable in the UI either way." + } + } + ], + "markdown_description": "Retrieve dashboard." + } + }, { "name": "dashboards_filter", "schema": { @@ -1026,6 +1180,79 @@ "markdown_description": "Get dashboard filter." } }, + { + "name": "endpoint_label", + "schema": { + "attributes": [ + { + "name": "color", + "string": { + "computed_optional_required": "computed_optional", + "description": "UI color\n\n\nObserved: the API assigns \"#d9d9d9\" when this is omitted.\n" + } + }, + { + "name": "filters", + "set_nested": { + "computed_optional_required": "optional", + "nested_object": { + "associated_external_type": { + "type": "endpoint_agent_labels.Filter" + }, + "attributes": [ + { + "name": "key", + "string": { + "computed_optional_required": "computed_optional", + "description": "Type of filter - the data that will be used to filter.\n\n\nValues accepted here: `agent-id`, `public-network`, `local-network`, `connection`, `gateway`, `platform`, `agent-type`, `vpn-vendor`, `vpn-gateway-address`, `vpn-client-network`, `vpn-client-address`, `ip-address-family`, `ssid`, `bssid`, `hostname`, `username`, `asn`.\nObserved: the API assigns \"platform\" when this is omitted.\nThe API accepted a value from outside the documented set, so no OneOf validator is generated for this attribute.\n" + } + }, + { + "name": "mode", + "string": { + "computed_optional_required": "computed_optional", + "description": "Type of matching to be applied for the values:\n\n* `in`: The value on the agent must match one of the list of values provided.\n* `not-in`: The value on the agent must not match any of the list of values provided.\n\n\nValues accepted here: `in`, `not-in`.\nObserved: the API assigns \"in\" when this is omitted.\nThe API accepted a value from outside the documented set, so no OneOf validator is generated for this attribute.\n" + } + }, + { + "name": "values", + "set": { + "computed_optional_required": "optional", + "element_type": { + "string": {} + } + } + } + ] + }, + "description": "The filters combined using the matchType to determine the label's match.\n\nThe API refuses a label without at least one filter (live probe, 2026-08-04).\n\nOnly returned when the read asks for expand=filters; the generated read always does (live probe, 2026-08-04).\n\n\nThe API enforces this field's presence, which the specification does not declare.\n" + } + }, + { + "name": "id", + "string": { + "computed_optional_required": "computed", + "description": "Label identifier." + } + }, + { + "name": "match_type", + "string": { + "computed_optional_required": "optional", + "description": "Specifies how the filters are combined for matching this label.\n\n* `and`: All filters must be matched.\n* `or`: Any of the filters should match.\n\n\nValues accepted here: `and`, `or`.\nThe API enforces this field's presence, which the specification does not declare.\n" + } + }, + { + "name": "name", + "string": { + "computed_optional_required": "optional", + "description": "The label name.\n\nRequired-by-API by curation: the sweeper's field, unprobeable by omission." + } + } + ], + "markdown_description": "Retrieve label." + } + }, { "name": "role", "schema": { diff --git a/pilot/thousandeyes/.tfpluginframeworkgen/manifest.json b/pilot/thousandeyes/.tfpluginframeworkgen/manifest.json index 78f356fe..6f888d69 100644 --- a/pilot/thousandeyes/.tfpluginframeworkgen/manifest.json +++ b/pilot/thousandeyes/.tfpluginframeworkgen/manifest.json @@ -4,222 +4,222 @@ "files": [ { "path": "internal/provider/actions.go", - "sha256": "42ea1383cf7676de4ffd330df5562abb33f1758a92249f3f9985c210f5e90e19", + "sha256": "f86efac52eb001296b204e43c52e2a383bdf1d78505aafa61cad55641fca30c7", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/provider/datasources.go", - "sha256": "4c864656a1576a4338f7df9adbda7890839209328532a0ab3d75a8dcf8ffa441", + "sha256": "246628d7d311ec1f8bd039b99595a61b900ffb97de40142bff0bf10452359f65", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/provider/ephemerals.go", - "sha256": "3049a24919b6faed2d2e474e050f02871a5ab5d0f1a7f9f8246fbcecf871bbea", + "sha256": "ead4096ffd096f7e061dfacfda3cf327c5918f8b520f26212ce6bf92951296f1", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/provider/list_resources.go", - "sha256": "6e8733808a31353f18832a464ad9fb0b751ff77ca7b886c007831de7d2f31c53", + "sha256": "3c5a89520d0c923d840b956fb448483af091b4018a0a15d2f3b37465b0f48948", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/provider/resources.go", - "sha256": "c7bb2c0792de4159e438ecc0d6e9d8dc7894fb8f976fdfd2b33d7f89ee95d47b", + "sha256": "6612247f1172e7864fb13b9748a720a11d50fb2bd713638719451e2a7a4d70a2", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/action.go", - "sha256": "a957b4e259b476b57182f62e14396bf7ab7acd35eae1fe587ee673b63403a643", + "sha256": "95f25052086eb3663240a37cbbe1b41d66e2275351719c6fe9554ca745a00498", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/action_acceptance_test.go", - "sha256": "b01b740c42fcdb1c27901a5287cb18bdfdb7fdc2820f9296f247ce60f1555326", + "sha256": "3c2f0019a4c9f7b017cb424ad9322f89dbdb5dbb787337cc04519eb28b294228", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/invoke.go", - "sha256": "c395f72a8e26fbf23f28f8aac97386fdd85d2bf1865850209377c3f7eff20a5e", + "sha256": "e42cb7427e7ab1f8c0f5a1d33e3d7f2ca2d12eba55221df4396e739961724e44", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/model.go", - "sha256": "2948f4290d331d260ff2980d14252c6f87ab204034d7436c6977f92efd04aec4", + "sha256": "a85af5f03d483c67665762029ed1bed8abf183235ff474ba66bfe0a64227f09f", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/testdata/action.tf", - "sha256": "f070ccc5c279b9a7c529e0a20c61a71f30f7bfe149fa6478562a9e3586a10750", + "sha256": "145e2072962747e5a539cc37ccf39c4f054cf5bc859c33f7c068ed076f501d44", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/datasources/tags/v7/tag/datasource.go", - "sha256": "0a1b7562f07cb7c76e47bfdc56eceba88c0cf367da9508290f7ba8fd2108d687", + "sha256": "a8d28709f6b9886dc24328c208185c4c7688e48d19abc5ed4f34935d6d894f80", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/datasources/tags/v7/tag/datasource_acceptance_test.go", - "sha256": "490f16f144184fb4f175b5edcd72c69c20598950009cede30d0d3d269f55801f", + "sha256": "5a241ac9e2769f20dc9cc6fcab83f304cdfafa29ff9adf87bf5532045f5adeae", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/datasources/tags/v7/tag/model.go", - "sha256": "a65673dac936d188dcc0cadf8219a5dfb185aed26950ab6c79aa7b2af1ab8556", + "sha256": "a53c80e07d14be28027921f2a04f307c70bd47ce4ef78025716bea7d4ef0f8ac", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/datasources/tags/v7/tag/read.go", - "sha256": "7a4e43c32fc060b0188c6c20193d091a0d57b13fd62ac3a96438dc556cab163a", + "sha256": "fe508161e1a395c3aa07b81409ab5411595f022504e048a7c657ee401a2b4ba1", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/datasources/tags/v7/tag/seed_helper_test.go", - "sha256": "8b544848e173eaa997ebd735464fec3ef701374e2c181a2ed9ff96edf08cc7d9", + "sha256": "59648e9be726a61f991b7529250a83aa0dc439280b6236bb2e92692ace52bffe", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/datasources/tags/v7/tag/state.go", - "sha256": "05cc65c0b6751eec52d3d70b3b1fa01747c76741c7bb077890d6fbdb43b081f4", + "sha256": "61147f6f11a0ee0ee68072fbc3071f5407f4208fb08654dc0b4577efd30c5e54", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/datasources/tags/v7/tag/testdata/datasource.tf", - "sha256": "9df6b8f301305d3dbb31c71e3a68535eba1c466d2bce3eb7f21cafb2e926a320", + "sha256": "6a3e343961a149489e5b0854696a58378ae1db867952d759104e111c1ffcd656", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/datasources/tags/v7/tags/datasource.go", - "sha256": "76c889a40af0052290750ffff8bc2dc8860e28158887a319bcac6519319190dc", + "sha256": "b222c04949bb0671dd2a28cfd5f94ac2483b4277e1232a68970698b0958d1978", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/datasources/tags/v7/tags/datasource_acceptance_test.go", - "sha256": "d980c5ef4ecf29b1af903e05b0526ebb91e63f58c5484526cd619b12d1520cd5", + "sha256": "6235c6385afa7dd5af3a611000f2f9f56e4b28e44cca35e76926c31ddfa6b77f", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/datasources/tags/v7/tags/model.go", - "sha256": "d3ae196327c1d1c4235dfa3d78352db8ba5530081a0e7539f80ef090935b82fd", + "sha256": "ff1aa22c58d77229d0884faf89358cd33b127b1790e03028b636c874407ffc0b", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/datasources/tags/v7/tags/read.go", - "sha256": "67153794c8ffc58fa5db8a6f3adc1279e13f048eaf899451d9f3687a3b4336d5", + "sha256": "779892d55034807adc9f56e0826603e4b5430886190079f381531ffd467a29e2", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/datasources/tags/v7/tags/seed_helper_test.go", - "sha256": "d10a56c9597861933ab9d043eff700139dd4df35ce498255ac88488826c4b484", + "sha256": "0287cf5cbdc3d62a187e2499887101229b6af5a4505c43cae02999e7153cd49b", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/datasources/tags/v7/tags/state.go", - "sha256": "363c2b18f2f8ab86faa3a78bd34e796cd69c62d23a11729e74a191e36a205f34", + "sha256": "a4ad682232e45ebda1756c730af5d1e3f4eb721f8afe9ed926c75b45ed249b3d", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/datasources/tags/v7/tags/testdata/datasource.tf", - "sha256": "81073ebcc49794977c64360971b7b5902e3e8df8c5d486d259ccfa17c8d8a0a2", + "sha256": "d2516414faa44bc14dccef0f78612525014140c1aca78e245175b32f43780258", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/ephemerals/credentials/v7/credential/ephemeral.go", - "sha256": "48e66397a844c6f2685969a3a94ea8624dad28fc56ca16b9d3907a0e68aee803", + "sha256": "45ba1368092e0f7e039d87f90fc48685a9d48c512f518cf93b6b05bee9004ff1", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/ephemerals/credentials/v7/credential/ephemeral_acceptance_test.go", - "sha256": "c28f1931e2eb8ba63c9642285ec76ac8cb81e09840b657cde34ca92ca130e632", + "sha256": "89a9724320537d889100e6cbb7889354b09dae246344d62d128f1e5c69cbb2d2", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/ephemerals/credentials/v7/credential/model.go", - "sha256": "56957b882dcfa1cd969cba1a8b2c2e00cdee12beed438087162c9f6f980a4213", + "sha256": "b64d24b8360270d37da57e7454226b79c84ad4712567efa7c517cf3833bcee81", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/ephemerals/credentials/v7/credential/open.go", - "sha256": "93f709b4ca5a6ed09623721af8445bdc50e9f2c9c29a11d973b5f027274f54a1", + "sha256": "68d9878df11bca013150f2eae27b2277f3f3a1236906bd1593e1ead6bb75bc92", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/ephemerals/credentials/v7/credential/seed_helper_test.go", - "sha256": "098ecbac2d4244e7b7e83b2b41b7782179f43d8dfb9234844c99de6fde981e8c", + "sha256": "ff2305a8a5a0741cc6596e18503bfb0e094692145d9d5e7c54e06eee407c7181", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/ephemerals/credentials/v7/credential/state.go", - "sha256": "07d97e245bd85ab312f96eaad255abb839b51a07e387c264c39f7d93ce85108b", + "sha256": "0b5f2796edbc68009fc970bf22b0be2c98e4be8dcfeb2223945e40ffc76a6f2f", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/ephemerals/credentials/v7/credential/testdata/ephemeral.tf", - "sha256": "c785a49ee4284f1eeda9d8e1b4009dca601c48a80cac8d4c6cdc6345d7903baf", + "sha256": "5359d32db518add4822b6b0ac0ebbd75bffe62ae5a93b8cae1e70967dcb4c64a", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/account_groups/v7/account_group/construct.go", - "sha256": "38b19be8b5325717b8cf6ae26be51c0fca18bb2a6b42690de95417acf35b8618", + "sha256": "6c0c183251335b1fd7f4fdbd701558be5cdd4222017a8014a217bfdc86ac49aa", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/account_groups/v7/account_group/crud.go", - "sha256": "d0a1f741d7c4bba3b5a88c2dfd6dc6e5a1b62b938ba48bc5ad9f0f5f624e9aa6", + "sha256": "a6197348dba72f50cb53bead63a17a61f1a05d328828c16198f9c54a106fc86c", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/account_groups/v7/account_group/model.go", - "sha256": "de11d45cc18ac4bf281037b292dd3657753508f6cc8d06313936ec9b39ae28a7", + "sha256": "9740f87acf0241aecf6555aef477599f57c065758778572ecf353860dc55f2d1", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/account_groups/v7/account_group/resource.go", - "sha256": "2e797beb3569792c7e885e2017b53ade21455fc3e0631946c1fbf7c3d70971f7", + "sha256": "1dcd509bfe95ad76635537243b8cbf37afc957e429e85c9eae76e67328340729", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/account_groups/v7/account_group/resource_acceptance_test.go", - "sha256": "dc9d029ebbf06196912efee1070fb5ba631ec85c828fc3a53ae7f4f15999d82b", + "sha256": "433dd72138e6679943322ae3cf95c7706f516cda42f68e331173daa181e151c3", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/account_groups/v7/account_group/state.go", - "sha256": "2cd46829856b8fded80fc29ceb512c464ef2937c7b18c47b4a1954cd4642930c", + "sha256": "a0eb7940a88d27cf5e79bce3c2191b5e58a21c1057af21fa621941f21b16d1ec", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/account_groups/v7/account_group/test_helper_test.go", - "sha256": "5787744f07cf1e8aeba5cf2709ffdf65e80ce5d60aa575905b3e42c13bd3e5d2", + "sha256": "270861c04c074e3bb55c1c9c92fcfcb5ab67a3fb2854fc0ed2a8c20b588602d1", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/account_groups/v7/account_group/testdata/maximal.tf", - "sha256": "01950db3af5008420c21b5a34b79e388adae52ecde590918c7f1544a13bcb6ab", + "sha256": "c7c2336f54ba5481c55825cb094faac07a86975b081ed34cf1234ce50591c04b", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/account_groups/v7/account_group/testdata/minimal.tf", - "sha256": "b16330203f0965b71308632e4fa2ba649e1e609c99256e916e9dcc227a395a4b", + "sha256": "ca0057bbcae9ef894859c7eb00dad3fc48421cfe82325a5d921ad214c5efe5de", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/construct.go", - "sha256": "763a5200b1fcfc44be35142ab33262b30140f6cc3c1131a643ada02b71a6fb85", + "sha256": "fc477b52798eb5c51c41d0893c4350c57b8c4733d90cbce42eaf7378a74b0a5d", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/crud.go", - "sha256": "29757d89176dd04e07c12d719b46989364d27317748350d1ccef82e9579d2fea", + "sha256": "16666b22c6c5dcc48f37e89f351a697661ee8aa26dfa7165842a1f84a712658b", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/model.go", - "sha256": "75f297ec51bf6f277f82241bfd32113128f7f0b568ff6b29b8231b76ee4e2903", + "sha256": "1d4d315f39936c5f72df44a5fc4b084901d03b364489150365d826a3ee7ca693", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/resource.go", - "sha256": "5c5453a8fdf30e7a2d00bd4276b80ffc14a16c5fe146b7f387217682de079241", + "sha256": "653fe97af49a18e87a9ddaaaa2bef8cc5ef245d810e1a4c180397c5215d8149c", "blueprint": "blueprints/thousandeyes" }, { @@ -229,12 +229,12 @@ }, { "path": "internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/state.go", - "sha256": "5d336a2440033514ef58aa41966fb7273cd3ad1570dc6300798694212db2602a", + "sha256": "daf254ee270b49ad3d63333cab37a20afe95614063bf007de5026e4d472ed85a", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/test_helper_test.go", - "sha256": "722c006babea9a317d4b75e74514425cc320f216495259f81a7ad9a8ac9d19a5", + "sha256": "dd002594d275456ae9c123f44836bd85f79591966a1ae9aa35adfe4bc6c211f1", "blueprint": "blueprints/thousandeyes" }, { @@ -244,812 +244,902 @@ }, { "path": "internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/construct.go", - "sha256": "1d89ba5d6eaf3ac6a62552bcbdc4691b17b95fe62f3e8a8f6e3c1b8c3f74431d", + "sha256": "dfc18f619dafacb0a43991f1ae4174bc0de767c134f5ff0da5fbdc2487933af6", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/crud.go", - "sha256": "6d65894184fe10d8d056be9d166b286bf794351eb3f3343663e95285f35140d1", + "sha256": "4b64b7a6ebce0a84de265a54647d373606d324dcdfa4ab3d147cda43b378dc86", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/model.go", - "sha256": "d5b48f5557ee5cd0ba486b426d5c449d9c07277b6959ac4eff74a2b1b19b6afa", + "sha256": "5b297825fc51efeb8febcb1c1cd9dcced74ed7068344b37946a570677ce9eb25", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/resource.go", - "sha256": "bf7d641c49e2c3b5b8741e717cc3f1e9a3cd50e102f70e852259a2a153fe328c", + "sha256": "b9b0ff129f07c5c285be36434be16f72e25231ed34396cf563442eab86c5c4f0", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/resource_acceptance_test.go", - "sha256": "ed31772bb657c75d5d6bb09416b96886da7eb6abda48962dea7d80cbceda2275", + "sha256": "2b1efa4f5158c2a71091682ad8148162e33110faf5be1e43f74869449984b9b4", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/state.go", - "sha256": "0729e9656db2f3983294cd8a9899370d3c72f1bb8daa242e58a389e47eb333e8", + "sha256": "51a1a021cc1eef23ad267a46dc8383df82c5af9917626020f2214eeb801f4a2c", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/test_helper_test.go", - "sha256": "1aa995f7a1f94baae7fe601f65c227a9fee17a7e728fc6c6a475b08a964c46fe", + "sha256": "84512861dd9b47c12e7bc47e9d16ec3fcfcd3ae30503c1f0f5fa228b3c44dae5", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/testdata/maximal.tf", - "sha256": "1dccf74c70c1ef1e69874aed6ae37257ee0162497063bd2c0294591a4e5b2810", + "sha256": "e7ffc3f947e4381b19ac18ddb704c87013a656f94f80d5c4ff36b0c60c060488", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/testdata/minimal.tf", - "sha256": "98558d0f28e47261d9ec0d237c9df19c9c1c0e69b2c0e8d1d8ae99b6c8377d7d", + "sha256": "71b102ebe1145e4ae26f4df13ab912d5a78f884ca061dc95a67187c4693aa81e", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/alert_rules/v7/alerts_rule/construct.go", - "sha256": "f1dc90ab235e28c7b1bd39461034483ea1f7d1be80960a48a587a9977aef76bb", + "sha256": "e025e0ae957288422bc649fa1f3100345d672a64cdeef8d348ad09d6825f9d12", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/alert_rules/v7/alerts_rule/crud.go", - "sha256": "b1baf2dda88381c250072063ceb0ed83470a79495b50968e65c85cd016fdd0c1", + "sha256": "8241ffba17d76a9f5138c7844957b40d2e75cbb471847ccf32487b9711d67455", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/alert_rules/v7/alerts_rule/model.go", - "sha256": "6625df3445abe79bac6d17dfe0a2506932839817d7f07badd601c221298bc9f1", + "sha256": "2c64afe366893a4d7a7a6e4a902d0064a2711c5ca7435258562b621acdfdfc9d", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/alert_rules/v7/alerts_rule/resource.go", - "sha256": "1ccda6b49dd6564ef161721aaa9744061698ca101484971b7765bd4da36969de", + "sha256": "da891e8104729e88763a613ab0df92a742ba1b7c79555d16917ee1649db44b25", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/alert_rules/v7/alerts_rule/resource_acceptance_test.go", - "sha256": "6615e2890a90ed93b8939ccedd35ac5536df6bce6245ae5114bd4f2812fa3dcd", + "sha256": "ab89261e15508bab216875b07a197e1600228b7f4d94631787f3a4bc344aeaf7", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/alert_rules/v7/alerts_rule/state.go", - "sha256": "60f014c94e78216c8e32c493adb74c17ddbcd1541a043d437a90f6d054260c24", + "sha256": "91677aaea5c4cf43076a0d76e4c120e8c877c37b790c3a460bdc9342b1deb97b", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/alert_rules/v7/alerts_rule/test_helper_test.go", - "sha256": "da0a8d6152b79c7fa002a42829174fcd6943a1d0713324d625a69352061836d3", + "sha256": "e597404023a8e08fb72524f490d7b1459ee46aa6c7f5e635ca6986aaf849c423", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/alert_rules/v7/alerts_rule/testdata/maximal.tf", - "sha256": "584daf69844cf396201ddfe44d08c23df125340a0919121d2d68724919003831", + "sha256": "58cc0750ae6a77d96dbfcbc04c3a3b2bba260e9c10d5857b33c26da9af86729f", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/alert_rules/v7/alerts_rule/testdata/minimal.tf", - "sha256": "b1b1e5e3d8f3268509636c6fd3d0bd07f2afd6c1ca200a034012326e80270894", + "sha256": "53a15ca664bc3c6c5b23a257fbe8cc8701997ac218e56ef41ab29a93c01f30f1", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/construct.go", - "sha256": "7c30399bceeff80e205c995c59b2c84693939308f6528e96b6f71c4fc5db30b8", + "sha256": "98c5477dc20372c62efc92312449afed0c1bfd85f20fa43ad90b68f4df706444", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/crud.go", - "sha256": "0da5327484eb693ccbaadb80fedc0ac72c1a489bd888286657f66f271665c281", + "sha256": "f1f9217bf4d79bfbf5a8c1f1fde7ea98b5fe5017d93a99ce2ae2483c3a0614ac", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/model.go", - "sha256": "159f45feaa40d06b7605b7c4d84e219945cc2117ebc99d0d47c33b71421a89da", + "sha256": "c6fd58ab6e00dd46c1ff42f78733ab7aaceacf4ac065039adede705c4b69b4a5", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/resource.go", - "sha256": "9695fab791a2bab92c96461efcace6681fdca036a893df945710491be995c7d0", + "sha256": "4a55c7d4ab8254116793e9bc4aa6692acc7f3fe249567698738fb8bbe09cf86c", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/resource_acceptance_test.go", - "sha256": "05aca934efc32490dccf26396ac38a82d99d08a45ae4af3c0c43baef925f6b82", + "sha256": "f1c37afc9fa171b9ff7d63b2504518e1faa0f22bc8077f7ed96ecce9832b323f", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/state.go", - "sha256": "1bf4ddb724dba98ef3e9755635969412d4a0c96cb2dbf78d9a32240484d018f7", + "sha256": "ca0c6074d0df2ecc60883f88faf5bde6383a3c9018e580667af53b7e00bb974f", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/test_helper_test.go", - "sha256": "3352517309a957eaa5929a8051a63f1b66004a8091336a0839437908af92eb83", + "sha256": "7c8f745c92812996b7a94b69949a059654f5cabfda1dea67da9b50b8b0f06d07", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/testdata/maximal.tf", - "sha256": "942f540127e5a86ccd1b409576d3173bed626c8cf7f3ebf430d7712ec66dc827", + "sha256": "b3ade8c8b5c241d0be6e31b715454638b3883e78b5e307f6b55363a5b02052f4", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/testdata/minimal.tf", - "sha256": "8daa67daa31fc51c75ac88c03253e255f1cf6250fbbd8a223096b3dc93065aae", + "sha256": "d971e98972b680f0a9882d80a8349daaa90a26399bf3bb42fb768ecc5d596955", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/api_tests/v7/tests_api/construct.go", - "sha256": "63c15bed74e7d83d82b53155773ba8230cb49ba7a2e86a1e414712d2a8cfaf21", + "sha256": "19e712c893d5f320e9d31f2cb70b1cb44007b335d08ad39554cffecc0ce1ffa7", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/api_tests/v7/tests_api/crud.go", - "sha256": "b6360ecbe0688e55c552903c1182a490533629b029837092d5f2b7b917ece1f6", + "sha256": "08f3e56701893633d65cac7ce2788473b61ac5239fab1ded167b9cea21e62df1", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/api_tests/v7/tests_api/model.go", - "sha256": "64055ca734a7235721d2311b9cb8402552b8e135426eb65ae489929f0222408c", + "sha256": "f66c6039e5cc6e68a94d431ec96b6d0bf6b15b18304e3485b457c3f119c3451c", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/api_tests/v7/tests_api/resource.go", - "sha256": "ffd2de0c29d0ad81364363322bff27a9981393b151d8b034f7a337ca3b80895e", + "sha256": "8a6102d02bfbec8ab391e4d962efe578f41442df8bc2754507369970b247ba4b", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/api_tests/v7/tests_api/resource_acceptance_test.go", - "sha256": "4b964d4b6583de1e5eaba9e5ec1d1ba13e965e5e5b345b7e3d26f90acbb6785c", + "sha256": "4112a7008301baebb25ab874f9bfd34a4423b280e90020ac1f4a95831dd82394", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/api_tests/v7/tests_api/state.go", - "sha256": "3be13f9d21d6e12ddd506e8a0a46ab0925dd89982dd17e5869227123a38966fc", + "sha256": "3f77d189668f8916f44b6a59a9726807c8583f2cf99da1198ddf133e4ff8960e", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/api_tests/v7/tests_api/test_helper_test.go", - "sha256": "25634dbe0edac8dbcbf86744cb246dc6c465d0fc96fdc7d30e60235e336f01a4", + "sha256": "48eed2ddc97380a746083d0f4a56a2113a603618476e89faf7a4dbf0ae2fc28e", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/api_tests/v7/tests_api/testdata/maximal.tf", - "sha256": "51e6f200fe55c8a97366c785c2ec5c6d747ffaab90b60d1b54bff306a245f8c8", + "sha256": "2d09cbd4ba3b74bf283e829088f10d39639469689d7fa4556d66de492f92d9c0", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/api_tests/v7/tests_api/testdata/minimal.tf", - "sha256": "5488d98be0167ef689f55546ac5bb48133c085891ba33685cec0b2d446d883c9", + "sha256": "7fb54a0c3054c6e1bec4c5eef38ac4203382f9278bc3219ad4cbc60529fbb51f", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/bgp_tests/v7/tests_bgp/construct.go", - "sha256": "5514861750873b4ebdfea03b2dee97b825bdae354b87124db2e4862ea844f73d", + "sha256": "7d213b1e3ca160039aee378d97cd694072777f0cd32447e670efdfc347fed558", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/bgp_tests/v7/tests_bgp/crud.go", - "sha256": "ae6a16eb7da9d5f3e9b267f3b9757b4ec9d250a383290cacdc1952de38240bd4", + "sha256": "d2a257978419e0a6deae9763b14ea5e196f1529680fd07331ca3175aeab0c2ab", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/bgp_tests/v7/tests_bgp/model.go", - "sha256": "76c6af4427a5c200d5e6b31f77b1c3a0d695e89dc65ff4236570612af49c9ccb", + "sha256": "b9438b74831b39b04eac235964c54769c1a434593ec8847f1a09ee9aa02a0c97", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/bgp_tests/v7/tests_bgp/resource.go", - "sha256": "cbc22488c4de84add627caa7e663ab4975e1e0af206bccebd8fe905fe6385450", + "sha256": "a9825aaf513fe2092ccbc1df682e8087fec6e38504ed10786b4489ac7d421d8f", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/bgp_tests/v7/tests_bgp/resource_acceptance_test.go", - "sha256": "e862d159ef4112b2633224aa98835f993cd5deb7f04ee8fb47228481d8f415c6", + "sha256": "91fa55fb920815b95086dd7668f98073db5f1f8fe219cd1814a08d3b110ff4a5", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/bgp_tests/v7/tests_bgp/state.go", - "sha256": "8582e8240676d070ca7e43d157e67325361fb5e6eee3075480e355838e8ec103", + "sha256": "6473b13a75ec82d02b8a713aba451ebbf58960b2891e0326988e581409e589f4", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/bgp_tests/v7/tests_bgp/test_helper_test.go", - "sha256": "288a7cdfba3c6c58b62204b3ff1077fd4c420061b4a2d09b543815d8ce758058", + "sha256": "0f1f416f62b628e69b604e2c74e51dae4fb6e3355982313c268e694b0c65426f", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/bgp_tests/v7/tests_bgp/testdata/maximal.tf", - "sha256": "66ac865d3347dbc4a50900dff9f2f75ffee2b620986f5da32b22be4246ca662e", + "sha256": "3b8618707ae185eac8c32987e77e6d7906072ffee5605e95d9d4dff769883371", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/bgp_tests/v7/tests_bgp/testdata/minimal.tf", - "sha256": "27c8001dc0f24a447606ccb843245cb3c4d9716cf5fed0d20acae33ec6fba5c0", + "sha256": "6495beed5b56072817330f5312a4fd30e6678d2641d706c9ac88c61b0a4e6490", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/credentials/v7/credential/construct.go", - "sha256": "b701bb77ac6ffb09853ec21b5a4da0b289ac4db262c00b5e82c1e3ba3a75e998", + "sha256": "8a38e376f780edb14c3bb4e8caf31597a0084378f32ca989b38f7d8b240f7500", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/credentials/v7/credential/crud.go", - "sha256": "2edd6cc59133834c33f8b7ac675ad4d8f7e90dadb6555f68b5468015735ad580", + "sha256": "c3a7e30a70373d99f9d6bbe69c37bb8d08f3bfa2fe787b922c3131cbf6a058d2", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/credentials/v7/credential/model.go", - "sha256": "078771ec1e6a44b4bd5dbb03503d2525c41581e22bc458ab23e8ab9bfde15a7a", + "sha256": "14ecc76a144a7fce31b99a6c5481826c569069daa73c9ca0b30b05b4a25250a2", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/credentials/v7/credential/resource.go", - "sha256": "73b1137e60fa1f12c7630e56534f9834f2893f8637d7fb58f6d582256ccfe1a5", + "sha256": "085ed2c3b54bf1953ae37b7b78e3e5ecbf1b6eac47f8fcf9da920059ae42e8be", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/credentials/v7/credential/resource_acceptance_test.go", - "sha256": "69189b0d92b68ffbcccbc654961c6d1a703cef96cb26983e34c651228914bf85", + "sha256": "73fe8bb1672caac9966365136d58814a8fb08535ed787d133ec495ad6f535992", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/credentials/v7/credential/state.go", - "sha256": "b377d0c27803b8ea7373d30c285c34a5d4de094a7ee9b9351f8baa6e8eff17d4", + "sha256": "56d9387aa2547b6f5b058a036e88e406ee0b8dbd54752c63a05e21dc327ba666", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/credentials/v7/credential/test_helper_test.go", - "sha256": "098ecbac2d4244e7b7e83b2b41b7782179f43d8dfb9234844c99de6fde981e8c", + "sha256": "ff2305a8a5a0741cc6596e18503bfb0e094692145d9d5e7c54e06eee407c7181", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/credentials/v7/credential/testdata/maximal.tf", - "sha256": "c417708b077c85893ee49525fbf323c11302251a63d6dbda77bad9e3cb1ae5c6", + "sha256": "69c6a78aac95893233c0fc0669dafe35f674ce52206c9b51d43d1e036725c5c3", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/credentials/v7/credential/testdata/minimal.tf", - "sha256": "cc8cf2672859d0dae661971d4b061e05019b00a9e9514aa2adb1c654b1d6a48c", + "sha256": "1905804550f4d00c498e5f9867f08b037cdfb2b61cdf4c32e0eea55b29c00b6d", + "blueprint": "blueprints/thousandeyes" + }, + { + "path": "internal/services/resources/dashboards/v7/dashboard/construct.go", + "sha256": "724adbde5aed0ea108234c59dccbf79afcf324e91640108a94a7b70e78987bfa", + "blueprint": "blueprints/thousandeyes" + }, + { + "path": "internal/services/resources/dashboards/v7/dashboard/crud.go", + "sha256": "0a5033c846d328a1fdcf3be80098e6d34f2dbcd93696b4ce63c01f9ec811d8fa", + "blueprint": "blueprints/thousandeyes" + }, + { + "path": "internal/services/resources/dashboards/v7/dashboard/model.go", + "sha256": "5e8e455fa4c872f793e32ba865da18497d5c869f1dcc1703451f109bfb37d57e", + "blueprint": "blueprints/thousandeyes" + }, + { + "path": "internal/services/resources/dashboards/v7/dashboard/resource.go", + "sha256": "2dd8c85f4269e066f40f2a509ddff6352703c5b79ba31f7ed96fd255de000319", + "blueprint": "blueprints/thousandeyes" + }, + { + "path": "internal/services/resources/dashboards/v7/dashboard/resource_acceptance_test.go", + "sha256": "e5ce1aa46072b8d0c9049bf9e71624908bd38689d9492beec83e955ab1d190d0", + "blueprint": "blueprints/thousandeyes" + }, + { + "path": "internal/services/resources/dashboards/v7/dashboard/state.go", + "sha256": "8fc812247e175253af03e0e1e6376acb9c7f706a53cd39c32776e5bc204431cc", + "blueprint": "blueprints/thousandeyes" + }, + { + "path": "internal/services/resources/dashboards/v7/dashboard/test_helper_test.go", + "sha256": "bc80f2ec17b377cec96613cf35103e01212c9d307a69e1924b9ce10893214c52", + "blueprint": "blueprints/thousandeyes" + }, + { + "path": "internal/services/resources/dashboards/v7/dashboard/testdata/maximal.tf", + "sha256": "5266995df952e87a9f5c77ff9b241d79252562e590907b779d74265ce62d9fe5", + "blueprint": "blueprints/thousandeyes" + }, + { + "path": "internal/services/resources/dashboards/v7/dashboard/testdata/minimal.tf", + "sha256": "747672a434abbec509cf0f1b5d6ba8d7b3fe0148c055769b3b54a0aded52340c", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dashboards_filters/v7/dashboards_filter/construct.go", - "sha256": "ff6f568b420c545f7a453f6ddca78de5af0ab7014664f3be0ef3d3353d5ab8a2", + "sha256": "59d18a9e982f8bbacdacc72376f8ec56f64162719d423809f7f37a2cc7b1aedf", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dashboards_filters/v7/dashboards_filter/crud.go", - "sha256": "875cf31eb54161f8b1bbcdc83f834e292c78d23d385ebf6ad7bd0afc1a55297a", + "sha256": "96b23475fbfa26ab5012f3b2324ebfa1c5ed2c79da8083ea833d6044b86f4ebd", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dashboards_filters/v7/dashboards_filter/model.go", - "sha256": "3e83e1451db9226be970cdd6d0f4dcc305c4c89fb57f1e22bf8d5c175cb94f2e", + "sha256": "ee5cebbc891a2171337d3c7e2b0d4d3c1391cb59895725fb5a94c4f70b2f3912", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dashboards_filters/v7/dashboards_filter/resource.go", - "sha256": "bb9f917e88148c102f5116073717f6f56240eed926e8dbb46bf6127d8323228c", + "sha256": "69b1f37ead74010517b339f8623ca174090827f19e9611b730a72588e59142a8", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dashboards_filters/v7/dashboards_filter/resource_acceptance_test.go", - "sha256": "79d6561f7eefb8ff7a7c02470ef5d969b5728e30e6521863f4ea61e5f6d3f2ca", + "sha256": "c33a43185a8d1a7dceadc62158ef60e1fdbeef518f244186052d2d963d01a1ea", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dashboards_filters/v7/dashboards_filter/state.go", - "sha256": "c5caf7cc64ec8f30d01c835b4462e897d05490042b5605ab4b950f9d8790b082", + "sha256": "09bffaabd317467266862b8a9a76108ae6c9c1fb420f3127746c0d32bc0e0d64", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dashboards_filters/v7/dashboards_filter/test_helper_test.go", - "sha256": "fb26eeaa218149826c1d85df045de881fc1d654b4561981b58d7b9fb30a0f5d8", + "sha256": "23d3c10109a9aeca7013c52a22f536981b8f07c6b4fb055866a76f57b6ba72fb", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dashboards_filters/v7/dashboards_filter/testdata/maximal.tf", - "sha256": "f19714af9a553b94dfbad3e871fcc4531abe85d358a4efbf226516cf462d875e", + "sha256": "f6f1fba7c8e2582e30b80939c36b528255279a24256bfb6838b5767eedd87690", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dashboards_filters/v7/dashboards_filter/testdata/minimal.tf", - "sha256": "7540b02ea25d4863b1647437ff6081f4ec8f328e6aa4ed28b3738a713c92c2ee", + "sha256": "0a362b2f0552f4beb6201b1aae7b29e9b31b628982404cb6f17028b0758ecbe1", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dns_server_tests/v7/tests_dns_server/construct.go", - "sha256": "e7d017199f15795a18f092dbd7e2c32d85bd3e9077428f854891ca9b251519e0", + "sha256": "5cfc897523e92dfb1d0920c32518e63bf92d4a2ef3bf8c304af61932a9f4485b", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dns_server_tests/v7/tests_dns_server/crud.go", - "sha256": "a7278f1eb6a588de46d8e20f4923dbc59db5979349bd73c3e5bebaa914ab4502", + "sha256": "4f7c17abe65aaad78cd0b9a84aca642d5601abb7946543397dbe6262eb03c189", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dns_server_tests/v7/tests_dns_server/model.go", - "sha256": "f7f3583963d1982ac7d9c6bc363ebaa272b0372d927b9cece85de3d4f8cac2f5", + "sha256": "cfbf818c8b3b20538a029f0777c70fc2f9fc9606af7e3b64bd84cf5df31c922b", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dns_server_tests/v7/tests_dns_server/resource.go", - "sha256": "5aa7651dce0ef3183ab8fe6837f05105682cba70762f97f28d79d97391af584b", + "sha256": "fd1b0cab738aa8f4414ac3b616cc1f2658adc7732033f6571adad6df0a096be8", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dns_server_tests/v7/tests_dns_server/resource_acceptance_test.go", - "sha256": "46e26227514ac0969a9caa4a8f284aa545f8c83d659a80e5756299208a1c9c0c", + "sha256": "29f6f5fa99db9ab5bdbae63b5edd43dc1ec266965ab1dee8fa208af6c9670f9c", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dns_server_tests/v7/tests_dns_server/state.go", - "sha256": "0c97c3f2dbefdf1cac346e8502da6241ce2ae022e34779c1d35e04a59f472810", + "sha256": "628556ad0392d4e57b4a51cc1006a2a92baa04882fc35ea722ace27927b7cbf5", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dns_server_tests/v7/tests_dns_server/test_helper_test.go", - "sha256": "cb0c59da628d851e812f4503da0ef34b6acae128bd4ab925cf1ea7b5369171ba", + "sha256": "eebaa35077764c55e9bb6cf91838c8d19574b4a5429e35bad28d3d316ec11d79", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dns_server_tests/v7/tests_dns_server/testdata/maximal.tf", - "sha256": "4cbfca5310a8e1ded779f4fce43503d9c1fe84bf7474e01fd14bab70484c1ea5", + "sha256": "ddbab8a6a3b4f0a8825471ca0072edea5c472c07372b52f99b206b5b806eb4fa", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dns_server_tests/v7/tests_dns_server/testdata/minimal.tf", - "sha256": "a69aa938ac691f587b49a71e484635294b5c5386f09b401eac901c3bd0128de3", + "sha256": "a9f80bf3dc50dac8dbdb179bad47ee22b9154fdcd0a85ce757a17b388cf46a3b", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dns_trace_tests/v7/tests_dns_trace/construct.go", - "sha256": "863f3dad7a75366f438a1c014b2ba66d595ab23ec1fd56a8ab34ab11f837c5f0", + "sha256": "e51ec2a25f4c1556e855c961082ea1ef7f9724e53a73f85b355fc8cfc415c7fe", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dns_trace_tests/v7/tests_dns_trace/crud.go", - "sha256": "e68ed6613b695a3e0f9cfabf9fa0ab784047b00f315d2bdbbb3707f8124d9dba", + "sha256": "98cecc23d2f39a8f9d988acffbf26241f6d3dc190111cb0d16ddd7d052c29d6d", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dns_trace_tests/v7/tests_dns_trace/model.go", - "sha256": "742ad9e054faaa4e612cb9fac727453e99c60fefc2f7df6e7f087e551bf6461c", + "sha256": "63ec3110a89e723a1e923bb0ade39d07b9934fcc0a2e88180c0f4b0acafa380d", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dns_trace_tests/v7/tests_dns_trace/resource.go", - "sha256": "1e44433bab5315a83477ef8568de7eecd7e0c6086103660f473fe2b79e18d3a1", + "sha256": "e3f713a777928c8de367954b215b5b773f5f0c25462e6ebdf0483e0a2f6b2d56", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dns_trace_tests/v7/tests_dns_trace/resource_acceptance_test.go", - "sha256": "44e89df94091ba531b33c2d099fb2da22cd48d61428864c7544122ebe13bbcbf", + "sha256": "77f80a797d70f0566b570f8a386cb514b956aa3a70fb10b006fec6634b3fc6a0", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dns_trace_tests/v7/tests_dns_trace/state.go", - "sha256": "eec18ad11a87f296359840040fc34935baa1c805db5316b806921f7e9b2e9a7e", + "sha256": "f649a013e30a369818869af0290bc2c0277b76c5d276c0feebdfa1fb442151af", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dns_trace_tests/v7/tests_dns_trace/test_helper_test.go", - "sha256": "53116c18bb38685727a9a62c02c6cc493d587cf8dc2bf1facbb08d77ec97581d", + "sha256": "a49fa6f990da5e81ad8986cac02d7ed820bf79864607a49e8a8b61bf0e548442", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dns_trace_tests/v7/tests_dns_trace/testdata/maximal.tf", - "sha256": "9109886ca5431ee57e3b37a3a64fed8522fa15bd5bf3e1eb20394030c3234b13", + "sha256": "e284ec65068fc27806bf62d74443581b0198dd95a0f2752eb7d42a2585d27877", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dns_trace_tests/v7/tests_dns_trace/testdata/minimal.tf", - "sha256": "d0ab656c413bc88f59a4c8ce82f6506861f260d5d55d22ef06e66e91cd7438d7", + "sha256": "4f961a617a6410c65ec9e45f8e81c5dd35d5cb72f39ba524d2791b3c89a6eacb", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dnssec_tests/v7/tests_dnssec/construct.go", - "sha256": "c26728064e28eae6fadf143ba15ef9711fecf198ee4533cb355ecf02ad3143a2", + "sha256": "c4e6c18d1d885a0ebcb4ed8b2b94f0509e35f731da82cf92cedb687f033110e8", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dnssec_tests/v7/tests_dnssec/crud.go", - "sha256": "8fb28f5fbe6e6de2d3b824a99f3879011637ef6e575c321b059ec55af87c2f0c", + "sha256": "525eea88eb836166357d4352a17990b353d3550233ef0493a2485a459fe4e239", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dnssec_tests/v7/tests_dnssec/model.go", - "sha256": "daba2c1a8c9d4073effa64615465d73f05a241eea214995d7284bacaaa08c923", + "sha256": "8fa509f9c48bccf3495bba31f38efd307e3a3342f40d6ca237857cf166e41c22", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dnssec_tests/v7/tests_dnssec/resource.go", - "sha256": "480463b73a97a2430d8bae269f3f89f7584fab379299d6ce0eb73275dd3d3ad1", + "sha256": "b6b05204f773c24c3bd29971585580fc4ec195a3cdfc686e64fa6365919a46c8", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dnssec_tests/v7/tests_dnssec/resource_acceptance_test.go", - "sha256": "bb9f5b79d77896e6fba69ad87bad3773256af5e260131dd0d576b3004789db50", + "sha256": "3bc57822eb6861eea29290c42ef8e34072ece78023d74dbc625418df215136a1", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dnssec_tests/v7/tests_dnssec/state.go", - "sha256": "10fa49418f5c50497f83f320451cc3234d150c48c09024f141fccbfc9c625c79", + "sha256": "81ab2de3af2772c54de29c83748de5030615eca844c01828ebaef9c321877f7b", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dnssec_tests/v7/tests_dnssec/test_helper_test.go", - "sha256": "bd6d18cce3a6fbff6ff557d45d8aacbd5471e31dc1a924b4daa3f712ad4adb13", + "sha256": "08d2f71e6b0edc5d1539c3b4a3e59cee502e30be76bcf64ef699d6c580f6dc44", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dnssec_tests/v7/tests_dnssec/testdata/maximal.tf", - "sha256": "a67da73dcaf4e8613b734c95d6ffbe0bcf3faa0672f68ade9dfdecd7aac1f6bc", + "sha256": "b7f4b72c12bf8e1ff6d31223739bc0905ea9ca8259c57a84053cf6b7f3d56099", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/dnssec_tests/v7/tests_dnssec/testdata/minimal.tf", - "sha256": "5f7e2c3b9743351f535cbf54c34f8b5277506c080eaede671a16cdb74f516ba1", + "sha256": "28395e525aaa99847e4c4293a400a112e399b3ac594d46d342d7582df6ab0d86", + "blueprint": "blueprints/thousandeyes" + }, + { + "path": "internal/services/resources/endpoint_agent_labels/v7/endpoint_label/construct.go", + "sha256": "a9c3d468503ea751ed89ff8e17e3cb1e6e84da1e7ef22acaf49ed3391b4983d4", + "blueprint": "blueprints/thousandeyes" + }, + { + "path": "internal/services/resources/endpoint_agent_labels/v7/endpoint_label/crud.go", + "sha256": "2530a77725b04d7f668d0fa6243c490b7224943dfbd95810deb707f88a88f4ba", + "blueprint": "blueprints/thousandeyes" + }, + { + "path": "internal/services/resources/endpoint_agent_labels/v7/endpoint_label/model.go", + "sha256": "7342038a3c9e6985d093a40aad972622c15731e4e085914819fe184b06c54de1", + "blueprint": "blueprints/thousandeyes" + }, + { + "path": "internal/services/resources/endpoint_agent_labels/v7/endpoint_label/resource.go", + "sha256": "fa2e7c5619b4da697151ea5bca1532a37459cc4473f3e6b4813d8641706746c6", + "blueprint": "blueprints/thousandeyes" + }, + { + "path": "internal/services/resources/endpoint_agent_labels/v7/endpoint_label/resource_acceptance_test.go", + "sha256": "bad876aa4ae61f70f69cc711848b5a07d722ba6269ff12355da1693539d3f052", + "blueprint": "blueprints/thousandeyes" + }, + { + "path": "internal/services/resources/endpoint_agent_labels/v7/endpoint_label/state.go", + "sha256": "69a01480697a1b9e906aed19f5e0aaa701cb1c5fdc431f4e767f58bb32db5ab4", + "blueprint": "blueprints/thousandeyes" + }, + { + "path": "internal/services/resources/endpoint_agent_labels/v7/endpoint_label/test_helper_test.go", + "sha256": "ef137ed658b7c5b2481a0acf19253abb32049ee0d5e75de451005df5ea2a466b", + "blueprint": "blueprints/thousandeyes" + }, + { + "path": "internal/services/resources/endpoint_agent_labels/v7/endpoint_label/testdata/maximal.tf", + "sha256": "809d852166f64e2d2548ba617b73d9b8c74ab17b005ae472536b949809c102ca", + "blueprint": "blueprints/thousandeyes" + }, + { + "path": "internal/services/resources/endpoint_agent_labels/v7/endpoint_label/testdata/minimal.tf", + "sha256": "d12ab968f8d3d7f8524130162e10a502762ffaaa1487c4bab3713baeaca5aa08", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/ftp_server_tests/v7/tests_ftp_server/construct.go", - "sha256": "979d61974438397b4c00de3cf07ffae559cca71668c35e3f78a31ee53853c788", + "sha256": "58bc59e1b0580159c136b914cedcf7e2d9c173e6be28704de7a8bc151b78c604", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/ftp_server_tests/v7/tests_ftp_server/crud.go", - "sha256": "755431151df4bcd2645f4d8a66663b1b8585e3ec1ffd664148c04775160ed413", + "sha256": "5d5555372bfbc6636d6e8d246f38fc86ac043f7f88ee6c5244e69a961c167409", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/ftp_server_tests/v7/tests_ftp_server/model.go", - "sha256": "b867ee16c04d177575f3a8072ae8bf230ff8d72a886c0eda908793b2c9a74e85", + "sha256": "b113a0dd2dfd49ff36b9af834b7180c3a58a115bb7380f766a77cf358d16f670", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/ftp_server_tests/v7/tests_ftp_server/resource.go", - "sha256": "5d24299f9584c854a34dee9fad6635f474211736a51fd1980e71da39d0c90016", + "sha256": "13003fe2a7079c104dc7f4f0d07b94f54779c533b2e721f3141872ae8a6f9494", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/ftp_server_tests/v7/tests_ftp_server/resource_acceptance_test.go", - "sha256": "b7b039e7fb05d31d86a7f67ae4f4a93abe59934d40f3c92f9330c8ec82cb6382", + "sha256": "96265326cda8254601c410f1d3542000ec3e7fb1aa741f4edd20d0da809e6b7e", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/ftp_server_tests/v7/tests_ftp_server/state.go", - "sha256": "bfe6c5964dd52bba61864fa948528db5b8886e51169a748b5da821bfbb0ce3e5", + "sha256": "c46530541e997de7dd9f8076080a2df85562e3db51b73eb2d600ea67ad534074", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/ftp_server_tests/v7/tests_ftp_server/test_helper_test.go", - "sha256": "5b892958a7e8ad5c4e811b7b14ccf934ab738ee0dc2ae60a7b1ab3d72abdf554", + "sha256": "1ffd369ea8f84ae50711f959b93948cf1ade687831ef0dd4ff76681447185b8b", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/ftp_server_tests/v7/tests_ftp_server/testdata/maximal.tf", - "sha256": "0fe1eeb771512b0fd1e1da77b880dfccced3a47eeded03a202c7d58e8203ed63", + "sha256": "134a11d413101aa8866f4c894e908e71197dd0cd959896b9a80a6ae57a06edf0", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/ftp_server_tests/v7/tests_ftp_server/testdata/minimal.tf", - "sha256": "459152c393560e46ad6e90843b7892c7bf656d68aee24a3a5662bb58d1a126d8", + "sha256": "efe72c18a64031fc0d3eb4d17f54bec53d2ecd7c647e6cd37885d78da15ed48f", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/http_server_tests/v7/tests_http_server/construct.go", - "sha256": "85117ab589fb9e661902ffff44feb28d7bdc555b123efa03116c65a7b13d0850", + "sha256": "04e7ed6805f2ae40e16229ff7541c37f7e53f8c03253233e2034e39096b07b23", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/http_server_tests/v7/tests_http_server/crud.go", - "sha256": "e19e38f80efb47959ed295136615c0bb9a2a1c81b06a9090d8c1d8f090c87500", + "sha256": "b779778f93c45711f07e03eda4058ba7b05ea575f2296098eec22ee0ab477262", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/http_server_tests/v7/tests_http_server/model.go", - "sha256": "057b876f39ada05713a4453bb4f43b86b0186321fd2f26afbc2454068b5fdf39", + "sha256": "c9d3d1e615ce598d9ac8416cae53c197b233110e5d2fb9881262b655548c4db3", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/http_server_tests/v7/tests_http_server/resource.go", - "sha256": "0f449d9245eda10d9869a034cc8c9d5301b9954b2119632e1f0f6cebe5f33ed3", + "sha256": "19ab37898645693a7f436ad0d50f5207671bdecd2e1d21d31b44c9bdc713ea68", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/http_server_tests/v7/tests_http_server/resource_acceptance_test.go", - "sha256": "5df4d0cc16de4455e0eff28040f39808e57879caf06abf40b8d76951635237bd", + "sha256": "5451d62e9fab2a684a5163f70b007e96a1a70da9d496edd78139b9754e4f2594", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/http_server_tests/v7/tests_http_server/state.go", - "sha256": "e6a2afec6453dd1b3d49f78c633dc1f00bfc765e3e67a032e46df4eaa30a960a", + "sha256": "accfd404a9f00f6a9fdb4d788ba2a4486f5f00eeafd4bb67cbe3fa80a2722885", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/http_server_tests/v7/tests_http_server/test_helper_test.go", - "sha256": "ea22a936e2bcfa1d071272c841635153ba904f7de46f286a16e4578c010993c0", + "sha256": "f671acea2e9aa5023f712b2431b6d54f3c26eb40c4cfc5cb40ccabbd8695fc92", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/http_server_tests/v7/tests_http_server/testdata/maximal.tf", - "sha256": "7a2cc18efdc6bc02032b745949f27bca0042ce8a28541adde9b0f2cd8eec2d36", + "sha256": "90c2b97ca8bb15f27bbe385d09ee4b3a23d3afee38ccaef26e9268493e5a1dff", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/http_server_tests/v7/tests_http_server/testdata/minimal.tf", - "sha256": "e3b5fe7941f440c0c9f4660ce7dd8289161d986fb6e57ede1a262bbc0e290a61", + "sha256": "e32e1d5d3cc65344e00a72ae5be5ba0b319bb0d5de64b8dd86373e2f49b233e0", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/page_load_tests/v7/tests_page_load/construct.go", - "sha256": "3bb9c3d97b6d92b87935fa3d14e0f1d0aee388e754bd4ac16e7d78774bc63e20", + "sha256": "44f6fcdafb803618ff4fc1dafafb3c0a872997529044a28618b0a8f85548233d", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/page_load_tests/v7/tests_page_load/crud.go", - "sha256": "936bd6d0e92f26d48005391ecd665d2ae590074785af89205a0d64aa9b633a47", + "sha256": "6b216ce4e0c3ed705057490bdc1f1f8762b646f71123b71d924a1974f3b02300", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/page_load_tests/v7/tests_page_load/model.go", - "sha256": "1333de0026cde82b63d75c168f2154cd5631d539adf4f02ead0ac96ac6a1e449", + "sha256": "3f3e17ebba0a0a6032359de779a703d8fa660ba524f2e04300849ed126147883", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/page_load_tests/v7/tests_page_load/resource.go", - "sha256": "f304014fbc6b740283a0276c80f98948216be76025349b1c17fc1cc6fdbff5bd", + "sha256": "e692c88e34508aeec3afc4bf75eadd5361db6df7d32391fb82f9bf51ddddce20", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/page_load_tests/v7/tests_page_load/resource_acceptance_test.go", - "sha256": "7d1128e4cf851bf1b5b4834f196cce8840652a9eda0fef8ca7bcbaf8b98709e9", + "sha256": "38198d97b3ac25551e2f10afc6a086c460488231b20cdb39b16c15a6b9ae26b2", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/page_load_tests/v7/tests_page_load/state.go", - "sha256": "ea3fdd70d88c3fc30c9b6177033f6e937fb2c69bc23f9ca974f5ac2918e6edd9", + "sha256": "edf7879ddc3878a196a7473d2ed555a7fff37b6bbf5369f46e69cf94b28467c4", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/page_load_tests/v7/tests_page_load/test_helper_test.go", - "sha256": "ad34cefec15d33a0943b38242dbcd5e88dffadbb727b2b6c2b34c67e94ce5db9", + "sha256": "bd21695d93a7184cbe4cc1f5798f5b68ca0f1084cd4e99f57e30d9f994da42d5", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/page_load_tests/v7/tests_page_load/testdata/maximal.tf", - "sha256": "df74ad3d2397cd497e1399cfe1fb171a48b44b64a9aad51bff92d5aab41ed55b", + "sha256": "3f6bbf0b401d09dafe19f4de617c3df20ea507d2a4b98e832c86939f9a14f0ac", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/page_load_tests/v7/tests_page_load/testdata/minimal.tf", - "sha256": "ac285b35772cae3d2b5dd59058135f4d9de1854ec829f18e34d0342733046df1", + "sha256": "0fc28ab8483bcf9ca9567b726aa0082f2722de4e96a26b2fc7536035faa612bb", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/roles/v7/role/construct.go", - "sha256": "c8cbec628675f0b9cd8e7a5ce4a0fb9050d615b597fdd295a383b26d3f49664a", + "sha256": "730414ec0fe6e95a5831cba83a45a39f8161369dec9bb76d1c535e7306f0abf7", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/roles/v7/role/crud.go", - "sha256": "292c92a7a174277eee329f8c177927cadff1dc67bd54fbfbef3ae3bf7a450b07", + "sha256": "d93de8b301e7c47a023e4ce54f763d89f6ad4da2c62d9fb228e4fd7577938a61", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/roles/v7/role/model.go", - "sha256": "d5717130a804844efeba6156fb0fcd2d1abc0f9ae2fca06e6cd4b4b9db26b309", + "sha256": "e9110661c827118e91403721f0d0740c719ba8aacc7829976e2ca565e23b67d0", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/roles/v7/role/resource.go", - "sha256": "378644c5da3042f7926eaa9889c1e8b88fe9834904cd9013a4790f5d32d5ff8d", + "sha256": "f95488fe5a295ad8962494202c7459b7323b2f4e865092a20e25a3c5eba58726", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/roles/v7/role/resource_acceptance_test.go", - "sha256": "e2a3c63fd67fb3bcddf5b770ac9e768561aa25e7465400271a8d2bc6ad64b2a8", + "sha256": "0ac406bef830bb109be72d91c4f8a5ec0b1f85bc47435f9268ed39d6ba8460c0", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/roles/v7/role/state.go", - "sha256": "5db344b9cad1a77194d8ac49a637cad5b716bbf57a69165d89137e4c68574183", + "sha256": "1b389145e9996d5d162ad7509eb0e956d274deb07bca6f0380e22b762f4e97b1", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/roles/v7/role/test_helper_test.go", - "sha256": "bea068c266c6a6de20fae0fa49aadde9ab41d5da86710414d3c11c42b64837b1", + "sha256": "a955dcf27dd817e8fdc48893f8a45564eff6921d448fee167c7c5cbd76bdcde3", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/roles/v7/role/testdata/maximal.tf", - "sha256": "a8d1b4fe78e4dfcca3858618a5e11a287bb69af08f593a64560b6d6a0aa28c44", + "sha256": "821c8d0c0842232f5f760b86f3c014717fb44cc0c9b19a5e62fa88a578ecfcf8", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/roles/v7/role/testdata/minimal.tf", - "sha256": "645a8a23594dcda6cfe91947eb24140e6e573cfcec4c2d99e5a6f54841be27d1", + "sha256": "d30d0569bdfc14842be74423e5e94e93b9bfc8647def1458c98d2eab7930876b", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/sip_server_tests/v7/tests_sip_server/construct.go", - "sha256": "8b51d2c65e3e53d0bea25cfa94ec237e35e3d6382d26f5c91eaf9813579bd03e", + "sha256": "557bb54a8f1cfc2acce8d42809d4a5225d7695f355159b16a053901ba0b55ab5", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/sip_server_tests/v7/tests_sip_server/crud.go", - "sha256": "5d469a5ff1e6985a99a846a4202f64b4e6c53770bb14d6f3df7a64692e9c74c5", + "sha256": "514c00f94e9d3e3d7c67d6380849c5dfddd6ce2416492363df7e588f4b538f17", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/sip_server_tests/v7/tests_sip_server/model.go", - "sha256": "d81d70b54e54f00447206ddba86d8fa02b9430749755906253ee2e502a57b159", + "sha256": "17cee8a1e1124b5af36f5e3723a55a107ee855fb79b43189cf60c68d534b74a8", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/sip_server_tests/v7/tests_sip_server/resource.go", - "sha256": "fa09f1bef9b540e6e350a5e29012df95d77402d1c23531f4f418660f464eeecc", + "sha256": "07d5168cd8f3655564c8b9f50b3da87788c18e64a67a575b0cbebff029e8af03", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/sip_server_tests/v7/tests_sip_server/resource_acceptance_test.go", - "sha256": "c4a236a7a8525aeb27315f799437cde6f7d9cb05bd6f0016d3168e40db44b1e3", + "sha256": "41de523c7d88351149434d7046be462ee86623ff1ba45a1cfd2a0837c23b432b", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/sip_server_tests/v7/tests_sip_server/state.go", - "sha256": "a8ca34bbc6b666e6066489eb0c275a0ca36d13cb794711947613047834eaeee7", + "sha256": "146a5ed6ce6a59a3ce3897b4a79e83122b23fce67637cc669bb16e641bcfed16", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/sip_server_tests/v7/tests_sip_server/test_helper_test.go", - "sha256": "84546565152f47c2886b10f0df7e3122152f46a91f9ea674ef0a9a6d4ac4974c", + "sha256": "2585020341f0933836a6fdf3e6426d330bc66bbe856c13f1e10bfd41f0d55ce0", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/sip_server_tests/v7/tests_sip_server/testdata/maximal.tf", - "sha256": "2a491b430b215ccf4b181b5c0534564fb4216901e218d540db47df7df92435c9", + "sha256": "9650c7049ffe61ea73349fd29f49fcfc9a55f0f136120def70f12e97d251616e", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/sip_server_tests/v7/tests_sip_server/testdata/minimal.tf", - "sha256": "2561ed14268686334c9efac97b3e845c3ec787a62d93fa9319ae14b6c3c499fc", + "sha256": "58d29a706933549b697e25186f99fa56945480bdb5e078224318c024ff2096e7", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/tags/v7/tag/conditional_validators.go", - "sha256": "0589e66500dc3cc60ebaf8a1a2fb1bf6d695c08bf1b96c98f5bb7659009610d6", + "sha256": "698ce39260c53bb1f2c9184f61ac1f1cc809d586bc9c13e781a57168f69c638e", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/tags/v7/tag/construct.go", - "sha256": "e91e142928cee63033800838c74f7e327191d598f08c9afbe24c7a2abedc7d3e", + "sha256": "02bff914d26edd29265128bc476c30a3d62c6817e42e5b8306fbe4d3a8f9cbf8", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/tags/v7/tag/crud.go", - "sha256": "a7067cf3d21a55272e69231b21706ad8d0f140ba30a3c280a6d5493010b93886", + "sha256": "a612a9ce99b69d44bd6773a50a9b0b0e28c28a66923a5391256444dba1580ca1", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/tags/v7/tag/list_acceptance_test.go", - "sha256": "30aa12541ba799d6bbcffa8ae0ace50b363828b451f3d9af1c5c18cfcdbe2456", + "sha256": "98999085c120dcbed97b9a64be642502e4538e324df13e191711b4da4f4aa901", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/tags/v7/tag/list_resource.go", - "sha256": "9feed3dc92c47afb8c164fa7d9814fdad46887a2e728334801a7397eff83925e", + "sha256": "485000a3facac004deec42d8d568adbebcf246256b8e711d07fc0b5092c36313", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/tags/v7/tag/model.go", - "sha256": "3ec6dc3c55b4400c4a432ada728cb525d0e9550ac8a2ef2b2277eb2f9c987b0f", + "sha256": "b557dae2016de3eeb3cac7c06416fc6bb9ed1381230d9e1280d614ea31ea4fd0", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/tags/v7/tag/resource.go", - "sha256": "18505333c00fdfc2bb2d88116777450a2bce5e079509c91506a2ccec4d9a2bb2", + "sha256": "00c45126d1366abb5ffd9d2ff8ee62e6c52f42d24e0c0c06fdd4fdf7da4a3785", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/tags/v7/tag/resource_acceptance_test.go", - "sha256": "3f4a193bb838ab37ef96250563b4e5978ffa317733cbc721dbdad09b8fdd0032", + "sha256": "38ff172b37ff5962bdf3bccccf3c5b5ad81893cb3c842f85abe55d0504b59f1e", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/tags/v7/tag/state.go", - "sha256": "a738faf65d7baa37a273a38d244d4c174f353c55e220f5fd8f5ce972ae3aab31", + "sha256": "1893174e903e470c4c926e979ad77419d25f4209974bb2112dac342f595d3376", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/tags/v7/tag/test_helper_test.go", - "sha256": "8b544848e173eaa997ebd735464fec3ef701374e2c181a2ed9ff96edf08cc7d9", + "sha256": "59648e9be726a61f991b7529250a83aa0dc439280b6236bb2e92692ace52bffe", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/tags/v7/tag/testdata/maximal.tf", - "sha256": "72e2e29c1b1b991bf304b928516a2ee82a8db7fa8b21eaa0f0d09ddd24d5b0ee", + "sha256": "921f7402d4f5e66b5aa2968debd93aa2ce811fa4ffad23c535a789ebcfe7bf13", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/tags/v7/tag/testdata/minimal.tf", - "sha256": "839a09150b00151064309e63e10972c48b4e653847f38ec7f6ef6bcea53148ee", + "sha256": "8096b2d7f4993bf51a4d0ffb660d6e009f25d3b077e402aecb2a46d398940aaa", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/tags/v7/tag/testdata/query.tf", - "sha256": "55f4061da14a653603bb794de68021ddf47cb7bf5e99a864f0790d7bdd6d57f5", + "sha256": "aaec18d5ef84f203708f99a70a6527d1f173c239f77d9ab4fbfa69f9702ebaeb", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/tags/v7/tag/testdata/replace.tf", - "sha256": "1d70c156f03f57288b9a5cf65c91e9f68f7bd76f83025d0390b1d3d4ccbdb1a4", + "sha256": "3344057b1656a21a0f02d1dd87d820a8c22536b497b2ec546d8895d52f3b4055", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/users/v7/user/construct.go", - "sha256": "a86abc896e88640ca4c752bf101e8012eb8fb8dc5689309eddf27ed21cc766a0", + "sha256": "0cf0767e452f39ea9ee97b50255d2b59d3d1ef723ef203e69f009183ac87e891", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/users/v7/user/crud.go", - "sha256": "5aea379caa999c16149a1bd05bfec06f944ebe0be2ec58b885ad87c84744b7bd", + "sha256": "eab3ffa59c1f81b1ab185834654f98bdc7172559229839b7094cdc7c6a05a918", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/users/v7/user/model.go", - "sha256": "f4af3146bc709c8b45d2a9414ac111671a4d1a88706dd10ab9b38fa6a7c2edbf", + "sha256": "e2575f9346d4d08a8e071f6d06da5e66cac2f2edd9ace8bc703d321106a91006", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/users/v7/user/resource.go", - "sha256": "84cda9642387aff4590825e37fb889a25a6e98deecc23243563c876828ff8cf1", + "sha256": "1f231f380d2e54b4033d9eafa1ea7e978742307f17f1c8aa263c3358d551727f", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/users/v7/user/resource_acceptance_test.go", - "sha256": "209f2802c5eae4e1a770950617238aba110a7512ab6e04cd1460cbd62942f928", + "sha256": "3f3e7bf34e680541378b227fbec5336e11ffea4116bc53b58edf361ca027194f", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/users/v7/user/state.go", - "sha256": "4efbfd0698d289a034d0f78de1fc6f7e20aa800d57f10496fe2deefa9b01dd55", + "sha256": "22365e29603b1b253ecb8a7f8a29a86d75b691e034dd8df2312ac04df3a38f22", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/users/v7/user/test_helper_test.go", - "sha256": "d38c6fe1bf8b1279b7d29e00c4ca84e54d903c66094cc746c6e16c3827729e1d", + "sha256": "d732651528b1fd30a1dfc000cb4060c99647262113e4339ea71b47091e4a7046", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/users/v7/user/testdata/maximal.tf", - "sha256": "0ec5ca5c01dd87ea0c5ec38e295502c23dcd61a656f047f6ca6a003bd5ba65dc", + "sha256": "1a131c34bae011ccc4a28c2b313613225e02968ea12dbbed18111499f031d6dc", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/users/v7/user/testdata/minimal.tf", - "sha256": "c29b4ed6cbe8ff8ef6166a414cedf3d8316340df8f1105fd21bb96db1e19801d", + "sha256": "80301b3013c8ba22369e718e59824d24d9c0f37bac1a953d894fdfb704b6838d", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/voice_tests/v7/tests_voice/construct.go", - "sha256": "dd7cfda4110007b6b5a6f025fd730d510cd05613b2c666eae519a35800fe51e4", + "sha256": "f978e0414504463909b50947dd693fd859fbb0479673c59b65eccdefa56a4cf9", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/voice_tests/v7/tests_voice/crud.go", - "sha256": "b458fd4d5cdba5a2dbcd1cadb3ab2dd7b2a97a7df11fef34034ef8686b438e21", + "sha256": "0408687d63ca18f9d23d37206a7941c5c36a3b9bc00bce3e23f935f5b5079d1b", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/voice_tests/v7/tests_voice/model.go", - "sha256": "12128c52d8fe506171fe8f6a89a93634da0421a106f16d8a27ab6f6927442f5a", + "sha256": "7c56c6a1a1b9af77e1e0f6c0ef15a490949c048cacc9b4a118f59368b1554585", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/voice_tests/v7/tests_voice/resource.go", - "sha256": "29233c3823af678b41f6892c6611fce466ac83415032f45a171e722d6579f1c2", + "sha256": "44dfee77dbc79d9edffed99c32f2d2d7d40731c925d4ba4252ea332facfa3d62", "blueprint": "blueprints/thousandeyes" }, { @@ -1059,12 +1149,12 @@ }, { "path": "internal/services/resources/voice_tests/v7/tests_voice/state.go", - "sha256": "d2026fa0f98c39dd3f876337e40938bcd3c963c18cb67d47c849f9143804bf10", + "sha256": "b965e71e9a49097ab841d140bc28b410f81fa4b31532024acd6371314986489b", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/voice_tests/v7/tests_voice/test_helper_test.go", - "sha256": "28f98a314e931fa2eb5cac30d70f6f7101de1551ad5393d4bfef88919a4d551d", + "sha256": "32f042cc20b8858964e90ebf808f2137967c08a03bf66b0d31bc016a7b9bdfc1", "blueprint": "blueprints/thousandeyes" }, { @@ -1074,47 +1164,47 @@ }, { "path": "internal/services/resources/web_transaction_tests/v7/tests_web_transaction/construct.go", - "sha256": "35b5c790867b3685f57a0373f524cc79726a3ca77a7e6ee3ad245df61255ae68", + "sha256": "ae698a9c145a99009a5aaaa3743ae55f6a27f92e28f8c30bf80aed55d09a1bed", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/web_transaction_tests/v7/tests_web_transaction/crud.go", - "sha256": "bd5c8b3c5cffdbae08e90821628b516810948db682127371681c2b8d7e38d42c", + "sha256": "c31f78b047a882b6f1550dfa0e3aefe904a457c1fbe5fe3d342826f589d8eb5b", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/web_transaction_tests/v7/tests_web_transaction/model.go", - "sha256": "7a4f14ba7811570221353aada1753c416b38db5a6ecf8414a796536857d8d1ac", + "sha256": "ae23b5390b57f6d50ae0a14a8d54e92995bc53852d0876d1b32fdef5d5a6bc62", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/web_transaction_tests/v7/tests_web_transaction/resource.go", - "sha256": "4fb7e3df88554f58ccb19de359a15d6c0afded738097dadb29a2c0e9c010b8cb", + "sha256": "dd80f860f891214e37c11aac63e7f8126424b239bdf4dd8738de75dda5742ad1", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/web_transaction_tests/v7/tests_web_transaction/resource_acceptance_test.go", - "sha256": "3ba1b118160c09dd3dd8e34f29ff9a0ab1ba7dad319a67fae64c483fc8be7fb8", + "sha256": "8c2cbb8ad96fce3db2961c40d806ce2c92360392dacb5ad36165d8af60511a70", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/web_transaction_tests/v7/tests_web_transaction/state.go", - "sha256": "728e73a65ae3470acda9846b9408f208e887349cbbf2e677675f6af842bf3e2f", + "sha256": "fe0a44c7d8f1d036fed68b2a310c7c96eed0f1589214ed50cdd2ad2bac50df68", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/web_transaction_tests/v7/tests_web_transaction/test_helper_test.go", - "sha256": "600ad3ed2fa7f7b0b65f77ddfe7fde161fa7ca1e37c38a439441b6d084e4f0f6", + "sha256": "19986cf26dfd4ae943dccc09f730af5193eba6764242187d9887584cd42fc79d", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/web_transaction_tests/v7/tests_web_transaction/testdata/maximal.tf", - "sha256": "bf53216401001547c3088ebbd3397eed5daf47161a518791836129a444fb5373", + "sha256": "529a6d6ccd0e8203dc259fdbbfe4f41b575be92b955cc1d2eded77e095b42aa1", "blueprint": "blueprints/thousandeyes" }, { "path": "internal/services/resources/web_transaction_tests/v7/tests_web_transaction/testdata/minimal.tf", - "sha256": "0ea63d6e40e5c5d1b879ee0744b8b21031a7789c0dc0e44bf2f9e3fbd099c421", + "sha256": "cd1d646e9ebd4d5cb208405ecb8009e71bc7f72ebf3b4cfc7b4fad7348d5bcc3", "blueprint": "blueprints/thousandeyes" } ] diff --git a/pilot/thousandeyes/docs/resources/dashboard.md b/pilot/thousandeyes/docs/resources/dashboard.md new file mode 100644 index 00000000..e3fe3b8c --- /dev/null +++ b/pilot/thousandeyes/docs/resources/dashboard.md @@ -0,0 +1,59 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "thousandeyes_dashboard Resource - ThousandEyes" +subcategory: "" +description: |- + Retrieve dashboard. +--- + +# thousandeyes_dashboard (Resource) + +Retrieve dashboard. + +## Example Usage + +```terraform +resource "thousandeyes_dashboard" "example" { + title = "tfacc-title" +} +``` + + +## Schema + +### Optional + +- `description` (String) A text description of the dashboard's purpose and functionality. This information assists users in understanding the dashboard but isn't displayed when viewing a dashboard. +- `global_filter_id` (String) Default global dashboard filter ID (obtained from `/dashboards/filters` endpoint). +- `is_global_override` (Boolean) When set to `true`, the defaultTimespan is used and overrides the widget's timespan. If set to `false`, the the widget's timespan is used. Observed: the API assigns false when this is omitted. Observed: the API assigns false when this is omitted from an update. Omitting this field from an update resets it rather than preserving the stored value. +- `is_private` (Boolean) A dashboard can be viewed by other users in the account. If true, only the creator of the dashboard may view it. If false, all users in the same account may view it. Observed: the API assigns false when this is omitted. Observed: the API assigns false when this is omitted from an update. Omitting this field from an update resets it rather than preserving the stored value. +- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts)) +- `title` (String) Title of a dashboard. Marked required-by-API by curation: title is the sweeper's field, so the probe cannot test omitting it, and a titleless dashboard is unaddressable in the UI either way. + +### Read-Only + +- `account_id` (Number, Deprecated) Identifier for the account group associated with a dashboard. +- `aid` (String) Identifier for the account group associated with a dashboard. +- `created_by` (Number, Deprecated) Identifier for the user that created a dashboard. +- `dashboard_created_by` (String) Identifier for the user that created a dashboard. +- `dashboard_modified_by` (String) Identifier for the user that last modified a dashboard. +- `dashboard_modified_date` (String) UTC date/time when a dashboard was last modified (ISO date-time format). +- `global_override` (Boolean, Deprecated) When set to `true`, the defaultTimespan is used and overrides the widget's timespan. If set to `false`, the the widget's timespan is used. +- `id` (String) Identifier of a dashboard. Named `id` because terraform-plugin-testing populates import state only from an attribute literally called id; the wire field stays dashboardId. +- `is_built_in` (Boolean) Indicates if a dashboard is built-in. True for built-in dashboards, false for user-created dashboards. +- `is_default_for_account` (Boolean) Indicates whether this dashboard is the account group's default. True for default, false if not. +- `is_default_for_user` (Boolean) Indicates whether this dashboard is the user's default. True for default, false if not. +- `is_migrated_report` (Boolean) True if this dashboard was previously a report. +- `migrated_report` (Boolean, Deprecated) True if this dashboard was previously a report. +- `modified_by` (Number, Deprecated) Identifier for the user that last modified a dashboard. +- `modified_date` (String, Deprecated) UTC date/time when a dashboard was last modified. + + +### Nested Schema for `timeouts` + +Optional: + +- `create` (String) A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +- `delete` (String) A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +- `read` (String) A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. +- `update` (String) A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). diff --git a/pilot/thousandeyes/docs/resources/endpoint_label.md b/pilot/thousandeyes/docs/resources/endpoint_label.md new file mode 100644 index 00000000..8707e3df --- /dev/null +++ b/pilot/thousandeyes/docs/resources/endpoint_label.md @@ -0,0 +1,54 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "thousandeyes_endpoint_label Resource - ThousandEyes" +subcategory: "" +description: |- + Retrieve label. +--- + +# thousandeyes_endpoint_label (Resource) + +Retrieve label. + +## Example Usage + +```terraform +resource "thousandeyes_endpoint_label" "example" { + name = "tfacc-name" +} +``` + + +## Schema + +### Optional + +- `color` (String) UI color Observed: the API assigns "#d9d9d9" when this is omitted. +- `filters` (Attributes Set) The filters combined using the matchType to determine the label's match. The API refuses a label without at least one filter (live probe, 2026-08-04). Only returned when the read asks for expand=filters; the generated read always does (live probe, 2026-08-04). The API enforces this field's presence, which the specification does not declare. (see [below for nested schema](#nestedatt--filters)) +- `match_type` (String) Specifies how the filters are combined for matching this label. * `and`: All filters must be matched. * `or`: Any of the filters should match. Values accepted here: `and`, `or`. The API enforces this field's presence, which the specification does not declare. +- `name` (String) The label name. Required-by-API by curation: the sweeper's field, unprobeable by omission. +- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts)) + +### Read-Only + +- `id` (String) Label identifier. + + +### Nested Schema for `filters` + +Optional: + +- `key` (String) Type of filter - the data that will be used to filter. Values accepted here: `agent-id`, `public-network`, `local-network`, `connection`, `gateway`, `platform`, `agent-type`, `vpn-vendor`, `vpn-gateway-address`, `vpn-client-network`, `vpn-client-address`, `ip-address-family`, `ssid`, `bssid`, `hostname`, `username`, `asn`. Observed: the API assigns "platform" when this is omitted. The API accepted a value from outside the documented set, so no OneOf validator is generated for this attribute. +- `mode` (String) Type of matching to be applied for the values: * `in`: The value on the agent must match one of the list of values provided. * `not-in`: The value on the agent must not match any of the list of values provided. Values accepted here: `in`, `not-in`. Observed: the API assigns "in" when this is omitted. The API accepted a value from outside the documented set, so no OneOf validator is generated for this attribute. +- `values` (Set of String) + + + +### Nested Schema for `timeouts` + +Optional: + +- `create` (String) A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +- `delete` (String) A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +- `read` (String) A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. +- `update` (String) A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). diff --git a/pilot/thousandeyes/examples/resources/thousandeyes_dashboard/resource.tf b/pilot/thousandeyes/examples/resources/thousandeyes_dashboard/resource.tf new file mode 100644 index 00000000..bdeac182 --- /dev/null +++ b/pilot/thousandeyes/examples/resources/thousandeyes_dashboard/resource.tf @@ -0,0 +1,3 @@ +resource "thousandeyes_dashboard" "example" { + title = "tfacc-title" +} diff --git a/pilot/thousandeyes/examples/resources/thousandeyes_endpoint_label/resource.tf b/pilot/thousandeyes/examples/resources/thousandeyes_endpoint_label/resource.tf new file mode 100644 index 00000000..72d8502b --- /dev/null +++ b/pilot/thousandeyes/examples/resources/thousandeyes_endpoint_label/resource.tf @@ -0,0 +1,3 @@ +resource "thousandeyes_endpoint_label" "example" { + name = "tfacc-name" +} diff --git a/pilot/thousandeyes/go.mod b/pilot/thousandeyes/go.mod index c1f286ed..ee96b924 100644 --- a/pilot/thousandeyes/go.mod +++ b/pilot/thousandeyes/go.mod @@ -3,7 +3,7 @@ module github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thou go 1.25.8 require ( - github.com/deploymenttheory/go-sdk-thousandeyes v0.1.0 + github.com/deploymenttheory/go-sdk-thousandeyes v0.2.0 github.com/hashicorp/terraform-plugin-framework v1.19.0 github.com/hashicorp/terraform-plugin-framework-timeouts v0.7.0 github.com/hashicorp/terraform-plugin-framework-validators v0.19.0 diff --git a/pilot/thousandeyes/go.sum b/pilot/thousandeyes/go.sum index 31b67ce1..db69bbee 100644 --- a/pilot/thousandeyes/go.sum +++ b/pilot/thousandeyes/go.sum @@ -37,8 +37,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/deploymenttheory/go-sdk-thousandeyes v0.1.0 h1:Gy3Ck3bCsuhIiApmEORODPZ5P5bH/Ek2CMytY/Gt2bg= -github.com/deploymenttheory/go-sdk-thousandeyes v0.1.0/go.mod h1:hu8pjIARrmh0vYyyZc29OgNW6mHPTLZx2gUa4TpxnzM= +github.com/deploymenttheory/go-sdk-thousandeyes v0.2.0 h1:mUv2KhBfx02rbHLWJD5R+/BE9Sv9EPVgDXSOyk3k/uc= +github.com/deploymenttheory/go-sdk-thousandeyes v0.2.0/go.mod h1:hu8pjIARrmh0vYyyZc29OgNW6mHPTLZx2gUa4TpxnzM= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= diff --git a/pilot/thousandeyes/internal/provider/actions.go b/pilot/thousandeyes/internal/provider/actions.go index 39a9bab3..5fa4dcd3 100644 --- a/pilot/thousandeyes/internal/provider/actions.go +++ b/pilot/thousandeyes/internal/provider/actions.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package provider diff --git a/pilot/thousandeyes/internal/provider/datasources.go b/pilot/thousandeyes/internal/provider/datasources.go index bcb44d92..cffb2fe1 100644 --- a/pilot/thousandeyes/internal/provider/datasources.go +++ b/pilot/thousandeyes/internal/provider/datasources.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package provider diff --git a/pilot/thousandeyes/internal/provider/ephemerals.go b/pilot/thousandeyes/internal/provider/ephemerals.go index b501dda9..98dd7202 100644 --- a/pilot/thousandeyes/internal/provider/ephemerals.go +++ b/pilot/thousandeyes/internal/provider/ephemerals.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package provider diff --git a/pilot/thousandeyes/internal/provider/list_resources.go b/pilot/thousandeyes/internal/provider/list_resources.go index 92197ff2..543b326b 100644 --- a/pilot/thousandeyes/internal/provider/list_resources.go +++ b/pilot/thousandeyes/internal/provider/list_resources.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package provider diff --git a/pilot/thousandeyes/internal/provider/resources.go b/pilot/thousandeyes/internal/provider/resources.go index 1864faf6..7822b6f1 100644 --- a/pilot/thousandeyes/internal/provider/resources.go +++ b/pilot/thousandeyes/internal/provider/resources.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package provider @@ -16,10 +16,12 @@ import ( v7TestsAPI "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api" v7TestsBGP "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp" v7Credential "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/resources/credentials/v7/credential" + v7Dashboard "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard" v7DashboardsFilter "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter" v7TestsDNSServer "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server" v7TestsDNSTrace "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace" v7TestsDnssec "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec" + v7EndpointLabel "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label" v7TestsFTPServer "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server" v7TestsHTTPServer "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server" v7TestsPageLoad "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load" @@ -41,7 +43,9 @@ func (p *Provider) Resources(_ context.Context) []func() resource.Resource { v7AlertSuppressionWindow.NewAlertSuppressionWindowResource, v7AlertsRule.NewAlertsRuleResource, v7Credential.NewCredentialResource, + v7Dashboard.NewDashboardResource, v7DashboardsFilter.NewDashboardsFilterResource, + v7EndpointLabel.NewEndpointLabelResource, v7Role.NewRoleResource, v7Tag.NewTagResource, v7TestsAPI.NewTestsAPIResource, diff --git a/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/action.go b/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/action.go index 33cec670..d5b3e1c4 100644 --- a/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/action.go +++ b/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/action.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. // REF: https://developer.cisco.com/docs/thousandeyes/disable-endpoint-agent/ package disable_endpoint_agent diff --git a/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/action_acceptance_test.go b/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/action_acceptance_test.go index 20d84162..9215282d 100644 --- a/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/action_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/action_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package disable_endpoint_agent_test diff --git a/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/invoke.go b/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/invoke.go index 9f364998..5009965c 100644 --- a/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/invoke.go +++ b/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/invoke.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package disable_endpoint_agent diff --git a/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/model.go b/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/model.go index 801d8361..7f631620 100644 --- a/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/model.go +++ b/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package disable_endpoint_agent diff --git a/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/testdata/action.tf b/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/testdata/action.tf index 0302b27e..c811f4b4 100644 --- a/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/testdata/action.tf +++ b/pilot/thousandeyes/internal/services/actions/endpoint_agents/v7/disable_endpoint_agent/testdata/action.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The action under test, invoked once by a terraform_data trigger on create. The # subject's identifier arrives as a variable, supplied by the generated test from the diff --git a/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/datasource.go b/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/datasource.go index b8784aa8..9a88bf19 100644 --- a/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/datasource.go +++ b/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/datasource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tag diff --git a/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/datasource_acceptance_test.go b/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/datasource_acceptance_test.go index b5b3897f..fe35ac07 100644 --- a/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/datasource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/datasource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tag_test diff --git a/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/model.go b/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/model.go index 8f974bab..0fe93540 100644 --- a/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/model.go +++ b/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. // REF: https://developer.cisco.com/docs/thousandeyes/get-tag/ package tag diff --git a/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/read.go b/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/read.go index b26fbc3f..51fecd06 100644 --- a/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/read.go +++ b/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/read.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tag diff --git a/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/seed_helper_test.go b/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/seed_helper_test.go index e6bd66a1..98ab466e 100644 --- a/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/seed_helper_test.go +++ b/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/seed_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tag diff --git a/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/state.go b/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/state.go index aec5be85..1272fe13 100644 --- a/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/state.go +++ b/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tag diff --git a/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/testdata/datasource.tf b/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/testdata/datasource.tf index ba740068..69a883f3 100644 --- a/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/testdata/datasource.tf +++ b/pilot/thousandeyes/internal/services/datasources/tags/v7/tag/testdata/datasource.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The seed resource this data source reads back, then the data block itself. One file, # because the reference below only resolves against the resource above it. diff --git a/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/datasource.go b/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/datasource.go index b4b05f62..e721e365 100644 --- a/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/datasource.go +++ b/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/datasource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tags diff --git a/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/datasource_acceptance_test.go b/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/datasource_acceptance_test.go index a9c5e1d3..8d28cc88 100644 --- a/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/datasource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/datasource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tags_test diff --git a/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/model.go b/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/model.go index bf3fb559..55be38f5 100644 --- a/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/model.go +++ b/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. // REF: https://developer.cisco.com/docs/thousandeyes/list-tags/ package tags diff --git a/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/read.go b/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/read.go index 886f6eb9..eec19ee0 100644 --- a/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/read.go +++ b/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/read.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tags diff --git a/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/seed_helper_test.go b/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/seed_helper_test.go index 345e69c1..0d2e09b7 100644 --- a/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/seed_helper_test.go +++ b/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/seed_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tags diff --git a/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/state.go b/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/state.go index 172248de..c35b2604 100644 --- a/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/state.go +++ b/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tags diff --git a/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/testdata/datasource.tf b/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/testdata/datasource.tf index 21eed64f..6c3ebb7a 100644 --- a/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/testdata/datasource.tf +++ b/pilot/thousandeyes/internal/services/datasources/tags/v7/tags/testdata/datasource.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The seed resource this data source reads back, then the data block itself. One file, # because the reference below only resolves against the resource above it. diff --git a/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/ephemeral.go b/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/ephemeral.go index d08bc256..387ea7ef 100644 --- a/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/ephemeral.go +++ b/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/ephemeral.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package credential diff --git a/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/ephemeral_acceptance_test.go b/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/ephemeral_acceptance_test.go index 083148d4..ac35333a 100644 --- a/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/ephemeral_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/ephemeral_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package credential_test diff --git a/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/model.go b/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/model.go index eafebb54..2b3d9133 100644 --- a/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/model.go +++ b/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. // REF: https://developer.cisco.com/docs/thousandeyes/get-credential/ package credential diff --git a/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/open.go b/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/open.go index 87c1e982..3d263e94 100644 --- a/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/open.go +++ b/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/open.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package credential diff --git a/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/seed_helper_test.go b/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/seed_helper_test.go index a10ccc8b..b87ff700 100644 --- a/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/seed_helper_test.go +++ b/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/seed_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package credential diff --git a/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/state.go b/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/state.go index 953ada94..3002de60 100644 --- a/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/state.go +++ b/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package credential diff --git a/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/testdata/ephemeral.tf b/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/testdata/ephemeral.tf index db259aca..bcbb1cd6 100644 --- a/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/testdata/ephemeral.tf +++ b/pilot/thousandeyes/internal/services/ephemerals/credentials/v7/credential/testdata/ephemeral.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The seed resource, the ephemeral that opens it, and the echo that makes the opened # value observable. One file, because each reference only resolves against the block diff --git a/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/construct.go b/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/construct.go index 176031de..9c8bda09 100644 --- a/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/construct.go +++ b/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package account_group diff --git a/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/crud.go b/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/crud.go index 9d64d247..4d7aeba3 100644 --- a/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/crud.go +++ b/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package account_group diff --git a/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/model.go b/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/model.go index 9aabd5c7..aa3a9379 100644 --- a/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/model.go +++ b/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package account_group diff --git a/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/resource.go b/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/resource.go index 1f6c43ef..5bdedbaf 100644 --- a/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/resource.go +++ b/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package account_group diff --git a/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/resource_acceptance_test.go index 6d83180e..f16a0c91 100644 --- a/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package account_group_test diff --git a/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/state.go b/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/state.go index b2c54074..a13f6db1 100644 --- a/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/state.go +++ b/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package account_group diff --git a/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/test_helper_test.go index 39edecd4..88c01d7a 100644 --- a/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package account_group diff --git a/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/testdata/maximal.tf index 2ea10741..a1e8b46e 100644 --- a/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. diff --git a/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/testdata/minimal.tf index 3c58ed49..19982d56 100644 --- a/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/account_groups/v7/account_group/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/construct.go b/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/construct.go index 1b3d18cc..c77876f5 100644 --- a/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/construct.go +++ b/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_agent_to_agent diff --git a/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/crud.go b/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/crud.go index d31d37c3..1ffc2fca 100644 --- a/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/crud.go +++ b/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_agent_to_agent diff --git a/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/model.go b/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/model.go index bf7313f1..20d4eced 100644 --- a/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/model.go +++ b/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_agent_to_agent diff --git a/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/resource.go b/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/resource.go index 77097910..02dd3cb0 100644 --- a/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/resource.go +++ b/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_agent_to_agent diff --git a/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/state.go b/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/state.go index dd643b48..31498c72 100644 --- a/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/state.go +++ b/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_agent_to_agent diff --git a/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/test_helper_test.go index 32b0635b..a2ef0dc6 100644 --- a/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/agent_to_agent_tests/v7/tests_agent_to_agent/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_agent_to_agent diff --git a/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/construct.go b/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/construct.go index 39ed181b..d0dedcb7 100644 --- a/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/construct.go +++ b/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_agent_to_server diff --git a/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/crud.go b/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/crud.go index ab8e9708..09a4e9ac 100644 --- a/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/crud.go +++ b/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_agent_to_server diff --git a/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/model.go b/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/model.go index addc8b84..0d3bcb05 100644 --- a/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/model.go +++ b/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_agent_to_server diff --git a/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/resource.go b/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/resource.go index 4dc1eea7..dab423b2 100644 --- a/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/resource.go +++ b/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_agent_to_server diff --git a/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/resource_acceptance_test.go index 13a4b099..3bb9e1ad 100644 --- a/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_agent_to_server_test diff --git a/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/state.go b/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/state.go index aca7cdc3..471b8f81 100644 --- a/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/state.go +++ b/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_agent_to_server diff --git a/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/test_helper_test.go index fc9f04c1..04f79c35 100644 --- a/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_agent_to_server diff --git a/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/testdata/maximal.tf index ebae8326..2f9c3046 100644 --- a/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. diff --git a/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/testdata/minimal.tf index 167a1486..b5cd5b49 100644 --- a/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/agent_to_server_tests/v7/tests_agent_to_server/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/construct.go b/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/construct.go index 5dc57499..d611995f 100644 --- a/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/construct.go +++ b/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package alerts_rule diff --git a/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/crud.go b/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/crud.go index 6b081583..a119673b 100644 --- a/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/crud.go +++ b/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package alerts_rule diff --git a/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/model.go b/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/model.go index 4a2797ac..dd31079b 100644 --- a/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/model.go +++ b/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package alerts_rule diff --git a/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/resource.go b/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/resource.go index f52985f6..963d9b1b 100644 --- a/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/resource.go +++ b/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package alerts_rule diff --git a/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/resource_acceptance_test.go index 829421e0..e19fc0ca 100644 --- a/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package alerts_rule_test diff --git a/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/state.go b/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/state.go index 14440482..8bd0b992 100644 --- a/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/state.go +++ b/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package alerts_rule diff --git a/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/test_helper_test.go index 67dcee60..5037aa84 100644 --- a/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package alerts_rule diff --git a/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/testdata/maximal.tf index d8d6ddeb..16b2873c 100644 --- a/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. diff --git a/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/testdata/minimal.tf index 6881d6d6..f43ff52a 100644 --- a/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/alert_rules/v7/alerts_rule/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/construct.go b/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/construct.go index 8ffd90d5..3d16cb32 100644 --- a/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/construct.go +++ b/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package alert_suppression_window @@ -29,14 +29,12 @@ func constructResource(ctx context.Context, data *AlertSuppressionWindowResource body := &alert_suppression_windows.AlertSuppressionWindowRequest{} body.Duration = convert.FrameworkToPtrNamedInt[int](data.Duration) - endRepeatRaw, d := expandAlertSuppressionWindowEndRepeat(ctx, data.EndRepeat) + body.EndRepeat, d = expandAlertSuppressionWindowEndRepeat(ctx, data.EndRepeat) diags.Append(d...) - body.EndRepeat = convert.Deref(endRepeatRaw) body.IsEnabled = convert.FrameworkToPtrBool(data.IsEnabled) body.Name = convert.FrameworkToPtrString(data.Name) - repeatRaw, d := expandAlertSuppressionWindowRepeat(ctx, data.Repeat) + body.Repeat, d = expandAlertSuppressionWindowRepeat(ctx, data.Repeat) diags.Append(d...) - body.Repeat = convert.Deref(repeatRaw) body.StartDate = convert.FrameworkToPtrString(data.StartDate) body.TestIds, d = convert.FrameworkSetToStringSlice(ctx, data.TestIDs) diags.Append(d...) diff --git a/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/crud.go b/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/crud.go index 774f5da6..b02f33cf 100644 --- a/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/crud.go +++ b/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package alert_suppression_window diff --git a/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/model.go b/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/model.go index 4c744f51..1ba39e4e 100644 --- a/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/model.go +++ b/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package alert_suppression_window diff --git a/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/resource.go b/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/resource.go index 9869dc3f..c30692bf 100644 --- a/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/resource.go +++ b/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package alert_suppression_window diff --git a/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/resource_acceptance_test.go index 0efc495f..d21067fc 100644 --- a/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package alert_suppression_window_test diff --git a/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/state.go b/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/state.go index 49d9ef4a..73307415 100644 --- a/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/state.go +++ b/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package alert_suppression_window @@ -34,11 +34,11 @@ func mapRemoteStateToTerraform(ctx context.Context, data *AlertSuppressionWindow data.ID = convert.PtrStringToFramework(remote.AlertSuppressionWindowID) data.Duration = convert.PtrInt64ToFramework[int](remote.Duration) - data.EndRepeat, d = flattenAlertSuppressionWindowEndRepeat(ctx, &remote.EndRepeat) + data.EndRepeat, d = flattenAlertSuppressionWindowEndRepeat(ctx, remote.EndRepeat) diags.Append(d...) data.IsEnabled = convert.PtrBoolToFramework(remote.IsEnabled) data.Name = convert.PtrStringToFramework(remote.Name) - data.Repeat, d = flattenAlertSuppressionWindowRepeat(ctx, &remote.Repeat) + data.Repeat, d = flattenAlertSuppressionWindowRepeat(ctx, remote.Repeat) diags.Append(d...) data.StartDate = convert.PtrStringToFramework(remote.StartDate) data.Status = convert.EnumToFramework(remote.Status) diff --git a/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/test_helper_test.go index 21afca9f..b23409d3 100644 --- a/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package alert_suppression_window diff --git a/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/testdata/maximal.tf index 39920957..5ffa86fa 100644 --- a/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. diff --git a/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/testdata/minimal.tf index ddb3bd01..8974d696 100644 --- a/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/alert_suppression_windows/v7/alert_suppression_window/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/construct.go b/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/construct.go index b9e43055..dc65457e 100644 --- a/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/construct.go +++ b/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_api diff --git a/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/crud.go b/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/crud.go index 4c18bbd8..f3a3b6f9 100644 --- a/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/crud.go +++ b/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_api diff --git a/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/model.go b/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/model.go index 1af9ab76..6ce28c90 100644 --- a/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/model.go +++ b/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_api diff --git a/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/resource.go b/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/resource.go index 5d04ec80..a0d45a1b 100644 --- a/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/resource.go +++ b/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_api diff --git a/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/resource_acceptance_test.go index 315a1b73..4a7dd263 100644 --- a/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_api_test diff --git a/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/state.go b/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/state.go index 1adf8bbf..b441f01e 100644 --- a/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/state.go +++ b/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_api diff --git a/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/test_helper_test.go index b0bf2db6..e5eacf02 100644 --- a/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_api diff --git a/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/testdata/maximal.tf index 489658b0..c0fd7b1c 100644 --- a/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. diff --git a/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/testdata/minimal.tf index 55f82620..5effbb1a 100644 --- a/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/api_tests/v7/tests_api/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/construct.go b/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/construct.go index 2752e799..1fc8b689 100644 --- a/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/construct.go +++ b/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_bgp diff --git a/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/crud.go b/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/crud.go index 5359143e..19c69448 100644 --- a/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/crud.go +++ b/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_bgp diff --git a/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/model.go b/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/model.go index 797b1198..127cec64 100644 --- a/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/model.go +++ b/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_bgp diff --git a/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/resource.go b/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/resource.go index 688622a7..5c490593 100644 --- a/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/resource.go +++ b/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_bgp diff --git a/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/resource_acceptance_test.go index 3b5b16fa..42185c3b 100644 --- a/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_bgp_test diff --git a/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/state.go b/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/state.go index 83843741..cc2f00e8 100644 --- a/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/state.go +++ b/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_bgp diff --git a/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/test_helper_test.go index 3f675599..807511cf 100644 --- a/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_bgp diff --git a/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/testdata/maximal.tf index 12b2a9c8..89e8b796 100644 --- a/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. diff --git a/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/testdata/minimal.tf index f03f23fd..2ba95b46 100644 --- a/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/bgp_tests/v7/tests_bgp/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/construct.go b/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/construct.go index e57aa711..533f3434 100644 --- a/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/construct.go +++ b/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package credential diff --git a/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/crud.go b/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/crud.go index 8d535aa5..a5b5ef62 100644 --- a/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/crud.go +++ b/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package credential diff --git a/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/model.go b/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/model.go index da01e98e..6007a85b 100644 --- a/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/model.go +++ b/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. // REF: https://developer.cisco.com/docs/thousandeyes/create-credential/ package credential diff --git a/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/resource.go b/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/resource.go index 6b43b0b3..5efdfffd 100644 --- a/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/resource.go +++ b/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package credential diff --git a/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/resource_acceptance_test.go index e3b21e6c..00f29336 100644 --- a/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package credential_test diff --git a/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/state.go b/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/state.go index f06879a1..79ed8cec 100644 --- a/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/state.go +++ b/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package credential diff --git a/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/test_helper_test.go index a10ccc8b..b87ff700 100644 --- a/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package credential diff --git a/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/testdata/maximal.tf index 54dd3270..175cc5cc 100644 --- a/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. diff --git a/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/testdata/minimal.tf index 10f14009..c0b0f456 100644 --- a/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/credentials/v7/credential/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/construct.go b/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/construct.go new file mode 100644 index 00000000..f7d89fb6 --- /dev/null +++ b/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/construct.go @@ -0,0 +1,31 @@ +// Code generated by tfpluginframeworkgen from blueprints/thousandeyes +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. + +package dashboard + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-log/tflog" + + "github.com/deploymenttheory/go-sdk-thousandeyes/thousandeyes/thousandeyes_api/dashboards" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/common/convert" +) + +// constructResource maps Terraform configuration onto the API's request body. +// +// Only writable attributes appear here. A computed attribute has no expand +// conversion, so it cannot be sent by construction rather than by discipline. +func constructResource(ctx context.Context, data *DashboardResourceModel) *dashboards.Dashboard { + tflog.Debug(ctx, "constructing request body", map[string]any{"resource": ResourceName}) + + body := &dashboards.Dashboard{} + + body.Description = convert.FrameworkToPtrString(data.Description) + body.GlobalFilterID = convert.FrameworkToPtrString(data.GlobalFilterID) + body.IsGlobalOverride = convert.FrameworkToPtrBool(data.IsGlobalOverride) + body.IsPrivate = convert.FrameworkToPtrBool(data.IsPrivate) + body.Title = convert.FrameworkToPtrString(data.Title) + + return body +} diff --git a/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/crud.go b/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/crud.go new file mode 100644 index 00000000..f5b7d9b3 --- /dev/null +++ b/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/crud.go @@ -0,0 +1,245 @@ +// Code generated by tfpluginframeworkgen from blueprints/thousandeyes +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. + +package dashboard + +import ( + "context" + "time" + + "github.com/hashicorp/terraform-plugin-framework/diag" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-log/tflog" + + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/common/convert" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/common/crud" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/common/errors" +) + +// Create provisions a new thousandeyes_dashboard. +func (r *DashboardResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { + var plan DashboardResourceModel + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + tflog.Debug(ctx, "creating resource", map[string]any{"resource": ResourceName}) + + timeout := crud.Timeout(ctx, plan.Timeouts, crud.PhaseCreate, CreateTimeout*time.Second, &resp.Diagnostics) + if resp.Diagnostics.HasError() { + return + } + ctx, cancel := context.WithTimeout(ctx, timeout) + defer cancel() + body := constructResource(ctx, &plan) + + created, _, err := r.client.API.Dashboards.CreateDashboard(ctx, body) + if err != nil { + errors.Handle(&resp.Diagnostics, ResourceName, errors.OpCreate, err) + return + } + + // The identifier is assigned first, so that a partially-successful create still + // leaves a resource Terraform can find and delete rather than an orphan it has no + // record of. + plan.ID = convert.PtrStringToFramework(created.DashboardID) + + // State comes from a read, not from the create response. The two are not + // interchangeable: a field the API only returns when asked to expand it is absent + // from a create response, so mapping that response would write it null and the next + // read would contradict it -- a diff no configuration change can resolve. + resp.Diagnostics.Append(r.readAfterWrite(ctx, &plan, errors.OpCreate)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...) +} + +// Read refreshes thousandeyes_dashboard state from the API. +func (r *DashboardResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { + var state DashboardResourceModel + + resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + if resp.Diagnostics.HasError() { + return + } + + tflog.Debug(ctx, "reading resource", map[string]any{"resource": ResourceName}) + + timeout := crud.Timeout(ctx, state.Timeouts, crud.PhaseRead, ReadTimeout*time.Second, &resp.Diagnostics) + if resp.Diagnostics.HasError() { + return + } + ctx, cancel := context.WithTimeout(ctx, timeout) + defer cancel() + + found, diags := r.readState(ctx, &state, errors.OpRead) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + + // Something deleted outside Terraform must produce a plan that recreates it, not an + // error the practitioner has no way to clear. + if !found { + tflog.Debug(ctx, "resource no longer exists, removing it from state", map[string]any{ + "resource": ResourceName, + }) + resp.State.RemoveResource(ctx) + return + } + + resp.Diagnostics.Append(resp.State.Set(ctx, &state)...) +} + +// readState fetches thousandeyes_dashboard and maps it onto state. +// +// The single call site of mapRemoteStateToTerraform. Create, Update and Read all arrive +// here, so a change to state mapping is one edit rather than three that have to agree. +// +// The bool distinguishes "not there" from "the request failed", which need different +// handling and used to be conflated: Read turns absence into a recreate, while a read +// after a write treats it as not-yet-consistent and tries again. +func (r *DashboardResource) readState( + ctx context.Context, + state *DashboardResourceModel, + op errors.Operation, +) (bool, diag.Diagnostics) { + var diags diag.Diagnostics + + remote, _, err := r.client.API.Dashboards.GetDashboard(ctx, state.ID.ValueString()) + if err != nil { + if errors.IsNotFound(err) { + return false, diags + } + + errors.Handle(&diags, ResourceName, op, err) + + return false, diags + } + mapRemoteStateToTerraform(ctx, state, remote) + + return true, diags +} + +// readAfterWrite refreshes state from the API after a create or an update, retrying while +// the object is not yet readable. +// +// Why a read at all, rather than mapping the write's own response: the two are not +// interchangeable. A field the API only returns when asked to expand it is absent from a +// write response, so mapping that response writes it null and the next read contradicts +// it. The pilot's own probe evidence says so. +// +// Why a retry: an API that is not read-your-writes consistent returns 404 for an object it +// has just created, and a create that reports success on state the next plan disagrees with +// is worse than one that waits. +// +// The budget is the built-in default: this API's consistency has not been measured, so +// there is no observation to size it from. An API that is consistent succeeds on the first +// attempt and pays nothing for the loop. +func (r *DashboardResource) readAfterWrite( + ctx context.Context, + state *DashboardResourceModel, + op errors.Operation, +) diag.Diagnostics { + var diags diag.Diagnostics + + opts := crud.ReadBackOptions{ + MaxRetries: 10, + Interval: 2000 * time.Millisecond, + ResourceType: ResourceName, + Operation: string(op), + } + + err := crud.ReadBack(ctx, opts, func(ctx context.Context) (bool, error) { + found, d := r.readState(ctx, state, op) + diags.Append(d...) + + if d.HasError() { + return false, crud.ErrStopRetrying + } + + return found, nil + }) + + // A stop signal means readState has already produced the diagnostic, so reporting + // here as well would say the same thing twice. + if err != nil && !crud.IsStopRetrying(err) { + errors.Handle(&diags, ResourceName, op, err) + } + + return diags +} + +// Update applies configuration changes to an existing thousandeyes_dashboard. +func (r *DashboardResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { + var plan, state DashboardResourceModel + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + if resp.Diagnostics.HasError() { + return + } + + tflog.Debug(ctx, "updating resource", map[string]any{"resource": ResourceName}) + + timeout := crud.Timeout(ctx, plan.Timeouts, crud.PhaseUpdate, UpdateTimeout*time.Second, &resp.Diagnostics) + if resp.Diagnostics.HasError() { + return + } + ctx, cancel := context.WithTimeout(ctx, timeout) + defer cancel() + body := constructResource(ctx, &plan) + + _, _, err := r.client.API.Dashboards.UpdateDashboard(ctx, state.ID.ValueString(), body) + if err != nil { + errors.Handle(&resp.Diagnostics, ResourceName, errors.OpUpdate, err) + return + } + + // The plan carries no identifier, since it is computed. Carrying it over from + // prior state keeps it in the model in case the response omits it. + plan.ID = state.ID + + // As with create: state comes from a read rather than from the update response. + resp.Diagnostics.Append(r.readAfterWrite(ctx, &plan, errors.OpUpdate)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...) +} + +// Delete removes a thousandeyes_dashboard. +func (r *DashboardResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { + var state DashboardResourceModel + + resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + if resp.Diagnostics.HasError() { + return + } + + tflog.Debug(ctx, "deleting resource", map[string]any{"resource": ResourceName}) + + timeout := crud.Timeout(ctx, state.Timeouts, crud.PhaseDelete, DeleteTimeout*time.Second, &resp.Diagnostics) + if resp.Diagnostics.HasError() { + return + } + ctx, cancel := context.WithTimeout(ctx, timeout) + defer cancel() + + _, err := r.client.API.Dashboards.DeleteDashboard(ctx, state.ID.ValueString()) + if err != nil { + // Already gone is the outcome delete was asking for. + if errors.IsNotFound(err) { + return + } + errors.Handle(&resp.Diagnostics, ResourceName, errors.OpDelete, err) + return + } + + // State is removed by the framework once Delete returns without error. +} diff --git a/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/model.go b/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/model.go new file mode 100644 index 00000000..ae2f653c --- /dev/null +++ b/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/model.go @@ -0,0 +1,36 @@ +// Code generated by tfpluginframeworkgen from blueprints/thousandeyes +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. + +package dashboard + +import ( + "github.com/hashicorp/terraform-plugin-framework-timeouts/resource/timeouts" + "github.com/hashicorp/terraform-plugin-framework/types" +) + +// DashboardResourceModel is the Terraform state for a thousandeyes_dashboard. +// +// Field order follows the schema, and the timeouts value is last. +type DashboardResourceModel struct { + AccountID types.Int64 `tfsdk:"account_id"` + AID types.String `tfsdk:"aid"` + CreatedBy types.Int64 `tfsdk:"created_by"` + DashboardCreatedBy types.String `tfsdk:"dashboard_created_by"` + ID types.String `tfsdk:"id"` + DashboardModifiedBy types.String `tfsdk:"dashboard_modified_by"` + DashboardModifiedDate types.String `tfsdk:"dashboard_modified_date"` + Description types.String `tfsdk:"description"` + GlobalFilterID types.String `tfsdk:"global_filter_id"` + GlobalOverride types.Bool `tfsdk:"global_override"` + IsBuiltIn types.Bool `tfsdk:"is_built_in"` + IsDefaultForAccount types.Bool `tfsdk:"is_default_for_account"` + IsDefaultForUser types.Bool `tfsdk:"is_default_for_user"` + IsGlobalOverride types.Bool `tfsdk:"is_global_override"` + IsMigratedReport types.Bool `tfsdk:"is_migrated_report"` + IsPrivate types.Bool `tfsdk:"is_private"` + MigratedReport types.Bool `tfsdk:"migrated_report"` + ModifiedBy types.Int64 `tfsdk:"modified_by"` + ModifiedDate types.String `tfsdk:"modified_date"` + Title types.String `tfsdk:"title"` + Timeouts timeouts.Value `tfsdk:"timeouts"` +} diff --git a/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/resource.go b/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/resource.go new file mode 100644 index 00000000..93f779f6 --- /dev/null +++ b/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/resource.go @@ -0,0 +1,181 @@ +// Code generated by tfpluginframeworkgen from blueprints/thousandeyes +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. + +package dashboard + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-framework/path" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + + thousandeyes "github.com/deploymenttheory/go-sdk-thousandeyes/thousandeyes" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/client" + commonschema "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/common/schema" +) + +const ( + // ResourceName is the Terraform type this resource registers as. + ResourceName = "thousandeyes_dashboard" + + // Default per-operation timeouts, in seconds. A practitioner overrides them + // with the resource's timeouts block. + CreateTimeout = 180 + ReadTimeout = 180 + UpdateTimeout = 180 + DeleteTimeout = 180 +) + +// Compile-time assertions that this resource implements what it claims to. They +// turn a missing method into a build failure rather than a runtime surprise. +var ( + _ resource.Resource = (*DashboardResource)(nil) + _ resource.ResourceWithConfigure = (*DashboardResource)(nil) + _ resource.ResourceWithImportState = (*DashboardResource)(nil) +) + +// NewDashboardResource returns the thousandeyes_dashboard resource. +func NewDashboardResource() resource.Resource { + return &DashboardResource{} +} + +// DashboardResource implements the thousandeyes_dashboard resource. +type DashboardResource struct { + client *thousandeyes.Client +} + +// Metadata returns the resource type name. +func (r *DashboardResource) Metadata(_ context.Context, _ resource.MetadataRequest, resp *resource.MetadataResponse) { + resp.TypeName = ResourceName +} + +// Configure receives the configured SDK client from the provider. +func (r *DashboardResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) { + r.client = client.ForResource(ctx, req, resp, ResourceName) +} + +// ImportState maps a terraform import into state. +func (r *DashboardResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { + resource.ImportStatePassthroughID(ctx, path.Root("id"), req, resp) +} + +// Schema returns the resource schema. +func (r *DashboardResource) Schema(ctx context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "Retrieve dashboard.", + Attributes: map[string]schema.Attribute{ + "account_id": schema.Int64Attribute{ + Computed: true, + MarkdownDescription: "Identifier for the account group associated with a dashboard.", + DeprecationMessage: "The API documents this field as deprecated.", + }, + "aid": schema.StringAttribute{ + Computed: true, + MarkdownDescription: "Identifier for the account group associated with a dashboard.", + }, + "created_by": schema.Int64Attribute{ + Computed: true, + MarkdownDescription: "Identifier for the user that created a dashboard.", + DeprecationMessage: "The API documents this field as deprecated.", + }, + "dashboard_created_by": schema.StringAttribute{ + Computed: true, + MarkdownDescription: "Identifier for the user that created a dashboard.", + }, + "id": schema.StringAttribute{ + Computed: true, + MarkdownDescription: "Identifier of a dashboard. Named `id` because terraform-plugin-testing populates import " + + "state only from an attribute literally called id; the wire field stays dashboardId.", + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + }, + "dashboard_modified_by": schema.StringAttribute{ + Computed: true, + MarkdownDescription: "Identifier for the user that last modified a dashboard.", + }, + "dashboard_modified_date": schema.StringAttribute{ + Computed: true, + MarkdownDescription: "UTC date/time when a dashboard was last modified (ISO date-time format).", + }, + "description": schema.StringAttribute{ + Optional: true, + MarkdownDescription: "A text description of the dashboard's purpose and functionality. This information assists " + + "users in understanding the dashboard but isn't displayed when viewing a dashboard.", + }, + "global_filter_id": schema.StringAttribute{ + Optional: true, + MarkdownDescription: "Default global dashboard filter ID (obtained from `/dashboards/filters` endpoint).", + }, + "global_override": schema.BoolAttribute{ + Computed: true, + MarkdownDescription: "When set to `true`, the defaultTimespan is used and overrides the widget's timespan. If " + + "set to `false`, the the widget's timespan is used.", + DeprecationMessage: "The API documents this field as deprecated.", + }, + "is_built_in": schema.BoolAttribute{ + Computed: true, + MarkdownDescription: "Indicates if a dashboard is built-in. True for built-in dashboards, false for user-created " + + "dashboards.", + }, + "is_default_for_account": schema.BoolAttribute{ + Computed: true, + MarkdownDescription: "Indicates whether this dashboard is the account group's default. True for default, false " + + "if not.", + }, + "is_default_for_user": schema.BoolAttribute{ + Computed: true, + MarkdownDescription: "Indicates whether this dashboard is the user's default. True for default, false if not.", + }, + "is_global_override": schema.BoolAttribute{ + Optional: true, + Computed: true, + MarkdownDescription: "When set to `true`, the defaultTimespan is used and overrides the widget's timespan. If " + + "set to `false`, the the widget's timespan is used. " + + "Observed: the API assigns false when this is omitted. Observed: the API assigns false when " + + "this is omitted from an update. Omitting this field from an update resets it rather than " + + "preserving the stored value. ", + }, + "is_migrated_report": schema.BoolAttribute{ + Computed: true, + MarkdownDescription: "True if this dashboard was previously a report.", + }, + "is_private": schema.BoolAttribute{ + Optional: true, + Computed: true, + MarkdownDescription: "A dashboard can be viewed by other users in the account. If true, only the creator of the " + + "dashboard may view it. If false, all users in the same account may view it. Observed: the API assigns false when this is omitted. " + + "Observed: the API assigns false when this is omitted from an update. Omitting this field " + + "from an update resets it rather than preserving the stored value. ", + }, + "migrated_report": schema.BoolAttribute{ + Computed: true, + MarkdownDescription: "True if this dashboard was previously a report.", + DeprecationMessage: "The API documents this field as deprecated.", + }, + "modified_by": schema.Int64Attribute{ + Computed: true, + MarkdownDescription: "Identifier for the user that last modified a dashboard.", + DeprecationMessage: "The API documents this field as deprecated.", + }, + "modified_date": schema.StringAttribute{ + Computed: true, + MarkdownDescription: "UTC date/time when a dashboard was last modified.", + DeprecationMessage: "The API documents this field as deprecated.", + }, + "title": schema.StringAttribute{ + Optional: true, + MarkdownDescription: "Title of a dashboard. Marked required-by-API by curation: title is the sweeper's field, so " + + "the probe cannot test omitting it, and a titleless dashboard is unaddressable in the UI " + + "either way.", + }, + }, + Blocks: map[string]schema.Block{ + "timeouts": commonschema.ResourceTimeouts(ctx), + }, + } +} diff --git a/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/resource_acceptance_test.go new file mode 100644 index 00000000..a47d68db --- /dev/null +++ b/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/resource_acceptance_test.go @@ -0,0 +1,95 @@ +// Code generated by tfpluginframeworkgen from blueprints/thousandeyes +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. + +package dashboard_test + +import ( + "os" + "path/filepath" + "testing" + "time" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/acceptance" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/acceptance/check" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/acceptance/destroy" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard" +) + +// The resource under test, and the helper that asks the API whether it is really there. +const address = "thousandeyes_dashboard.test" + +var testResource = dashboard.DashboardTestResource{} + +// TestAccResourceDashboard_01_Lifecycle exercises the whole lifecycle against a live API. +// +// Guarded by TF_ACC, which terraform-plugin-testing requires, so `go test ./...` never reaches a +// live tenant by accident. The credential comes from the environment; see internal/acceptance. +// +// Every step ends with an implicit plan, and terraform-plugin-testing fails the step if that plan +// is not empty. That is the single strongest signal available that state mapping is right: an +// attribute the provider stores differently from how the API reports it shows up here as a diff on +// a resource nobody touched, and no amount of compiling or schema checking can see it. +func TestAccResourceDashboard_01_Lifecycle(t *testing.T) { + resource.Test(t, resource.TestCase{ + PreCheck: func() { acceptance.PreCheck(t) }, + ProtoV6ProviderFactories: acceptance.ProtoV6ProviderFactories, + // Destroy is verified against the API rather than against state, because Terraform + // considers a destroy done when the provider's Delete returns no error -- which is a + // statement about the request, not about the object. + // + // The wait is the built-in default; this API's consistency after delete was never measured, + // so this is a budget rather than an observation + CheckDestroy: destroy.CheckDestroyed(testResource, "thousandeyes_dashboard", 20*time.Second), + Steps: []resource.TestStep{ + // Create, from the smallest configuration the schema permits. + { + Config: config(t, "minimal.tf"), + Check: resource.ComposeAggregateTestCheckFunc( + check.That(address).ExistsInAPI(testResource), + check.That(address).Key("id").Exists(), + check.That(address).Key("is_global_override").HasValue("false"), + check.That(address).Key("is_private").HasValue("false"), + check.That(address).Key("title").HasValue("tfacc-title"), + ), + }, + // Import, then compare every attribute against the state the apply produced. + // + // This is what catches a read that populates state differently from a create, which + // is the most common way a generated provider is subtly wrong. + { + ResourceName: address, + ImportState: true, + ImportStateVerify: true, + }, + // Update in place, to a configuration that sets the optional attributes too. + { + Config: config(t, "maximal.tf"), + Check: resource.ComposeAggregateTestCheckFunc( + check.That(address).ExistsInAPI(testResource), + check.That(address).Key("id").Exists(), + check.That(address).Key("description").HasValue("tfacc-description"), + check.That(address).Key("is_global_override").HasValue("false"), + check.That(address).Key("is_private").HasValue("false"), + check.That(address).Key("title").HasValue("tfacc-title"), + ), + }, + }, + }) +} + +// config reads one of the committed fixtures. +// +// From testdata rather than from a string constant in this file, so the configuration can be +// edited and re-run without recompiling, and so `terraform fmt` can police it. +func config(t *testing.T, name string) string { + t.Helper() + + body, err := os.ReadFile(filepath.Join("testdata", name)) + if err != nil { + t.Fatalf("reading fixture %s: %v", name, err) + } + + return string(body) +} diff --git a/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/state.go b/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/state.go new file mode 100644 index 00000000..be2f8de5 --- /dev/null +++ b/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/state.go @@ -0,0 +1,50 @@ +// Code generated by tfpluginframeworkgen from blueprints/thousandeyes +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. + +package dashboard + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-log/tflog" + + "github.com/deploymenttheory/go-sdk-thousandeyes/thousandeyes/thousandeyes_api/dashboards" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/common/convert" +) + +// mapRemoteStateToTerraform maps the API's response onto Terraform state. +// +// This function replaces what a reflection-based provider does at runtime. Being +// generated code, a field whose conversion is wrong is a compile error rather +// than a surprise during apply. +func mapRemoteStateToTerraform(ctx context.Context, data *DashboardResourceModel, remote *dashboards.ApiDashboard) { + if remote == nil { + tflog.Debug(ctx, "remote resource is nil, leaving state untouched", map[string]any{ + "resource": ResourceName, + }) + return + } + + data.AccountID = convert.PtrInt64ToFramework(remote.AccountID) + data.AID = convert.PtrStringToFramework(remote.AID) + data.CreatedBy = convert.PtrInt64ToFramework(remote.CreatedBy) + data.DashboardCreatedBy = convert.PtrStringToFramework(remote.DashboardCreatedBy) + data.ID = convert.PtrStringToFramework(remote.DashboardID) + data.DashboardModifiedBy = convert.PtrStringToFramework(remote.DashboardModifiedBy) + data.DashboardModifiedDate = convert.PtrStringToFramework(remote.DashboardModifiedDate) + data.Description = convert.PtrStringToFramework(remote.Description) + data.GlobalFilterID = convert.PtrStringToFramework(remote.GlobalFilterID) + data.GlobalOverride = convert.PtrBoolToFramework(remote.GlobalOverride) + data.IsBuiltIn = convert.PtrBoolToFramework(remote.IsBuiltIn) + data.IsDefaultForAccount = convert.PtrBoolToFramework(remote.IsDefaultForAccount) + data.IsDefaultForUser = convert.PtrBoolToFramework(remote.IsDefaultForUser) + data.IsGlobalOverride = convert.PtrBoolToFramework(remote.IsGlobalOverride) + data.IsMigratedReport = convert.PtrBoolToFramework(remote.IsMigratedReport) + data.IsPrivate = convert.PtrBoolToFramework(remote.IsPrivate) + data.MigratedReport = convert.PtrBoolToFramework(remote.MigratedReport) + data.ModifiedBy = convert.PtrInt64ToFramework(remote.ModifiedBy) + data.ModifiedDate = convert.PtrStringToFramework(remote.ModifiedDate) + data.Title = convert.PtrStringToFramework(remote.Title) + + tflog.Debug(ctx, "mapped remote state", map[string]any{"resource": ResourceName}) +} diff --git a/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/test_helper_test.go new file mode 100644 index 00000000..b4eb121a --- /dev/null +++ b/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/test_helper_test.go @@ -0,0 +1,40 @@ +// Code generated by tfpluginframeworkgen from blueprints/thousandeyes +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. + +package dashboard + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-testing/terraform" + + thousandeyes "github.com/deploymenttheory/go-sdk-thousandeyes/thousandeyes" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/acceptance/exists" +) + +// DashboardTestResource answers whether a thousandeyes_dashboard is really in the API. +// +// In a _test.go file rather than an ordinary one, so no test scaffolding reaches a built +// provider. An external _test package still sees the exported identifiers of a package's own +// test files, which is what lets the generated acceptance test refer to this. +type DashboardTestResource struct{} + +// Exists reads the object back through the same operation the resource's Read uses. +// +// Deliberately the same call rather than an equivalent one. A check that asked a list endpoint +// instead could report an object present while the read the provider actually depends on was +// broken, which is the failure an acceptance test exists to catch. +func (DashboardTestResource) Exists( + ctx context.Context, + state *terraform.InstanceState, +) (*bool, error) { + return exists.Check(ctx, state, func( + ctx context.Context, + client *thousandeyes.Client, + state *terraform.InstanceState, + ) error { + _, _, err := client.API.Dashboards.GetDashboard(ctx, state.ID) + + return err + }) +} diff --git a/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/testdata/maximal.tf new file mode 100644 index 00000000..3cf2486a --- /dev/null +++ b/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/testdata/maximal.tf @@ -0,0 +1,29 @@ +# Code generated by tfpluginframeworkgen from blueprints/thousandeyes +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. + +# The widest configuration the evidence supports: every writable attribute with a derivable +# value, chosen by the same derivation the rehearsal probe sends to the live API. +# +# Regenerated and policed, deliberately. This file used to be a hand-owned scaffold, and +# hand edits are how its values drifted from the generated assertions -- the checks derive +# from the blueprint, so the blueprint is where a value is corrected: an accFixture hint for +# something only a human knows, recorded behaviour for everything the probe observed. What +# could not be derived is listed inside the block, each with the reason. + +resource "thousandeyes_dashboard" "test" { + # Where a value came from. + # + # is_global_override: the API's own default, so a value it is known to accept + # + # is_private: the API's own default, so a value it is known to accept + # + # Not filled in, because no correct value could be derived. Each of these is optional, so this + # configuration is valid as it stands -- but it is testing less than it could. + # + # global_filter_id: it references an object that must already exist, which a synthesised value + # cannot name; supply one through accFixture if the test has the object + description = "tfacc-description" + is_global_override = false + is_private = false + title = "tfacc-title" +} diff --git a/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/testdata/minimal.tf new file mode 100644 index 00000000..daefd721 --- /dev/null +++ b/pilot/thousandeyes/internal/services/resources/dashboards/v7/dashboard/testdata/minimal.tf @@ -0,0 +1,11 @@ +# Code generated by tfpluginframeworkgen from blueprints/thousandeyes +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. + +# The smallest configuration this resource accepts: its required attributes and nothing else. +# +# Regenerated, so it follows the schema. If the API starts requiring a field, this file gains it +# on the next emit rather than an acceptance run discovering it. + +resource "thousandeyes_dashboard" "test" { + title = "tfacc-title" +} diff --git a/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/construct.go b/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/construct.go index 1ad3b4ce..7ab48672 100644 --- a/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/construct.go +++ b/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package dashboards_filter diff --git a/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/crud.go b/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/crud.go index fe2dfc6f..1d80d668 100644 --- a/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/crud.go +++ b/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package dashboards_filter diff --git a/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/model.go b/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/model.go index 6a1f573e..d810b436 100644 --- a/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/model.go +++ b/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package dashboards_filter diff --git a/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/resource.go b/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/resource.go index b464fdff..094d0055 100644 --- a/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/resource.go +++ b/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package dashboards_filter diff --git a/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/resource_acceptance_test.go index 7f15b497..2e1662a3 100644 --- a/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package dashboards_filter_test diff --git a/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/state.go b/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/state.go index ec2fa00a..08aebec1 100644 --- a/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/state.go +++ b/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package dashboards_filter @@ -35,12 +35,12 @@ func mapRemoteStateToTerraform(ctx context.Context, data *DashboardsFilterResour data.AID = convert.StringToFramework(remote.AID) data.Context, d = flattenDashboardsFilterApiContextFilterses(ctx, remote.Context) diags.Append(d...) - data.CreatedBy, d = flattenDashboardsFilterApiDashboardFilterUserDetails(ctx, &remote.CreatedBy) + data.CreatedBy, d = flattenDashboardsFilterApiDashboardFilterUserDetails(ctx, remote.CreatedBy) diags.Append(d...) data.CreatedDate = convert.PtrStringToFramework(remote.CreatedDate) data.Description = convert.EnumToFramework[dashboards_filters.ApiDashboardFilterDescription](remote.Description) data.ID = convert.StringToFramework(remote.ID) - data.ModifiedBy, d = flattenDashboardsFilterApiDashboardFilterUserDetails2(ctx, &remote.ModifiedBy) + data.ModifiedBy, d = flattenDashboardsFilterApiDashboardFilterUserDetails2(ctx, remote.ModifiedBy) diags.Append(d...) data.ModifiedDate = convert.PtrStringToFramework(remote.ModifiedDate) data.Name = convert.EnumToFramework[dashboards_filters.ApiDashboardFilterName](remote.Name) diff --git a/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/test_helper_test.go index d47fd841..ccc7d331 100644 --- a/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package dashboards_filter diff --git a/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/testdata/maximal.tf index 58761019..bb601633 100644 --- a/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. diff --git a/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/testdata/minimal.tf index cc9567e2..d782a41b 100644 --- a/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/dashboards_filters/v7/dashboards_filter/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/construct.go b/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/construct.go index 2e361903..b955ab09 100644 --- a/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/construct.go +++ b/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dns_server diff --git a/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/crud.go b/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/crud.go index b16a2435..37d0a515 100644 --- a/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/crud.go +++ b/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dns_server diff --git a/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/model.go b/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/model.go index caef40a3..fac66ce8 100644 --- a/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/model.go +++ b/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dns_server diff --git a/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/resource.go b/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/resource.go index cca2515e..6a547a53 100644 --- a/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/resource.go +++ b/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dns_server diff --git a/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/resource_acceptance_test.go index 21bf627e..8a26bca4 100644 --- a/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dns_server_test diff --git a/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/state.go b/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/state.go index edf60453..d54c57ab 100644 --- a/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/state.go +++ b/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dns_server diff --git a/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/test_helper_test.go index b8340ebb..35fafcea 100644 --- a/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dns_server diff --git a/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/testdata/maximal.tf index 7f169832..2f32e1db 100644 --- a/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. diff --git a/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/testdata/minimal.tf index cf92c85b..30e00885 100644 --- a/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/dns_server_tests/v7/tests_dns_server/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/construct.go b/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/construct.go index 8107d4a6..fbb04cfa 100644 --- a/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/construct.go +++ b/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dns_trace diff --git a/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/crud.go b/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/crud.go index 9a12fbeb..ca7e0bb1 100644 --- a/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/crud.go +++ b/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dns_trace diff --git a/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/model.go b/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/model.go index bd6ffd5b..159ab82e 100644 --- a/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/model.go +++ b/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dns_trace diff --git a/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/resource.go b/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/resource.go index 8089f558..fbbf2605 100644 --- a/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/resource.go +++ b/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dns_trace diff --git a/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/resource_acceptance_test.go index 07f0fa55..3334a6a8 100644 --- a/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dns_trace_test diff --git a/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/state.go b/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/state.go index 883a3c62..8d0d0919 100644 --- a/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/state.go +++ b/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dns_trace diff --git a/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/test_helper_test.go index 27658649..9146b5cb 100644 --- a/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dns_trace diff --git a/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/testdata/maximal.tf index b47fd461..ec682470 100644 --- a/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. diff --git a/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/testdata/minimal.tf index 5e2d236d..5e717f1e 100644 --- a/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/dns_trace_tests/v7/tests_dns_trace/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/construct.go b/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/construct.go index 7f832fe5..b51f1909 100644 --- a/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/construct.go +++ b/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dnssec diff --git a/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/crud.go b/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/crud.go index e6ac868f..62fade39 100644 --- a/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/crud.go +++ b/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dnssec diff --git a/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/model.go b/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/model.go index 47d381fb..8bda9230 100644 --- a/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/model.go +++ b/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dnssec diff --git a/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/resource.go b/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/resource.go index da1e180b..2b14a090 100644 --- a/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/resource.go +++ b/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dnssec diff --git a/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/resource_acceptance_test.go index 85ac2041..1ffdac1e 100644 --- a/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dnssec_test diff --git a/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/state.go b/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/state.go index d0de776d..c7c578fe 100644 --- a/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/state.go +++ b/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dnssec diff --git a/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/test_helper_test.go index 9efd2c96..7a2f7a4c 100644 --- a/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_dnssec diff --git a/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/testdata/maximal.tf index 721f32fa..da834767 100644 --- a/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. diff --git a/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/testdata/minimal.tf index 9541a3aa..e5c82b43 100644 --- a/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/dnssec_tests/v7/tests_dnssec/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/construct.go b/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/construct.go new file mode 100644 index 00000000..4ef3513c --- /dev/null +++ b/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/construct.go @@ -0,0 +1,92 @@ +// Code generated by tfpluginframeworkgen from blueprints/thousandeyes +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. + +package endpoint_label + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-framework/diag" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-log/tflog" + + "github.com/deploymenttheory/go-sdk-thousandeyes/thousandeyes/thousandeyes_api/endpoint_agent_labels" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/common/convert" +) + +// constructResource maps Terraform configuration onto the API's request body. +// +// Only writable attributes appear here. A computed attribute has no expand +// conversion, so it cannot be sent by construction rather than by discipline. +func constructResource(ctx context.Context, data *EndpointLabelResourceModel) (*endpoint_agent_labels.LabelRequest, diag.Diagnostics) { + var ( + diags diag.Diagnostics + d diag.Diagnostics + ) + tflog.Debug(ctx, "constructing request body", map[string]any{"resource": ResourceName}) + + body := &endpoint_agent_labels.LabelRequest{} + + body.Color = convert.FrameworkToPtrString(data.Color) + body.Filters, d = expandEndpointLabelFilters(ctx, data.Filters) + diags.Append(d...) + body.MatchType = convert.FrameworkToEnum[endpoint_agent_labels.MatchType](data.MatchType) + body.Name = convert.FrameworkToString(data.Name) + + return body, diags +} + +// constructResourceUpdate builds the update request body. +// +// A separate function because this SDK gives update its own request type. The +// assignment list is create's except where an attribute declares updateExpand -- +// an SDK whose update type spells a field differently from create's -- and the +// bindings check has proven every assigned field exists on its own type. +func constructResourceUpdate(ctx context.Context, data *EndpointLabelResourceModel) (*endpoint_agent_labels.Label, diag.Diagnostics) { + var ( + diags diag.Diagnostics + d diag.Diagnostics + ) + tflog.Debug(ctx, "constructing update request body", map[string]any{"resource": ResourceName}) + + body := &endpoint_agent_labels.Label{} + + body.Color = convert.FrameworkToPtrString(data.Color) + body.Filters, d = expandEndpointLabelFilters(ctx, data.Filters) + diags.Append(d...) + body.MatchType = convert.FrameworkToEnum[endpoint_agent_labels.MatchType](data.MatchType) + body.Name = convert.FrameworkToPtrString(data.Name) + + return body, diags +} + +// expandEndpointLabelFilters converts the configured EndpointLabelFilterModel values into SDK structs. +func expandEndpointLabelFilters(ctx context.Context, v types.Set) ([]endpoint_agent_labels.Filter, diag.Diagnostics) { + var diags diag.Diagnostics + var d diag.Diagnostics + + // Null and unknown both yield nil so the field is omitted from the request, + // which is distinct from an empty collection asking the API to clear it. + if v.IsNull() || v.IsUnknown() { + return nil, diags + } + + var models []EndpointLabelFilterModel + diags.Append(v.ElementsAs(ctx, &models, false)...) + if diags.HasError() { + return nil, diags + } + + out := make([]endpoint_agent_labels.Filter, 0, len(models)) + for _, m := range models { + var item endpoint_agent_labels.Filter + + item.Key = convert.FrameworkToEnum[endpoint_agent_labels.FilterType](m.Key) + item.Mode = convert.FrameworkToEnum[endpoint_agent_labels.LabelFilterMode](m.Mode) + item.Values, d = convert.FrameworkSetToStringSlice(ctx, m.Values) + diags.Append(d...) + out = append(out, item) + } + + return out, diags +} diff --git a/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/crud.go b/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/crud.go new file mode 100644 index 00000000..db167e4e --- /dev/null +++ b/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/crud.go @@ -0,0 +1,255 @@ +// Code generated by tfpluginframeworkgen from blueprints/thousandeyes +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. + +package endpoint_label + +import ( + "context" + "time" + + "github.com/hashicorp/terraform-plugin-framework/diag" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-log/tflog" + + teclient "github.com/deploymenttheory/go-sdk-thousandeyes/thousandeyes/client" + "github.com/deploymenttheory/go-sdk-thousandeyes/thousandeyes/thousandeyes_api/endpoint_agent_labels" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/common/convert" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/common/crud" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/common/errors" +) + +// Create provisions a new thousandeyes_endpoint_label. +func (r *EndpointLabelResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { + var plan EndpointLabelResourceModel + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + tflog.Debug(ctx, "creating resource", map[string]any{"resource": ResourceName}) + + timeout := crud.Timeout(ctx, plan.Timeouts, crud.PhaseCreate, CreateTimeout*time.Second, &resp.Diagnostics) + if resp.Diagnostics.HasError() { + return + } + ctx, cancel := context.WithTimeout(ctx, timeout) + defer cancel() + body, constructDiags := constructResource(ctx, &plan) + resp.Diagnostics.Append(constructDiags...) + if resp.Diagnostics.HasError() { + return + } + + created, _, err := r.client.API.EndpointAgentLabels.CreateEndpointLabel(ctx, body) + if err != nil { + errors.Handle(&resp.Diagnostics, ResourceName, errors.OpCreate, err) + return + } + + // The identifier is assigned first, so that a partially-successful create still + // leaves a resource Terraform can find and delete rather than an orphan it has no + // record of. + plan.ID = convert.EnumToFramework[endpoint_agent_labels.LabelId](created.ID) + + // State comes from a read, not from the create response. The two are not + // interchangeable: a field the API only returns when asked to expand it is absent + // from a create response, so mapping that response would write it null and the next + // read would contradict it -- a diff no configuration change can resolve. + resp.Diagnostics.Append(r.readAfterWrite(ctx, &plan, errors.OpCreate)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...) +} + +// Read refreshes thousandeyes_endpoint_label state from the API. +func (r *EndpointLabelResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { + var state EndpointLabelResourceModel + + resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + if resp.Diagnostics.HasError() { + return + } + + tflog.Debug(ctx, "reading resource", map[string]any{"resource": ResourceName}) + + timeout := crud.Timeout(ctx, state.Timeouts, crud.PhaseRead, ReadTimeout*time.Second, &resp.Diagnostics) + if resp.Diagnostics.HasError() { + return + } + ctx, cancel := context.WithTimeout(ctx, timeout) + defer cancel() + + found, diags := r.readState(ctx, &state, errors.OpRead) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + + // Something deleted outside Terraform must produce a plan that recreates it, not an + // error the practitioner has no way to clear. + if !found { + tflog.Debug(ctx, "resource no longer exists, removing it from state", map[string]any{ + "resource": ResourceName, + }) + resp.State.RemoveResource(ctx) + return + } + + resp.Diagnostics.Append(resp.State.Set(ctx, &state)...) +} + +// readState fetches thousandeyes_endpoint_label and maps it onto state. +// +// The single call site of mapRemoteStateToTerraform. Create, Update and Read all arrive +// here, so a change to state mapping is one edit rather than three that have to agree. +// +// The bool distinguishes "not there" from "the request failed", which need different +// handling and used to be conflated: Read turns absence into a recreate, while a read +// after a write treats it as not-yet-consistent and tries again. +func (r *EndpointLabelResource) readState( + ctx context.Context, + state *EndpointLabelResourceModel, + op errors.Operation, +) (bool, diag.Diagnostics) { + var diags diag.Diagnostics + + remote, _, err := r.client.API.EndpointAgentLabels.GetEndpointLabel(ctx, state.ID.ValueString(), teclient.WithQueryParam("expand", "filters")) + if err != nil { + if errors.IsNotFound(err) { + return false, diags + } + + errors.Handle(&diags, ResourceName, op, err) + + return false, diags + } + diags.Append(mapRemoteStateToTerraform(ctx, state, remote)...) + + return true, diags +} + +// readAfterWrite refreshes state from the API after a create or an update, retrying while +// the object is not yet readable. +// +// Why a read at all, rather than mapping the write's own response: the two are not +// interchangeable. A field the API only returns when asked to expand it is absent from a +// write response, so mapping that response writes it null and the next read contradicts +// it. The pilot's own probe evidence says so. +// +// Why a retry: an API that is not read-your-writes consistent returns 404 for an object it +// has just created, and a create that reports success on state the next plan disagrees with +// is worse than one that waits. +// +// The budget is the built-in default: this API's consistency has not been measured, so +// there is no observation to size it from. An API that is consistent succeeds on the first +// attempt and pays nothing for the loop. +func (r *EndpointLabelResource) readAfterWrite( + ctx context.Context, + state *EndpointLabelResourceModel, + op errors.Operation, +) diag.Diagnostics { + var diags diag.Diagnostics + + opts := crud.ReadBackOptions{ + MaxRetries: 10, + Interval: 2000 * time.Millisecond, + ResourceType: ResourceName, + Operation: string(op), + } + + err := crud.ReadBack(ctx, opts, func(ctx context.Context) (bool, error) { + found, d := r.readState(ctx, state, op) + diags.Append(d...) + + if d.HasError() { + return false, crud.ErrStopRetrying + } + + return found, nil + }) + + // A stop signal means readState has already produced the diagnostic, so reporting + // here as well would say the same thing twice. + if err != nil && !crud.IsStopRetrying(err) { + errors.Handle(&diags, ResourceName, op, err) + } + + return diags +} + +// Update applies configuration changes to an existing thousandeyes_endpoint_label. +func (r *EndpointLabelResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { + var plan, state EndpointLabelResourceModel + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + if resp.Diagnostics.HasError() { + return + } + + tflog.Debug(ctx, "updating resource", map[string]any{"resource": ResourceName}) + + timeout := crud.Timeout(ctx, plan.Timeouts, crud.PhaseUpdate, UpdateTimeout*time.Second, &resp.Diagnostics) + if resp.Diagnostics.HasError() { + return + } + ctx, cancel := context.WithTimeout(ctx, timeout) + defer cancel() + body, constructDiags := constructResourceUpdate(ctx, &plan) + resp.Diagnostics.Append(constructDiags...) + if resp.Diagnostics.HasError() { + return + } + + _, _, err := r.client.API.EndpointAgentLabels.UpdateEndpointLabel(ctx, state.ID.ValueString(), body) + if err != nil { + errors.Handle(&resp.Diagnostics, ResourceName, errors.OpUpdate, err) + return + } + + // The plan carries no identifier, since it is computed. Carrying it over from + // prior state keeps it in the model in case the response omits it. + plan.ID = state.ID + + // As with create: state comes from a read rather than from the update response. + resp.Diagnostics.Append(r.readAfterWrite(ctx, &plan, errors.OpUpdate)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...) +} + +// Delete removes a thousandeyes_endpoint_label. +func (r *EndpointLabelResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { + var state EndpointLabelResourceModel + + resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + if resp.Diagnostics.HasError() { + return + } + + tflog.Debug(ctx, "deleting resource", map[string]any{"resource": ResourceName}) + + timeout := crud.Timeout(ctx, state.Timeouts, crud.PhaseDelete, DeleteTimeout*time.Second, &resp.Diagnostics) + if resp.Diagnostics.HasError() { + return + } + ctx, cancel := context.WithTimeout(ctx, timeout) + defer cancel() + + _, err := r.client.API.EndpointAgentLabels.DeleteEndpointLabel(ctx, state.ID.ValueString()) + if err != nil { + // Already gone is the outcome delete was asking for. + if errors.IsNotFound(err) { + return + } + errors.Handle(&resp.Diagnostics, ResourceName, errors.OpDelete, err) + return + } + + // State is removed by the framework once Delete returns without error. +} diff --git a/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/model.go b/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/model.go new file mode 100644 index 00000000..18026dd2 --- /dev/null +++ b/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/model.go @@ -0,0 +1,44 @@ +// Code generated by tfpluginframeworkgen from blueprints/thousandeyes +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. + +package endpoint_label + +import ( + "github.com/hashicorp/terraform-plugin-framework-timeouts/resource/timeouts" + "github.com/hashicorp/terraform-plugin-framework/attr" + "github.com/hashicorp/terraform-plugin-framework/types" +) + +// EndpointLabelResourceModel is the Terraform state for a thousandeyes_endpoint_label. +// +// Field order follows the schema, and the timeouts value is last. +type EndpointLabelResourceModel struct { + Color types.String `tfsdk:"color"` + Filters types.Set `tfsdk:"filters"` + ID types.String `tfsdk:"id"` + MatchType types.String `tfsdk:"match_type"` + Name types.String `tfsdk:"name"` + Timeouts timeouts.Value `tfsdk:"timeouts"` +} + +// EndpointLabelFilterModel is one element of a nested attribute. +// +// It is a sibling of the resource model rather than an inner type, because the +// framework decodes collection elements into a named type. +type EndpointLabelFilterModel struct { + Key types.String `tfsdk:"key"` + Mode types.String `tfsdk:"mode"` + Values types.Set `tfsdk:"values"` +} + +// endpointLabelFilterAttrTypes describes EndpointLabelFilterModel to the framework. +// +// It is declared once and referenced by both conversion helpers, so the shape +// cannot drift between the direction that reads it and the direction that writes it. +var endpointLabelFilterAttrTypes = map[string]attr.Type{ + "key": types.StringType, + "mode": types.StringType, + "values": types.SetType{ElemType: types.StringType}, +} + +var endpointLabelFilterObjectType = types.ObjectType{AttrTypes: endpointLabelFilterAttrTypes} diff --git a/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/resource.go b/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/resource.go new file mode 100644 index 00000000..3b5d5e9e --- /dev/null +++ b/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/resource.go @@ -0,0 +1,142 @@ +// Code generated by tfpluginframeworkgen from blueprints/thousandeyes +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. + +package endpoint_label + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" + "github.com/hashicorp/terraform-plugin-framework/path" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/schema/validator" + "github.com/hashicorp/terraform-plugin-framework/types" + + thousandeyes "github.com/deploymenttheory/go-sdk-thousandeyes/thousandeyes" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/client" + commonschema "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/common/schema" +) + +const ( + // ResourceName is the Terraform type this resource registers as. + ResourceName = "thousandeyes_endpoint_label" + + // Default per-operation timeouts, in seconds. A practitioner overrides them + // with the resource's timeouts block. + CreateTimeout = 180 + ReadTimeout = 180 + UpdateTimeout = 180 + DeleteTimeout = 180 +) + +// Compile-time assertions that this resource implements what it claims to. They +// turn a missing method into a build failure rather than a runtime surprise. +var ( + _ resource.Resource = (*EndpointLabelResource)(nil) + _ resource.ResourceWithConfigure = (*EndpointLabelResource)(nil) + _ resource.ResourceWithImportState = (*EndpointLabelResource)(nil) +) + +// NewEndpointLabelResource returns the thousandeyes_endpoint_label resource. +func NewEndpointLabelResource() resource.Resource { + return &EndpointLabelResource{} +} + +// EndpointLabelResource implements the thousandeyes_endpoint_label resource. +type EndpointLabelResource struct { + client *thousandeyes.Client +} + +// Metadata returns the resource type name. +func (r *EndpointLabelResource) Metadata(_ context.Context, _ resource.MetadataRequest, resp *resource.MetadataResponse) { + resp.TypeName = ResourceName +} + +// Configure receives the configured SDK client from the provider. +func (r *EndpointLabelResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) { + r.client = client.ForResource(ctx, req, resp, ResourceName) +} + +// ImportState maps a terraform import into state. +func (r *EndpointLabelResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { + resource.ImportStatePassthroughID(ctx, path.Root("id"), req, resp) +} + +// Schema returns the resource schema. +func (r *EndpointLabelResource) Schema(ctx context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "Retrieve label.", + Attributes: map[string]schema.Attribute{ + "color": schema.StringAttribute{ + Optional: true, + Computed: true, + MarkdownDescription: "UI color Observed: the API assigns \"#d9d9d9\" when " + + "this is omitted. ", + }, + "filters": schema.SetNestedAttribute{ + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Optional: true, + Computed: true, + MarkdownDescription: "Type of filter - the data that will be used to filter. Values accepted here: `agent-id`, `public-network`, `local-network`, `connection`, " + + "`gateway`, `platform`, `agent-type`, `vpn-vendor`, `vpn-gateway-address`, " + + "`vpn-client-network`, `vpn-client-address`, `ip-address-family`, `ssid`, `bssid`, " + + "`hostname`, `username`, `asn`. Observed: the API assigns \"platform\" when this is omitted. " + + "The API accepted a value from outside the documented set, so no OneOf validator is " + + "generated for this attribute. ", + }, + "mode": schema.StringAttribute{ + Optional: true, + Computed: true, + MarkdownDescription: "Type of matching to be applied for the values: * `in`: The value on the agent must match " + + "one of the list of values provided. * `not-in`: The value on the agent must not match any " + + "of the list of values provided. Values accepted " + + "here: `in`, `not-in`. Observed: the API assigns \"in\" when this is omitted. The API " + + "accepted a value from outside the documented set, so no OneOf validator is generated for " + + "this attribute. ", + }, + "values": schema.SetAttribute{ + ElementType: types.StringType, + Optional: true, + }, + }, + }, + Optional: true, + MarkdownDescription: "The filters combined using the matchType to determine the label's match. The API refuses a " + + "label without at least one filter (live probe, 2026-08-04). Only returned when the read " + + "asks for expand=filters; the generated read always does (live probe, 2026-08-04). The API enforces this field's presence, which the " + + "specification does not declare. ", + }, + "id": schema.StringAttribute{ + Computed: true, + MarkdownDescription: "Label identifier.", + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + }, + "match_type": schema.StringAttribute{ + Optional: true, + MarkdownDescription: "Specifies how the filters are combined for matching this label. * `and`: All filters must " + + "be matched. * `or`: Any of the filters should match. " + + "Values accepted here: `and`, `or`. The API enforces this field's presence, which the " + + "specification does not declare. ", + Validators: []validator.String{ + stringvalidator.OneOf("and", "or"), + }, + }, + "name": schema.StringAttribute{ + Optional: true, + MarkdownDescription: "The label name. Required-by-API by curation: the sweeper's field, unprobeable by omission.", + }, + }, + Blocks: map[string]schema.Block{ + "timeouts": commonschema.ResourceTimeouts(ctx), + }, + } +} diff --git a/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/resource_acceptance_test.go new file mode 100644 index 00000000..cf137d2a --- /dev/null +++ b/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/resource_acceptance_test.go @@ -0,0 +1,94 @@ +// Code generated by tfpluginframeworkgen from blueprints/thousandeyes +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. + +package endpoint_label_test + +import ( + "os" + "path/filepath" + "testing" + "time" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/acceptance" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/acceptance/check" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/acceptance/destroy" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label" +) + +// The resource under test, and the helper that asks the API whether it is really there. +const address = "thousandeyes_endpoint_label.test" + +var testResource = endpoint_label.EndpointLabelTestResource{} + +// TestAccResourceEndpointLabel_01_Lifecycle exercises the whole lifecycle against a live API. +// +// Guarded by TF_ACC, which terraform-plugin-testing requires, so `go test ./...` never reaches a +// live tenant by accident. The credential comes from the environment; see internal/acceptance. +// +// Every step ends with an implicit plan, and terraform-plugin-testing fails the step if that plan +// is not empty. That is the single strongest signal available that state mapping is right: an +// attribute the provider stores differently from how the API reports it shows up here as a diff on +// a resource nobody touched, and no amount of compiling or schema checking can see it. +func TestAccResourceEndpointLabel_01_Lifecycle(t *testing.T) { + resource.Test(t, resource.TestCase{ + PreCheck: func() { acceptance.PreCheck(t) }, + ProtoV6ProviderFactories: acceptance.ProtoV6ProviderFactories, + // Destroy is verified against the API rather than against state, because Terraform + // considers a destroy done when the provider's Delete returns no error -- which is a + // statement about the request, not about the object. + // + // The wait is the built-in default; this API's consistency after delete was never measured, + // so this is a budget rather than an observation + CheckDestroy: destroy.CheckDestroyed(testResource, "thousandeyes_endpoint_label", 20*time.Second), + Steps: []resource.TestStep{ + // Create, from the smallest configuration the schema permits. + { + Config: config(t, "minimal.tf"), + Check: resource.ComposeAggregateTestCheckFunc( + check.That(address).ExistsInAPI(testResource), + check.That(address).Key("id").Exists(), + check.That(address).Key("color").HasValue("#d9d9d9"), + check.That(address).Key("match_type").HasValue("and"), + check.That(address).Key("name").HasValue("tfacc-name"), + ), + }, + // Import, then compare every attribute against the state the apply produced. + // + // This is what catches a read that populates state differently from a create, which + // is the most common way a generated provider is subtly wrong. + { + ResourceName: address, + ImportState: true, + ImportStateVerify: true, + }, + // Update in place, to a configuration that sets the optional attributes too. + { + Config: config(t, "maximal.tf"), + Check: resource.ComposeAggregateTestCheckFunc( + check.That(address).ExistsInAPI(testResource), + check.That(address).Key("id").Exists(), + check.That(address).Key("color").HasValue("#d9d9d9"), + check.That(address).Key("match_type").HasValue("and"), + check.That(address).Key("name").HasValue("tfacc-name"), + ), + }, + }, + }) +} + +// config reads one of the committed fixtures. +// +// From testdata rather than from a string constant in this file, so the configuration can be +// edited and re-run without recompiling, and so `terraform fmt` can police it. +func config(t *testing.T, name string) string { + t.Helper() + + body, err := os.ReadFile(filepath.Join("testdata", name)) + if err != nil { + t.Fatalf("reading fixture %s: %v", name, err) + } + + return string(body) +} diff --git a/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/state.go b/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/state.go new file mode 100644 index 00000000..f8f7155a --- /dev/null +++ b/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/state.go @@ -0,0 +1,73 @@ +// Code generated by tfpluginframeworkgen from blueprints/thousandeyes +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. + +package endpoint_label + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-framework/diag" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-log/tflog" + + "github.com/deploymenttheory/go-sdk-thousandeyes/thousandeyes/thousandeyes_api/endpoint_agent_labels" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/services/common/convert" +) + +// mapRemoteStateToTerraform maps the API's response onto Terraform state. +// +// This function replaces what a reflection-based provider does at runtime. Being +// generated code, a field whose conversion is wrong is a compile error rather +// than a surprise during apply. +func mapRemoteStateToTerraform(ctx context.Context, data *EndpointLabelResourceModel, remote *endpoint_agent_labels.LabelResponse) diag.Diagnostics { + var ( + diags diag.Diagnostics + d diag.Diagnostics + ) + + if remote == nil { + tflog.Debug(ctx, "remote resource is nil, leaving state untouched", map[string]any{ + "resource": ResourceName, + }) + return diags + } + + data.Color = convert.PtrStringToFramework(remote.Color) + data.Filters, d = flattenEndpointLabelFilters(ctx, remote.Filters) + diags.Append(d...) + data.ID = convert.EnumToFramework[endpoint_agent_labels.LabelId](remote.ID) + data.MatchType = convert.EnumToFramework(remote.MatchType) + data.Name = convert.PtrStringToFramework(remote.Name) + + tflog.Debug(ctx, "mapped remote state", map[string]any{"resource": ResourceName}) + + return diags +} + +// flattenEndpointLabelFilters converts SDK structs into the framework value state holds. +func flattenEndpointLabelFilters(ctx context.Context, in []endpoint_agent_labels.Filter) (types.Set, diag.Diagnostics) { + var diags diag.Diagnostics + var d diag.Diagnostics + + // A nil slice is null and an empty slice is empty. Conflating them produces a + // diff no configuration change can resolve. + if in == nil { + return types.SetNull(endpointLabelFilterObjectType), diags + } + + models := make([]EndpointLabelFilterModel, 0, len(in)) + for _, item := range in { + var m EndpointLabelFilterModel + + m.Key = convert.EnumToFramework(item.Key) + m.Mode = convert.EnumToFramework(item.Mode) + m.Values, d = convert.StringSliceToFrameworkSet(ctx, item.Values) + diags.Append(d...) + models = append(models, m) + } + + out, d2 := types.SetValueFrom(ctx, endpointLabelFilterObjectType, models) + diags.Append(d2...) + + return out, diags +} diff --git a/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/test_helper_test.go new file mode 100644 index 00000000..ea4a7ee0 --- /dev/null +++ b/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/test_helper_test.go @@ -0,0 +1,41 @@ +// Code generated by tfpluginframeworkgen from blueprints/thousandeyes +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. + +package endpoint_label + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-testing/terraform" + + thousandeyes "github.com/deploymenttheory/go-sdk-thousandeyes/thousandeyes" + teclient "github.com/deploymenttheory/go-sdk-thousandeyes/thousandeyes/client" + "github.com/deploymenttheory/terraform-plugin-framework-codegen/pilot/thousandeyes/internal/acceptance/exists" +) + +// EndpointLabelTestResource answers whether a thousandeyes_endpoint_label is really in the API. +// +// In a _test.go file rather than an ordinary one, so no test scaffolding reaches a built +// provider. An external _test package still sees the exported identifiers of a package's own +// test files, which is what lets the generated acceptance test refer to this. +type EndpointLabelTestResource struct{} + +// Exists reads the object back through the same operation the resource's Read uses. +// +// Deliberately the same call rather than an equivalent one. A check that asked a list endpoint +// instead could report an object present while the read the provider actually depends on was +// broken, which is the failure an acceptance test exists to catch. +func (EndpointLabelTestResource) Exists( + ctx context.Context, + state *terraform.InstanceState, +) (*bool, error) { + return exists.Check(ctx, state, func( + ctx context.Context, + client *thousandeyes.Client, + state *terraform.InstanceState, + ) error { + _, _, err := client.API.EndpointAgentLabels.GetEndpointLabel(ctx, state.ID, teclient.WithQueryParam("expand", "filters")) + + return err + }) +} diff --git a/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/testdata/maximal.tf new file mode 100644 index 00000000..8f3d5a98 --- /dev/null +++ b/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/testdata/maximal.tf @@ -0,0 +1,25 @@ +# Code generated by tfpluginframeworkgen from blueprints/thousandeyes +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. + +# The widest configuration the evidence supports: every writable attribute with a derivable +# value, chosen by the same derivation the rehearsal probe sends to the live API. +# +# Regenerated and policed, deliberately. This file used to be a hand-owned scaffold, and +# hand edits are how its values drifted from the generated assertions -- the checks derive +# from the blueprint, so the blueprint is where a value is corrected: an accFixture hint for +# something only a human knows, recorded behaviour for everything the probe observed. What +# could not be derived is listed inside the block, each with the reason. + +resource "thousandeyes_endpoint_label" "test" { + # Where a value came from. + # + # color: the API's own default, so a value it is known to accept + # + # filters: curated in the blueprint's accFixture; the generator cannot derive it + # + # match_type: observed accepted + color = "#d9d9d9" + filters = [{ key = "platform", mode = "in", values = ["windows"] }] + match_type = "and" + name = "tfacc-name" +} diff --git a/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/testdata/minimal.tf new file mode 100644 index 00000000..0647d949 --- /dev/null +++ b/pilot/thousandeyes/internal/services/resources/endpoint_agent_labels/v7/endpoint_label/testdata/minimal.tf @@ -0,0 +1,22 @@ +# Code generated by tfpluginframeworkgen from blueprints/thousandeyes +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. + +# The smallest configuration this resource accepts: its required attributes and nothing else. +# +# Regenerated, so it follows the schema. If the API starts requiring a field, this file gains it +# on the next emit rather than an acceptance run discovering it. + +resource "thousandeyes_endpoint_label" "test" { + # Where a value came from. A fixture takes what the API was observed to accept, not the first + # value the specification documents -- which is the opposite of how a generated validator is + # built. A validator errs toward permitting, because blocking a configuration the API would + # have taken is a harm nobody can work around; a fixture errs toward working, because it is an + # input rather than a contract. + # + # filters: curated in the blueprint's accFixture; the generator cannot derive it + # + # match_type: observed accepted + filters = [{ key = "platform", mode = "in", values = ["windows"] }] + match_type = "and" + name = "tfacc-name" +} diff --git a/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/construct.go b/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/construct.go index 095d9f93..8a21776d 100644 --- a/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/construct.go +++ b/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_ftp_server diff --git a/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/crud.go b/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/crud.go index 30a6ff96..8cd0f206 100644 --- a/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/crud.go +++ b/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_ftp_server diff --git a/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/model.go b/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/model.go index 97e6c6a6..7150eff8 100644 --- a/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/model.go +++ b/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_ftp_server diff --git a/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/resource.go b/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/resource.go index 66761df3..09361b7b 100644 --- a/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/resource.go +++ b/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_ftp_server diff --git a/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/resource_acceptance_test.go index 0408d602..53f8a170 100644 --- a/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_ftp_server_test diff --git a/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/state.go b/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/state.go index 633f7b41..f814cc0a 100644 --- a/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/state.go +++ b/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_ftp_server diff --git a/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/test_helper_test.go index 5e663a85..5cb097b7 100644 --- a/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_ftp_server diff --git a/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/testdata/maximal.tf index 800df1cd..2e0c3be0 100644 --- a/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. diff --git a/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/testdata/minimal.tf index ea2def71..4eda12a0 100644 --- a/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/ftp_server_tests/v7/tests_ftp_server/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/construct.go b/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/construct.go index 6176a434..5a56dfe0 100644 --- a/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/construct.go +++ b/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_http_server diff --git a/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/crud.go b/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/crud.go index 46837b67..37be8d97 100644 --- a/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/crud.go +++ b/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_http_server diff --git a/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/model.go b/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/model.go index d299d5f0..413533f4 100644 --- a/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/model.go +++ b/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_http_server diff --git a/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/resource.go b/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/resource.go index c8406bd4..c42ea1e3 100644 --- a/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/resource.go +++ b/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_http_server diff --git a/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/resource_acceptance_test.go index 01a10ae9..adb75304 100644 --- a/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_http_server_test diff --git a/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/state.go b/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/state.go index 5b5a9a7f..3633c9af 100644 --- a/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/state.go +++ b/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_http_server diff --git a/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/test_helper_test.go index e1229ce8..9739c4eb 100644 --- a/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_http_server diff --git a/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/testdata/maximal.tf index f2d646df..71c9f5d9 100644 --- a/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. @@ -38,6 +38,8 @@ resource "thousandeyes_tests_http_server" "test" { # # follow_redirects: the API's own default, so a value it is known to accept # + # headers: curated in the blueprint's accFixture; the generator cannot derive it + # # http_target_time: the API's own default, so a value it is known to accept # # http_time_limit: the API's own default, so a value it is known to accept @@ -108,7 +110,7 @@ resource "thousandeyes_tests_http_server" "test" { enabled = true fixed_packet_rate = 50 follow_redirects = true - headers = ["tfacc-headers-element"] + headers = ["X-Tfacc: yes"] http_target_time = 1000 http_time_limit = 5 http_version = 2 diff --git a/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/testdata/minimal.tf index 45f68993..59499582 100644 --- a/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/http_server_tests/v7/tests_http_server/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/construct.go b/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/construct.go index 34d46c90..fca05a3c 100644 --- a/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/construct.go +++ b/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_page_load diff --git a/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/crud.go b/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/crud.go index a45cfb26..46953435 100644 --- a/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/crud.go +++ b/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_page_load diff --git a/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/model.go b/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/model.go index c0320f62..0a30fbc4 100644 --- a/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/model.go +++ b/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_page_load diff --git a/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/resource.go b/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/resource.go index c88baf30..78fcfce3 100644 --- a/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/resource.go +++ b/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_page_load diff --git a/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/resource_acceptance_test.go index 9c26f3d9..a0022075 100644 --- a/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_page_load_test diff --git a/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/state.go b/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/state.go index 5df8c2aa..2ef2a6e5 100644 --- a/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/state.go +++ b/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_page_load diff --git a/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/test_helper_test.go index 86af917b..defbd0e3 100644 --- a/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_page_load diff --git a/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/testdata/maximal.tf index 317f669e..5283959e 100644 --- a/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. diff --git a/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/testdata/minimal.tf index 0f96b2bb..8fc2ddde 100644 --- a/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/page_load_tests/v7/tests_page_load/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/roles/v7/role/construct.go b/pilot/thousandeyes/internal/services/resources/roles/v7/role/construct.go index 3278e324..735c3a0e 100644 --- a/pilot/thousandeyes/internal/services/resources/roles/v7/role/construct.go +++ b/pilot/thousandeyes/internal/services/resources/roles/v7/role/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package role diff --git a/pilot/thousandeyes/internal/services/resources/roles/v7/role/crud.go b/pilot/thousandeyes/internal/services/resources/roles/v7/role/crud.go index 6c152589..62fac83a 100644 --- a/pilot/thousandeyes/internal/services/resources/roles/v7/role/crud.go +++ b/pilot/thousandeyes/internal/services/resources/roles/v7/role/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package role diff --git a/pilot/thousandeyes/internal/services/resources/roles/v7/role/model.go b/pilot/thousandeyes/internal/services/resources/roles/v7/role/model.go index ee0f7d2c..6f56de07 100644 --- a/pilot/thousandeyes/internal/services/resources/roles/v7/role/model.go +++ b/pilot/thousandeyes/internal/services/resources/roles/v7/role/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package role diff --git a/pilot/thousandeyes/internal/services/resources/roles/v7/role/resource.go b/pilot/thousandeyes/internal/services/resources/roles/v7/role/resource.go index a52c054d..98abdca0 100644 --- a/pilot/thousandeyes/internal/services/resources/roles/v7/role/resource.go +++ b/pilot/thousandeyes/internal/services/resources/roles/v7/role/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package role diff --git a/pilot/thousandeyes/internal/services/resources/roles/v7/role/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/roles/v7/role/resource_acceptance_test.go index 4b178714..de48837e 100644 --- a/pilot/thousandeyes/internal/services/resources/roles/v7/role/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/roles/v7/role/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package role_test diff --git a/pilot/thousandeyes/internal/services/resources/roles/v7/role/state.go b/pilot/thousandeyes/internal/services/resources/roles/v7/role/state.go index ec731058..152ffa16 100644 --- a/pilot/thousandeyes/internal/services/resources/roles/v7/role/state.go +++ b/pilot/thousandeyes/internal/services/resources/roles/v7/role/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package role diff --git a/pilot/thousandeyes/internal/services/resources/roles/v7/role/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/roles/v7/role/test_helper_test.go index d7e105b6..c1311610 100644 --- a/pilot/thousandeyes/internal/services/resources/roles/v7/role/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/roles/v7/role/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package role diff --git a/pilot/thousandeyes/internal/services/resources/roles/v7/role/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/roles/v7/role/testdata/maximal.tf index 13f1f6fb..a8b77ed8 100644 --- a/pilot/thousandeyes/internal/services/resources/roles/v7/role/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/roles/v7/role/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. diff --git a/pilot/thousandeyes/internal/services/resources/roles/v7/role/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/roles/v7/role/testdata/minimal.tf index 9cd29c5e..af9a52a8 100644 --- a/pilot/thousandeyes/internal/services/resources/roles/v7/role/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/roles/v7/role/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/construct.go b/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/construct.go index 4e5f1c9e..fa37327a 100644 --- a/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/construct.go +++ b/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_sip_server diff --git a/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/crud.go b/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/crud.go index f9c9cdda..c46a762a 100644 --- a/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/crud.go +++ b/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_sip_server diff --git a/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/model.go b/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/model.go index 5f934eb0..f85999f1 100644 --- a/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/model.go +++ b/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_sip_server diff --git a/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/resource.go b/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/resource.go index 4aaf7342..b68fbde6 100644 --- a/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/resource.go +++ b/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_sip_server diff --git a/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/resource_acceptance_test.go index 5c82047a..b1aa5fce 100644 --- a/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_sip_server_test diff --git a/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/state.go b/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/state.go index 613edfa0..8589e86e 100644 --- a/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/state.go +++ b/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_sip_server diff --git a/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/test_helper_test.go index 5aca2911..08039219 100644 --- a/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_sip_server diff --git a/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/testdata/maximal.tf index 5e9ef278..3fe756b1 100644 --- a/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. diff --git a/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/testdata/minimal.tf index 79d56e40..ecb87090 100644 --- a/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/sip_server_tests/v7/tests_sip_server/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/conditional_validators.go b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/conditional_validators.go index b3d8f653..faf58f7c 100644 --- a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/conditional_validators.go +++ b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/conditional_validators.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tag diff --git a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/construct.go b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/construct.go index c768486e..208c9e38 100644 --- a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/construct.go +++ b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tag diff --git a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/crud.go b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/crud.go index 47a6b70d..6dea6142 100644 --- a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/crud.go +++ b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tag diff --git a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/list_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/list_acceptance_test.go index 0be6b354..4ba8ddde 100644 --- a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/list_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/list_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tag_test diff --git a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/list_resource.go b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/list_resource.go index ad90f017..8d43e5b6 100644 --- a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/list_resource.go +++ b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/list_resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tag diff --git a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/model.go b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/model.go index 71b45de1..fd6af59f 100644 --- a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/model.go +++ b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. // REF: https://developer.cisco.com/docs/thousandeyes/list-tags/ package tag diff --git a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/resource.go b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/resource.go index ff1b813d..c2049286 100644 --- a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/resource.go +++ b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tag diff --git a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/resource_acceptance_test.go index 1faa3d74..ef9a90cf 100644 --- a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tag_test diff --git a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/state.go b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/state.go index fb333866..b82428b0 100644 --- a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/state.go +++ b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tag diff --git a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/test_helper_test.go index e6bd66a1..98ab466e 100644 --- a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tag diff --git a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/testdata/maximal.tf index f532adcc..51b016a6 100644 --- a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. diff --git a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/testdata/minimal.tf index fc10adc6..87ee7802 100644 --- a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/testdata/query.tf b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/testdata/query.tf index c7d4a7f8..386eae9e 100644 --- a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/testdata/query.tf +++ b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/testdata/query.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The query configuration: one list block over the whole collection. The provider block # is explicit because the list block references it by symbol, unlike a resource step diff --git a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/testdata/replace.tf b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/testdata/replace.tf index 9df3ceb9..51d9bc88 100644 --- a/pilot/thousandeyes/internal/services/resources/tags/v7/tag/testdata/replace.tf +++ b/pilot/thousandeyes/internal/services/resources/tags/v7/tag/testdata/replace.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/users/v7/user/construct.go b/pilot/thousandeyes/internal/services/resources/users/v7/user/construct.go index 99c9b5ff..218670ef 100644 --- a/pilot/thousandeyes/internal/services/resources/users/v7/user/construct.go +++ b/pilot/thousandeyes/internal/services/resources/users/v7/user/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package user diff --git a/pilot/thousandeyes/internal/services/resources/users/v7/user/crud.go b/pilot/thousandeyes/internal/services/resources/users/v7/user/crud.go index 556607f6..113f0292 100644 --- a/pilot/thousandeyes/internal/services/resources/users/v7/user/crud.go +++ b/pilot/thousandeyes/internal/services/resources/users/v7/user/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package user diff --git a/pilot/thousandeyes/internal/services/resources/users/v7/user/model.go b/pilot/thousandeyes/internal/services/resources/users/v7/user/model.go index 660c4e74..c1766ec1 100644 --- a/pilot/thousandeyes/internal/services/resources/users/v7/user/model.go +++ b/pilot/thousandeyes/internal/services/resources/users/v7/user/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package user diff --git a/pilot/thousandeyes/internal/services/resources/users/v7/user/resource.go b/pilot/thousandeyes/internal/services/resources/users/v7/user/resource.go index 0c732447..64a8208b 100644 --- a/pilot/thousandeyes/internal/services/resources/users/v7/user/resource.go +++ b/pilot/thousandeyes/internal/services/resources/users/v7/user/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package user diff --git a/pilot/thousandeyes/internal/services/resources/users/v7/user/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/users/v7/user/resource_acceptance_test.go index 2a50b8b0..42813f2d 100644 --- a/pilot/thousandeyes/internal/services/resources/users/v7/user/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/users/v7/user/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package user_test diff --git a/pilot/thousandeyes/internal/services/resources/users/v7/user/state.go b/pilot/thousandeyes/internal/services/resources/users/v7/user/state.go index f27b790c..a8aaaad0 100644 --- a/pilot/thousandeyes/internal/services/resources/users/v7/user/state.go +++ b/pilot/thousandeyes/internal/services/resources/users/v7/user/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package user diff --git a/pilot/thousandeyes/internal/services/resources/users/v7/user/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/users/v7/user/test_helper_test.go index c72249e0..7ef91db1 100644 --- a/pilot/thousandeyes/internal/services/resources/users/v7/user/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/users/v7/user/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package user diff --git a/pilot/thousandeyes/internal/services/resources/users/v7/user/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/users/v7/user/testdata/maximal.tf index 0a824473..286815cc 100644 --- a/pilot/thousandeyes/internal/services/resources/users/v7/user/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/users/v7/user/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. diff --git a/pilot/thousandeyes/internal/services/resources/users/v7/user/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/users/v7/user/testdata/minimal.tf index 699e7a64..e32ccdeb 100644 --- a/pilot/thousandeyes/internal/services/resources/users/v7/user/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/users/v7/user/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/construct.go b/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/construct.go index 842d6a49..6c634cad 100644 --- a/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/construct.go +++ b/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_voice diff --git a/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/crud.go b/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/crud.go index 4376144e..3c154076 100644 --- a/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/crud.go +++ b/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_voice diff --git a/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/model.go b/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/model.go index 8bb892e0..d93a6ee5 100644 --- a/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/model.go +++ b/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_voice diff --git a/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/resource.go b/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/resource.go index 5b9acba9..0eb7febb 100644 --- a/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/resource.go +++ b/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_voice diff --git a/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/state.go b/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/state.go index 1ca97361..fbba7f83 100644 --- a/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/state.go +++ b/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_voice diff --git a/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/test_helper_test.go index 08ac63ee..b1ffcca1 100644 --- a/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/voice_tests/v7/tests_voice/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_voice diff --git a/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/construct.go b/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/construct.go index d0c130d9..6109a9d5 100644 --- a/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/construct.go +++ b/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/construct.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_web_transaction diff --git a/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/crud.go b/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/crud.go index 6e55364d..c0cbba6c 100644 --- a/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/crud.go +++ b/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/crud.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_web_transaction diff --git a/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/model.go b/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/model.go index d157a980..83a1381e 100644 --- a/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/model.go +++ b/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/model.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_web_transaction diff --git a/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/resource.go b/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/resource.go index 6c33a8cf..db45e849 100644 --- a/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/resource.go +++ b/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/resource.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_web_transaction diff --git a/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/resource_acceptance_test.go b/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/resource_acceptance_test.go index 6494e33f..efb85321 100644 --- a/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/resource_acceptance_test.go +++ b/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/resource_acceptance_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_web_transaction_test diff --git a/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/state.go b/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/state.go index 6cd479a5..fa54bc3f 100644 --- a/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/state.go +++ b/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/state.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_web_transaction diff --git a/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/test_helper_test.go b/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/test_helper_test.go index af9a2cef..bdcdb389 100644 --- a/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/test_helper_test.go +++ b/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/test_helper_test.go @@ -1,5 +1,5 @@ // Code generated by tfpluginframeworkgen from blueprints/thousandeyes -// (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +// (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. package tests_web_transaction diff --git a/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/testdata/maximal.tf b/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/testdata/maximal.tf index 1b726de0..9b2da385 100644 --- a/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/testdata/maximal.tf +++ b/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/testdata/maximal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The widest configuration the evidence supports: every writable attribute with a derivable # value, chosen by the same derivation the rehearsal probe sends to the live API. diff --git a/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/testdata/minimal.tf b/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/testdata/minimal.tf index 9aaefab9..5d84d6fd 100644 --- a/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/testdata/minimal.tf +++ b/pilot/thousandeyes/internal/services/resources/web_transaction_tests/v7/tests_web_transaction/testdata/minimal.tf @@ -1,5 +1,5 @@ # Code generated by tfpluginframeworkgen from blueprints/thousandeyes -# (sha256:cd019f12be32331be882ccdbb92a8c651d1dd5bad8c0cb209bba818d3b11f7b4). DO NOT EDIT. +# (sha256:e9fc089728e964a2ce1adf1c51444126c782ff30e172933b5177fd9a4982f6db). DO NOT EDIT. # The smallest configuration this resource accepts: its required attributes and nothing else. # diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/facts.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/facts.json new file mode 100644 index 00000000..fb8abe64 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/facts.json @@ -0,0 +1,458 @@ +[ + { + "resource": "endpoint_label", + "field": "errorEnvelope", + "value": { + "text": "404=problem" + }, + "confidence": "observed", + "probe": "read.not-found-shape", + "evidence": [ + "002-get-v7-endpoint-labels-999999999" + ], + "rationale": "a 404 response used the problem error shape" + }, + { + "resource": "endpoint_label", + "field": "errorEnvelope", + "value": { + "text": "400=problem" + }, + "confidence": "observed", + "probe": "read.error-envelope", + "evidence": [ + "001-get-v7-endpoint-labels", + "003-get-v7-endpoint-labels", + "004-get-v7-endpoint-labels", + "005-get-v7-endpoint-labels", + "006-get-v7-endpoint-labels", + "007-get-v7-endpoint-labels", + "095-get-v7-endpoint-labels" + ], + "rationale": "an invalid value for the \"max\" parameter answered 400 with a problem body", + "alternatives": [ + "an API may use a different error shape for authorisation failures than for validation failures, which one malformed read cannot establish" + ] + }, + { + "resource": "endpoint_label", + "field": "errorEnvelope", + "value": { + "text": "namesOffendingField=true" + }, + "confidence": "observed", + "probe": "read.error-envelope", + "evidence": [ + "001-get-v7-endpoint-labels", + "003-get-v7-endpoint-labels", + "004-get-v7-endpoint-labels", + "005-get-v7-endpoint-labels", + "006-get-v7-endpoint-labels", + "007-get-v7-endpoint-labels", + "095-get-v7-endpoint-labels" + ], + "rationale": "whether the error body carries a detail naming what was wrong decides whether later probes can attribute a rejection to a specific field" + }, + { + "resource": "endpoint_label", + "field": "policy.delete.notFoundIsSuccess", + "value": { + "bool": true + }, + "confidence": "observed", + "probe": "read.not-found-shape", + "evidence": [ + "002-get-v7-endpoint-labels-999999999" + ], + "rationale": "reading an absent object answered 404 with a problem error body", + "alternatives": [ + "the API may answer differently for an identifier that once existed and was deleted" + ] + }, + { + "resource": "endpoint_label", + "field": "policy.readBack", + "value": { + "readBack": { + "reason": "every one of 9 read(s) immediately after a create succeeded on the first attempt" + } + }, + "confidence": "inferred", + "probe": "write.read-your-writes", + "evidence": [ + "014-get-v7-endpoint-labels-422212465108189", + "016-get-v7-endpoint-labels-422212465108189", + "019-get-v7-endpoint-labels-422212465108190", + "021-get-v7-endpoint-labels-422212465108191", + "084-get-v7-endpoint-labels-422212465108219", + "086-get-v7-endpoint-labels-422212465108219", + "088-get-v7-endpoint-labels-422212465108219", + "091-get-v7-endpoint-labels-422212465108220", + "093-get-v7-endpoint-labels-422212465108220" + ], + "rationale": "9 object(s) were read immediately after creation and every first read succeeded", + "alternatives": [ + "a consistency window measured on an idle sandbox is not production's; the interval is a floor rather than a property of the real system" + ] + }, + { + "resource": "endpoint_label", + "field": "policy.updateStyle", + "value": { + "text": "patchMerge" + }, + "confidence": "observed", + "probe": "write.update-style", + "evidence": [ + "014-get-v7-endpoint-labels-422212465108189", + "016-get-v7-endpoint-labels-422212465108189" + ], + "rationale": "an update omitting matchType left it unchanged, so the API merges", + "alternatives": [ + "an API that distinguishes an absent key from an explicit null may treat the two differently, and only the absent case was sent", + "the behaviour was observed for matchType and is assumed to hold for every other field" + ] + }, + { + "resource": "endpoint_label", + "field": "unknownParamTolerated", + "value": { + "bool": true + }, + "confidence": "observed", + "probe": "read.unknown-param", + "evidence": [ + "001-get-v7-endpoint-labels", + "003-get-v7-endpoint-labels", + "004-get-v7-endpoint-labels", + "005-get-v7-endpoint-labels", + "006-get-v7-endpoint-labels", + "007-get-v7-endpoint-labels", + "095-get-v7-endpoint-labels" + ], + "rationale": "a collection read carrying an unrecognised query parameter answered 200", + "alternatives": [ + "a gateway rather than the API itself may have rejected the parameter, in which case tolerance of unknown request-body fields does not follow" + ] + }, + { + "resource": "endpoint_label", + "jsonPath": "color", + "field": "returnedOnUpdate", + "value": { + "bool": true + }, + "confidence": "observed", + "probe": "write.rehearsal", + "evidence": [ + "085-patch-v7-endpoint-labels-422212465108219" + ], + "rationale": "the update response carried the field it was sent" + }, + { + "resource": "endpoint_label", + "jsonPath": "color", + "field": "serverDefault", + "value": { + "literal": { + "kind": "", + "raw": "\"#d9d9d9\"" + } + }, + "confidence": "observed", + "probe": "write.server-default", + "evidence": [ + "019-get-v7-endpoint-labels-422212465108190", + "021-get-v7-endpoint-labels-422212465108191" + ], + "rationale": "the field was omitted from 2 create(s) and came back as #d9d9d9 every time", + "alternatives": [ + "the value may be derived from tenant configuration rather than being a constant, which no number of creates in one tenant can rule out", + "the value may be derived from a field this plan's fixtures did not vary" + ] + }, + { + "resource": "endpoint_label", + "jsonPath": "filters", + "field": "requiredByApi", + "value": { + "bool": true + }, + "confidence": "inferred", + "probe": "write.required", + "evidence": [ + "009-post-v7-endpoint-labels" + ], + "rationale": "a create omitting this field was refused with 400, but the error body did not name the field, so the refusal may have had another cause", + "alternatives": [ + "the create may have been refused for a reason unrelated to this field, which only an error body naming it would rule out" + ] + }, + { + "resource": "endpoint_label", + "jsonPath": "filters", + "field": "returnedOnUpdate", + "value": { + "bool": true + }, + "confidence": "observed", + "probe": "write.rehearsal", + "evidence": [ + "085-patch-v7-endpoint-labels-422212465108219" + ], + "rationale": "the update response carried the field it was sent" + }, + { + "resource": "endpoint_label", + "jsonPath": "filters.key", + "field": "acceptedValues", + "value": { + "list": [ + "agent-id", + "public-network", + "local-network", + "connection", + "gateway", + "platform", + "agent-type", + "vpn-vendor", + "vpn-gateway-address", + "vpn-client-network", + "vpn-client-address", + "ip-address-family", + "ssid", + "bssid", + "hostname", + "username", + "asn" + ] + }, + "confidence": "observed", + "probe": "write.enum", + "evidence": [ + "024-post-v7-endpoint-labels", + "025-post-v7-endpoint-labels", + "026-post-v7-endpoint-labels", + "027-post-v7-endpoint-labels", + "028-post-v7-endpoint-labels", + "029-post-v7-endpoint-labels", + "030-post-v7-endpoint-labels", + "031-post-v7-endpoint-labels", + "032-post-v7-endpoint-labels", + "033-post-v7-endpoint-labels", + "034-post-v7-endpoint-labels", + "035-post-v7-endpoint-labels", + "036-post-v7-endpoint-labels", + "037-post-v7-endpoint-labels", + "038-post-v7-endpoint-labels", + "039-post-v7-endpoint-labels", + "040-post-v7-endpoint-labels", + "041-post-v7-endpoint-labels", + "042-post-v7-endpoint-labels" + ], + "rationale": "17 of the 17 documented value(s) were accepted on create" + }, + { + "resource": "endpoint_label", + "jsonPath": "filters.key", + "field": "serverDefault", + "value": { + "literal": { + "kind": "", + "raw": "\"platform\"" + } + }, + "confidence": "observed", + "probe": "write.server-default", + "evidence": [ + "019-get-v7-endpoint-labels-422212465108190", + "021-get-v7-endpoint-labels-422212465108191" + ], + "rationale": "the field was omitted from 2 create(s) and came back as platform every time", + "alternatives": [ + "the value may be derived from tenant configuration rather than being a constant, which no number of creates in one tenant can rule out", + "the value may be derived from a field this plan's fixtures did not vary" + ] + }, + { + "resource": "endpoint_label", + "jsonPath": "filters.key", + "field": "valuesClosed", + "value": { + "bool": false + }, + "confidence": "observed", + "probe": "write.enum", + "evidence": [ + "024-post-v7-endpoint-labels", + "025-post-v7-endpoint-labels", + "026-post-v7-endpoint-labels", + "027-post-v7-endpoint-labels", + "028-post-v7-endpoint-labels", + "029-post-v7-endpoint-labels", + "030-post-v7-endpoint-labels", + "031-post-v7-endpoint-labels", + "032-post-v7-endpoint-labels", + "033-post-v7-endpoint-labels", + "034-post-v7-endpoint-labels", + "035-post-v7-endpoint-labels", + "036-post-v7-endpoint-labels", + "037-post-v7-endpoint-labels", + "038-post-v7-endpoint-labels", + "039-post-v7-endpoint-labels", + "040-post-v7-endpoint-labels", + "041-post-v7-endpoint-labels", + "042-post-v7-endpoint-labels" + ], + "rationale": "2 of 2 value(s) outside the documented set were accepted, so the API takes values the specification does not list" + }, + { + "resource": "endpoint_label", + "jsonPath": "filters.mode", + "field": "acceptedValues", + "value": { + "list": [ + "in", + "not-in" + ] + }, + "confidence": "observed", + "probe": "write.enum", + "evidence": [ + "044-post-v7-endpoint-labels", + "045-post-v7-endpoint-labels", + "046-post-v7-endpoint-labels", + "047-post-v7-endpoint-labels" + ], + "rationale": "2 of the 2 documented value(s) were accepted on create" + }, + { + "resource": "endpoint_label", + "jsonPath": "filters.mode", + "field": "serverDefault", + "value": { + "literal": { + "kind": "", + "raw": "\"in\"" + } + }, + "confidence": "observed", + "probe": "write.server-default", + "evidence": [ + "019-get-v7-endpoint-labels-422212465108190", + "021-get-v7-endpoint-labels-422212465108191" + ], + "rationale": "the field was omitted from 2 create(s) and came back as in every time", + "alternatives": [ + "the value may be derived from tenant configuration rather than being a constant, which no number of creates in one tenant can rule out", + "the value may be derived from a field this plan's fixtures did not vary" + ] + }, + { + "resource": "endpoint_label", + "jsonPath": "filters.mode", + "field": "valuesClosed", + "value": { + "bool": false + }, + "confidence": "observed", + "probe": "write.enum", + "evidence": [ + "044-post-v7-endpoint-labels", + "045-post-v7-endpoint-labels", + "046-post-v7-endpoint-labels", + "047-post-v7-endpoint-labels" + ], + "rationale": "2 of 2 value(s) outside the documented set were accepted, so the API takes values the specification does not list" + }, + { + "resource": "endpoint_label", + "jsonPath": "filters.values", + "field": "serverDefault", + "value": { + "text": "[windows]" + }, + "confidence": "observed", + "probe": "write.server-default", + "evidence": [ + "019-get-v7-endpoint-labels-422212465108190", + "021-get-v7-endpoint-labels-422212465108191" + ], + "rationale": "the field was omitted from 2 create(s) and came back as [windows] every time", + "alternatives": [ + "the value may be derived from tenant configuration rather than being a constant, which no number of creates in one tenant can rule out", + "the value may be derived from a field this plan's fixtures did not vary" + ] + }, + { + "resource": "endpoint_label", + "jsonPath": "matchType", + "field": "acceptedValues", + "value": { + "list": [ + "and", + "or" + ] + }, + "confidence": "observed", + "probe": "write.enum", + "evidence": [ + "049-post-v7-endpoint-labels", + "050-post-v7-endpoint-labels", + "051-post-v7-endpoint-labels", + "052-post-v7-endpoint-labels" + ], + "rationale": "2 of the 2 documented value(s) were accepted on create" + }, + { + "resource": "endpoint_label", + "jsonPath": "matchType", + "field": "requiredByApi", + "value": { + "bool": true + }, + "confidence": "inferred", + "probe": "write.required", + "evidence": [ + "010-post-v7-endpoint-labels" + ], + "rationale": "a create omitting this field was refused with 400, but the error body did not name the field, so the refusal may have had another cause", + "alternatives": [ + "the create may have been refused for a reason unrelated to this field, which only an error body naming it would rule out" + ] + }, + { + "resource": "endpoint_label", + "jsonPath": "matchType", + "field": "returnedOnUpdate", + "value": { + "bool": true + }, + "confidence": "observed", + "probe": "write.rehearsal", + "evidence": [ + "085-patch-v7-endpoint-labels-422212465108219" + ], + "rationale": "the update response carried the field it was sent" + }, + { + "resource": "endpoint_label", + "jsonPath": "matchType", + "field": "valuesClosed", + "value": { + "bool": true + }, + "confidence": "observed", + "probe": "write.enum", + "evidence": [ + "049-post-v7-endpoint-labels", + "050-post-v7-endpoint-labels", + "051-post-v7-endpoint-labels", + "052-post-v7-endpoint-labels" + ], + "rationale": "2 value(s) outside the documented set were sent and all 2 were refused", + "alternatives": [ + "a generated value may have been refused by a length or character-set check rather than by enum membership, which is why the candidates are shaped like the documented values" + ] + } +] diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/001-get-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/001-get-v7-endpoint-labels.json new file mode 100644 index 00000000..f86e9869 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/001-get-v7-endpoint-labels.json @@ -0,0 +1,32 @@ +{ + "id": "001-get-v7-endpoint-labels", + "seq": 1, + "request": { + "method": "GET", + "path": "/v7/endpoint/labels", + "query": { + "tfpfgen_probe": [ + "1" + ] + }, + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels?tfpfgen_probe=1" + } + }, + "labels": [] + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/002-get-v7-endpoint-labels-999999999.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/002-get-v7-endpoint-labels-999999999.json new file mode 100644 index 00000000..f60f3764 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/002-get-v7-endpoint-labels-999999999.json @@ -0,0 +1,24 @@ +{ + "id": "002-get-v7-endpoint-labels-999999999", + "seq": 2, + "request": { + "method": "GET", + "path": "/v7/endpoint/labels/999999999", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 404, + "header": { + "content-type": "application/problem+json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "detail": "Label in account: 281474976742769 and id: 999999999 was not found.", + "status": 404, + "title": "Not found" + }, + "droppedHeaders": 13 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/003-get-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/003-get-v7-endpoint-labels.json new file mode 100644 index 00000000..8bf62982 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/003-get-v7-endpoint-labels.json @@ -0,0 +1,27 @@ +{ + "id": "003-get-v7-endpoint-labels", + "seq": 3, + "request": { + "method": "GET", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels" + } + }, + "labels": [] + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/004-get-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/004-get-v7-endpoint-labels.json new file mode 100644 index 00000000..6393d7ef --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/004-get-v7-endpoint-labels.json @@ -0,0 +1,27 @@ +{ + "id": "004-get-v7-endpoint-labels", + "seq": 4, + "request": { + "method": "GET", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels" + } + }, + "labels": [] + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/005-get-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/005-get-v7-endpoint-labels.json new file mode 100644 index 00000000..ee90a5da --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/005-get-v7-endpoint-labels.json @@ -0,0 +1,32 @@ +{ + "id": "005-get-v7-endpoint-labels", + "seq": 5, + "request": { + "method": "GET", + "path": "/v7/endpoint/labels", + "query": { + "limit": [ + "not-a-number" + ] + }, + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels?limit=not-a-number" + } + }, + "labels": [] + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/006-get-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/006-get-v7-endpoint-labels.json new file mode 100644 index 00000000..eb5d9fe9 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/006-get-v7-endpoint-labels.json @@ -0,0 +1,29 @@ +{ + "id": "006-get-v7-endpoint-labels", + "seq": 6, + "request": { + "method": "GET", + "path": "/v7/endpoint/labels", + "query": { + "max": [ + "not-a-number" + ] + }, + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 400, + "header": { + "content-type": "application/problem+json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "detail": "Wrong type for path parameter max", + "status": 400, + "title": "Request validation failed" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/007-get-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/007-get-v7-endpoint-labels.json new file mode 100644 index 00000000..959ca782 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/007-get-v7-endpoint-labels.json @@ -0,0 +1,27 @@ +{ + "id": "007-get-v7-endpoint-labels", + "seq": 7, + "request": { + "method": "GET", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels" + } + }, + "labels": [] + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/008-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/008-post-v7-endpoint-labels.json new file mode 100644 index 00000000..7d0bb35b --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/008-post-v7-endpoint-labels.json @@ -0,0 +1,54 @@ +{ + "id": "008-post-v7-endpoint-labels", + "seq": 8, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "and", + "name": "tfpfgen-probe-write-required-1" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108188", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108188" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108188", + "matchType": "and", + "name": "tfpfgen-probe-write-required-1" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/009-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/009-post-v7-endpoint-labels.json new file mode 100644 index 00000000..46e8cdac --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/009-post-v7-endpoint-labels.json @@ -0,0 +1,29 @@ +{ + "id": "009-post-v7-endpoint-labels", + "seq": 9, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "matchType": "and", + "name": "tfpfgen-probe-write-required-2" + } + }, + "response": { + "status": 400, + "header": { + "content-type": "application/problem+json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "detail": "Required request body is missing mandatory field", + "status": 400, + "title": "Request validation failed" + }, + "droppedHeaders": 13 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/010-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/010-post-v7-endpoint-labels.json new file mode 100644 index 00000000..7fc78b33 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/010-post-v7-endpoint-labels.json @@ -0,0 +1,37 @@ +{ + "id": "010-post-v7-endpoint-labels", + "seq": 10, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "name": "tfpfgen-probe-write-required-3" + } + }, + "response": { + "status": 400, + "header": { + "content-type": "application/problem+json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "detail": "Required request body is missing mandatory field", + "status": 400, + "title": "Request validation failed" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/011-delete-v7-endpoint-labels-422212465108188.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/011-delete-v7-endpoint-labels-422212465108188.json new file mode 100644 index 00000000..ab386be1 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/011-delete-v7-endpoint-labels-422212465108188.json @@ -0,0 +1,18 @@ +{ + "id": "011-delete-v7-endpoint-labels-422212465108188", + "seq": 11, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108188", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/012-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/012-post-v7-endpoint-labels.json new file mode 100644 index 00000000..623fcc4a --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/012-post-v7-endpoint-labels.json @@ -0,0 +1,39 @@ +{ + "id": "012-post-v7-endpoint-labels", + "seq": 12, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "color": "probe-color-1", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "and", + "name": "tfpfgen-probe-write-writable-returned-1" + } + }, + "response": { + "status": 400, + "header": { + "content-type": "application/problem+json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "detail": "There are invalid or missing fields", + "status": 400, + "title": "Request validation failed" + }, + "droppedHeaders": 13 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/013-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/013-post-v7-endpoint-labels.json new file mode 100644 index 00000000..60c45ae7 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/013-post-v7-endpoint-labels.json @@ -0,0 +1,54 @@ +{ + "id": "013-post-v7-endpoint-labels", + "seq": 13, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "and", + "name": "tfpfgen-probe-write-update-style-1" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108189", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108189" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108189", + "matchType": "and", + "name": "tfpfgen-probe-write-update-style-1" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/014-get-v7-endpoint-labels-422212465108189.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/014-get-v7-endpoint-labels-422212465108189.json new file mode 100644 index 00000000..0251b706 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/014-get-v7-endpoint-labels-422212465108189.json @@ -0,0 +1,30 @@ +{ + "id": "014-get-v7-endpoint-labels-422212465108189", + "seq": 14, + "request": { + "method": "GET", + "path": "/v7/endpoint/labels/422212465108189", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108189" + } + }, + "color": "#d9d9d9", + "id": "422212465108189", + "matchType": "and", + "name": "tfpfgen-probe-write-update-style-1" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/015-patch-v7-endpoint-labels-422212465108189.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/015-patch-v7-endpoint-labels-422212465108189.json new file mode 100644 index 00000000..9b70b6d4 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/015-patch-v7-endpoint-labels-422212465108189.json @@ -0,0 +1,43 @@ +{ + "id": "015-patch-v7-endpoint-labels-422212465108189", + "seq": 15, + "request": { + "method": "PATCH", + "path": "/v7/endpoint/labels/422212465108189", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "name": "tfpfgen-probe-write-update-style-2" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108189" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108189", + "matchType": "and", + "name": "tfpfgen-probe-write-update-style-2" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/016-get-v7-endpoint-labels-422212465108189.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/016-get-v7-endpoint-labels-422212465108189.json new file mode 100644 index 00000000..a7f9f48a --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/016-get-v7-endpoint-labels-422212465108189.json @@ -0,0 +1,30 @@ +{ + "id": "016-get-v7-endpoint-labels-422212465108189", + "seq": 16, + "request": { + "method": "GET", + "path": "/v7/endpoint/labels/422212465108189", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108189" + } + }, + "color": "#d9d9d9", + "id": "422212465108189", + "matchType": "and", + "name": "tfpfgen-probe-write-update-style-2" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/017-delete-v7-endpoint-labels-422212465108189.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/017-delete-v7-endpoint-labels-422212465108189.json new file mode 100644 index 00000000..84dc1b3a --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/017-delete-v7-endpoint-labels-422212465108189.json @@ -0,0 +1,18 @@ +{ + "id": "017-delete-v7-endpoint-labels-422212465108189", + "seq": 17, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108189", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/018-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/018-post-v7-endpoint-labels.json new file mode 100644 index 00000000..a8c8f9c6 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/018-post-v7-endpoint-labels.json @@ -0,0 +1,54 @@ +{ + "id": "018-post-v7-endpoint-labels", + "seq": 18, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "and", + "name": "tfpfgen-probe-write-server-default-1" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108190", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108190" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108190", + "matchType": "and", + "name": "tfpfgen-probe-write-server-default-1" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/019-get-v7-endpoint-labels-422212465108190.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/019-get-v7-endpoint-labels-422212465108190.json new file mode 100644 index 00000000..40405095 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/019-get-v7-endpoint-labels-422212465108190.json @@ -0,0 +1,44 @@ +{ + "id": "019-get-v7-endpoint-labels-422212465108190", + "seq": 19, + "request": { + "method": "GET", + "path": "/v7/endpoint/labels/422212465108190", + "query": { + "expand": [ + "filters" + ] + }, + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108190?expand=filters" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108190", + "matchType": "and", + "name": "tfpfgen-probe-write-server-default-1" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/020-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/020-post-v7-endpoint-labels.json new file mode 100644 index 00000000..b3a4e4ee --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/020-post-v7-endpoint-labels.json @@ -0,0 +1,54 @@ +{ + "id": "020-post-v7-endpoint-labels", + "seq": 20, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "and", + "name": "tfpfgen-probe-write-server-default-2" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108191", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108191" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108191", + "matchType": "and", + "name": "tfpfgen-probe-write-server-default-2" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/021-get-v7-endpoint-labels-422212465108191.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/021-get-v7-endpoint-labels-422212465108191.json new file mode 100644 index 00000000..371bfd8b --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/021-get-v7-endpoint-labels-422212465108191.json @@ -0,0 +1,44 @@ +{ + "id": "021-get-v7-endpoint-labels-422212465108191", + "seq": 21, + "request": { + "method": "GET", + "path": "/v7/endpoint/labels/422212465108191", + "query": { + "expand": [ + "filters" + ] + }, + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108191?expand=filters" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108191", + "matchType": "and", + "name": "tfpfgen-probe-write-server-default-2" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/022-delete-v7-endpoint-labels-422212465108190.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/022-delete-v7-endpoint-labels-422212465108190.json new file mode 100644 index 00000000..fbff4e8c --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/022-delete-v7-endpoint-labels-422212465108190.json @@ -0,0 +1,18 @@ +{ + "id": "022-delete-v7-endpoint-labels-422212465108190", + "seq": 22, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108190", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/023-delete-v7-endpoint-labels-422212465108191.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/023-delete-v7-endpoint-labels-422212465108191.json new file mode 100644 index 00000000..b51a1b90 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/023-delete-v7-endpoint-labels-422212465108191.json @@ -0,0 +1,18 @@ +{ + "id": "023-delete-v7-endpoint-labels-422212465108191", + "seq": 23, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108191", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/024-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/024-post-v7-endpoint-labels.json new file mode 100644 index 00000000..2cf70190 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/024-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "024-post-v7-endpoint-labels", + "seq": 24, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "agent-id", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-1" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108192", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108192" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108192", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-1" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/025-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/025-post-v7-endpoint-labels.json new file mode 100644 index 00000000..508b3b44 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/025-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "025-post-v7-endpoint-labels", + "seq": 25, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "public-network", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-2" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108193", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108193" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108193", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-2" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/026-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/026-post-v7-endpoint-labels.json new file mode 100644 index 00000000..9eabcda1 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/026-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "026-post-v7-endpoint-labels", + "seq": 26, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "local-network", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-3" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108194", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108194" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108194", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-3" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/027-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/027-post-v7-endpoint-labels.json new file mode 100644 index 00000000..317b0030 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/027-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "027-post-v7-endpoint-labels", + "seq": 27, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "connection", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-4" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108195", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108195" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108195", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-4" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/028-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/028-post-v7-endpoint-labels.json new file mode 100644 index 00000000..8f5d51eb --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/028-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "028-post-v7-endpoint-labels", + "seq": 28, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "gateway", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-5" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108196", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108196" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108196", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-5" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/029-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/029-post-v7-endpoint-labels.json new file mode 100644 index 00000000..b5aeb97c --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/029-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "029-post-v7-endpoint-labels", + "seq": 29, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "platform", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-6" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108197", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108197" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108197", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-6" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/030-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/030-post-v7-endpoint-labels.json new file mode 100644 index 00000000..d4c33141 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/030-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "030-post-v7-endpoint-labels", + "seq": 30, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "agent-type", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-7" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108198", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108198" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108198", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-7" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/031-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/031-post-v7-endpoint-labels.json new file mode 100644 index 00000000..ab82b71a --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/031-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "031-post-v7-endpoint-labels", + "seq": 31, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "vpn-vendor", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-8" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108199", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108199" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108199", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-8" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/032-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/032-post-v7-endpoint-labels.json new file mode 100644 index 00000000..23bd7bd6 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/032-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "032-post-v7-endpoint-labels", + "seq": 32, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "vpn-gateway-address", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-9" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108200", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108200" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108200", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-9" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/033-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/033-post-v7-endpoint-labels.json new file mode 100644 index 00000000..656b4702 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/033-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "033-post-v7-endpoint-labels", + "seq": 33, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "vpn-client-network", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-10" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108201", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108201" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108201", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-10" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/034-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/034-post-v7-endpoint-labels.json new file mode 100644 index 00000000..95ef79ff --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/034-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "034-post-v7-endpoint-labels", + "seq": 34, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "vpn-client-address", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-11" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108202", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108202" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108202", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-11" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/035-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/035-post-v7-endpoint-labels.json new file mode 100644 index 00000000..f5214dd1 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/035-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "035-post-v7-endpoint-labels", + "seq": 35, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "ip-address-family", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-12" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108203", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108203" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108203", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-12" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/036-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/036-post-v7-endpoint-labels.json new file mode 100644 index 00000000..cee9fe69 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/036-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "036-post-v7-endpoint-labels", + "seq": 36, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "ssid", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-13" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108204", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108204" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108204", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-13" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/037-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/037-post-v7-endpoint-labels.json new file mode 100644 index 00000000..2f14b94f --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/037-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "037-post-v7-endpoint-labels", + "seq": 37, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "bssid", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-14" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108205", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108205" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108205", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-14" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/038-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/038-post-v7-endpoint-labels.json new file mode 100644 index 00000000..0b0c3bba --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/038-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "038-post-v7-endpoint-labels", + "seq": 38, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "hostname", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-15" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108206", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108206" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108206", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-15" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/039-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/039-post-v7-endpoint-labels.json new file mode 100644 index 00000000..3d6f108d --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/039-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "039-post-v7-endpoint-labels", + "seq": 39, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "username", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-16" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108207", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108207" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108207", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-16" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/040-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/040-post-v7-endpoint-labels.json new file mode 100644 index 00000000..e15546c4 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/040-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "040-post-v7-endpoint-labels", + "seq": 40, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "asn", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-17" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108208", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108208" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108208", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-17" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/041-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/041-post-v7-endpoint-labels.json new file mode 100644 index 00000000..e0b30604 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/041-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "041-post-v7-endpoint-labels", + "seq": 41, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "qqqqq-qqqq", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-18" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108209", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108209" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108209", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-18" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/042-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/042-post-v7-endpoint-labels.json new file mode 100644 index 00000000..61bbd0a7 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/042-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "042-post-v7-endpoint-labels", + "seq": 42, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "zzzzz-zzzz", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-19" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108210", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108210" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108210", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-19" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/043-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/043-post-v7-endpoint-labels.json new file mode 100644 index 00000000..07eb7ecb --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/043-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "043-post-v7-endpoint-labels", + "seq": 43, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.key": "AGENT-ID", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-20" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108211", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108211" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108211", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-20" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/044-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/044-post-v7-endpoint-labels.json new file mode 100644 index 00000000..ce9be9fe --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/044-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "044-post-v7-endpoint-labels", + "seq": 44, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.mode": "in", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-21" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108212", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108212" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108212", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-21" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/045-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/045-post-v7-endpoint-labels.json new file mode 100644 index 00000000..3d7522f3 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/045-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "045-post-v7-endpoint-labels", + "seq": 45, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.mode": "not-in", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-22" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108213", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108213" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108213", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-22" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/046-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/046-post-v7-endpoint-labels.json new file mode 100644 index 00000000..58de4f6e --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/046-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "046-post-v7-endpoint-labels", + "seq": 46, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.mode": "qqqqqq", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-23" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108214", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108214" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108214", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-23" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/047-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/047-post-v7-endpoint-labels.json new file mode 100644 index 00000000..67243626 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/047-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "047-post-v7-endpoint-labels", + "seq": 47, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.mode": "zzzzzz", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-24" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108215", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108215" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108215", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-24" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/048-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/048-post-v7-endpoint-labels.json new file mode 100644 index 00000000..a4ba7f41 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/048-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "048-post-v7-endpoint-labels", + "seq": 48, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "filters.mode": "IN", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-25" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108216", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108216" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108216", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-25" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/049-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/049-post-v7-endpoint-labels.json new file mode 100644 index 00000000..f818c408 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/049-post-v7-endpoint-labels.json @@ -0,0 +1,54 @@ +{ + "id": "049-post-v7-endpoint-labels", + "seq": 49, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "and", + "name": "tfpfgen-probe-write-enum-26" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108217", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108217" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108217", + "matchType": "and", + "name": "tfpfgen-probe-write-enum-26" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/050-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/050-post-v7-endpoint-labels.json new file mode 100644 index 00000000..672288a5 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/050-post-v7-endpoint-labels.json @@ -0,0 +1,54 @@ +{ + "id": "050-post-v7-endpoint-labels", + "seq": 50, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "or", + "name": "tfpfgen-probe-write-enum-27" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108218", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108218" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108218", + "matchType": "or", + "name": "tfpfgen-probe-write-enum-27" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/051-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/051-post-v7-endpoint-labels.json new file mode 100644 index 00000000..ac696c33 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/051-post-v7-endpoint-labels.json @@ -0,0 +1,38 @@ +{ + "id": "051-post-v7-endpoint-labels", + "seq": 51, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "qqq", + "name": "tfpfgen-probe-write-enum-28" + } + }, + "response": { + "status": 400, + "header": { + "content-type": "application/problem+json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "detail": "Unexpected 'match type' value found 'qqq', valid values are: and,or", + "status": 400, + "title": "Request validation failed" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/052-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/052-post-v7-endpoint-labels.json new file mode 100644 index 00000000..9cfee9fa --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/052-post-v7-endpoint-labels.json @@ -0,0 +1,38 @@ +{ + "id": "052-post-v7-endpoint-labels", + "seq": 52, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "zzz", + "name": "tfpfgen-probe-write-enum-29" + } + }, + "response": { + "status": 400, + "header": { + "content-type": "application/problem+json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "detail": "Unexpected 'match type' value found 'zzz', valid values are: and,or", + "status": 400, + "title": "Request validation failed" + }, + "droppedHeaders": 13 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/053-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/053-post-v7-endpoint-labels.json new file mode 100644 index 00000000..2598f37d --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/053-post-v7-endpoint-labels.json @@ -0,0 +1,38 @@ +{ + "id": "053-post-v7-endpoint-labels", + "seq": 53, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "AND", + "name": "tfpfgen-probe-write-enum-30" + } + }, + "response": { + "status": 400, + "header": { + "content-type": "application/problem+json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "detail": "Unexpected 'match type' value found 'AND', valid values are: and,or", + "status": 400, + "title": "Request validation failed" + }, + "droppedHeaders": 13 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/054-delete-v7-endpoint-labels-422212465108192.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/054-delete-v7-endpoint-labels-422212465108192.json new file mode 100644 index 00000000..5fde519c --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/054-delete-v7-endpoint-labels-422212465108192.json @@ -0,0 +1,18 @@ +{ + "id": "054-delete-v7-endpoint-labels-422212465108192", + "seq": 54, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108192", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/055-delete-v7-endpoint-labels-422212465108193.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/055-delete-v7-endpoint-labels-422212465108193.json new file mode 100644 index 00000000..9f32f407 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/055-delete-v7-endpoint-labels-422212465108193.json @@ -0,0 +1,18 @@ +{ + "id": "055-delete-v7-endpoint-labels-422212465108193", + "seq": 55, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108193", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/056-delete-v7-endpoint-labels-422212465108194.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/056-delete-v7-endpoint-labels-422212465108194.json new file mode 100644 index 00000000..ce3172d5 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/056-delete-v7-endpoint-labels-422212465108194.json @@ -0,0 +1,18 @@ +{ + "id": "056-delete-v7-endpoint-labels-422212465108194", + "seq": 56, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108194", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/057-delete-v7-endpoint-labels-422212465108195.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/057-delete-v7-endpoint-labels-422212465108195.json new file mode 100644 index 00000000..cf91bb67 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/057-delete-v7-endpoint-labels-422212465108195.json @@ -0,0 +1,18 @@ +{ + "id": "057-delete-v7-endpoint-labels-422212465108195", + "seq": 57, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108195", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/058-delete-v7-endpoint-labels-422212465108196.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/058-delete-v7-endpoint-labels-422212465108196.json new file mode 100644 index 00000000..73860259 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/058-delete-v7-endpoint-labels-422212465108196.json @@ -0,0 +1,18 @@ +{ + "id": "058-delete-v7-endpoint-labels-422212465108196", + "seq": 58, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108196", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/059-delete-v7-endpoint-labels-422212465108197.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/059-delete-v7-endpoint-labels-422212465108197.json new file mode 100644 index 00000000..068557ed --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/059-delete-v7-endpoint-labels-422212465108197.json @@ -0,0 +1,18 @@ +{ + "id": "059-delete-v7-endpoint-labels-422212465108197", + "seq": 59, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108197", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/060-delete-v7-endpoint-labels-422212465108198.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/060-delete-v7-endpoint-labels-422212465108198.json new file mode 100644 index 00000000..c5bcbf42 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/060-delete-v7-endpoint-labels-422212465108198.json @@ -0,0 +1,18 @@ +{ + "id": "060-delete-v7-endpoint-labels-422212465108198", + "seq": 60, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108198", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/061-delete-v7-endpoint-labels-422212465108199.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/061-delete-v7-endpoint-labels-422212465108199.json new file mode 100644 index 00000000..c9092591 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/061-delete-v7-endpoint-labels-422212465108199.json @@ -0,0 +1,18 @@ +{ + "id": "061-delete-v7-endpoint-labels-422212465108199", + "seq": 61, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108199", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/062-delete-v7-endpoint-labels-422212465108200.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/062-delete-v7-endpoint-labels-422212465108200.json new file mode 100644 index 00000000..c448e388 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/062-delete-v7-endpoint-labels-422212465108200.json @@ -0,0 +1,18 @@ +{ + "id": "062-delete-v7-endpoint-labels-422212465108200", + "seq": 62, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108200", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/063-delete-v7-endpoint-labels-422212465108201.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/063-delete-v7-endpoint-labels-422212465108201.json new file mode 100644 index 00000000..6731978c --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/063-delete-v7-endpoint-labels-422212465108201.json @@ -0,0 +1,18 @@ +{ + "id": "063-delete-v7-endpoint-labels-422212465108201", + "seq": 63, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108201", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/064-delete-v7-endpoint-labels-422212465108202.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/064-delete-v7-endpoint-labels-422212465108202.json new file mode 100644 index 00000000..bf24137a --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/064-delete-v7-endpoint-labels-422212465108202.json @@ -0,0 +1,18 @@ +{ + "id": "064-delete-v7-endpoint-labels-422212465108202", + "seq": 64, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108202", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/065-delete-v7-endpoint-labels-422212465108203.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/065-delete-v7-endpoint-labels-422212465108203.json new file mode 100644 index 00000000..80f62b78 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/065-delete-v7-endpoint-labels-422212465108203.json @@ -0,0 +1,18 @@ +{ + "id": "065-delete-v7-endpoint-labels-422212465108203", + "seq": 65, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108203", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/066-delete-v7-endpoint-labels-422212465108204.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/066-delete-v7-endpoint-labels-422212465108204.json new file mode 100644 index 00000000..0b878e7f --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/066-delete-v7-endpoint-labels-422212465108204.json @@ -0,0 +1,18 @@ +{ + "id": "066-delete-v7-endpoint-labels-422212465108204", + "seq": 66, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108204", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/067-delete-v7-endpoint-labels-422212465108205.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/067-delete-v7-endpoint-labels-422212465108205.json new file mode 100644 index 00000000..14e5ad63 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/067-delete-v7-endpoint-labels-422212465108205.json @@ -0,0 +1,18 @@ +{ + "id": "067-delete-v7-endpoint-labels-422212465108205", + "seq": 67, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108205", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/068-delete-v7-endpoint-labels-422212465108206.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/068-delete-v7-endpoint-labels-422212465108206.json new file mode 100644 index 00000000..3de5e2e7 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/068-delete-v7-endpoint-labels-422212465108206.json @@ -0,0 +1,18 @@ +{ + "id": "068-delete-v7-endpoint-labels-422212465108206", + "seq": 68, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108206", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/069-delete-v7-endpoint-labels-422212465108207.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/069-delete-v7-endpoint-labels-422212465108207.json new file mode 100644 index 00000000..4cf59853 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/069-delete-v7-endpoint-labels-422212465108207.json @@ -0,0 +1,18 @@ +{ + "id": "069-delete-v7-endpoint-labels-422212465108207", + "seq": 69, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108207", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/070-delete-v7-endpoint-labels-422212465108208.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/070-delete-v7-endpoint-labels-422212465108208.json new file mode 100644 index 00000000..2e7d1b82 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/070-delete-v7-endpoint-labels-422212465108208.json @@ -0,0 +1,18 @@ +{ + "id": "070-delete-v7-endpoint-labels-422212465108208", + "seq": 70, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108208", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/071-delete-v7-endpoint-labels-422212465108209.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/071-delete-v7-endpoint-labels-422212465108209.json new file mode 100644 index 00000000..24ef9b9e --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/071-delete-v7-endpoint-labels-422212465108209.json @@ -0,0 +1,18 @@ +{ + "id": "071-delete-v7-endpoint-labels-422212465108209", + "seq": 71, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108209", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/072-delete-v7-endpoint-labels-422212465108210.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/072-delete-v7-endpoint-labels-422212465108210.json new file mode 100644 index 00000000..7223fcc3 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/072-delete-v7-endpoint-labels-422212465108210.json @@ -0,0 +1,18 @@ +{ + "id": "072-delete-v7-endpoint-labels-422212465108210", + "seq": 72, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108210", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/073-delete-v7-endpoint-labels-422212465108211.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/073-delete-v7-endpoint-labels-422212465108211.json new file mode 100644 index 00000000..d6a51708 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/073-delete-v7-endpoint-labels-422212465108211.json @@ -0,0 +1,18 @@ +{ + "id": "073-delete-v7-endpoint-labels-422212465108211", + "seq": 73, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108211", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/074-delete-v7-endpoint-labels-422212465108212.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/074-delete-v7-endpoint-labels-422212465108212.json new file mode 100644 index 00000000..e948d61f --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/074-delete-v7-endpoint-labels-422212465108212.json @@ -0,0 +1,18 @@ +{ + "id": "074-delete-v7-endpoint-labels-422212465108212", + "seq": 74, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108212", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/075-delete-v7-endpoint-labels-422212465108213.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/075-delete-v7-endpoint-labels-422212465108213.json new file mode 100644 index 00000000..15fc8ee2 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/075-delete-v7-endpoint-labels-422212465108213.json @@ -0,0 +1,18 @@ +{ + "id": "075-delete-v7-endpoint-labels-422212465108213", + "seq": 75, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108213", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/076-delete-v7-endpoint-labels-422212465108214.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/076-delete-v7-endpoint-labels-422212465108214.json new file mode 100644 index 00000000..530d64d8 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/076-delete-v7-endpoint-labels-422212465108214.json @@ -0,0 +1,18 @@ +{ + "id": "076-delete-v7-endpoint-labels-422212465108214", + "seq": 76, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108214", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/077-delete-v7-endpoint-labels-422212465108215.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/077-delete-v7-endpoint-labels-422212465108215.json new file mode 100644 index 00000000..13e0fa31 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/077-delete-v7-endpoint-labels-422212465108215.json @@ -0,0 +1,18 @@ +{ + "id": "077-delete-v7-endpoint-labels-422212465108215", + "seq": 77, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108215", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/078-delete-v7-endpoint-labels-422212465108216.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/078-delete-v7-endpoint-labels-422212465108216.json new file mode 100644 index 00000000..143f737b --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/078-delete-v7-endpoint-labels-422212465108216.json @@ -0,0 +1,18 @@ +{ + "id": "078-delete-v7-endpoint-labels-422212465108216", + "seq": 78, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108216", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/079-delete-v7-endpoint-labels-422212465108217.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/079-delete-v7-endpoint-labels-422212465108217.json new file mode 100644 index 00000000..53221a83 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/079-delete-v7-endpoint-labels-422212465108217.json @@ -0,0 +1,18 @@ +{ + "id": "079-delete-v7-endpoint-labels-422212465108217", + "seq": 79, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108217", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/080-delete-v7-endpoint-labels-422212465108218.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/080-delete-v7-endpoint-labels-422212465108218.json new file mode 100644 index 00000000..77ce7357 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/080-delete-v7-endpoint-labels-422212465108218.json @@ -0,0 +1,18 @@ +{ + "id": "080-delete-v7-endpoint-labels-422212465108218", + "seq": 80, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108218", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/081-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/081-post-v7-endpoint-labels.json new file mode 100644 index 00000000..d72b6203 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/081-post-v7-endpoint-labels.json @@ -0,0 +1,39 @@ +{ + "id": "081-post-v7-endpoint-labels", + "seq": 81, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "color": " probe-color-1 ", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "and", + "name": "tfpfgen-probe-write-normalisation-1" + } + }, + "response": { + "status": 400, + "header": { + "content-type": "application/problem+json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "detail": "There are invalid or missing fields", + "status": 400, + "title": "Request validation failed" + }, + "droppedHeaders": 13 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/082-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/082-post-v7-endpoint-labels.json new file mode 100644 index 00000000..21cf18b4 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/082-post-v7-endpoint-labels.json @@ -0,0 +1,39 @@ +{ + "id": "082-post-v7-endpoint-labels", + "seq": 82, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "color": "MiXeD-probe-color-2", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "and", + "name": "tfpfgen-probe-write-normalisation-2" + } + }, + "response": { + "status": 400, + "header": { + "content-type": "application/problem+json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "detail": "There are invalid or missing fields", + "status": 400, + "title": "Request validation failed" + }, + "droppedHeaders": 13 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/083-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/083-post-v7-endpoint-labels.json new file mode 100644 index 00000000..a0f49e7c --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/083-post-v7-endpoint-labels.json @@ -0,0 +1,54 @@ +{ + "id": "083-post-v7-endpoint-labels", + "seq": 83, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "and", + "name": "tfpfgen-probe-write-rehearsal-1" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108219", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108219" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108219", + "matchType": "and", + "name": "tfpfgen-probe-write-rehearsal-1" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/084-get-v7-endpoint-labels-422212465108219.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/084-get-v7-endpoint-labels-422212465108219.json new file mode 100644 index 00000000..2188e2d6 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/084-get-v7-endpoint-labels-422212465108219.json @@ -0,0 +1,44 @@ +{ + "id": "084-get-v7-endpoint-labels-422212465108219", + "seq": 84, + "request": { + "method": "GET", + "path": "/v7/endpoint/labels/422212465108219", + "query": { + "expand": [ + "filters" + ] + }, + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108219?expand=filters" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108219", + "matchType": "and", + "name": "tfpfgen-probe-write-rehearsal-1" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/085-patch-v7-endpoint-labels-422212465108219.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/085-patch-v7-endpoint-labels-422212465108219.json new file mode 100644 index 00000000..4e3845bf --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/085-patch-v7-endpoint-labels-422212465108219.json @@ -0,0 +1,54 @@ +{ + "id": "085-patch-v7-endpoint-labels-422212465108219", + "seq": 85, + "request": { + "method": "PATCH", + "path": "/v7/endpoint/labels/422212465108219", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "or", + "name": "tfpfgen-probe-write-rehearsal-1" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108219" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108219", + "matchType": "or", + "name": "tfpfgen-probe-write-rehearsal-1" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/086-get-v7-endpoint-labels-422212465108219.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/086-get-v7-endpoint-labels-422212465108219.json new file mode 100644 index 00000000..7e84a68d --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/086-get-v7-endpoint-labels-422212465108219.json @@ -0,0 +1,44 @@ +{ + "id": "086-get-v7-endpoint-labels-422212465108219", + "seq": 86, + "request": { + "method": "GET", + "path": "/v7/endpoint/labels/422212465108219", + "query": { + "expand": [ + "filters" + ] + }, + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108219?expand=filters" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108219", + "matchType": "or", + "name": "tfpfgen-probe-write-rehearsal-1" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/087-patch-v7-endpoint-labels-422212465108219.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/087-patch-v7-endpoint-labels-422212465108219.json new file mode 100644 index 00000000..3ebb83d7 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/087-patch-v7-endpoint-labels-422212465108219.json @@ -0,0 +1,53 @@ +{ + "id": "087-patch-v7-endpoint-labels-422212465108219", + "seq": 87, + "request": { + "method": "PATCH", + "path": "/v7/endpoint/labels/422212465108219", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "and", + "name": "tfpfgen-probe-write-rehearsal-1" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108219" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108219", + "matchType": "and", + "name": "tfpfgen-probe-write-rehearsal-1" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/088-get-v7-endpoint-labels-422212465108219.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/088-get-v7-endpoint-labels-422212465108219.json new file mode 100644 index 00000000..2e65380f --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/088-get-v7-endpoint-labels-422212465108219.json @@ -0,0 +1,44 @@ +{ + "id": "088-get-v7-endpoint-labels-422212465108219", + "seq": 88, + "request": { + "method": "GET", + "path": "/v7/endpoint/labels/422212465108219", + "query": { + "expand": [ + "filters" + ] + }, + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108219?expand=filters" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108219", + "matchType": "and", + "name": "tfpfgen-probe-write-rehearsal-1" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/089-delete-v7-endpoint-labels-422212465108219.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/089-delete-v7-endpoint-labels-422212465108219.json new file mode 100644 index 00000000..ac9848c8 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/089-delete-v7-endpoint-labels-422212465108219.json @@ -0,0 +1,18 @@ +{ + "id": "089-delete-v7-endpoint-labels-422212465108219", + "seq": 89, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108219", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/090-post-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/090-post-v7-endpoint-labels.json new file mode 100644 index 00000000..dc8ffad3 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/090-post-v7-endpoint-labels.json @@ -0,0 +1,55 @@ +{ + "id": "090-post-v7-endpoint-labels", + "seq": 90, + "request": { + "method": "POST", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "or", + "name": "tfpfgen-probe-write-rehearsal-2" + } + }, + "response": { + "status": 201, + "header": { + "content-type": "application/json", + "location": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108220", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108220" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108220", + "matchType": "or", + "name": "tfpfgen-probe-write-rehearsal-2" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/091-get-v7-endpoint-labels-422212465108220.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/091-get-v7-endpoint-labels-422212465108220.json new file mode 100644 index 00000000..93d70e59 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/091-get-v7-endpoint-labels-422212465108220.json @@ -0,0 +1,44 @@ +{ + "id": "091-get-v7-endpoint-labels-422212465108220", + "seq": 91, + "request": { + "method": "GET", + "path": "/v7/endpoint/labels/422212465108220", + "query": { + "expand": [ + "filters" + ] + }, + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108220?expand=filters" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108220", + "matchType": "or", + "name": "tfpfgen-probe-write-rehearsal-2" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/092-patch-v7-endpoint-labels-422212465108220.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/092-patch-v7-endpoint-labels-422212465108220.json new file mode 100644 index 00000000..4692ef4c --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/092-patch-v7-endpoint-labels-422212465108220.json @@ -0,0 +1,53 @@ +{ + "id": "092-patch-v7-endpoint-labels-422212465108220", + "seq": 92, + "request": { + "method": "PATCH", + "path": "/v7/endpoint/labels/422212465108220", + "header": { + "accept": "application/json", + "content-type": "application/json" + }, + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "and", + "name": "tfpfgen-probe-write-rehearsal-2" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108220" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108220", + "matchType": "and", + "name": "tfpfgen-probe-write-rehearsal-2" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/093-get-v7-endpoint-labels-422212465108220.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/093-get-v7-endpoint-labels-422212465108220.json new file mode 100644 index 00000000..3b016a3c --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/093-get-v7-endpoint-labels-422212465108220.json @@ -0,0 +1,44 @@ +{ + "id": "093-get-v7-endpoint-labels-422212465108220", + "seq": 93, + "request": { + "method": "GET", + "path": "/v7/endpoint/labels/422212465108220", + "query": { + "expand": [ + "filters" + ] + }, + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels/422212465108220?expand=filters" + } + }, + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "id": "422212465108220", + "matchType": "and", + "name": "tfpfgen-probe-write-rehearsal-2" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/094-delete-v7-endpoint-labels-422212465108220.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/094-delete-v7-endpoint-labels-422212465108220.json new file mode 100644 index 00000000..cee0d482 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/094-delete-v7-endpoint-labels-422212465108220.json @@ -0,0 +1,18 @@ +{ + "id": "094-delete-v7-endpoint-labels-422212465108220", + "seq": 94, + "request": { + "method": "DELETE", + "path": "/v7/endpoint/labels/422212465108220", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 204, + "header": { + "x-organization-rate-limit-limit": "240" + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/095-get-v7-endpoint-labels.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/095-get-v7-endpoint-labels.json new file mode 100644 index 00000000..087ad703 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/interactions/095-get-v7-endpoint-labels.json @@ -0,0 +1,27 @@ +{ + "id": "095-get-v7-endpoint-labels", + "seq": 95, + "request": { + "method": "GET", + "path": "/v7/endpoint/labels", + "header": { + "accept": "application/json" + } + }, + "response": { + "status": 200, + "header": { + "content-type": "application/json", + "x-organization-rate-limit-limit": "240" + }, + "body": { + "_links": { + "self": { + "href": "https://api.thousandeyes.com/v7/endpoint/labels" + } + }, + "labels": [] + }, + "droppedHeaders": 14 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/metadata.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/metadata.json new file mode 100644 index 00000000..926cf547 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/metadata.json @@ -0,0 +1,11 @@ +{ + "provider": "thousandeyes", + "resource": "endpoint_label", + "apiVersion": "7.0.98", + "host": "api.thousandeyes.com", + "basePath": "/v7", + "namePrefix": "tfpfgen-probe", + "interactions": 95, + "sha256": "8c70e2419627364e5ed954f232583e4555ab37d1598e47ed7ee5033225b10468", + "probeVersion": "dev" +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/plan.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/plan.json new file mode 100644 index 00000000..805edbd8 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/plan.json @@ -0,0 +1,27 @@ +{ + "fixtures": [ + { + "name": "minimal", + "body": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "and", + "name": "CURATE_ME-stamped-by-probe" + } + } + ], + "expansions": [ + "expand=filters" + ], + "budget": { + "maxRequests": 260, + "maxCreates": 50 + } +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/rehearsal.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/rehearsal.json new file mode 100644 index 00000000..df2d46bf --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/rehearsal.json @@ -0,0 +1,31 @@ +[ + { + "minimal": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "and", + "name": "tfacc-name" + }, + "maximal": { + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "and", + "name": "tfacc-name" + } + } +] diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/report.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/report.json new file mode 100644 index 00000000..f2f23e66 --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/report.json @@ -0,0 +1,741 @@ +{ + "profile": { + "host": "api.thousandeyes.com", + "mode": "record", + "sandbox": true, + "assertionsPassed": [ + "mode", + "allowMutations", + "sandbox", + "sandboxEvidence", + "namePrefix", + "tokenEnv", + "noCredentialInProfile", + "https", + "endpointHostSuffix", + "canMutate", + "plan", + "noSnapshotOverwrite", + "maxExistingObjects (0 < 25)" + ] + }, + "facts": [ + { + "resource": "endpoint_label", + "field": "errorEnvelope", + "value": { + "text": "404=problem" + }, + "confidence": "observed", + "probe": "read.not-found-shape", + "evidence": [ + "002-get-v7-endpoint-labels-999999999" + ], + "rationale": "a 404 response used the problem error shape" + }, + { + "resource": "endpoint_label", + "field": "errorEnvelope", + "value": { + "text": "400=problem" + }, + "confidence": "observed", + "probe": "read.error-envelope", + "evidence": [ + "001-get-v7-endpoint-labels", + "003-get-v7-endpoint-labels", + "004-get-v7-endpoint-labels", + "005-get-v7-endpoint-labels", + "006-get-v7-endpoint-labels", + "007-get-v7-endpoint-labels", + "095-get-v7-endpoint-labels" + ], + "rationale": "an invalid value for the \"max\" parameter answered 400 with a problem body", + "alternatives": [ + "an API may use a different error shape for authorisation failures than for validation failures, which one malformed read cannot establish" + ] + }, + { + "resource": "endpoint_label", + "field": "errorEnvelope", + "value": { + "text": "namesOffendingField=true" + }, + "confidence": "observed", + "probe": "read.error-envelope", + "evidence": [ + "001-get-v7-endpoint-labels", + "003-get-v7-endpoint-labels", + "004-get-v7-endpoint-labels", + "005-get-v7-endpoint-labels", + "006-get-v7-endpoint-labels", + "007-get-v7-endpoint-labels", + "095-get-v7-endpoint-labels" + ], + "rationale": "whether the error body carries a detail naming what was wrong decides whether later probes can attribute a rejection to a specific field" + }, + { + "resource": "endpoint_label", + "field": "policy.delete.notFoundIsSuccess", + "value": { + "bool": true + }, + "confidence": "observed", + "probe": "read.not-found-shape", + "evidence": [ + "002-get-v7-endpoint-labels-999999999" + ], + "rationale": "reading an absent object answered 404 with a problem error body", + "alternatives": [ + "the API may answer differently for an identifier that once existed and was deleted" + ] + }, + { + "resource": "endpoint_label", + "field": "policy.readBack", + "value": { + "readBack": { + "reason": "every one of 9 read(s) immediately after a create succeeded on the first attempt" + } + }, + "confidence": "inferred", + "probe": "write.read-your-writes", + "evidence": [ + "014-get-v7-endpoint-labels-422212465108189", + "016-get-v7-endpoint-labels-422212465108189", + "019-get-v7-endpoint-labels-422212465108190", + "021-get-v7-endpoint-labels-422212465108191", + "084-get-v7-endpoint-labels-422212465108219", + "086-get-v7-endpoint-labels-422212465108219", + "088-get-v7-endpoint-labels-422212465108219", + "091-get-v7-endpoint-labels-422212465108220", + "093-get-v7-endpoint-labels-422212465108220" + ], + "rationale": "9 object(s) were read immediately after creation and every first read succeeded", + "alternatives": [ + "a consistency window measured on an idle sandbox is not production's; the interval is a floor rather than a property of the real system" + ] + }, + { + "resource": "endpoint_label", + "field": "policy.updateStyle", + "value": { + "text": "patchMerge" + }, + "confidence": "observed", + "probe": "write.update-style", + "evidence": [ + "014-get-v7-endpoint-labels-422212465108189", + "016-get-v7-endpoint-labels-422212465108189" + ], + "rationale": "an update omitting matchType left it unchanged, so the API merges", + "alternatives": [ + "an API that distinguishes an absent key from an explicit null may treat the two differently, and only the absent case was sent", + "the behaviour was observed for matchType and is assumed to hold for every other field" + ] + }, + { + "resource": "endpoint_label", + "field": "unknownParamTolerated", + "value": { + "bool": true + }, + "confidence": "observed", + "probe": "read.unknown-param", + "evidence": [ + "001-get-v7-endpoint-labels", + "003-get-v7-endpoint-labels", + "004-get-v7-endpoint-labels", + "005-get-v7-endpoint-labels", + "006-get-v7-endpoint-labels", + "007-get-v7-endpoint-labels", + "095-get-v7-endpoint-labels" + ], + "rationale": "a collection read carrying an unrecognised query parameter answered 200", + "alternatives": [ + "a gateway rather than the API itself may have rejected the parameter, in which case tolerance of unknown request-body fields does not follow" + ] + }, + { + "resource": "endpoint_label", + "jsonPath": "color", + "field": "returnedOnUpdate", + "value": { + "bool": true + }, + "confidence": "observed", + "probe": "write.rehearsal", + "evidence": [ + "085-patch-v7-endpoint-labels-422212465108219" + ], + "rationale": "the update response carried the field it was sent" + }, + { + "resource": "endpoint_label", + "jsonPath": "color", + "field": "serverDefault", + "value": { + "literal": { + "kind": "", + "raw": "\"#d9d9d9\"" + } + }, + "confidence": "observed", + "probe": "write.server-default", + "evidence": [ + "019-get-v7-endpoint-labels-422212465108190", + "021-get-v7-endpoint-labels-422212465108191" + ], + "rationale": "the field was omitted from 2 create(s) and came back as #d9d9d9 every time", + "alternatives": [ + "the value may be derived from tenant configuration rather than being a constant, which no number of creates in one tenant can rule out", + "the value may be derived from a field this plan's fixtures did not vary" + ] + }, + { + "resource": "endpoint_label", + "jsonPath": "filters", + "field": "requiredByApi", + "value": { + "bool": true + }, + "confidence": "inferred", + "probe": "write.required", + "evidence": [ + "009-post-v7-endpoint-labels" + ], + "rationale": "a create omitting this field was refused with 400, but the error body did not name the field, so the refusal may have had another cause", + "alternatives": [ + "the create may have been refused for a reason unrelated to this field, which only an error body naming it would rule out" + ] + }, + { + "resource": "endpoint_label", + "jsonPath": "filters", + "field": "returnedOnUpdate", + "value": { + "bool": true + }, + "confidence": "observed", + "probe": "write.rehearsal", + "evidence": [ + "085-patch-v7-endpoint-labels-422212465108219" + ], + "rationale": "the update response carried the field it was sent" + }, + { + "resource": "endpoint_label", + "jsonPath": "filters.key", + "field": "acceptedValues", + "value": { + "list": [ + "agent-id", + "public-network", + "local-network", + "connection", + "gateway", + "platform", + "agent-type", + "vpn-vendor", + "vpn-gateway-address", + "vpn-client-network", + "vpn-client-address", + "ip-address-family", + "ssid", + "bssid", + "hostname", + "username", + "asn" + ] + }, + "confidence": "observed", + "probe": "write.enum", + "evidence": [ + "024-post-v7-endpoint-labels", + "025-post-v7-endpoint-labels", + "026-post-v7-endpoint-labels", + "027-post-v7-endpoint-labels", + "028-post-v7-endpoint-labels", + "029-post-v7-endpoint-labels", + "030-post-v7-endpoint-labels", + "031-post-v7-endpoint-labels", + "032-post-v7-endpoint-labels", + "033-post-v7-endpoint-labels", + "034-post-v7-endpoint-labels", + "035-post-v7-endpoint-labels", + "036-post-v7-endpoint-labels", + "037-post-v7-endpoint-labels", + "038-post-v7-endpoint-labels", + "039-post-v7-endpoint-labels", + "040-post-v7-endpoint-labels", + "041-post-v7-endpoint-labels", + "042-post-v7-endpoint-labels" + ], + "rationale": "17 of the 17 documented value(s) were accepted on create" + }, + { + "resource": "endpoint_label", + "jsonPath": "filters.key", + "field": "serverDefault", + "value": { + "literal": { + "kind": "", + "raw": "\"platform\"" + } + }, + "confidence": "observed", + "probe": "write.server-default", + "evidence": [ + "019-get-v7-endpoint-labels-422212465108190", + "021-get-v7-endpoint-labels-422212465108191" + ], + "rationale": "the field was omitted from 2 create(s) and came back as platform every time", + "alternatives": [ + "the value may be derived from tenant configuration rather than being a constant, which no number of creates in one tenant can rule out", + "the value may be derived from a field this plan's fixtures did not vary" + ] + }, + { + "resource": "endpoint_label", + "jsonPath": "filters.key", + "field": "valuesClosed", + "value": { + "bool": false + }, + "confidence": "observed", + "probe": "write.enum", + "evidence": [ + "024-post-v7-endpoint-labels", + "025-post-v7-endpoint-labels", + "026-post-v7-endpoint-labels", + "027-post-v7-endpoint-labels", + "028-post-v7-endpoint-labels", + "029-post-v7-endpoint-labels", + "030-post-v7-endpoint-labels", + "031-post-v7-endpoint-labels", + "032-post-v7-endpoint-labels", + "033-post-v7-endpoint-labels", + "034-post-v7-endpoint-labels", + "035-post-v7-endpoint-labels", + "036-post-v7-endpoint-labels", + "037-post-v7-endpoint-labels", + "038-post-v7-endpoint-labels", + "039-post-v7-endpoint-labels", + "040-post-v7-endpoint-labels", + "041-post-v7-endpoint-labels", + "042-post-v7-endpoint-labels" + ], + "rationale": "2 of 2 value(s) outside the documented set were accepted, so the API takes values the specification does not list" + }, + { + "resource": "endpoint_label", + "jsonPath": "filters.mode", + "field": "acceptedValues", + "value": { + "list": [ + "in", + "not-in" + ] + }, + "confidence": "observed", + "probe": "write.enum", + "evidence": [ + "044-post-v7-endpoint-labels", + "045-post-v7-endpoint-labels", + "046-post-v7-endpoint-labels", + "047-post-v7-endpoint-labels" + ], + "rationale": "2 of the 2 documented value(s) were accepted on create" + }, + { + "resource": "endpoint_label", + "jsonPath": "filters.mode", + "field": "serverDefault", + "value": { + "literal": { + "kind": "", + "raw": "\"in\"" + } + }, + "confidence": "observed", + "probe": "write.server-default", + "evidence": [ + "019-get-v7-endpoint-labels-422212465108190", + "021-get-v7-endpoint-labels-422212465108191" + ], + "rationale": "the field was omitted from 2 create(s) and came back as in every time", + "alternatives": [ + "the value may be derived from tenant configuration rather than being a constant, which no number of creates in one tenant can rule out", + "the value may be derived from a field this plan's fixtures did not vary" + ] + }, + { + "resource": "endpoint_label", + "jsonPath": "filters.mode", + "field": "valuesClosed", + "value": { + "bool": false + }, + "confidence": "observed", + "probe": "write.enum", + "evidence": [ + "044-post-v7-endpoint-labels", + "045-post-v7-endpoint-labels", + "046-post-v7-endpoint-labels", + "047-post-v7-endpoint-labels" + ], + "rationale": "2 of 2 value(s) outside the documented set were accepted, so the API takes values the specification does not list" + }, + { + "resource": "endpoint_label", + "jsonPath": "filters.values", + "field": "serverDefault", + "value": { + "text": "[windows]" + }, + "confidence": "observed", + "probe": "write.server-default", + "evidence": [ + "019-get-v7-endpoint-labels-422212465108190", + "021-get-v7-endpoint-labels-422212465108191" + ], + "rationale": "the field was omitted from 2 create(s) and came back as [windows] every time", + "alternatives": [ + "the value may be derived from tenant configuration rather than being a constant, which no number of creates in one tenant can rule out", + "the value may be derived from a field this plan's fixtures did not vary" + ] + }, + { + "resource": "endpoint_label", + "jsonPath": "matchType", + "field": "acceptedValues", + "value": { + "list": [ + "and", + "or" + ] + }, + "confidence": "observed", + "probe": "write.enum", + "evidence": [ + "049-post-v7-endpoint-labels", + "050-post-v7-endpoint-labels", + "051-post-v7-endpoint-labels", + "052-post-v7-endpoint-labels" + ], + "rationale": "2 of the 2 documented value(s) were accepted on create" + }, + { + "resource": "endpoint_label", + "jsonPath": "matchType", + "field": "requiredByApi", + "value": { + "bool": true + }, + "confidence": "inferred", + "probe": "write.required", + "evidence": [ + "010-post-v7-endpoint-labels" + ], + "rationale": "a create omitting this field was refused with 400, but the error body did not name the field, so the refusal may have had another cause", + "alternatives": [ + "the create may have been refused for a reason unrelated to this field, which only an error body naming it would rule out" + ] + }, + { + "resource": "endpoint_label", + "jsonPath": "matchType", + "field": "returnedOnUpdate", + "value": { + "bool": true + }, + "confidence": "observed", + "probe": "write.rehearsal", + "evidence": [ + "085-patch-v7-endpoint-labels-422212465108219" + ], + "rationale": "the update response carried the field it was sent" + }, + { + "resource": "endpoint_label", + "jsonPath": "matchType", + "field": "valuesClosed", + "value": { + "bool": true + }, + "confidence": "observed", + "probe": "write.enum", + "evidence": [ + "049-post-v7-endpoint-labels", + "050-post-v7-endpoint-labels", + "051-post-v7-endpoint-labels", + "052-post-v7-endpoint-labels" + ], + "rationale": "2 value(s) outside the documented set were sent and all 2 were refused", + "alternatives": [ + "a generated value may have been refused by a length or character-set check rather than by enum membership, which is why the candidates are shaped like the documented values" + ] + } + ], + "notes": [ + { + "resource": "endpoint_label", + "probe": "write.writable-returned", + "message": "fixture minimal was refused with 400 (There are invalid or missing fields), so nothing was observed about writability from it" + }, + { + "resource": "endpoint_label", + "probe": "read.volatile", + "message": "no existing object to read repeatedly, so volatility was not observed" + }, + { + "resource": "endpoint_label", + "probe": "read.returned-weak", + "message": "no existing object to read, so no field presence was observed" + }, + { + "resource": "endpoint_label", + "probe": "write.immutability", + "message": "no field carries two or more candidate values, so no field can be probed for immutability: the fact requires two distinct values both refused, and one candidate cannot supply that" + }, + { + "resource": "endpoint_label", + "probe": "read.list-shape", + "message": "the collection is empty, so no item shape was observed and later probes have no fixture to draw on" + }, + { + "resource": "endpoint_label", + "probe": "write.normalisation", + "message": "the create carrying \"letter case is changed\" was refused with 400 (There are invalid or missing fields), so nothing was observed about that transform" + }, + { + "resource": "endpoint_label", + "probe": "write.normalisation", + "message": "the create carrying \"surrounding whitespace is stripped\" was refused with 400 (There are invalid or missing fields), so nothing was observed about that transform" + }, + { + "resource": "endpoint_label", + "probe": "write.side-effect", + "message": "the plan declares no field whose value might affect another, so there is no suspected trigger to perturb; declare one under defaultInfluencers" + }, + { + "resource": "endpoint_label", + "jsonPath": "filters.key", + "probe": "write.enum", + "message": "a generated OneOf comes from the documented set, not from this accepted set: the documented set is the wider of the two, so a validator built from it errs toward permitting and a stale specification surfaces as the API's own error rather than as a plan failure. What this probe decides is whether there is a validator at all -- an accepted value from outside the documented set suppresses it" + }, + { + "resource": "endpoint_label", + "jsonPath": "filters.key", + "probe": "write.enum", + "message": "the API accepted \"AGENT-ID\" for a value the specification documents as \"agent-id\", so the documented set is not the whole of what it takes and a validator built from it would reject configurations the API allows" + }, + { + "resource": "endpoint_label", + "jsonPath": "filters.mode", + "probe": "write.enum", + "message": "a generated OneOf comes from the documented set, not from this accepted set: the documented set is the wider of the two, so a validator built from it errs toward permitting and a stale specification surfaces as the API's own error rather than as a plan failure. What this probe decides is whether there is a validator at all -- an accepted value from outside the documented set suppresses it" + }, + { + "resource": "endpoint_label", + "jsonPath": "filters.mode", + "probe": "write.enum", + "message": "the API accepted \"IN\" for a value the specification documents as \"in\", so the documented set is not the whole of what it takes and a validator built from it would reject configurations the API allows" + }, + { + "resource": "endpoint_label", + "jsonPath": "matchType", + "probe": "write.enum", + "message": "a generated OneOf comes from the documented set, not from this accepted set: the documented set is the wider of the two, so a validator built from it errs toward permitting and a stale specification surfaces as the API's own error rather than as a plan failure. What this probe decides is whether there is a validator at all -- an accepted value from outside the documented set suppresses it" + }, + { + "resource": "endpoint_label", + "jsonPath": "matchType", + "probe": "write.enum", + "message": "the documented value \"and\" was accepted and \"AND\" was refused with 400, so the API treats this set case-sensitively" + }, + { + "resource": "endpoint_label", + "jsonPath": "name", + "probe": "write.normalisation", + "message": "\"letter case is changed\" could not be sent for this field because it carries the sweeper's name prefix and the awkward shape would destroy it, so this transform is unprobed for it" + }, + { + "resource": "endpoint_label", + "jsonPath": "name", + "probe": "write.normalisation", + "message": "\"surrounding whitespace is stripped\" could not be sent for this field because it carries the sweeper's name prefix and the awkward shape would destroy it, so this transform is unprobed for it" + }, + { + "resource": "endpoint_label", + "jsonPath": "name", + "probe": "write.required", + "message": "this field carries the sweeper's name prefix, so a create omitting it would produce an object that could not be found again and is refused before it is sent; its requiredness is therefore unprobed" + } + ], + "probes": [ + { + "name": "read.error-envelope", + "kind": "read", + "status": "ok", + "requests": 2, + "facts": 2 + }, + { + "name": "read.list-shape", + "kind": "read", + "status": "abandoned", + "requests": 1, + "facts": 0, + "reason": "ran but established nothing" + }, + { + "name": "read.not-found-shape", + "kind": "read", + "status": "ok", + "requests": 1, + "facts": 2 + }, + { + "name": "read.returned-weak", + "kind": "read", + "status": "abandoned", + "requests": 1, + "facts": 0, + "reason": "ran but established nothing" + }, + { + "name": "read.unknown-param", + "kind": "read", + "status": "ok", + "requests": 1, + "facts": 1 + }, + { + "name": "read.volatile", + "kind": "read", + "status": "abandoned", + "requests": 1, + "facts": 0, + "reason": "ran but established nothing" + }, + { + "name": "write.enum", + "kind": "mutating", + "status": "ok", + "requests": 30, + "facts": 6 + }, + { + "name": "write.immutability", + "kind": "mutating", + "status": "abandoned", + "requests": 0, + "facts": 0, + "reason": "ran but established nothing" + }, + { + "name": "write.normalisation", + "kind": "mutating", + "status": "abandoned", + "requests": 2, + "facts": 0, + "reason": "ran but established nothing" + }, + { + "name": "write.read-your-writes", + "kind": "mutating", + "status": "ok", + "requests": 0, + "facts": 1 + }, + { + "name": "write.rehearsal", + "kind": "mutating", + "status": "ok", + "requests": 12, + "facts": 3 + }, + { + "name": "write.required", + "kind": "mutating", + "status": "ok", + "requests": 3, + "facts": 2 + }, + { + "name": "write.server-default", + "kind": "mutating", + "status": "ok", + "requests": 4, + "facts": 4 + }, + { + "name": "write.side-effect", + "kind": "mutating", + "status": "abandoned", + "requests": 0, + "facts": 0, + "reason": "ran but established nothing" + }, + { + "name": "write.update-style", + "kind": "mutating", + "status": "ok", + "requests": 4, + "facts": 1 + }, + { + "name": "write.writable-returned", + "kind": "mutating", + "status": "abandoned", + "requests": 1, + "facts": 0, + "reason": "ran but established nothing" + } + ], + "budget": { + "requests": 94, + "maxRequests": 260, + "creates": 41, + "maxCreates": 50, + "deletes": 33, + "sweepRequests": 1 + }, + "sweep": { + "ledgerDeletes": 0, + "prefixDeletes": 0, + "complete": true + }, + "rehearsal": [ + { + "minimal": { + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "and", + "name": "tfacc-name" + }, + "maximal": { + "color": "#d9d9d9", + "filters": [ + { + "key": "platform", + "mode": "in", + "values": [ + "windows" + ] + } + ], + "matchType": "and", + "name": "tfacc-name" + } + } + ] +} diff --git a/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/subject.json b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/subject.json new file mode 100644 index 00000000..09b3456e --- /dev/null +++ b/probe-evidence/thousandeyes/endpoint_label/7.0.98-t1785833092712/subject.json @@ -0,0 +1,175 @@ +{ + "resource": "endpoint_label", + "collectionTemplate": "/endpoint/labels", + "itemTemplate": "/endpoint/labels/{id}", + "create": { + "method": "POST", + "pathTemplate": "/endpoint/labels" + }, + "read": { + "method": "GET", + "pathTemplate": "/endpoint/labels/{id}" + }, + "update": { + "method": "PATCH", + "pathTemplate": "/endpoint/labels/{id}" + }, + "delete": { + "method": "DELETE", + "pathTemplate": "/endpoint/labels/{id}" + }, + "fields": [ + { + "jsonPath": "color", + "attribute": "color", + "kind": "string", + "computedOptionalRequired": "computed_optional", + "writable": true, + "behaviour": { + "serverDefault": { + "kind": "", + "raw": "\"#d9d9d9\"" + }, + "returnedOnUpdate": true + } + }, + { + "jsonPath": "filters", + "attribute": "filters", + "kind": "set_nested", + "computedOptionalRequired": "optional", + "writable": true, + "behaviour": { + "requiredByApi": true, + "returnedOnUpdate": true + } + }, + { + "jsonPath": "filters.key", + "attribute": "key", + "kind": "string", + "computedOptionalRequired": "computed_optional", + "writable": true, + "allowedValues": [ + "agent-id", + "public-network", + "local-network", + "connection", + "gateway", + "platform", + "agent-type", + "vpn-vendor", + "vpn-gateway-address", + "vpn-client-network", + "vpn-client-address", + "ip-address-family", + "ssid", + "bssid", + "hostname", + "username", + "asn" + ], + "behaviour": { + "serverDefault": { + "kind": "", + "raw": "\"platform\"" + }, + "acceptedValues": [ + "agent-id", + "public-network", + "local-network", + "connection", + "gateway", + "platform", + "agent-type", + "vpn-vendor", + "vpn-gateway-address", + "vpn-client-network", + "vpn-client-address", + "ip-address-family", + "ssid", + "bssid", + "hostname", + "username", + "asn" + ], + "valuesClosed": false + } + }, + { + "jsonPath": "filters.mode", + "attribute": "mode", + "kind": "string", + "computedOptionalRequired": "computed_optional", + "writable": true, + "allowedValues": [ + "in", + "not-in" + ], + "behaviour": { + "serverDefault": { + "kind": "", + "raw": "\"in\"" + }, + "acceptedValues": [ + "in", + "not-in" + ], + "valuesClosed": false + } + }, + { + "jsonPath": "filters.values", + "attribute": "values", + "kind": "set", + "computedOptionalRequired": "optional", + "writable": true + }, + { + "jsonPath": "id", + "attribute": "id", + "kind": "string", + "computedOptionalRequired": "computed", + "writable": false + }, + { + "jsonPath": "matchType", + "attribute": "match_type", + "kind": "string", + "computedOptionalRequired": "optional", + "writable": true, + "allowedValues": [ + "and", + "or" + ], + "behaviour": { + "requiredByApi": true, + "returnedOnUpdate": true, + "acceptedValues": [ + "and", + "or" + ], + "valuesClosed": true + } + }, + { + "jsonPath": "name", + "attribute": "name", + "kind": "string", + "computedOptionalRequired": "optional", + "writable": true, + "behaviour": { + "requiredByApi": true + } + } + ], + "policy": { + "updateStyle": "patchMerge", + "delete": { + "notFoundIsSuccess": true + } + }, + "idField": "id", + "nameField": "name", + "evidenceRev": 1 +}