aws-sdk-cloudwatchlogs 1.70.0 → 1.72.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.
@@ -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.70.0'
4422
+ context[:gem_version] = '1.72.0'
3633
4423
  Seahorse::Client::Request.new(handlers, context)
3634
4424
  end
3635
4425