aws-sdk-applicationsignals 1.44.0 → 1.45.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.
@@ -474,6 +474,60 @@ module Aws::ApplicationSignals
474
474
 
475
475
  # @!group API Operations
476
476
 
477
+ # Deletes multiple instrumentation configurations in a single request.
478
+ # Supports two mutually exclusive selection methods:
479
+ #
480
+ # * By scope: Delete all configurations matching a Service + Environment
481
+ # + InstrumentationType
482
+ # * By ARN list: Delete specific configurations by providing a list of
483
+ # resource ARNs
484
+ #
485
+ # @option params [required, Types::BatchDeleteDeletionTarget] :deletion_target
486
+ # The deletion target - either bulk by scope or targeted by ARN list.
487
+ #
488
+ # @return [Types::BatchDeleteInstrumentationConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
489
+ #
490
+ # * {Types::BatchDeleteInstrumentationConfigurationsResponse#deleted_count #deleted_count} => Integer
491
+ # * {Types::BatchDeleteInstrumentationConfigurationsResponse#successful_deletions #successful_deletions} => Array<Types::BatchDeleteSuccessfulDeletion>
492
+ # * {Types::BatchDeleteInstrumentationConfigurationsResponse#errors #errors} => Array<Types::BatchDeleteError>
493
+ #
494
+ # @example Request syntax with placeholder values
495
+ #
496
+ # resp = client.batch_delete_instrumentation_configurations({
497
+ # deletion_target: { # required
498
+ # scope: {
499
+ # service: "BatchDeleteScopeServiceString", # required
500
+ # environment: "BatchDeleteScopeEnvironmentString", # required
501
+ # instrumentation_type: "BREAKPOINT", # required, accepts BREAKPOINT, PROBE
502
+ # },
503
+ # resource_arns: {
504
+ # resource_arns: ["BatchDeleteByResourceArnsResourceArnsListMemberString"], # required
505
+ # instrumentation_type: "BREAKPOINT", # required, accepts BREAKPOINT, PROBE
506
+ # },
507
+ # },
508
+ # })
509
+ #
510
+ # @example Response structure
511
+ #
512
+ # resp.deleted_count #=> Integer
513
+ # resp.successful_deletions #=> Array
514
+ # resp.successful_deletions[0].resource_arn #=> String
515
+ # resp.successful_deletions[0].signal_type #=> String
516
+ # resp.successful_deletions[0].location_hash #=> String
517
+ # resp.errors #=> Array
518
+ # resp.errors[0].resource_arn #=> String
519
+ # resp.errors[0].code #=> String, one of "ResourceNotFoundException", "AccessDeniedException", "InternalServiceException"
520
+ # resp.errors[0].message #=> String
521
+ #
522
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/BatchDeleteInstrumentationConfigurations AWS API Documentation
523
+ #
524
+ # @overload batch_delete_instrumentation_configurations(params = {})
525
+ # @param [Hash] params ({})
526
+ def batch_delete_instrumentation_configurations(params = {}, options = {})
527
+ req = build_request(:batch_delete_instrumentation_configurations, params)
528
+ req.send_request(options)
529
+ end
530
+
477
531
  # Use this operation to retrieve one or more *service level objective
478
532
  # (SLO) budget reports*.
479
533
  #
@@ -712,6 +766,171 @@ module Aws::ApplicationSignals
712
766
  req.send_request(options)
713
767
  end
714
768
 
769
+ # Creates a dynamic instrumentation configuration for a specific code or
770
+ # endpoint location within a service and environment. Configurations are
771
+ # immutable after creation.
772
+ #
773
+ # For `BREAKPOINT` type configurations, they expire after 24 hours
774
+ # unless a shorter expiration is provided. For `PROBE` type
775
+ # configurations, they persist until explicitly deleted; an expiration
776
+ # cannot be set for `PROBE` configurations.
777
+ #
778
+ # If a configuration already exists for the same service, environment,
779
+ # signal type, and location, this operation returns a conflict instead
780
+ # of overwriting it. Use attribute filters and capture settings to
781
+ # control where the instrumentation runs and which data is collected.
782
+ #
783
+ # @option params [required, String] :instrumentation_type
784
+ # Type of instrumentation: BREAKPOINT (temporary) or PROBE (permanent)
785
+ #
786
+ # @option params [required, String] :service
787
+ # The name of the service to instrument. This should match the
788
+ # `service.name` resource attribute reported by the application.
789
+ #
790
+ # @option params [required, String] :environment
791
+ # The environment that the service is running in, such as
792
+ # `eks:cluster-prod/namespace` or `ec2:production`.
793
+ #
794
+ # @option params [required, String] :signal_type
795
+ # The telemetry signal type to emit for this instrumentation. The
796
+ # supported value is `SNAPSHOT`.
797
+ #
798
+ # @option params [required, Types::Location] :location
799
+ # The location where instrumentation should be applied. Specify a
800
+ # `CodeLocation` for code-level instrumentation.
801
+ #
802
+ # @option params [String] :description
803
+ # An optional short description (up to 50 characters) that explains the
804
+ # purpose of this instrumentation.
805
+ #
806
+ # @option params [Time,DateTime,Date,Integer,String] :expires_at
807
+ # For BREAKPOINT: optional, defaults to 24 hours, must be between 5 min
808
+ # and 24 hours. For PROBE: not supported. PROBE configurations are
809
+ # permanent and persist until explicitly deleted.
810
+ #
811
+ # @option params [Array<Hash>] :attribute_filters
812
+ # Client-side filters that target specific instances. Each object in the
813
+ # array is AND-matched on its keys, and multiple objects are OR-matched
814
+ # to decide where to apply the instrumentation.
815
+ #
816
+ # @option params [required, Types::CaptureConfiguration] :capture_configuration
817
+ # Specifies what to capture when the instrumentation point is hit.
818
+ # Specify `CodeCapture` for code-level capture settings.
819
+ #
820
+ # @option params [Array<Types::Tag>] :tags
821
+ # An optional list of key-value pairs to associate with the
822
+ # instrumentation configuration. Tags can help you organize and
823
+ # categorize your resources.
824
+ #
825
+ # @return [Types::CreateInstrumentationConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
826
+ #
827
+ # * {Types::CreateInstrumentationConfigurationResponse#instrumentation_type #instrumentation_type} => String
828
+ # * {Types::CreateInstrumentationConfigurationResponse#service #service} => String
829
+ # * {Types::CreateInstrumentationConfigurationResponse#environment #environment} => String
830
+ # * {Types::CreateInstrumentationConfigurationResponse#signal_type #signal_type} => String
831
+ # * {Types::CreateInstrumentationConfigurationResponse#location #location} => Types::Location
832
+ # * {Types::CreateInstrumentationConfigurationResponse#location_hash #location_hash} => String
833
+ # * {Types::CreateInstrumentationConfigurationResponse#description #description} => String
834
+ # * {Types::CreateInstrumentationConfigurationResponse#expires_at #expires_at} => Time
835
+ # * {Types::CreateInstrumentationConfigurationResponse#attribute_filters #attribute_filters} => Array&lt;Hash&lt;String,String&gt;&gt;
836
+ # * {Types::CreateInstrumentationConfigurationResponse#capture_configuration #capture_configuration} => Types::CaptureConfiguration
837
+ # * {Types::CreateInstrumentationConfigurationResponse#created_at #created_at} => Time
838
+ # * {Types::CreateInstrumentationConfigurationResponse#arn #arn} => String
839
+ #
840
+ # @example Request syntax with placeholder values
841
+ #
842
+ # resp = client.create_instrumentation_configuration({
843
+ # instrumentation_type: "BREAKPOINT", # required, accepts BREAKPOINT, PROBE
844
+ # service: "CreateInstrumentationConfigurationRequestServiceString", # required
845
+ # environment: "CreateInstrumentationConfigurationRequestEnvironmentString", # required
846
+ # signal_type: "SNAPSHOT", # required, accepts SNAPSHOT
847
+ # location: { # required
848
+ # code_location: {
849
+ # language: "Java", # required, accepts Java, Python, Javascript
850
+ # code_unit: "CodeLocationCodeUnitString",
851
+ # class_name: "CodeLocationClassNameString",
852
+ # method_name: "CodeLocationMethodNameString",
853
+ # file_path: "CodeLocationFilePathString", # required
854
+ # line_number: 1,
855
+ # },
856
+ # },
857
+ # description: "CreateInstrumentationConfigurationRequestDescriptionString",
858
+ # expires_at: Time.now,
859
+ # attribute_filters: [
860
+ # {
861
+ # "DynamicInstrumentationAttributeFilterGroupKeyString" => "DynamicInstrumentationAttributeFilterGroupValueString",
862
+ # },
863
+ # ],
864
+ # capture_configuration: { # required
865
+ # code_capture: {
866
+ # capture_arguments: ["CodeCaptureConfigurationCaptureArgumentsListMemberString"],
867
+ # capture_return: false,
868
+ # capture_stack_trace: false,
869
+ # capture_locals: ["CodeCaptureConfigurationCaptureLocalsListMemberString"],
870
+ # capture_limits: { # required
871
+ # max_hits: 1,
872
+ # max_string_length: 1,
873
+ # max_collection_width: 1,
874
+ # max_collection_depth: 1,
875
+ # max_stack_frames: 1,
876
+ # max_stack_trace_size: 1,
877
+ # max_object_depth: 1,
878
+ # max_fields_per_object: 1,
879
+ # },
880
+ # },
881
+ # },
882
+ # tags: [
883
+ # {
884
+ # key: "TagKey", # required
885
+ # value: "TagValue", # required
886
+ # },
887
+ # ],
888
+ # })
889
+ #
890
+ # @example Response structure
891
+ #
892
+ # resp.instrumentation_type #=> String, one of "BREAKPOINT", "PROBE"
893
+ # resp.service #=> String
894
+ # resp.environment #=> String
895
+ # resp.signal_type #=> String, one of "SNAPSHOT"
896
+ # resp.location.code_location.language #=> String, one of "Java", "Python", "Javascript"
897
+ # resp.location.code_location.code_unit #=> String
898
+ # resp.location.code_location.class_name #=> String
899
+ # resp.location.code_location.method_name #=> String
900
+ # resp.location.code_location.file_path #=> String
901
+ # resp.location.code_location.line_number #=> Integer
902
+ # resp.location_hash #=> String
903
+ # resp.description #=> String
904
+ # resp.expires_at #=> Time
905
+ # resp.attribute_filters #=> Array
906
+ # resp.attribute_filters[0] #=> Hash
907
+ # resp.attribute_filters[0]["DynamicInstrumentationAttributeFilterGroupKeyString"] #=> String
908
+ # resp.capture_configuration.code_capture.capture_arguments #=> Array
909
+ # resp.capture_configuration.code_capture.capture_arguments[0] #=> String
910
+ # resp.capture_configuration.code_capture.capture_return #=> Boolean
911
+ # resp.capture_configuration.code_capture.capture_stack_trace #=> Boolean
912
+ # resp.capture_configuration.code_capture.capture_locals #=> Array
913
+ # resp.capture_configuration.code_capture.capture_locals[0] #=> String
914
+ # resp.capture_configuration.code_capture.capture_limits.max_hits #=> Integer
915
+ # resp.capture_configuration.code_capture.capture_limits.max_string_length #=> Integer
916
+ # resp.capture_configuration.code_capture.capture_limits.max_collection_width #=> Integer
917
+ # resp.capture_configuration.code_capture.capture_limits.max_collection_depth #=> Integer
918
+ # resp.capture_configuration.code_capture.capture_limits.max_stack_frames #=> Integer
919
+ # resp.capture_configuration.code_capture.capture_limits.max_stack_trace_size #=> Integer
920
+ # resp.capture_configuration.code_capture.capture_limits.max_object_depth #=> Integer
921
+ # resp.capture_configuration.code_capture.capture_limits.max_fields_per_object #=> Integer
922
+ # resp.created_at #=> Time
923
+ # resp.arn #=> String
924
+ #
925
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/CreateInstrumentationConfiguration AWS API Documentation
926
+ #
927
+ # @overload create_instrumentation_configuration(params = {})
928
+ # @param [Hash] params ({})
929
+ def create_instrumentation_configuration(params = {}, options = {})
930
+ req = build_request(:create_instrumentation_configuration, params)
931
+ req.send_request(options)
932
+ end
933
+
715
934
  # Creates a service level objective (SLO), which can help you ensure
716
935
  # that your critical business operations are meeting customer
717
936
  # expectations. Use SLOs to set and track specific target levels for the
@@ -1211,6 +1430,64 @@ module Aws::ApplicationSignals
1211
1430
  req.send_request(options)
1212
1431
  end
1213
1432
 
1433
+ # Deletes the specified instrumentation configuration. SDKs remove the
1434
+ # instrumentation during their next sync after the configuration is
1435
+ # deleted or expires.
1436
+ #
1437
+ # @option params [required, String] :instrumentation_type
1438
+ # Type of instrumentation configuration (BREAKPOINT or PROBE). Required
1439
+ # to identify the configuration to delete.
1440
+ #
1441
+ # @option params [required, String] :service
1442
+ # Service name for the instrumentation configuration.
1443
+ #
1444
+ # @option params [required, String] :environment
1445
+ # Environment name for the instrumentation configuration.
1446
+ #
1447
+ # @option params [required, String] :signal_type
1448
+ # Signal type for the instrumentation configuration.
1449
+ #
1450
+ # @option params [required, Types::LocationIdentifier] :location_identifier
1451
+ # Location identifier - either full code location or a pre-computed
1452
+ # hash.
1453
+ #
1454
+ # @return [Types::DeleteInstrumentationConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1455
+ #
1456
+ # * {Types::DeleteInstrumentationConfigurationResponse#deletion_status #deletion_status} => String
1457
+ #
1458
+ # @example Request syntax with placeholder values
1459
+ #
1460
+ # resp = client.delete_instrumentation_configuration({
1461
+ # instrumentation_type: "BREAKPOINT", # required, accepts BREAKPOINT, PROBE
1462
+ # service: "DeleteInstrumentationConfigurationRequestServiceString", # required
1463
+ # environment: "DeleteInstrumentationConfigurationRequestEnvironmentString", # required
1464
+ # signal_type: "SNAPSHOT", # required, accepts SNAPSHOT
1465
+ # location_identifier: { # required
1466
+ # code_location: {
1467
+ # language: "Java", # required, accepts Java, Python, Javascript
1468
+ # code_unit: "CodeLocationCodeUnitString",
1469
+ # class_name: "CodeLocationClassNameString",
1470
+ # method_name: "CodeLocationMethodNameString",
1471
+ # file_path: "CodeLocationFilePathString", # required
1472
+ # line_number: 1,
1473
+ # },
1474
+ # location_hash: "LocationIdentifierLocationHashString",
1475
+ # },
1476
+ # })
1477
+ #
1478
+ # @example Response structure
1479
+ #
1480
+ # resp.deletion_status #=> String, one of "DELETED"
1481
+ #
1482
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/DeleteInstrumentationConfiguration AWS API Documentation
1483
+ #
1484
+ # @overload delete_instrumentation_configuration(params = {})
1485
+ # @param [Hash] params ({})
1486
+ def delete_instrumentation_configuration(params = {}, options = {})
1487
+ req = build_request(:delete_instrumentation_configuration, params)
1488
+ req.send_request(options)
1489
+ end
1490
+
1214
1491
  # Deletes the specified service level objective.
1215
1492
  #
1216
1493
  # @option params [required, String] :id
@@ -1233,6 +1510,204 @@ module Aws::ApplicationSignals
1233
1510
  req.send_request(options)
1234
1511
  end
1235
1512
 
1513
+ # Returns the details of a single instrumentation configuration
1514
+ # identified by service, environment, signal type, and location. Use
1515
+ # this to audit or display configuration details.
1516
+ #
1517
+ # @option params [required, String] :instrumentation_type
1518
+ # Type of instrumentation configuration (BREAKPOINT or PROBE). Required
1519
+ # to identify the configuration to retrieve.
1520
+ #
1521
+ # @option params [required, String] :service
1522
+ # Service name for the instrumentation configuration.
1523
+ #
1524
+ # @option params [required, String] :environment
1525
+ # Environment name for the instrumentation configuration.
1526
+ #
1527
+ # @option params [required, String] :signal_type
1528
+ # Signal type for the instrumentation configuration.
1529
+ #
1530
+ # @option params [required, Types::LocationIdentifier] :location_identifier
1531
+ # Location identifier - either full code location or a pre-computed
1532
+ # hash.
1533
+ #
1534
+ # @return [Types::GetInstrumentationConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1535
+ #
1536
+ # * {Types::GetInstrumentationConfigurationResponse#configuration #configuration} => Types::InstrumentationConfiguration
1537
+ #
1538
+ # @example Request syntax with placeholder values
1539
+ #
1540
+ # resp = client.get_instrumentation_configuration({
1541
+ # instrumentation_type: "BREAKPOINT", # required, accepts BREAKPOINT, PROBE
1542
+ # service: "GetInstrumentationConfigurationRequestServiceString", # required
1543
+ # environment: "GetInstrumentationConfigurationRequestEnvironmentString", # required
1544
+ # signal_type: "SNAPSHOT", # required, accepts SNAPSHOT
1545
+ # location_identifier: { # required
1546
+ # code_location: {
1547
+ # language: "Java", # required, accepts Java, Python, Javascript
1548
+ # code_unit: "CodeLocationCodeUnitString",
1549
+ # class_name: "CodeLocationClassNameString",
1550
+ # method_name: "CodeLocationMethodNameString",
1551
+ # file_path: "CodeLocationFilePathString", # required
1552
+ # line_number: 1,
1553
+ # },
1554
+ # location_hash: "LocationIdentifierLocationHashString",
1555
+ # },
1556
+ # })
1557
+ #
1558
+ # @example Response structure
1559
+ #
1560
+ # resp.configuration.instrumentation_type #=> String, one of "BREAKPOINT", "PROBE"
1561
+ # resp.configuration.service #=> String
1562
+ # resp.configuration.environment #=> String
1563
+ # resp.configuration.signal_type #=> String, one of "SNAPSHOT"
1564
+ # resp.configuration.location.code_location.language #=> String, one of "Java", "Python", "Javascript"
1565
+ # resp.configuration.location.code_location.code_unit #=> String
1566
+ # resp.configuration.location.code_location.class_name #=> String
1567
+ # resp.configuration.location.code_location.method_name #=> String
1568
+ # resp.configuration.location.code_location.file_path #=> String
1569
+ # resp.configuration.location.code_location.line_number #=> Integer
1570
+ # resp.configuration.location_hash #=> String
1571
+ # resp.configuration.description #=> String
1572
+ # resp.configuration.expires_at #=> Time
1573
+ # resp.configuration.attribute_filters #=> Array
1574
+ # resp.configuration.attribute_filters[0] #=> Hash
1575
+ # resp.configuration.attribute_filters[0]["DynamicInstrumentationAttributeFilterGroupKeyString"] #=> String
1576
+ # resp.configuration.capture_configuration.code_capture.capture_arguments #=> Array
1577
+ # resp.configuration.capture_configuration.code_capture.capture_arguments[0] #=> String
1578
+ # resp.configuration.capture_configuration.code_capture.capture_return #=> Boolean
1579
+ # resp.configuration.capture_configuration.code_capture.capture_stack_trace #=> Boolean
1580
+ # resp.configuration.capture_configuration.code_capture.capture_locals #=> Array
1581
+ # resp.configuration.capture_configuration.code_capture.capture_locals[0] #=> String
1582
+ # resp.configuration.capture_configuration.code_capture.capture_limits.max_hits #=> Integer
1583
+ # resp.configuration.capture_configuration.code_capture.capture_limits.max_string_length #=> Integer
1584
+ # resp.configuration.capture_configuration.code_capture.capture_limits.max_collection_width #=> Integer
1585
+ # resp.configuration.capture_configuration.code_capture.capture_limits.max_collection_depth #=> Integer
1586
+ # resp.configuration.capture_configuration.code_capture.capture_limits.max_stack_frames #=> Integer
1587
+ # resp.configuration.capture_configuration.code_capture.capture_limits.max_stack_trace_size #=> Integer
1588
+ # resp.configuration.capture_configuration.code_capture.capture_limits.max_object_depth #=> Integer
1589
+ # resp.configuration.capture_configuration.code_capture.capture_limits.max_fields_per_object #=> Integer
1590
+ # resp.configuration.created_at #=> Time
1591
+ # resp.configuration.arn #=> String
1592
+ #
1593
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/GetInstrumentationConfiguration AWS API Documentation
1594
+ #
1595
+ # @overload get_instrumentation_configuration(params = {})
1596
+ # @param [Hash] params ({})
1597
+ def get_instrumentation_configuration(params = {}, options = {})
1598
+ req = build_request(:get_instrumentation_configuration, params)
1599
+ req.send_request(options)
1600
+ end
1601
+
1602
+ # Retrieves the status history for a single instrumentation
1603
+ # configuration during a specified time range. The response lists when
1604
+ # the configuration was ACTIVE, READY, ERROR, or DISABLED.
1605
+ #
1606
+ # If no status or time window is provided, the operation defaults to
1607
+ # ACTIVE events from the last hour.
1608
+ #
1609
+ # @option params [required, String] :instrumentation_type
1610
+ # Type of instrumentation configuration (BREAKPOINT or PROBE). Required
1611
+ # to identify the configuration to retrieve.
1612
+ #
1613
+ # @option params [required, String] :service
1614
+ # Service name for the instrumentation configuration.
1615
+ #
1616
+ # @option params [required, String] :environment
1617
+ # Environment name for the instrumentation configuration.
1618
+ #
1619
+ # @option params [required, String] :signal_type
1620
+ # Signal type for the instrumentation configuration.
1621
+ #
1622
+ # @option params [required, Types::LocationIdentifier] :location_identifier
1623
+ # Location identifier - either full code location or a pre-computed
1624
+ # hash.
1625
+ #
1626
+ # @option params [String] :status
1627
+ # The single status to query for. If omitted, only `ACTIVE` status
1628
+ # events are returned.
1629
+ #
1630
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
1631
+ # The start of the time range to retrieve status events for. `StartTime`
1632
+ # and `EndTime` must both be provided together or both be omitted. When
1633
+ # both are omitted, the time range defaults to the last hour.
1634
+ #
1635
+ # @option params [Time,DateTime,Date,Integer,String] :end_time
1636
+ # The end of the time range to retrieve status events for. `StartTime`
1637
+ # and `EndTime` must both be provided together or both be omitted. When
1638
+ # both are omitted, the time range defaults to the last hour.
1639
+ #
1640
+ # @option params [Integer] :max_results
1641
+ # The maximum number of status events to return in one call. The default
1642
+ # is 60.
1643
+ #
1644
+ # @option params [String] :next_token
1645
+ # Use the token returned by a previous call to retrieve the next page of
1646
+ # status events.
1647
+ #
1648
+ # @return [Types::GetInstrumentationConfigurationStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1649
+ #
1650
+ # * {Types::GetInstrumentationConfigurationStatusResponse#service #service} => String
1651
+ # * {Types::GetInstrumentationConfigurationStatusResponse#environment #environment} => String
1652
+ # * {Types::GetInstrumentationConfigurationStatusResponse#signal_type #signal_type} => String
1653
+ # * {Types::GetInstrumentationConfigurationStatusResponse#location #location} => Types::Location
1654
+ # * {Types::GetInstrumentationConfigurationStatusResponse#status #status} => String
1655
+ # * {Types::GetInstrumentationConfigurationStatusResponse#events #events} => Array&lt;Types::InstrumentationStatusEvent&gt;
1656
+ # * {Types::GetInstrumentationConfigurationStatusResponse#next_token #next_token} => String
1657
+ #
1658
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1659
+ #
1660
+ # @example Request syntax with placeholder values
1661
+ #
1662
+ # resp = client.get_instrumentation_configuration_status({
1663
+ # instrumentation_type: "BREAKPOINT", # required, accepts BREAKPOINT, PROBE
1664
+ # service: "GetInstrumentationConfigurationStatusRequestServiceString", # required
1665
+ # environment: "GetInstrumentationConfigurationStatusRequestEnvironmentString", # required
1666
+ # signal_type: "SNAPSHOT", # required, accepts SNAPSHOT
1667
+ # location_identifier: { # required
1668
+ # code_location: {
1669
+ # language: "Java", # required, accepts Java, Python, Javascript
1670
+ # code_unit: "CodeLocationCodeUnitString",
1671
+ # class_name: "CodeLocationClassNameString",
1672
+ # method_name: "CodeLocationMethodNameString",
1673
+ # file_path: "CodeLocationFilePathString", # required
1674
+ # line_number: 1,
1675
+ # },
1676
+ # location_hash: "LocationIdentifierLocationHashString",
1677
+ # },
1678
+ # status: "READY", # accepts READY, ERROR, ACTIVE, DISABLED
1679
+ # start_time: Time.now,
1680
+ # end_time: Time.now,
1681
+ # max_results: 1,
1682
+ # next_token: "NextToken",
1683
+ # })
1684
+ #
1685
+ # @example Response structure
1686
+ #
1687
+ # resp.service #=> String
1688
+ # resp.environment #=> String
1689
+ # resp.signal_type #=> String, one of "SNAPSHOT"
1690
+ # resp.location.code_location.language #=> String, one of "Java", "Python", "Javascript"
1691
+ # resp.location.code_location.code_unit #=> String
1692
+ # resp.location.code_location.class_name #=> String
1693
+ # resp.location.code_location.method_name #=> String
1694
+ # resp.location.code_location.file_path #=> String
1695
+ # resp.location.code_location.line_number #=> Integer
1696
+ # resp.status #=> String, one of "READY", "ERROR", "ACTIVE", "DISABLED"
1697
+ # resp.events #=> Array
1698
+ # resp.events[0].time #=> Time
1699
+ # resp.events[0].error_cause #=> String, one of "FILE_NOT_FOUND", "METHOD_NOT_FOUND", "LINE_NOT_EXECUTABLE", "OVERLOADED_METHODS", "LANGUAGE_MISMATCH", "RUNTIME_ERROR"
1700
+ # resp.next_token #=> String
1701
+ #
1702
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/GetInstrumentationConfigurationStatus AWS API Documentation
1703
+ #
1704
+ # @overload get_instrumentation_configuration_status(params = {})
1705
+ # @param [Hash] params ({})
1706
+ def get_instrumentation_configuration_status(params = {}, options = {})
1707
+ req = build_request(:get_instrumentation_configuration_status, params)
1708
+ req.send_request(options)
1709
+ end
1710
+
1236
1711
  # Returns information about a service discovered by Application Signals.
1237
1712
  #
1238
1713
  # @option params [required, Time,DateTime,Date,Integer,String] :start_time
@@ -1818,6 +2293,110 @@ module Aws::ApplicationSignals
1818
2293
  req.send_request(options)
1819
2294
  end
1820
2295
 
2296
+ # Returns all active instrumentation configurations for a service and
2297
+ # environment. SDKs use this operation to sync configurations and apply
2298
+ # client-side filters locally.
2299
+ #
2300
+ # Include the previous `SyncedAt` value to perform incremental syncs.
2301
+ # When no changes are detected, the response sets `Changed` to `false`
2302
+ # and omits configuration details.
2303
+ #
2304
+ # @option params [required, String] :service
2305
+ # The name of the service to retrieve instrumentation configurations
2306
+ # for.
2307
+ #
2308
+ # @option params [required, String] :environment
2309
+ # The environment that the service is running in.
2310
+ #
2311
+ # @option params [required, String] :instrumentation_type
2312
+ # Type of instrumentation configuration (BREAKPOINT or PROBE). Required
2313
+ # to determine which backing store to query.
2314
+ #
2315
+ # @option params [Time,DateTime,Date,Integer,String] :synced_at
2316
+ # The timestamp from the last successful sync. When provided, the
2317
+ # response returns `Changed` as `false` if nothing is new since this
2318
+ # time, or returns the latest configurations when changes exist.
2319
+ #
2320
+ # @option params [Integer] :max_results
2321
+ # The maximum number of configurations to return in one call. The
2322
+ # default is 50 and the maximum is 100.
2323
+ #
2324
+ # @option params [String] :next_token
2325
+ # Use the token returned by a previous call to retrieve the next page of
2326
+ # configurations.
2327
+ #
2328
+ # @return [Types::InstrumentationConfigurationsPage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2329
+ #
2330
+ # * {Types::InstrumentationConfigurationsPage#service #service} => String
2331
+ # * {Types::InstrumentationConfigurationsPage#environment #environment} => String
2332
+ # * {Types::InstrumentationConfigurationsPage#changed #changed} => Boolean
2333
+ # * {Types::InstrumentationConfigurationsPage#latest_configurations #latest_configurations} => Array&lt;Types::InstrumentationConfigurationWithoutServiceEnv&gt;
2334
+ # * {Types::InstrumentationConfigurationsPage#synced_at #synced_at} => Time
2335
+ # * {Types::InstrumentationConfigurationsPage#sync_interval #sync_interval} => Integer
2336
+ # * {Types::InstrumentationConfigurationsPage#next_token #next_token} => String
2337
+ #
2338
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2339
+ #
2340
+ # @example Request syntax with placeholder values
2341
+ #
2342
+ # resp = client.list_instrumentation_configurations({
2343
+ # service: "ListInstrumentationConfigurationsRequestServiceString", # required
2344
+ # environment: "ListInstrumentationConfigurationsRequestEnvironmentString", # required
2345
+ # instrumentation_type: "BREAKPOINT", # required, accepts BREAKPOINT, PROBE
2346
+ # synced_at: Time.now,
2347
+ # max_results: 1,
2348
+ # next_token: "NextToken",
2349
+ # })
2350
+ #
2351
+ # @example Response structure
2352
+ #
2353
+ # resp.service #=> String
2354
+ # resp.environment #=> String
2355
+ # resp.changed #=> Boolean
2356
+ # resp.latest_configurations #=> Array
2357
+ # resp.latest_configurations[0].instrumentation_type #=> String, one of "BREAKPOINT", "PROBE"
2358
+ # resp.latest_configurations[0].signal_type #=> String, one of "SNAPSHOT"
2359
+ # resp.latest_configurations[0].location.code_location.language #=> String, one of "Java", "Python", "Javascript"
2360
+ # resp.latest_configurations[0].location.code_location.code_unit #=> String
2361
+ # resp.latest_configurations[0].location.code_location.class_name #=> String
2362
+ # resp.latest_configurations[0].location.code_location.method_name #=> String
2363
+ # resp.latest_configurations[0].location.code_location.file_path #=> String
2364
+ # resp.latest_configurations[0].location.code_location.line_number #=> Integer
2365
+ # resp.latest_configurations[0].location_hash #=> String
2366
+ # resp.latest_configurations[0].description #=> String
2367
+ # resp.latest_configurations[0].expires_at #=> Time
2368
+ # resp.latest_configurations[0].attribute_filters #=> Array
2369
+ # resp.latest_configurations[0].attribute_filters[0] #=> Hash
2370
+ # resp.latest_configurations[0].attribute_filters[0]["DynamicInstrumentationAttributeFilterGroupKeyString"] #=> String
2371
+ # resp.latest_configurations[0].capture_configuration.code_capture.capture_arguments #=> Array
2372
+ # resp.latest_configurations[0].capture_configuration.code_capture.capture_arguments[0] #=> String
2373
+ # resp.latest_configurations[0].capture_configuration.code_capture.capture_return #=> Boolean
2374
+ # resp.latest_configurations[0].capture_configuration.code_capture.capture_stack_trace #=> Boolean
2375
+ # resp.latest_configurations[0].capture_configuration.code_capture.capture_locals #=> Array
2376
+ # resp.latest_configurations[0].capture_configuration.code_capture.capture_locals[0] #=> String
2377
+ # resp.latest_configurations[0].capture_configuration.code_capture.capture_limits.max_hits #=> Integer
2378
+ # resp.latest_configurations[0].capture_configuration.code_capture.capture_limits.max_string_length #=> Integer
2379
+ # resp.latest_configurations[0].capture_configuration.code_capture.capture_limits.max_collection_width #=> Integer
2380
+ # resp.latest_configurations[0].capture_configuration.code_capture.capture_limits.max_collection_depth #=> Integer
2381
+ # resp.latest_configurations[0].capture_configuration.code_capture.capture_limits.max_stack_frames #=> Integer
2382
+ # resp.latest_configurations[0].capture_configuration.code_capture.capture_limits.max_stack_trace_size #=> Integer
2383
+ # resp.latest_configurations[0].capture_configuration.code_capture.capture_limits.max_object_depth #=> Integer
2384
+ # resp.latest_configurations[0].capture_configuration.code_capture.capture_limits.max_fields_per_object #=> Integer
2385
+ # resp.latest_configurations[0].created_at #=> Time
2386
+ # resp.latest_configurations[0].arn #=> String
2387
+ # resp.synced_at #=> Time
2388
+ # resp.sync_interval #=> Integer
2389
+ # resp.next_token #=> String
2390
+ #
2391
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ListInstrumentationConfigurations AWS API Documentation
2392
+ #
2393
+ # @overload list_instrumentation_configurations(params = {})
2394
+ # @param [Hash] params ({})
2395
+ def list_instrumentation_configurations(params = {}, options = {})
2396
+ req = build_request(:list_instrumentation_configurations, params)
2397
+ req.send_request(options)
2398
+ end
2399
+
1821
2400
  # Returns a list of service dependencies of the service that you
1822
2401
  # specify. A dependency is an infrastructure component that an operation
1823
2402
  # of this service connects with. Dependencies can include Amazon Web
@@ -2572,6 +3151,69 @@ module Aws::ApplicationSignals
2572
3151
  req.send_request(options)
2573
3152
  end
2574
3153
 
3154
+ # Reports the status of one or more instrumentation configurations from
3155
+ # SDK instances. Use this to record when configurations become ready,
3156
+ # hit errors, become active, or are disabled by limits.
3157
+ #
3158
+ # Report `READY`, `ERROR`, and `DISABLED` when the status changes.
3159
+ # Report `ACTIVE` periodically (for example, every minute) while
3160
+ # instrumentation is running.
3161
+ #
3162
+ # @option params [required, String] :service
3163
+ # The service that the reported configurations belong to.
3164
+ #
3165
+ # @option params [required, String] :environment
3166
+ # The environment that the service is running in.
3167
+ #
3168
+ # @option params [required, Array<Types::InstrumentationConfigurationStatusReport>] :configurations
3169
+ # An array of configuration status reports (up to 100) that include the
3170
+ # instrumentation type, signal type, location hash, status, timestamp,
3171
+ # and optional error cause.
3172
+ #
3173
+ # @return [Types::ReportInstrumentationConfigurationStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3174
+ #
3175
+ # * {Types::ReportInstrumentationConfigurationStatusResponse#service #service} => String
3176
+ # * {Types::ReportInstrumentationConfigurationStatusResponse#environment #environment} => String
3177
+ # * {Types::ReportInstrumentationConfigurationStatusResponse#unprocessed_status_events #unprocessed_status_events} => Array&lt;Types::UnprocessedStatusEvent&gt;
3178
+ #
3179
+ # @example Request syntax with placeholder values
3180
+ #
3181
+ # resp = client.report_instrumentation_configuration_status({
3182
+ # service: "ReportInstrumentationConfigurationStatusRequestServiceString", # required
3183
+ # environment: "ReportInstrumentationConfigurationStatusRequestEnvironmentString", # required
3184
+ # configurations: [ # required
3185
+ # {
3186
+ # instrumentation_type: "BREAKPOINT", # required, accepts BREAKPOINT, PROBE
3187
+ # signal_type: "SNAPSHOT", # required, accepts SNAPSHOT
3188
+ # location_hash: "InstrumentationConfigurationStatusReportLocationHashString", # required
3189
+ # status: "READY", # required, accepts READY, ERROR, ACTIVE, DISABLED
3190
+ # time: Time.now, # required
3191
+ # error_cause: "FILE_NOT_FOUND", # accepts FILE_NOT_FOUND, METHOD_NOT_FOUND, LINE_NOT_EXECUTABLE, OVERLOADED_METHODS, LANGUAGE_MISMATCH, RUNTIME_ERROR
3192
+ # },
3193
+ # ],
3194
+ # })
3195
+ #
3196
+ # @example Response structure
3197
+ #
3198
+ # resp.service #=> String
3199
+ # resp.environment #=> String
3200
+ # resp.unprocessed_status_events #=> Array
3201
+ # resp.unprocessed_status_events[0].instrumentation_type #=> String, one of "BREAKPOINT", "PROBE"
3202
+ # resp.unprocessed_status_events[0].signal_type #=> String, one of "SNAPSHOT"
3203
+ # resp.unprocessed_status_events[0].location_hash #=> String
3204
+ # resp.unprocessed_status_events[0].status #=> String, one of "READY", "ERROR", "ACTIVE", "DISABLED"
3205
+ # resp.unprocessed_status_events[0].time #=> Time
3206
+ # resp.unprocessed_status_events[0].failed_reason #=> String, one of "THROTTLED", "INTERNAL_ERROR", "VALIDATION_ERROR"
3207
+ #
3208
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ReportInstrumentationConfigurationStatus AWS API Documentation
3209
+ #
3210
+ # @overload report_instrumentation_configuration_status(params = {})
3211
+ # @param [Hash] params ({})
3212
+ def report_instrumentation_configuration_status(params = {}, options = {})
3213
+ req = build_request(:report_instrumentation_configuration_status, params)
3214
+ req.send_request(options)
3215
+ end
3216
+
2575
3217
  # Enables this Amazon Web Services account to be able to use CloudWatch
2576
3218
  # Application Signals by creating the
2577
3219
  # *AWSServiceRoleForCloudWatchApplicationSignals* service-linked role.
@@ -3098,7 +3740,7 @@ module Aws::ApplicationSignals
3098
3740
  tracer: tracer
3099
3741
  )
3100
3742
  context[:gem_name] = 'aws-sdk-applicationsignals'
3101
- context[:gem_version] = '1.44.0'
3743
+ context[:gem_version] = '1.45.0'
3102
3744
  Seahorse::Client::Request.new(handlers, context)
3103
3745
  end
3104
3746