launchdarkly_api 19.0.0 → 20.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +24 -10
  3. data/docs/AIConfigPost.md +3 -1
  4. data/docs/AIConfigsBetaApi.md +387 -0
  5. data/docs/AccountUsageBetaApi.md +182 -0
  6. data/docs/AgentGraph.md +30 -0
  7. data/docs/AgentGraphEdge.md +24 -0
  8. data/docs/AgentGraphEdgePost.md +24 -0
  9. data/docs/AgentGraphPatch.md +24 -0
  10. data/docs/AgentGraphPost.md +26 -0
  11. data/docs/AgentGraphs.md +22 -0
  12. data/docs/FeatureFlagsApi.md +3 -1
  13. data/docs/GuardedReleaseConfig.md +10 -2
  14. data/docs/IterationInput.md +0 -2
  15. data/docs/IterationRep.md +1 -3
  16. data/docs/PostReleasePolicyRequest.md +2 -2
  17. data/docs/ProgressiveReleaseConfig.md +20 -0
  18. data/docs/PutReleasePolicyRequest.md +2 -2
  19. data/docs/ReleasePolicy.md +2 -2
  20. data/docs/ReleasePolicyScope.md +3 -1
  21. data/docs/ReleasePolicyStage.md +20 -0
  22. data/docs/Rule.md +2 -0
  23. data/docs/SegmentsApi.md +8 -4
  24. data/docs/TagsApi.md +2 -2
  25. data/lib/launchdarkly_api/api/account_usage_beta_api.rb +171 -0
  26. data/lib/launchdarkly_api/api/ai_configs_beta_api.rb +417 -0
  27. data/lib/launchdarkly_api/api/feature_flags_api.rb +3 -0
  28. data/lib/launchdarkly_api/api/segments_api.rb +3 -0
  29. data/lib/launchdarkly_api/api/tags_api.rb +2 -2
  30. data/lib/launchdarkly_api/models/agent_graph.rb +350 -0
  31. data/lib/launchdarkly_api/models/agent_graph_edge.rb +303 -0
  32. data/lib/launchdarkly_api/models/agent_graph_edge_post.rb +303 -0
  33. data/lib/launchdarkly_api/models/agent_graph_patch.rb +254 -0
  34. data/lib/launchdarkly_api/models/agent_graph_post.rb +298 -0
  35. data/lib/launchdarkly_api/models/{covariance_info_rep.rb → agent_graphs.rb} +43 -59
  36. data/lib/launchdarkly_api/models/ai_config_post.rb +13 -4
  37. data/lib/launchdarkly_api/models/guarded_release_config.rb +50 -21
  38. data/lib/launchdarkly_api/models/iteration_input.rb +1 -11
  39. data/lib/launchdarkly_api/models/iteration_rep.rb +4 -13
  40. data/lib/launchdarkly_api/models/post_release_policy_request.rb +1 -2
  41. data/lib/launchdarkly_api/models/progressive_release_config.rb +234 -0
  42. data/lib/launchdarkly_api/models/put_release_policy_request.rb +1 -2
  43. data/lib/launchdarkly_api/models/release_policy.rb +1 -2
  44. data/lib/launchdarkly_api/models/release_policy_scope.rb +16 -4
  45. data/lib/launchdarkly_api/models/release_policy_stage.rb +263 -0
  46. data/lib/launchdarkly_api/models/rule.rb +11 -1
  47. data/lib/launchdarkly_api/version.rb +1 -1
  48. data/lib/launchdarkly_api.rb +8 -1
  49. data/spec/api/account_usage_beta_api_spec.rb +41 -0
  50. data/spec/api/ai_configs_beta_api_spec.rb +72 -0
  51. data/spec/api/feature_flags_api_spec.rb +1 -0
  52. data/spec/api/segments_api_spec.rb +1 -0
  53. data/spec/api/tags_api_spec.rb +1 -1
  54. data/spec/models/agent_graph_edge_post_spec.rb +54 -0
  55. data/spec/models/agent_graph_edge_spec.rb +54 -0
  56. data/spec/models/agent_graph_patch_spec.rb +54 -0
  57. data/spec/models/agent_graph_post_spec.rb +60 -0
  58. data/spec/models/agent_graph_spec.rb +72 -0
  59. data/spec/models/{covariance_info_rep_spec.rb → agent_graphs_spec.rb} +9 -9
  60. data/spec/models/ai_config_post_spec.rb +6 -0
  61. data/spec/models/guarded_release_config_spec.rb +24 -0
  62. data/spec/models/iteration_input_spec.rb +0 -6
  63. data/spec/models/iteration_rep_spec.rb +0 -6
  64. data/spec/models/progressive_release_config_spec.rb +42 -0
  65. data/spec/models/release_policy_scope_spec.rb +6 -0
  66. data/spec/models/release_policy_stage_spec.rb +42 -0
  67. data/spec/models/rule_spec.rb +6 -0
  68. metadata +34 -6
  69. data/docs/CovarianceInfoRep.md +0 -22
@@ -682,6 +682,90 @@ module LaunchDarklyApi
682
682
  return data, status_code, headers
683
683
  end
684
684
 
685
+ # Get MAU clientside usage
686
+ # Get a time series of the number of context key usages observed by LaunchDarkly in your account, for the primary context kind only. The counts reflect data reported from client-side SDKs.<br/><br/>For past months, the primary context kind is fixed and reflects the last known primary kind for that month. For the current month, it may vary as new primary context kinds are observed.<br/><br/>The supported granularity varies by aggregation type. The maximum time range is 365 days.
687
+ # @param [Hash] opts the optional parameters
688
+ # @option opts [String] :from The series of data returned starts from this timestamp (Unix milliseconds). Defaults to the beginning of the current month.
689
+ # @option opts [String] :to The series of data returned ends at this timestamp (Unix milliseconds). Defaults to the current time.
690
+ # @option opts [String] :project_key A project key to filter results by. Can be specified multiple times, one query parameter per project key.
691
+ # @option opts [String] :environment_key An environment key to filter results by. If specified, exactly one &#x60;projectKey&#x60; must be provided. Can be specified multiple times, one query parameter per environment key.
692
+ # @option opts [String] :sdk_name An SDK name to filter results by. Can be specified multiple times, one query parameter per SDK name.
693
+ # @option opts [String] :anonymous An anonymous value to filter results by. Can be specified multiple times, one query parameter per anonymous value.&lt;br/&gt;Valid values: &#x60;true&#x60;, &#x60;false&#x60;.
694
+ # @option opts [String] :group_by If specified, returns data for each distinct value of the given field. Can be specified multiple times to group data by multiple dimensions, one query parameter per dimension.&lt;br/&gt;Valid values: &#x60;projectId&#x60;, &#x60;environmentId&#x60;, &#x60;sdkName&#x60;, &#x60;sdkAppId&#x60;, &#x60;anonymousV2&#x60;.
695
+ # @option opts [String] :aggregation_type Specifies the aggregation method. Defaults to &#x60;month_to_date&#x60;.&lt;br/&gt;Valid values: &#x60;month_to_date&#x60;, &#x60;incremental&#x60;, &#x60;rolling_30d&#x60;.
696
+ # @option opts [String] :granularity Specifies the data granularity. Defaults to &#x60;daily&#x60;. Valid values depend on &#x60;aggregationType&#x60;: **month_to_date** supports &#x60;daily&#x60; and &#x60;monthly&#x60;; **incremental** and **rolling_30d** support &#x60;daily&#x60; only.
697
+ # @return [SeriesListRep]
698
+ def get_mau_clientside_usage(opts = {})
699
+ data, _status_code, _headers = get_mau_clientside_usage_with_http_info(opts)
700
+ data
701
+ end
702
+
703
+ # Get MAU clientside usage
704
+ # Get a time series of the number of context key usages observed by LaunchDarkly in your account, for the primary context kind only. The counts reflect data reported from client-side SDKs.&lt;br/&gt;&lt;br/&gt;For past months, the primary context kind is fixed and reflects the last known primary kind for that month. For the current month, it may vary as new primary context kinds are observed.&lt;br/&gt;&lt;br/&gt;The supported granularity varies by aggregation type. The maximum time range is 365 days.
705
+ # @param [Hash] opts the optional parameters
706
+ # @option opts [String] :from The series of data returned starts from this timestamp (Unix milliseconds). Defaults to the beginning of the current month.
707
+ # @option opts [String] :to The series of data returned ends at this timestamp (Unix milliseconds). Defaults to the current time.
708
+ # @option opts [String] :project_key A project key to filter results by. Can be specified multiple times, one query parameter per project key.
709
+ # @option opts [String] :environment_key An environment key to filter results by. If specified, exactly one &#x60;projectKey&#x60; must be provided. Can be specified multiple times, one query parameter per environment key.
710
+ # @option opts [String] :sdk_name An SDK name to filter results by. Can be specified multiple times, one query parameter per SDK name.
711
+ # @option opts [String] :anonymous An anonymous value to filter results by. Can be specified multiple times, one query parameter per anonymous value.&lt;br/&gt;Valid values: &#x60;true&#x60;, &#x60;false&#x60;.
712
+ # @option opts [String] :group_by If specified, returns data for each distinct value of the given field. Can be specified multiple times to group data by multiple dimensions, one query parameter per dimension.&lt;br/&gt;Valid values: &#x60;projectId&#x60;, &#x60;environmentId&#x60;, &#x60;sdkName&#x60;, &#x60;sdkAppId&#x60;, &#x60;anonymousV2&#x60;.
713
+ # @option opts [String] :aggregation_type Specifies the aggregation method. Defaults to &#x60;month_to_date&#x60;.&lt;br/&gt;Valid values: &#x60;month_to_date&#x60;, &#x60;incremental&#x60;, &#x60;rolling_30d&#x60;.
714
+ # @option opts [String] :granularity Specifies the data granularity. Defaults to &#x60;daily&#x60;. Valid values depend on &#x60;aggregationType&#x60;: **month_to_date** supports &#x60;daily&#x60; and &#x60;monthly&#x60;; **incremental** and **rolling_30d** support &#x60;daily&#x60; only.
715
+ # @return [Array<(SeriesListRep, Integer, Hash)>] SeriesListRep data, response status code and response headers
716
+ def get_mau_clientside_usage_with_http_info(opts = {})
717
+ if @api_client.config.debugging
718
+ @api_client.config.logger.debug 'Calling API: AccountUsageBetaApi.get_mau_clientside_usage ...'
719
+ end
720
+ # resource path
721
+ local_var_path = '/api/v2/usage/clientside-mau'
722
+
723
+ # query parameters
724
+ query_params = opts[:query_params] || {}
725
+ query_params[:'from'] = opts[:'from'] if !opts[:'from'].nil?
726
+ query_params[:'to'] = opts[:'to'] if !opts[:'to'].nil?
727
+ query_params[:'projectKey'] = opts[:'project_key'] if !opts[:'project_key'].nil?
728
+ query_params[:'environmentKey'] = opts[:'environment_key'] if !opts[:'environment_key'].nil?
729
+ query_params[:'sdkName'] = opts[:'sdk_name'] if !opts[:'sdk_name'].nil?
730
+ query_params[:'anonymous'] = opts[:'anonymous'] if !opts[:'anonymous'].nil?
731
+ query_params[:'groupBy'] = opts[:'group_by'] if !opts[:'group_by'].nil?
732
+ query_params[:'aggregationType'] = opts[:'aggregation_type'] if !opts[:'aggregation_type'].nil?
733
+ query_params[:'granularity'] = opts[:'granularity'] if !opts[:'granularity'].nil?
734
+
735
+ # header parameters
736
+ header_params = opts[:header_params] || {}
737
+ # HTTP header 'Accept' (if needed)
738
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
739
+
740
+ # form parameters
741
+ form_params = opts[:form_params] || {}
742
+
743
+ # http body (model)
744
+ post_body = opts[:debug_body]
745
+
746
+ # return_type
747
+ return_type = opts[:debug_return_type] || 'SeriesListRep'
748
+
749
+ # auth_names
750
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
751
+
752
+ new_options = opts.merge(
753
+ :operation => :"AccountUsageBetaApi.get_mau_clientside_usage",
754
+ :header_params => header_params,
755
+ :query_params => query_params,
756
+ :form_params => form_params,
757
+ :body => post_body,
758
+ :auth_names => auth_names,
759
+ :return_type => return_type
760
+ )
761
+
762
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
763
+ if @api_client.config.debugging
764
+ @api_client.config.logger.debug "API called: AccountUsageBetaApi#get_mau_clientside_usage\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
765
+ end
766
+ return data, status_code, headers
767
+ end
768
+
685
769
  # Get MAU SDKs by type
686
770
  # Get a list of SDKs. These are all of the SDKs that have connected to LaunchDarkly by monthly active users (MAU) in the requested time period.<br/><br/>Endpoints for retrieving monthly active users (MAU) do not return information about active context instances. After you have upgraded your LaunchDarkly SDK to use contexts instead of users, you should not rely on this endpoint. To learn more, read [Account usage metrics](https://launchdarkly.com/docs/home/account/metrics).
687
771
  # @param [Hash] opts the optional parameters
@@ -748,6 +832,93 @@ module LaunchDarklyApi
748
832
  return data, status_code, headers
749
833
  end
750
834
 
835
+ # Get MAU total usage
836
+ # Get a time series of the number of context key usages observed by LaunchDarkly in your account, for the primary context kind only.<br/><br/>For past months, this reflects the context kind that was most recently marked as primary for that month. For the current month, the context kind may vary as new primary kinds are observed.<br/><br/>The supported granularity varies by aggregation type. The maximum time range is 365 days.
837
+ # @param [Hash] opts the optional parameters
838
+ # @option opts [String] :from The series of data returned starts from this timestamp (Unix milliseconds). Defaults to the beginning of the current month.
839
+ # @option opts [String] :to The series of data returned ends at this timestamp (Unix milliseconds). Defaults to the current time.
840
+ # @option opts [String] :project_key A project key to filter results by. Can be specified multiple times, one query parameter per project key.
841
+ # @option opts [String] :environment_key An environment key to filter results by. If specified, exactly one &#x60;projectKey&#x60; must be provided. Can be specified multiple times, one query parameter per environment key.
842
+ # @option opts [String] :sdk_name An SDK name to filter results by. Can be specified multiple times, one query parameter per SDK name.
843
+ # @option opts [String] :sdk_type An SDK type to filter results by. Can be specified multiple times, one query parameter per SDK type.
844
+ # @option opts [String] :anonymous An anonymous value to filter results by. Can be specified multiple times, one query parameter per anonymous value.&lt;br/&gt;Valid values: &#x60;true&#x60;, &#x60;false&#x60;.
845
+ # @option opts [String] :group_by If specified, returns data for each distinct value of the given field. Can be specified multiple times to group data by multiple dimensions, one query parameter per dimension.&lt;br/&gt;Valid values: &#x60;projectId&#x60;, &#x60;environmentId&#x60;, &#x60;sdkName&#x60;, &#x60;sdkType&#x60;, &#x60;sdkAppId&#x60;, &#x60;anonymousV2&#x60;.
846
+ # @option opts [String] :aggregation_type Specifies the aggregation method. Defaults to &#x60;month_to_date&#x60;.&lt;br/&gt;Valid values: &#x60;month_to_date&#x60;, &#x60;incremental&#x60;, &#x60;rolling_30d&#x60;.
847
+ # @option opts [String] :granularity Specifies the data granularity. Defaults to &#x60;daily&#x60;. Valid values depend on &#x60;aggregationType&#x60;: **month_to_date** supports &#x60;daily&#x60; and &#x60;monthly&#x60;; **incremental** and **rolling_30d** support &#x60;daily&#x60; only.
848
+ # @return [SeriesListRep]
849
+ def get_mau_total_usage(opts = {})
850
+ data, _status_code, _headers = get_mau_total_usage_with_http_info(opts)
851
+ data
852
+ end
853
+
854
+ # Get MAU total usage
855
+ # Get a time series of the number of context key usages observed by LaunchDarkly in your account, for the primary context kind only.&lt;br/&gt;&lt;br/&gt;For past months, this reflects the context kind that was most recently marked as primary for that month. For the current month, the context kind may vary as new primary kinds are observed.&lt;br/&gt;&lt;br/&gt;The supported granularity varies by aggregation type. The maximum time range is 365 days.
856
+ # @param [Hash] opts the optional parameters
857
+ # @option opts [String] :from The series of data returned starts from this timestamp (Unix milliseconds). Defaults to the beginning of the current month.
858
+ # @option opts [String] :to The series of data returned ends at this timestamp (Unix milliseconds). Defaults to the current time.
859
+ # @option opts [String] :project_key A project key to filter results by. Can be specified multiple times, one query parameter per project key.
860
+ # @option opts [String] :environment_key An environment key to filter results by. If specified, exactly one &#x60;projectKey&#x60; must be provided. Can be specified multiple times, one query parameter per environment key.
861
+ # @option opts [String] :sdk_name An SDK name to filter results by. Can be specified multiple times, one query parameter per SDK name.
862
+ # @option opts [String] :sdk_type An SDK type to filter results by. Can be specified multiple times, one query parameter per SDK type.
863
+ # @option opts [String] :anonymous An anonymous value to filter results by. Can be specified multiple times, one query parameter per anonymous value.&lt;br/&gt;Valid values: &#x60;true&#x60;, &#x60;false&#x60;.
864
+ # @option opts [String] :group_by If specified, returns data for each distinct value of the given field. Can be specified multiple times to group data by multiple dimensions, one query parameter per dimension.&lt;br/&gt;Valid values: &#x60;projectId&#x60;, &#x60;environmentId&#x60;, &#x60;sdkName&#x60;, &#x60;sdkType&#x60;, &#x60;sdkAppId&#x60;, &#x60;anonymousV2&#x60;.
865
+ # @option opts [String] :aggregation_type Specifies the aggregation method. Defaults to &#x60;month_to_date&#x60;.&lt;br/&gt;Valid values: &#x60;month_to_date&#x60;, &#x60;incremental&#x60;, &#x60;rolling_30d&#x60;.
866
+ # @option opts [String] :granularity Specifies the data granularity. Defaults to &#x60;daily&#x60;. Valid values depend on &#x60;aggregationType&#x60;: **month_to_date** supports &#x60;daily&#x60; and &#x60;monthly&#x60;; **incremental** and **rolling_30d** support &#x60;daily&#x60; only.
867
+ # @return [Array<(SeriesListRep, Integer, Hash)>] SeriesListRep data, response status code and response headers
868
+ def get_mau_total_usage_with_http_info(opts = {})
869
+ if @api_client.config.debugging
870
+ @api_client.config.logger.debug 'Calling API: AccountUsageBetaApi.get_mau_total_usage ...'
871
+ end
872
+ # resource path
873
+ local_var_path = '/api/v2/usage/total-mau'
874
+
875
+ # query parameters
876
+ query_params = opts[:query_params] || {}
877
+ query_params[:'from'] = opts[:'from'] if !opts[:'from'].nil?
878
+ query_params[:'to'] = opts[:'to'] if !opts[:'to'].nil?
879
+ query_params[:'projectKey'] = opts[:'project_key'] if !opts[:'project_key'].nil?
880
+ query_params[:'environmentKey'] = opts[:'environment_key'] if !opts[:'environment_key'].nil?
881
+ query_params[:'sdkName'] = opts[:'sdk_name'] if !opts[:'sdk_name'].nil?
882
+ query_params[:'sdkType'] = opts[:'sdk_type'] if !opts[:'sdk_type'].nil?
883
+ query_params[:'anonymous'] = opts[:'anonymous'] if !opts[:'anonymous'].nil?
884
+ query_params[:'groupBy'] = opts[:'group_by'] if !opts[:'group_by'].nil?
885
+ query_params[:'aggregationType'] = opts[:'aggregation_type'] if !opts[:'aggregation_type'].nil?
886
+ query_params[:'granularity'] = opts[:'granularity'] if !opts[:'granularity'].nil?
887
+
888
+ # header parameters
889
+ header_params = opts[:header_params] || {}
890
+ # HTTP header 'Accept' (if needed)
891
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
892
+
893
+ # form parameters
894
+ form_params = opts[:form_params] || {}
895
+
896
+ # http body (model)
897
+ post_body = opts[:debug_body]
898
+
899
+ # return_type
900
+ return_type = opts[:debug_return_type] || 'SeriesListRep'
901
+
902
+ # auth_names
903
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
904
+
905
+ new_options = opts.merge(
906
+ :operation => :"AccountUsageBetaApi.get_mau_total_usage",
907
+ :header_params => header_params,
908
+ :query_params => query_params,
909
+ :form_params => form_params,
910
+ :body => post_body,
911
+ :auth_names => auth_names,
912
+ :return_type => return_type
913
+ )
914
+
915
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
916
+ if @api_client.config.debugging
917
+ @api_client.config.logger.debug "API called: AccountUsageBetaApi#get_mau_total_usage\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
918
+ end
919
+ return data, status_code, headers
920
+ end
921
+
751
922
  # Get MAU usage
752
923
  # Get a time-series array of the number of monthly active users (MAU) seen by LaunchDarkly from your account. The granularity is always daily.<br/><br/>Endpoints for retrieving monthly active users (MAU) do not return information about active context instances. After you have upgraded your LaunchDarkly SDK to use contexts instead of users, you should not rely on this endpoint. To learn more, read [Account usage metrics](https://launchdarkly.com/docs/home/account/metrics).
753
924
  # @param [Hash] opts the optional parameters
@@ -19,6 +19,87 @@ module LaunchDarklyApi
19
19
  def initialize(api_client = ApiClient.default)
20
20
  @api_client = api_client
21
21
  end
22
+ # Delete agent graph
23
+ # Delete an existing agent graph and all of its edges.
24
+ # @param ld_api_version [String] Version of the endpoint.
25
+ # @param project_key [String]
26
+ # @param graph_key [String]
27
+ # @param [Hash] opts the optional parameters
28
+ # @return [nil]
29
+ def delete_agent_graph(ld_api_version, project_key, graph_key, opts = {})
30
+ delete_agent_graph_with_http_info(ld_api_version, project_key, graph_key, opts)
31
+ nil
32
+ end
33
+
34
+ # Delete agent graph
35
+ # Delete an existing agent graph and all of its edges.
36
+ # @param ld_api_version [String] Version of the endpoint.
37
+ # @param project_key [String]
38
+ # @param graph_key [String]
39
+ # @param [Hash] opts the optional parameters
40
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
41
+ def delete_agent_graph_with_http_info(ld_api_version, project_key, graph_key, opts = {})
42
+ if @api_client.config.debugging
43
+ @api_client.config.logger.debug 'Calling API: AIConfigsBetaApi.delete_agent_graph ...'
44
+ end
45
+ # verify the required parameter 'ld_api_version' is set
46
+ if @api_client.config.client_side_validation && ld_api_version.nil?
47
+ fail ArgumentError, "Missing the required parameter 'ld_api_version' when calling AIConfigsBetaApi.delete_agent_graph"
48
+ end
49
+ # verify enum value
50
+ allowable_values = ["beta"]
51
+ if @api_client.config.client_side_validation && !allowable_values.include?(ld_api_version)
52
+ fail ArgumentError, "invalid value for \"ld_api_version\", must be one of #{allowable_values}"
53
+ end
54
+ # verify the required parameter 'project_key' is set
55
+ if @api_client.config.client_side_validation && project_key.nil?
56
+ fail ArgumentError, "Missing the required parameter 'project_key' when calling AIConfigsBetaApi.delete_agent_graph"
57
+ end
58
+ # verify the required parameter 'graph_key' is set
59
+ if @api_client.config.client_side_validation && graph_key.nil?
60
+ fail ArgumentError, "Missing the required parameter 'graph_key' when calling AIConfigsBetaApi.delete_agent_graph"
61
+ end
62
+ # resource path
63
+ local_var_path = '/api/v2/projects/{projectKey}/agent-graphs/{graphKey}'.sub('{' + 'projectKey' + '}', CGI.escape(project_key.to_s)).sub('{' + 'graphKey' + '}', CGI.escape(graph_key.to_s))
64
+
65
+ # query parameters
66
+ query_params = opts[:query_params] || {}
67
+
68
+ # header parameters
69
+ header_params = opts[:header_params] || {}
70
+ # HTTP header 'Accept' (if needed)
71
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
72
+ header_params[:'LD-API-Version'] = ld_api_version
73
+
74
+ # form parameters
75
+ form_params = opts[:form_params] || {}
76
+
77
+ # http body (model)
78
+ post_body = opts[:debug_body]
79
+
80
+ # return_type
81
+ return_type = opts[:debug_return_type]
82
+
83
+ # auth_names
84
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
85
+
86
+ new_options = opts.merge(
87
+ :operation => :"AIConfigsBetaApi.delete_agent_graph",
88
+ :header_params => header_params,
89
+ :query_params => query_params,
90
+ :form_params => form_params,
91
+ :body => post_body,
92
+ :auth_names => auth_names,
93
+ :return_type => return_type
94
+ )
95
+
96
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
97
+ if @api_client.config.debugging
98
+ @api_client.config.logger.debug "API called: AIConfigsBetaApi#delete_agent_graph\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
99
+ end
100
+ return data, status_code, headers
101
+ end
102
+
22
103
  # Delete AI Config
23
104
  # Delete an existing AI Config.
24
105
  # @param ld_api_version [String] Version of the endpoint.
@@ -435,6 +516,87 @@ module LaunchDarklyApi
435
516
  return data, status_code, headers
436
517
  end
437
518
 
519
+ # Get agent graph
520
+ # Retrieve a specific agent graph by its key, including its edges.
521
+ # @param ld_api_version [String] Version of the endpoint.
522
+ # @param project_key [String]
523
+ # @param graph_key [String]
524
+ # @param [Hash] opts the optional parameters
525
+ # @return [AgentGraph]
526
+ def get_agent_graph(ld_api_version, project_key, graph_key, opts = {})
527
+ data, _status_code, _headers = get_agent_graph_with_http_info(ld_api_version, project_key, graph_key, opts)
528
+ data
529
+ end
530
+
531
+ # Get agent graph
532
+ # Retrieve a specific agent graph by its key, including its edges.
533
+ # @param ld_api_version [String] Version of the endpoint.
534
+ # @param project_key [String]
535
+ # @param graph_key [String]
536
+ # @param [Hash] opts the optional parameters
537
+ # @return [Array<(AgentGraph, Integer, Hash)>] AgentGraph data, response status code and response headers
538
+ def get_agent_graph_with_http_info(ld_api_version, project_key, graph_key, opts = {})
539
+ if @api_client.config.debugging
540
+ @api_client.config.logger.debug 'Calling API: AIConfigsBetaApi.get_agent_graph ...'
541
+ end
542
+ # verify the required parameter 'ld_api_version' is set
543
+ if @api_client.config.client_side_validation && ld_api_version.nil?
544
+ fail ArgumentError, "Missing the required parameter 'ld_api_version' when calling AIConfigsBetaApi.get_agent_graph"
545
+ end
546
+ # verify enum value
547
+ allowable_values = ["beta"]
548
+ if @api_client.config.client_side_validation && !allowable_values.include?(ld_api_version)
549
+ fail ArgumentError, "invalid value for \"ld_api_version\", must be one of #{allowable_values}"
550
+ end
551
+ # verify the required parameter 'project_key' is set
552
+ if @api_client.config.client_side_validation && project_key.nil?
553
+ fail ArgumentError, "Missing the required parameter 'project_key' when calling AIConfigsBetaApi.get_agent_graph"
554
+ end
555
+ # verify the required parameter 'graph_key' is set
556
+ if @api_client.config.client_side_validation && graph_key.nil?
557
+ fail ArgumentError, "Missing the required parameter 'graph_key' when calling AIConfigsBetaApi.get_agent_graph"
558
+ end
559
+ # resource path
560
+ local_var_path = '/api/v2/projects/{projectKey}/agent-graphs/{graphKey}'.sub('{' + 'projectKey' + '}', CGI.escape(project_key.to_s)).sub('{' + 'graphKey' + '}', CGI.escape(graph_key.to_s))
561
+
562
+ # query parameters
563
+ query_params = opts[:query_params] || {}
564
+
565
+ # header parameters
566
+ header_params = opts[:header_params] || {}
567
+ # HTTP header 'Accept' (if needed)
568
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
569
+ header_params[:'LD-API-Version'] = ld_api_version
570
+
571
+ # form parameters
572
+ form_params = opts[:form_params] || {}
573
+
574
+ # http body (model)
575
+ post_body = opts[:debug_body]
576
+
577
+ # return_type
578
+ return_type = opts[:debug_return_type] || 'AgentGraph'
579
+
580
+ # auth_names
581
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
582
+
583
+ new_options = opts.merge(
584
+ :operation => :"AIConfigsBetaApi.get_agent_graph",
585
+ :header_params => header_params,
586
+ :query_params => query_params,
587
+ :form_params => form_params,
588
+ :body => post_body,
589
+ :auth_names => auth_names,
590
+ :return_type => return_type
591
+ )
592
+
593
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
594
+ if @api_client.config.debugging
595
+ @api_client.config.logger.debug "API called: AIConfigsBetaApi#get_agent_graph\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
596
+ end
597
+ return data, status_code, headers
598
+ end
599
+
438
600
  # Get AI Config
439
601
  # Retrieve a specific AI Config by its key.
440
602
  # @param ld_api_version [String] Version of the endpoint.
@@ -1137,6 +1299,87 @@ module LaunchDarklyApi
1137
1299
  return data, status_code, headers
1138
1300
  end
1139
1301
 
1302
+ # List agent graphs
1303
+ # Get a list of all agent graphs in the given project. Returns metadata only, without edge data.
1304
+ # @param ld_api_version [String] Version of the endpoint.
1305
+ # @param project_key [String]
1306
+ # @param [Hash] opts the optional parameters
1307
+ # @option opts [Integer] :limit The number of AI Configs to return.
1308
+ # @option opts [Integer] :offset Where to start in the list. Use this with pagination. For example, an offset of 10 skips the first ten items and then returns the next items in the list, up to the query &#x60;limit&#x60;.
1309
+ # @return [AgentGraphs]
1310
+ def list_agent_graphs(ld_api_version, project_key, opts = {})
1311
+ data, _status_code, _headers = list_agent_graphs_with_http_info(ld_api_version, project_key, opts)
1312
+ data
1313
+ end
1314
+
1315
+ # List agent graphs
1316
+ # Get a list of all agent graphs in the given project. Returns metadata only, without edge data.
1317
+ # @param ld_api_version [String] Version of the endpoint.
1318
+ # @param project_key [String]
1319
+ # @param [Hash] opts the optional parameters
1320
+ # @option opts [Integer] :limit The number of AI Configs to return.
1321
+ # @option opts [Integer] :offset Where to start in the list. Use this with pagination. For example, an offset of 10 skips the first ten items and then returns the next items in the list, up to the query &#x60;limit&#x60;.
1322
+ # @return [Array<(AgentGraphs, Integer, Hash)>] AgentGraphs data, response status code and response headers
1323
+ def list_agent_graphs_with_http_info(ld_api_version, project_key, opts = {})
1324
+ if @api_client.config.debugging
1325
+ @api_client.config.logger.debug 'Calling API: AIConfigsBetaApi.list_agent_graphs ...'
1326
+ end
1327
+ # verify the required parameter 'ld_api_version' is set
1328
+ if @api_client.config.client_side_validation && ld_api_version.nil?
1329
+ fail ArgumentError, "Missing the required parameter 'ld_api_version' when calling AIConfigsBetaApi.list_agent_graphs"
1330
+ end
1331
+ # verify enum value
1332
+ allowable_values = ["beta"]
1333
+ if @api_client.config.client_side_validation && !allowable_values.include?(ld_api_version)
1334
+ fail ArgumentError, "invalid value for \"ld_api_version\", must be one of #{allowable_values}"
1335
+ end
1336
+ # verify the required parameter 'project_key' is set
1337
+ if @api_client.config.client_side_validation && project_key.nil?
1338
+ fail ArgumentError, "Missing the required parameter 'project_key' when calling AIConfigsBetaApi.list_agent_graphs"
1339
+ end
1340
+ # resource path
1341
+ local_var_path = '/api/v2/projects/{projectKey}/agent-graphs'.sub('{' + 'projectKey' + '}', CGI.escape(project_key.to_s))
1342
+
1343
+ # query parameters
1344
+ query_params = opts[:query_params] || {}
1345
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
1346
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
1347
+
1348
+ # header parameters
1349
+ header_params = opts[:header_params] || {}
1350
+ # HTTP header 'Accept' (if needed)
1351
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1352
+ header_params[:'LD-API-Version'] = ld_api_version
1353
+
1354
+ # form parameters
1355
+ form_params = opts[:form_params] || {}
1356
+
1357
+ # http body (model)
1358
+ post_body = opts[:debug_body]
1359
+
1360
+ # return_type
1361
+ return_type = opts[:debug_return_type] || 'AgentGraphs'
1362
+
1363
+ # auth_names
1364
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
1365
+
1366
+ new_options = opts.merge(
1367
+ :operation => :"AIConfigsBetaApi.list_agent_graphs",
1368
+ :header_params => header_params,
1369
+ :query_params => query_params,
1370
+ :form_params => form_params,
1371
+ :body => post_body,
1372
+ :auth_names => auth_names,
1373
+ :return_type => return_type
1374
+ )
1375
+
1376
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1377
+ if @api_client.config.debugging
1378
+ @api_client.config.logger.debug "API called: AIConfigsBetaApi#list_agent_graphs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1379
+ end
1380
+ return data, status_code, headers
1381
+ end
1382
+
1140
1383
  # List AI tool versions
1141
1384
  # Get a list of all versions of an AI tool in the given project.
1142
1385
  # @param ld_api_version [String] Version of the endpoint.
@@ -1392,6 +1635,94 @@ module LaunchDarklyApi
1392
1635
  return data, status_code, headers
1393
1636
  end
1394
1637
 
1638
+ # Update agent graph
1639
+ # Edit an existing agent graph. The request body must be a JSON object of the fields to update. The values you include replace the existing values for the fields. If the update includes `rootConfigKey` or `edges`, both must be present and will be treated as full replacements.
1640
+ # @param ld_api_version [String] Version of the endpoint.
1641
+ # @param project_key [String]
1642
+ # @param graph_key [String]
1643
+ # @param [Hash] opts the optional parameters
1644
+ # @option opts [AgentGraphPatch] :agent_graph_patch Agent graph object to update
1645
+ # @return [AgentGraph]
1646
+ def patch_agent_graph(ld_api_version, project_key, graph_key, opts = {})
1647
+ data, _status_code, _headers = patch_agent_graph_with_http_info(ld_api_version, project_key, graph_key, opts)
1648
+ data
1649
+ end
1650
+
1651
+ # Update agent graph
1652
+ # Edit an existing agent graph. The request body must be a JSON object of the fields to update. The values you include replace the existing values for the fields. If the update includes &#x60;rootConfigKey&#x60; or &#x60;edges&#x60;, both must be present and will be treated as full replacements.
1653
+ # @param ld_api_version [String] Version of the endpoint.
1654
+ # @param project_key [String]
1655
+ # @param graph_key [String]
1656
+ # @param [Hash] opts the optional parameters
1657
+ # @option opts [AgentGraphPatch] :agent_graph_patch Agent graph object to update
1658
+ # @return [Array<(AgentGraph, Integer, Hash)>] AgentGraph data, response status code and response headers
1659
+ def patch_agent_graph_with_http_info(ld_api_version, project_key, graph_key, opts = {})
1660
+ if @api_client.config.debugging
1661
+ @api_client.config.logger.debug 'Calling API: AIConfigsBetaApi.patch_agent_graph ...'
1662
+ end
1663
+ # verify the required parameter 'ld_api_version' is set
1664
+ if @api_client.config.client_side_validation && ld_api_version.nil?
1665
+ fail ArgumentError, "Missing the required parameter 'ld_api_version' when calling AIConfigsBetaApi.patch_agent_graph"
1666
+ end
1667
+ # verify enum value
1668
+ allowable_values = ["beta"]
1669
+ if @api_client.config.client_side_validation && !allowable_values.include?(ld_api_version)
1670
+ fail ArgumentError, "invalid value for \"ld_api_version\", must be one of #{allowable_values}"
1671
+ end
1672
+ # verify the required parameter 'project_key' is set
1673
+ if @api_client.config.client_side_validation && project_key.nil?
1674
+ fail ArgumentError, "Missing the required parameter 'project_key' when calling AIConfigsBetaApi.patch_agent_graph"
1675
+ end
1676
+ # verify the required parameter 'graph_key' is set
1677
+ if @api_client.config.client_side_validation && graph_key.nil?
1678
+ fail ArgumentError, "Missing the required parameter 'graph_key' when calling AIConfigsBetaApi.patch_agent_graph"
1679
+ end
1680
+ # resource path
1681
+ local_var_path = '/api/v2/projects/{projectKey}/agent-graphs/{graphKey}'.sub('{' + 'projectKey' + '}', CGI.escape(project_key.to_s)).sub('{' + 'graphKey' + '}', CGI.escape(graph_key.to_s))
1682
+
1683
+ # query parameters
1684
+ query_params = opts[:query_params] || {}
1685
+
1686
+ # header parameters
1687
+ header_params = opts[:header_params] || {}
1688
+ # HTTP header 'Accept' (if needed)
1689
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1690
+ # HTTP header 'Content-Type'
1691
+ content_type = @api_client.select_header_content_type(['application/json'])
1692
+ if !content_type.nil?
1693
+ header_params['Content-Type'] = content_type
1694
+ end
1695
+ header_params[:'LD-API-Version'] = ld_api_version
1696
+
1697
+ # form parameters
1698
+ form_params = opts[:form_params] || {}
1699
+
1700
+ # http body (model)
1701
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'agent_graph_patch'])
1702
+
1703
+ # return_type
1704
+ return_type = opts[:debug_return_type] || 'AgentGraph'
1705
+
1706
+ # auth_names
1707
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
1708
+
1709
+ new_options = opts.merge(
1710
+ :operation => :"AIConfigsBetaApi.patch_agent_graph",
1711
+ :header_params => header_params,
1712
+ :query_params => query_params,
1713
+ :form_params => form_params,
1714
+ :body => post_body,
1715
+ :auth_names => auth_names,
1716
+ :return_type => return_type
1717
+ )
1718
+
1719
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
1720
+ if @api_client.config.debugging
1721
+ @api_client.config.logger.debug "API called: AIConfigsBetaApi#patch_agent_graph\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1722
+ end
1723
+ return data, status_code, headers
1724
+ end
1725
+
1395
1726
  # Update AI Config
1396
1727
  # Edit an existing AI Config. The request body must be a JSON object of the fields to update. The values you include replace the existing values for the fields. Here's an example: ``` { \"description\": \"Example updated description\", \"tags\": [\"new-tag\"] } ```
1397
1728
  # @param ld_api_version [String] Version of the endpoint.
@@ -1750,6 +2081,92 @@ module LaunchDarklyApi
1750
2081
  return data, status_code, headers
1751
2082
  end
1752
2083
 
2084
+ # Create new agent graph
2085
+ # Create a new agent graph within the given project.
2086
+ # @param ld_api_version [String] Version of the endpoint.
2087
+ # @param project_key [String]
2088
+ # @param agent_graph_post [AgentGraphPost] Agent graph object to create
2089
+ # @param [Hash] opts the optional parameters
2090
+ # @return [AgentGraph]
2091
+ def post_agent_graph(ld_api_version, project_key, agent_graph_post, opts = {})
2092
+ data, _status_code, _headers = post_agent_graph_with_http_info(ld_api_version, project_key, agent_graph_post, opts)
2093
+ data
2094
+ end
2095
+
2096
+ # Create new agent graph
2097
+ # Create a new agent graph within the given project.
2098
+ # @param ld_api_version [String] Version of the endpoint.
2099
+ # @param project_key [String]
2100
+ # @param agent_graph_post [AgentGraphPost] Agent graph object to create
2101
+ # @param [Hash] opts the optional parameters
2102
+ # @return [Array<(AgentGraph, Integer, Hash)>] AgentGraph data, response status code and response headers
2103
+ def post_agent_graph_with_http_info(ld_api_version, project_key, agent_graph_post, opts = {})
2104
+ if @api_client.config.debugging
2105
+ @api_client.config.logger.debug 'Calling API: AIConfigsBetaApi.post_agent_graph ...'
2106
+ end
2107
+ # verify the required parameter 'ld_api_version' is set
2108
+ if @api_client.config.client_side_validation && ld_api_version.nil?
2109
+ fail ArgumentError, "Missing the required parameter 'ld_api_version' when calling AIConfigsBetaApi.post_agent_graph"
2110
+ end
2111
+ # verify enum value
2112
+ allowable_values = ["beta"]
2113
+ if @api_client.config.client_side_validation && !allowable_values.include?(ld_api_version)
2114
+ fail ArgumentError, "invalid value for \"ld_api_version\", must be one of #{allowable_values}"
2115
+ end
2116
+ # verify the required parameter 'project_key' is set
2117
+ if @api_client.config.client_side_validation && project_key.nil?
2118
+ fail ArgumentError, "Missing the required parameter 'project_key' when calling AIConfigsBetaApi.post_agent_graph"
2119
+ end
2120
+ # verify the required parameter 'agent_graph_post' is set
2121
+ if @api_client.config.client_side_validation && agent_graph_post.nil?
2122
+ fail ArgumentError, "Missing the required parameter 'agent_graph_post' when calling AIConfigsBetaApi.post_agent_graph"
2123
+ end
2124
+ # resource path
2125
+ local_var_path = '/api/v2/projects/{projectKey}/agent-graphs'.sub('{' + 'projectKey' + '}', CGI.escape(project_key.to_s))
2126
+
2127
+ # query parameters
2128
+ query_params = opts[:query_params] || {}
2129
+
2130
+ # header parameters
2131
+ header_params = opts[:header_params] || {}
2132
+ # HTTP header 'Accept' (if needed)
2133
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2134
+ # HTTP header 'Content-Type'
2135
+ content_type = @api_client.select_header_content_type(['application/json'])
2136
+ if !content_type.nil?
2137
+ header_params['Content-Type'] = content_type
2138
+ end
2139
+ header_params[:'LD-API-Version'] = ld_api_version
2140
+
2141
+ # form parameters
2142
+ form_params = opts[:form_params] || {}
2143
+
2144
+ # http body (model)
2145
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(agent_graph_post)
2146
+
2147
+ # return_type
2148
+ return_type = opts[:debug_return_type] || 'AgentGraph'
2149
+
2150
+ # auth_names
2151
+ auth_names = opts[:debug_auth_names] || ['ApiKey']
2152
+
2153
+ new_options = opts.merge(
2154
+ :operation => :"AIConfigsBetaApi.post_agent_graph",
2155
+ :header_params => header_params,
2156
+ :query_params => query_params,
2157
+ :form_params => form_params,
2158
+ :body => post_body,
2159
+ :auth_names => auth_names,
2160
+ :return_type => return_type
2161
+ )
2162
+
2163
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2164
+ if @api_client.config.debugging
2165
+ @api_client.config.logger.debug "API called: AIConfigsBetaApi#post_agent_graph\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2166
+ end
2167
+ return data, status_code, headers
2168
+ end
2169
+
1753
2170
  # Create new AI Config
1754
2171
  # Create a new AI Config within the given project.
1755
2172
  # @param ld_api_version [String] Version of the endpoint.