aws-sdk-cloudwatchlogs 1.71.0 → 1.73.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -548,6 +548,101 @@ module Aws::CloudWatchLogs
548
548
  req.send_request(options)
549
549
  end
550
550
 
551
+ # Creates a *delivery*. A delivery is a connection between a logical
552
+ # *delivery source* and a logical *delivery destination* that you have
553
+ # already created.
554
+ #
555
+ # Only some Amazon Web Services services support being configured as a
556
+ # delivery source using this operation. These services are listed as
557
+ # **Supported \[V2 Permissions\]** in the table at [Enabling logging
558
+ # from Amazon Web Services services.][1]
559
+ #
560
+ # A delivery destination can represent a log group in CloudWatch Logs,
561
+ # an Amazon S3 bucket, or a delivery stream in Kinesis Data Firehose.
562
+ #
563
+ # To configure logs delivery between a supported Amazon Web Services
564
+ # service and a destination, you must do the following:
565
+ #
566
+ # * Create a delivery source, which is a logical object that represents
567
+ # the resource that is actually sending the logs. For more
568
+ # information, see [PutDeliverySource][2].
569
+ #
570
+ # * Create a *delivery destination*, which is a logical object that
571
+ # represents the actual delivery destination. For more information,
572
+ # see [PutDeliveryDestination][3].
573
+ #
574
+ # * If you are delivering logs cross-account, you must use
575
+ # [PutDeliveryDestinationPolicy][4] in the destination account to
576
+ # assign an IAM policy to the destination. This policy allows delivery
577
+ # to that destination.
578
+ #
579
+ # * Use `CreateDelivery` to create a *delivery* by pairing exactly one
580
+ # delivery source and one delivery destination.
581
+ #
582
+ # You can configure a single delivery source to send logs to multiple
583
+ # destinations by creating multiple deliveries. You can also create
584
+ # multiple deliveries to configure multiple delivery sources to send
585
+ # logs to the same delivery destination.
586
+ #
587
+ # You can't update an existing delivery. You can only create and delete
588
+ # deliveries.
589
+ #
590
+ #
591
+ #
592
+ # [1]: https://docs.aws.amazon.com/ AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-vended-logs-permissions
593
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html
594
+ # [3]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html
595
+ # [4]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationolicy.html
596
+ #
597
+ # @option params [required, String] :delivery_source_name
598
+ # The name of the delivery source to use for this delivery.
599
+ #
600
+ # @option params [required, String] :delivery_destination_arn
601
+ # The ARN of the delivery destination to use for this delivery.
602
+ #
603
+ # @option params [Hash<String,String>] :tags
604
+ # An optional list of key-value pairs to associate with the resource.
605
+ #
606
+ # For more information about tagging, see [Tagging Amazon Web Services
607
+ # resources][1]
608
+ #
609
+ #
610
+ #
611
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
612
+ #
613
+ # @return [Types::CreateDeliveryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
614
+ #
615
+ # * {Types::CreateDeliveryResponse#delivery #delivery} => Types::Delivery
616
+ #
617
+ # @example Request syntax with placeholder values
618
+ #
619
+ # resp = client.create_delivery({
620
+ # delivery_source_name: "DeliverySourceName", # required
621
+ # delivery_destination_arn: "Arn", # required
622
+ # tags: {
623
+ # "TagKey" => "TagValue",
624
+ # },
625
+ # })
626
+ #
627
+ # @example Response structure
628
+ #
629
+ # resp.delivery.id #=> String
630
+ # resp.delivery.arn #=> String
631
+ # resp.delivery.delivery_source_name #=> String
632
+ # resp.delivery.delivery_destination_arn #=> String
633
+ # resp.delivery.delivery_destination_type #=> String, one of "S3", "CWL", "FH"
634
+ # resp.delivery.tags #=> Hash
635
+ # resp.delivery.tags["TagKey"] #=> String
636
+ #
637
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/CreateDelivery AWS API Documentation
638
+ #
639
+ # @overload create_delivery(params = {})
640
+ # @param [Hash] params ({})
641
+ def create_delivery(params = {}, options = {})
642
+ req = build_request(:create_delivery, params)
643
+ req.send_request(options)
644
+ end
645
+
551
646
  # Creates an export task so that you can efficiently export data from a
552
647
  # log group to an Amazon S3 bucket. When you perform a
553
648
  # `CreateExportTask` operation, you must use credentials that have
@@ -829,6 +924,135 @@ module Aws::CloudWatchLogs
829
924
  req.send_request(options)
830
925
  end
831
926
 
927
+ # Deletes s *delivery*. A delivery is a connection between a logical
928
+ # *delivery source* and a logical *delivery destination*. Deleting a
929
+ # delivery only deletes the connection between the delivery source and
930
+ # delivery destination. It does not delete the delivery destination or
931
+ # the delivery source.
932
+ #
933
+ # @option params [required, String] :id
934
+ # The unique ID of the delivery to delete. You can find the ID of a
935
+ # delivery with the [DescribeDeliveries][1] operation.
936
+ #
937
+ #
938
+ #
939
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeDeliveries.html
940
+ #
941
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
942
+ #
943
+ # @example Request syntax with placeholder values
944
+ #
945
+ # resp = client.delete_delivery({
946
+ # id: "DeliveryId", # required
947
+ # })
948
+ #
949
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteDelivery AWS API Documentation
950
+ #
951
+ # @overload delete_delivery(params = {})
952
+ # @param [Hash] params ({})
953
+ def delete_delivery(params = {}, options = {})
954
+ req = build_request(:delete_delivery, params)
955
+ req.send_request(options)
956
+ end
957
+
958
+ # Deletes a *delivery destination*. A delivery is a connection between a
959
+ # logical *delivery source* and a logical *delivery destination*.
960
+ #
961
+ # You can't delete a delivery destination if any current deliveries are
962
+ # associated with it. To find whether any deliveries are associated with
963
+ # this delivery destination, use the [DescribeDeliveries][1] operation
964
+ # and check the `deliveryDestinationArn` field in the results.
965
+ #
966
+ #
967
+ #
968
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeDeliveries.html
969
+ #
970
+ # @option params [required, String] :name
971
+ # The name of the delivery destination that you want to delete. You can
972
+ # find a list of delivery destionation names by using the
973
+ # [DescribeDeliveryDestinations][1] operation.
974
+ #
975
+ #
976
+ #
977
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeDeliveryDestinations.html
978
+ #
979
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
980
+ #
981
+ # @example Request syntax with placeholder values
982
+ #
983
+ # resp = client.delete_delivery_destination({
984
+ # name: "DeliveryDestinationName", # required
985
+ # })
986
+ #
987
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteDeliveryDestination AWS API Documentation
988
+ #
989
+ # @overload delete_delivery_destination(params = {})
990
+ # @param [Hash] params ({})
991
+ def delete_delivery_destination(params = {}, options = {})
992
+ req = build_request(:delete_delivery_destination, params)
993
+ req.send_request(options)
994
+ end
995
+
996
+ # Deletes a delivery destination policy. For more information about
997
+ # these policies, see [PutDeliveryDestinationPolicy][1].
998
+ #
999
+ #
1000
+ #
1001
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationPolicy.html
1002
+ #
1003
+ # @option params [required, String] :delivery_destination_name
1004
+ # The name of the delivery destination that you want to delete the
1005
+ # policy for.
1006
+ #
1007
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1008
+ #
1009
+ # @example Request syntax with placeholder values
1010
+ #
1011
+ # resp = client.delete_delivery_destination_policy({
1012
+ # delivery_destination_name: "DeliveryDestinationName", # required
1013
+ # })
1014
+ #
1015
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteDeliveryDestinationPolicy AWS API Documentation
1016
+ #
1017
+ # @overload delete_delivery_destination_policy(params = {})
1018
+ # @param [Hash] params ({})
1019
+ def delete_delivery_destination_policy(params = {}, options = {})
1020
+ req = build_request(:delete_delivery_destination_policy, params)
1021
+ req.send_request(options)
1022
+ end
1023
+
1024
+ # Deletes a *delivery source*. A delivery is a connection between a
1025
+ # logical *delivery source* and a logical *delivery destination*.
1026
+ #
1027
+ # You can't delete a delivery source if any current deliveries are
1028
+ # associated with it. To find whether any deliveries are associated with
1029
+ # this delivery source, use the [DescribeDeliveries][1] operation and
1030
+ # check the `deliverySourceName` field in the results.
1031
+ #
1032
+ #
1033
+ #
1034
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeDeliveries.html
1035
+ #
1036
+ # @option params [required, String] :name
1037
+ # The name of the delivery source that you want to delete.
1038
+ #
1039
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1040
+ #
1041
+ # @example Request syntax with placeholder values
1042
+ #
1043
+ # resp = client.delete_delivery_source({
1044
+ # name: "DeliverySourceName", # required
1045
+ # })
1046
+ #
1047
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteDeliverySource AWS API Documentation
1048
+ #
1049
+ # @overload delete_delivery_source(params = {})
1050
+ # @param [Hash] params ({})
1051
+ def delete_delivery_source(params = {}, options = {})
1052
+ req = build_request(:delete_delivery_source, params)
1053
+ req.send_request(options)
1054
+ end
1055
+
832
1056
  # Deletes the specified destination, and eventually disables all the
833
1057
  # subscription filters that publish to it. This operation does not
834
1058
  # delete the physical resource encapsulated by the destination.
@@ -1097,6 +1321,145 @@ module Aws::CloudWatchLogs
1097
1321
  req.send_request(options)
1098
1322
  end
1099
1323
 
1324
+ # Retrieves a list of the deliveries that have been created in the
1325
+ # account.
1326
+ #
1327
+ # @option params [String] :next_token
1328
+ # The token for the next set of items to return. The token expires after
1329
+ # 24 hours.
1330
+ #
1331
+ # @option params [Integer] :limit
1332
+ # Optionally specify the maximum number of deliveries to return in the
1333
+ # response.
1334
+ #
1335
+ # @return [Types::DescribeDeliveriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1336
+ #
1337
+ # * {Types::DescribeDeliveriesResponse#deliveries #deliveries} => Array&lt;Types::Delivery&gt;
1338
+ # * {Types::DescribeDeliveriesResponse#next_token #next_token} => String
1339
+ #
1340
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1341
+ #
1342
+ # @example Request syntax with placeholder values
1343
+ #
1344
+ # resp = client.describe_deliveries({
1345
+ # next_token: "NextToken",
1346
+ # limit: 1,
1347
+ # })
1348
+ #
1349
+ # @example Response structure
1350
+ #
1351
+ # resp.deliveries #=> Array
1352
+ # resp.deliveries[0].id #=> String
1353
+ # resp.deliveries[0].arn #=> String
1354
+ # resp.deliveries[0].delivery_source_name #=> String
1355
+ # resp.deliveries[0].delivery_destination_arn #=> String
1356
+ # resp.deliveries[0].delivery_destination_type #=> String, one of "S3", "CWL", "FH"
1357
+ # resp.deliveries[0].tags #=> Hash
1358
+ # resp.deliveries[0].tags["TagKey"] #=> String
1359
+ # resp.next_token #=> String
1360
+ #
1361
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeDeliveries AWS API Documentation
1362
+ #
1363
+ # @overload describe_deliveries(params = {})
1364
+ # @param [Hash] params ({})
1365
+ def describe_deliveries(params = {}, options = {})
1366
+ req = build_request(:describe_deliveries, params)
1367
+ req.send_request(options)
1368
+ end
1369
+
1370
+ # Retrieves a list of the delivery destinations that have been created
1371
+ # in the account.
1372
+ #
1373
+ # @option params [String] :next_token
1374
+ # The token for the next set of items to return. The token expires after
1375
+ # 24 hours.
1376
+ #
1377
+ # @option params [Integer] :limit
1378
+ # Optionally specify the maximum number of delivery destinations to
1379
+ # return in the response.
1380
+ #
1381
+ # @return [Types::DescribeDeliveryDestinationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1382
+ #
1383
+ # * {Types::DescribeDeliveryDestinationsResponse#delivery_destinations #delivery_destinations} => Array&lt;Types::DeliveryDestination&gt;
1384
+ # * {Types::DescribeDeliveryDestinationsResponse#next_token #next_token} => String
1385
+ #
1386
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1387
+ #
1388
+ # @example Request syntax with placeholder values
1389
+ #
1390
+ # resp = client.describe_delivery_destinations({
1391
+ # next_token: "NextToken",
1392
+ # limit: 1,
1393
+ # })
1394
+ #
1395
+ # @example Response structure
1396
+ #
1397
+ # resp.delivery_destinations #=> Array
1398
+ # resp.delivery_destinations[0].name #=> String
1399
+ # resp.delivery_destinations[0].arn #=> String
1400
+ # resp.delivery_destinations[0].delivery_destination_type #=> String, one of "S3", "CWL", "FH"
1401
+ # resp.delivery_destinations[0].output_format #=> String, one of "json", "plain", "w3c", "raw", "parquet"
1402
+ # resp.delivery_destinations[0].delivery_destination_configuration.destination_resource_arn #=> String
1403
+ # resp.delivery_destinations[0].tags #=> Hash
1404
+ # resp.delivery_destinations[0].tags["TagKey"] #=> String
1405
+ # resp.next_token #=> String
1406
+ #
1407
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeDeliveryDestinations AWS API Documentation
1408
+ #
1409
+ # @overload describe_delivery_destinations(params = {})
1410
+ # @param [Hash] params ({})
1411
+ def describe_delivery_destinations(params = {}, options = {})
1412
+ req = build_request(:describe_delivery_destinations, params)
1413
+ req.send_request(options)
1414
+ end
1415
+
1416
+ # Retrieves a list of the delivery sources that have been created in the
1417
+ # account.
1418
+ #
1419
+ # @option params [String] :next_token
1420
+ # The token for the next set of items to return. The token expires after
1421
+ # 24 hours.
1422
+ #
1423
+ # @option params [Integer] :limit
1424
+ # Optionally specify the maximum number of delivery sources to return in
1425
+ # the response.
1426
+ #
1427
+ # @return [Types::DescribeDeliverySourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1428
+ #
1429
+ # * {Types::DescribeDeliverySourcesResponse#delivery_sources #delivery_sources} => Array&lt;Types::DeliverySource&gt;
1430
+ # * {Types::DescribeDeliverySourcesResponse#next_token #next_token} => String
1431
+ #
1432
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1433
+ #
1434
+ # @example Request syntax with placeholder values
1435
+ #
1436
+ # resp = client.describe_delivery_sources({
1437
+ # next_token: "NextToken",
1438
+ # limit: 1,
1439
+ # })
1440
+ #
1441
+ # @example Response structure
1442
+ #
1443
+ # resp.delivery_sources #=> Array
1444
+ # resp.delivery_sources[0].name #=> String
1445
+ # resp.delivery_sources[0].arn #=> String
1446
+ # resp.delivery_sources[0].resource_arns #=> Array
1447
+ # resp.delivery_sources[0].resource_arns[0] #=> String
1448
+ # resp.delivery_sources[0].service #=> String
1449
+ # resp.delivery_sources[0].log_type #=> String
1450
+ # resp.delivery_sources[0].tags #=> Hash
1451
+ # resp.delivery_sources[0].tags["TagKey"] #=> String
1452
+ # resp.next_token #=> String
1453
+ #
1454
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeDeliverySources AWS API Documentation
1455
+ #
1456
+ # @overload describe_delivery_sources(params = {})
1457
+ # @param [Hash] params ({})
1458
+ def describe_delivery_sources(params = {}, options = {})
1459
+ req = build_request(:describe_delivery_sources, params)
1460
+ req.send_request(options)
1461
+ end
1462
+
1100
1463
  # Lists all your destinations. The results are ASCII-sorted by
1101
1464
  # destination name.
1102
1465
  #
@@ -1970,6 +2333,155 @@ module Aws::CloudWatchLogs
1970
2333
  req.send_request(options)
1971
2334
  end
1972
2335
 
2336
+ # Returns complete information about one *delivery*. A delivery is a
2337
+ # connection between a logical *delivery source* and a logical *delivery
2338
+ # destination*
2339
+ #
2340
+ # You need to specify the delivery `id` in this operation. You can find
2341
+ # the IDs of the deliveries in your account with the
2342
+ # [DescribeDeliveries][1] operation.
2343
+ #
2344
+ #
2345
+ #
2346
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeDeliveries.html
2347
+ #
2348
+ # @option params [required, String] :id
2349
+ # The ID of the delivery that you want to retrieve.
2350
+ #
2351
+ # @return [Types::GetDeliveryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2352
+ #
2353
+ # * {Types::GetDeliveryResponse#delivery #delivery} => Types::Delivery
2354
+ #
2355
+ # @example Request syntax with placeholder values
2356
+ #
2357
+ # resp = client.get_delivery({
2358
+ # id: "DeliveryId", # required
2359
+ # })
2360
+ #
2361
+ # @example Response structure
2362
+ #
2363
+ # resp.delivery.id #=> String
2364
+ # resp.delivery.arn #=> String
2365
+ # resp.delivery.delivery_source_name #=> String
2366
+ # resp.delivery.delivery_destination_arn #=> String
2367
+ # resp.delivery.delivery_destination_type #=> String, one of "S3", "CWL", "FH"
2368
+ # resp.delivery.tags #=> Hash
2369
+ # resp.delivery.tags["TagKey"] #=> String
2370
+ #
2371
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetDelivery AWS API Documentation
2372
+ #
2373
+ # @overload get_delivery(params = {})
2374
+ # @param [Hash] params ({})
2375
+ def get_delivery(params = {}, options = {})
2376
+ req = build_request(:get_delivery, params)
2377
+ req.send_request(options)
2378
+ end
2379
+
2380
+ # Retrieves complete information about one delivery destination.
2381
+ #
2382
+ # @option params [required, String] :name
2383
+ # The name of the delivery destination that you want to retrieve.
2384
+ #
2385
+ # @return [Types::GetDeliveryDestinationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2386
+ #
2387
+ # * {Types::GetDeliveryDestinationResponse#delivery_destination #delivery_destination} => Types::DeliveryDestination
2388
+ #
2389
+ # @example Request syntax with placeholder values
2390
+ #
2391
+ # resp = client.get_delivery_destination({
2392
+ # name: "DeliveryDestinationName", # required
2393
+ # })
2394
+ #
2395
+ # @example Response structure
2396
+ #
2397
+ # resp.delivery_destination.name #=> String
2398
+ # resp.delivery_destination.arn #=> String
2399
+ # resp.delivery_destination.delivery_destination_type #=> String, one of "S3", "CWL", "FH"
2400
+ # resp.delivery_destination.output_format #=> String, one of "json", "plain", "w3c", "raw", "parquet"
2401
+ # resp.delivery_destination.delivery_destination_configuration.destination_resource_arn #=> String
2402
+ # resp.delivery_destination.tags #=> Hash
2403
+ # resp.delivery_destination.tags["TagKey"] #=> String
2404
+ #
2405
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetDeliveryDestination AWS API Documentation
2406
+ #
2407
+ # @overload get_delivery_destination(params = {})
2408
+ # @param [Hash] params ({})
2409
+ def get_delivery_destination(params = {}, options = {})
2410
+ req = build_request(:get_delivery_destination, params)
2411
+ req.send_request(options)
2412
+ end
2413
+
2414
+ # Retrieves the delivery destination policy assigned to the delivery
2415
+ # destination that you specify. For more information about delivery
2416
+ # destinations and their policies, see
2417
+ # [PutDeliveryDestinationPolicy][1].
2418
+ #
2419
+ #
2420
+ #
2421
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationPolicy.html
2422
+ #
2423
+ # @option params [required, String] :delivery_destination_name
2424
+ # The name of the delivery destination that you want to retrieve the
2425
+ # policy of.
2426
+ #
2427
+ # @return [Types::GetDeliveryDestinationPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2428
+ #
2429
+ # * {Types::GetDeliveryDestinationPolicyResponse#policy #policy} => Types::Policy
2430
+ #
2431
+ # @example Request syntax with placeholder values
2432
+ #
2433
+ # resp = client.get_delivery_destination_policy({
2434
+ # delivery_destination_name: "DeliveryDestinationName", # required
2435
+ # })
2436
+ #
2437
+ # @example Response structure
2438
+ #
2439
+ # resp.policy.delivery_destination_policy #=> String
2440
+ #
2441
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetDeliveryDestinationPolicy AWS API Documentation
2442
+ #
2443
+ # @overload get_delivery_destination_policy(params = {})
2444
+ # @param [Hash] params ({})
2445
+ def get_delivery_destination_policy(params = {}, options = {})
2446
+ req = build_request(:get_delivery_destination_policy, params)
2447
+ req.send_request(options)
2448
+ end
2449
+
2450
+ # Retrieves complete information about one delivery source.
2451
+ #
2452
+ # @option params [required, String] :name
2453
+ # The name of the delivery source that you want to retrieve.
2454
+ #
2455
+ # @return [Types::GetDeliverySourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2456
+ #
2457
+ # * {Types::GetDeliverySourceResponse#delivery_source #delivery_source} => Types::DeliverySource
2458
+ #
2459
+ # @example Request syntax with placeholder values
2460
+ #
2461
+ # resp = client.get_delivery_source({
2462
+ # name: "DeliverySourceName", # required
2463
+ # })
2464
+ #
2465
+ # @example Response structure
2466
+ #
2467
+ # resp.delivery_source.name #=> String
2468
+ # resp.delivery_source.arn #=> String
2469
+ # resp.delivery_source.resource_arns #=> Array
2470
+ # resp.delivery_source.resource_arns[0] #=> String
2471
+ # resp.delivery_source.service #=> String
2472
+ # resp.delivery_source.log_type #=> String
2473
+ # resp.delivery_source.tags #=> Hash
2474
+ # resp.delivery_source.tags["TagKey"] #=> String
2475
+ #
2476
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetDeliverySource AWS API Documentation
2477
+ #
2478
+ # @overload get_delivery_source(params = {})
2479
+ # @param [Hash] params ({})
2480
+ def get_delivery_source(params = {}, options = {})
2481
+ req = build_request(:get_delivery_source, params)
2482
+ req.send_request(options)
2483
+ end
2484
+
1973
2485
  # Lists log events from the specified log stream. You can list all of
1974
2486
  # the log events or filter using a time range.
1975
2487
  #
@@ -2224,7 +2736,8 @@ module Aws::CloudWatchLogs
2224
2736
  # log record.
2225
2737
  #
2226
2738
  # `GetQueryResults` does not start running a query. To run a query, use
2227
- # [StartQuery][2].
2739
+ # [StartQuery][2]. For more information about how long results of
2740
+ # previous queries are available, see [CloudWatch Logs quotas][3].
2228
2741
  #
2229
2742
  # If the value of the `Status` field in the output is `Running`, this
2230
2743
  # operation returns only partial results. If you see a value of
@@ -2234,13 +2747,14 @@ module Aws::CloudWatchLogs
2234
2747
  # If you are using CloudWatch cross-account observability, you can use
2235
2748
  # this operation in a monitoring account to start queries in linked
2236
2749
  # source accounts. For more information, see [CloudWatch cross-account
2237
- # observability][3].
2750
+ # observability][4].
2238
2751
  #
2239
2752
  #
2240
2753
  #
2241
2754
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_GetLogRecord.html
2242
2755
  # [2]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_StartQuery.html
2243
- # [3]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html
2756
+ # [3]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html
2757
+ # [4]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html
2244
2758
  #
2245
2759
  # @option params [required, String] :query_id
2246
2760
  # The ID number of the query.
@@ -2602,6 +3116,282 @@ module Aws::CloudWatchLogs
2602
3116
  req.send_request(options)
2603
3117
  end
2604
3118
 
3119
+ # Creates or updates a logical *delivery destination*. A delivery
3120
+ # destination is an Amazon Web Services resource that represents an
3121
+ # Amazon Web Services service that logs can be sent to. CloudWatch Logs,
3122
+ # Amazon S3, and Kinesis Data Firehose are supported as logs delivery
3123
+ # destinations.
3124
+ #
3125
+ # To configure logs delivery between a supported Amazon Web Services
3126
+ # service and a destination, you must do the following:
3127
+ #
3128
+ # * Create a delivery source, which is a logical object that represents
3129
+ # the resource that is actually sending the logs. For more
3130
+ # information, see [PutDeliverySource][1].
3131
+ #
3132
+ # * Use `PutDeliveryDestination` to create a *delivery destination*,
3133
+ # which is a logical object that represents the actual delivery
3134
+ # destination.
3135
+ #
3136
+ # * If you are delivering logs cross-account, you must use
3137
+ # [PutDeliveryDestinationPolicy][2] in the destination account to
3138
+ # assign an IAM policy to the destination. This policy allows delivery
3139
+ # to that destination.
3140
+ #
3141
+ # * Use `CreateDelivery` to create a *delivery* by pairing exactly one
3142
+ # delivery source and one delivery destination. For more information,
3143
+ # see [CreateDelivery][3].
3144
+ #
3145
+ # You can configure a single delivery source to send logs to multiple
3146
+ # destinations by creating multiple deliveries. You can also create
3147
+ # multiple deliveries to configure multiple delivery sources to send
3148
+ # logs to the same delivery destination.
3149
+ #
3150
+ # Only some Amazon Web Services services support being configured as a
3151
+ # delivery source. These services are listed as **Supported \[V2
3152
+ # Permissions\]** in the table at [Enabling logging from Amazon Web
3153
+ # Services services.][4]
3154
+ #
3155
+ # If you use this operation to update an existing delivery destination,
3156
+ # all the current delivery destination parameters are overwritten with
3157
+ # the new parameter values that you specify.
3158
+ #
3159
+ #
3160
+ #
3161
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html
3162
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationolicy.html
3163
+ # [3]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html
3164
+ # [4]: https://docs.aws.amazon.com/ AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-vended-logs-permissions
3165
+ #
3166
+ # @option params [required, String] :name
3167
+ # A name for this delivery destination. This name must be unique for all
3168
+ # delivery destinations in your account.
3169
+ #
3170
+ # @option params [String] :output_format
3171
+ # The format for the logs that this delivery destination will receive.
3172
+ #
3173
+ # @option params [required, Types::DeliveryDestinationConfiguration] :delivery_destination_configuration
3174
+ # A structure that contains the ARN of the Amazon Web Services resource
3175
+ # that will receive the logs.
3176
+ #
3177
+ # @option params [Hash<String,String>] :tags
3178
+ # An optional list of key-value pairs to associate with the resource.
3179
+ #
3180
+ # For more information about tagging, see [Tagging Amazon Web Services
3181
+ # resources][1]
3182
+ #
3183
+ #
3184
+ #
3185
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
3186
+ #
3187
+ # @return [Types::PutDeliveryDestinationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3188
+ #
3189
+ # * {Types::PutDeliveryDestinationResponse#delivery_destination #delivery_destination} => Types::DeliveryDestination
3190
+ #
3191
+ # @example Request syntax with placeholder values
3192
+ #
3193
+ # resp = client.put_delivery_destination({
3194
+ # name: "DeliveryDestinationName", # required
3195
+ # output_format: "json", # accepts json, plain, w3c, raw, parquet
3196
+ # delivery_destination_configuration: { # required
3197
+ # destination_resource_arn: "Arn", # required
3198
+ # },
3199
+ # tags: {
3200
+ # "TagKey" => "TagValue",
3201
+ # },
3202
+ # })
3203
+ #
3204
+ # @example Response structure
3205
+ #
3206
+ # resp.delivery_destination.name #=> String
3207
+ # resp.delivery_destination.arn #=> String
3208
+ # resp.delivery_destination.delivery_destination_type #=> String, one of "S3", "CWL", "FH"
3209
+ # resp.delivery_destination.output_format #=> String, one of "json", "plain", "w3c", "raw", "parquet"
3210
+ # resp.delivery_destination.delivery_destination_configuration.destination_resource_arn #=> String
3211
+ # resp.delivery_destination.tags #=> Hash
3212
+ # resp.delivery_destination.tags["TagKey"] #=> String
3213
+ #
3214
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutDeliveryDestination AWS API Documentation
3215
+ #
3216
+ # @overload put_delivery_destination(params = {})
3217
+ # @param [Hash] params ({})
3218
+ def put_delivery_destination(params = {}, options = {})
3219
+ req = build_request(:put_delivery_destination, params)
3220
+ req.send_request(options)
3221
+ end
3222
+
3223
+ # Creates and assigns an IAM policy that grants permissions to
3224
+ # CloudWatch Logs to deliver logs cross-account to a specified
3225
+ # destination in this account. To configure the delivery of logs from an
3226
+ # Amazon Web Services service in another account to a logs delivery
3227
+ # destination in the current account, you must do the following:
3228
+ #
3229
+ # * Create a delivery source, which is a logical object that represents
3230
+ # the resource that is actually sending the logs. For more
3231
+ # information, see [PutDeliverySource][1].
3232
+ #
3233
+ # * Create a *delivery destination*, which is a logical object that
3234
+ # represents the actual delivery destination. For more information,
3235
+ # see [PutDeliveryDestination][2].
3236
+ #
3237
+ # * Use this operation in the destination account to assign an IAM
3238
+ # policy to the destination. This policy allows delivery to that
3239
+ # destination.
3240
+ #
3241
+ # * Create a *delivery* by pairing exactly one delivery source and one
3242
+ # delivery destination. For more information, see [CreateDelivery][3].
3243
+ #
3244
+ # Only some Amazon Web Services services support being configured as a
3245
+ # delivery source. These services are listed as **Supported \[V2
3246
+ # Permissions\]** in the table at [Enabling logging from Amazon Web
3247
+ # Services services.][4]
3248
+ #
3249
+ # The contents of the policy must include two statements. One statement
3250
+ # enables general logs delivery, and the other allows delivery to the
3251
+ # chosen destination. See the examples for the needed policies.
3252
+ #
3253
+ #
3254
+ #
3255
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html
3256
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html
3257
+ # [3]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html
3258
+ # [4]: https://docs.aws.amazon.com/ AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-vended-logs-permissions
3259
+ #
3260
+ # @option params [required, String] :delivery_destination_name
3261
+ # The name of the delivery destination to assign this policy to.
3262
+ #
3263
+ # @option params [required, String] :delivery_destination_policy
3264
+ # The contents of the policy.
3265
+ #
3266
+ # @return [Types::PutDeliveryDestinationPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3267
+ #
3268
+ # * {Types::PutDeliveryDestinationPolicyResponse#policy #policy} => Types::Policy
3269
+ #
3270
+ # @example Request syntax with placeholder values
3271
+ #
3272
+ # resp = client.put_delivery_destination_policy({
3273
+ # delivery_destination_name: "DeliveryDestinationName", # required
3274
+ # delivery_destination_policy: "DeliveryDestinationPolicy", # required
3275
+ # })
3276
+ #
3277
+ # @example Response structure
3278
+ #
3279
+ # resp.policy.delivery_destination_policy #=> String
3280
+ #
3281
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutDeliveryDestinationPolicy AWS API Documentation
3282
+ #
3283
+ # @overload put_delivery_destination_policy(params = {})
3284
+ # @param [Hash] params ({})
3285
+ def put_delivery_destination_policy(params = {}, options = {})
3286
+ req = build_request(:put_delivery_destination_policy, params)
3287
+ req.send_request(options)
3288
+ end
3289
+
3290
+ # Creates or updates a logical *delivery source*. A delivery source
3291
+ # represents an Amazon Web Services resource that sends logs to an logs
3292
+ # delivery destination. The destination can be CloudWatch Logs, Amazon
3293
+ # S3, or Kinesis Data Firehose.
3294
+ #
3295
+ # To configure logs delivery between a delivery destination and an
3296
+ # Amazon Web Services service that is supported as a delivery source,
3297
+ # you must do the following:
3298
+ #
3299
+ # * Use `PutDeliverySource` to create a delivery source, which is a
3300
+ # logical object that represents the resource that is actually sending
3301
+ # the logs.
3302
+ #
3303
+ # * Use `PutDeliveryDestination` to create a *delivery destination*,
3304
+ # which is a logical object that represents the actual delivery
3305
+ # destination. For more information, see [PutDeliveryDestination][1].
3306
+ #
3307
+ # * If you are delivering logs cross-account, you must use
3308
+ # [PutDeliveryDestinationPolicy][2] in the destination account to
3309
+ # assign an IAM policy to the destination. This policy allows delivery
3310
+ # to that destination.
3311
+ #
3312
+ # * Use `CreateDelivery` to create a *delivery* by pairing exactly one
3313
+ # delivery source and one delivery destination. For more information,
3314
+ # see [CreateDelivery][3].
3315
+ #
3316
+ # You can configure a single delivery source to send logs to multiple
3317
+ # destinations by creating multiple deliveries. You can also create
3318
+ # multiple deliveries to configure multiple delivery sources to send
3319
+ # logs to the same delivery destination.
3320
+ #
3321
+ # Only some Amazon Web Services services support being configured as a
3322
+ # delivery source. These services are listed as **Supported \[V2
3323
+ # Permissions\]** in the table at [Enabling logging from Amazon Web
3324
+ # Services services.][4]
3325
+ #
3326
+ # If you use this operation to update an existing delivery source, all
3327
+ # the current delivery source parameters are overwritten with the new
3328
+ # parameter values that you specify.
3329
+ #
3330
+ #
3331
+ #
3332
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html
3333
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationolicy.html
3334
+ # [3]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html
3335
+ # [4]: https://docs.aws.amazon.com/ AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-vended-logs-permissions
3336
+ #
3337
+ # @option params [required, String] :name
3338
+ # A name for this delivery source. This name must be unique for all
3339
+ # delivery sources in your account.
3340
+ #
3341
+ # @option params [required, String] :resource_arn
3342
+ # The ARN of the Amazon Web Services resource that is generating and
3343
+ # sending logs. For example,
3344
+ # `arn:aws:workmail:us-east-1:123456789012:organization/m-1234EXAMPLEabcd1234abcd1234abcd1234`
3345
+ #
3346
+ # @option params [required, String] :log_type
3347
+ # Defines the type of log that the source is sending. For valid values
3348
+ # for this parameter, see the documentation for the source service.
3349
+ #
3350
+ # @option params [Hash<String,String>] :tags
3351
+ # An optional list of key-value pairs to associate with the resource.
3352
+ #
3353
+ # For more information about tagging, see [Tagging Amazon Web Services
3354
+ # resources][1]
3355
+ #
3356
+ #
3357
+ #
3358
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
3359
+ #
3360
+ # @return [Types::PutDeliverySourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3361
+ #
3362
+ # * {Types::PutDeliverySourceResponse#delivery_source #delivery_source} => Types::DeliverySource
3363
+ #
3364
+ # @example Request syntax with placeholder values
3365
+ #
3366
+ # resp = client.put_delivery_source({
3367
+ # name: "DeliverySourceName", # required
3368
+ # resource_arn: "Arn", # required
3369
+ # log_type: "LogType", # required
3370
+ # tags: {
3371
+ # "TagKey" => "TagValue",
3372
+ # },
3373
+ # })
3374
+ #
3375
+ # @example Response structure
3376
+ #
3377
+ # resp.delivery_source.name #=> String
3378
+ # resp.delivery_source.arn #=> String
3379
+ # resp.delivery_source.resource_arns #=> Array
3380
+ # resp.delivery_source.resource_arns[0] #=> String
3381
+ # resp.delivery_source.service #=> String
3382
+ # resp.delivery_source.log_type #=> String
3383
+ # resp.delivery_source.tags #=> Hash
3384
+ # resp.delivery_source.tags["TagKey"] #=> String
3385
+ #
3386
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutDeliverySource AWS API Documentation
3387
+ #
3388
+ # @overload put_delivery_source(params = {})
3389
+ # @param [Hash] params ({})
3390
+ def put_delivery_source(params = {}, options = {})
3391
+ req = build_request(:put_delivery_source, params)
3392
+ req.send_request(options)
3393
+ end
3394
+
2605
3395
  # Creates or updates a destination. This operation is used only to
2606
3396
  # create destinations for cross-account subscriptions.
2607
3397
  #
@@ -3629,7 +4419,7 @@ module Aws::CloudWatchLogs
3629
4419
  params: params,
3630
4420
  config: config)
3631
4421
  context[:gem_name] = 'aws-sdk-cloudwatchlogs'
3632
- context[:gem_version] = '1.71.0'
4422
+ context[:gem_version] = '1.73.0'
3633
4423
  Seahorse::Client::Request.new(handlers, context)
3634
4424
  end
3635
4425