aws-sdk-networkmanager 1.15.0 → 1.19.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.
@@ -119,7 +119,9 @@ module Aws::NetworkManager
119
119
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
120
  # are very aggressive. Construct and pass an instance of
121
121
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
122
+ # enable retries and extended timeouts. Instance profile credential
123
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
124
+ # to true.
123
125
  #
124
126
  # @option options [required, String] :region
125
127
  # The AWS region to connect to. The configured `:region` is
@@ -275,6 +277,15 @@ module Aws::NetworkManager
275
277
  # ** Please note ** When response stubbing is enabled, no HTTP
276
278
  # requests are made, and retries are disabled.
277
279
  #
280
+ # @option options [Boolean] :use_dualstack_endpoint
281
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
282
+ # will be used if available.
283
+ #
284
+ # @option options [Boolean] :use_fips_endpoint
285
+ # When set to `true`, fips compatible endpoints will be used if available.
286
+ # When a `fips` region is used, the region is normalized and this config
287
+ # is set to `true`.
288
+ #
278
289
  # @option options [Boolean] :validate_params (true)
279
290
  # When `true`, request parameters are validated before
280
291
  # sending the request.
@@ -327,6 +338,105 @@ module Aws::NetworkManager
327
338
 
328
339
  # @!group API Operations
329
340
 
341
+ # Accepts a core network attachment request.
342
+ #
343
+ # Once the attachment request is accepted by a core network owner, the
344
+ # attachment is created and connected to a core network.
345
+ #
346
+ # @option params [required, String] :attachment_id
347
+ # The ID of the attachment.
348
+ #
349
+ # @return [Types::AcceptAttachmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
350
+ #
351
+ # * {Types::AcceptAttachmentResponse#attachment #attachment} => Types::Attachment
352
+ #
353
+ # @example Request syntax with placeholder values
354
+ #
355
+ # resp = client.accept_attachment({
356
+ # attachment_id: "AttachmentId", # required
357
+ # })
358
+ #
359
+ # @example Response structure
360
+ #
361
+ # resp.attachment.core_network_id #=> String
362
+ # resp.attachment.core_network_arn #=> String
363
+ # resp.attachment.attachment_id #=> String
364
+ # resp.attachment.owner_account_id #=> String
365
+ # resp.attachment.attachment_type #=> String, one of "CONNECT", "SITE_TO_SITE_VPN", "VPC"
366
+ # resp.attachment.state #=> String, one of "REJECTED", "PENDING_ATTACHMENT_ACCEPTANCE", "CREATING", "FAILED", "AVAILABLE", "UPDATING", "PENDING_NETWORK_UPDATE", "PENDING_TAG_ACCEPTANCE", "DELETING"
367
+ # resp.attachment.edge_location #=> String
368
+ # resp.attachment.resource_arn #=> String
369
+ # resp.attachment.attachment_policy_rule_number #=> Integer
370
+ # resp.attachment.segment_name #=> String
371
+ # resp.attachment.tags #=> Array
372
+ # resp.attachment.tags[0].key #=> String
373
+ # resp.attachment.tags[0].value #=> String
374
+ # resp.attachment.proposed_segment_change.tags #=> Array
375
+ # resp.attachment.proposed_segment_change.tags[0].key #=> String
376
+ # resp.attachment.proposed_segment_change.tags[0].value #=> String
377
+ # resp.attachment.proposed_segment_change.attachment_policy_rule_number #=> Integer
378
+ # resp.attachment.proposed_segment_change.segment_name #=> String
379
+ # resp.attachment.created_at #=> Time
380
+ # resp.attachment.updated_at #=> Time
381
+ #
382
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/AcceptAttachment AWS API Documentation
383
+ #
384
+ # @overload accept_attachment(params = {})
385
+ # @param [Hash] params ({})
386
+ def accept_attachment(params = {}, options = {})
387
+ req = build_request(:accept_attachment, params)
388
+ req.send_request(options)
389
+ end
390
+
391
+ # Associates a core network Connect peer with a device and optionally,
392
+ # with a link.
393
+ #
394
+ # If you specify a link, it must be associated with the specified
395
+ # device. You can only associate core network Connect peers that have
396
+ # been created on a core network Connect attachment on a core network.
397
+ #
398
+ # @option params [required, String] :global_network_id
399
+ # The ID of your global network.
400
+ #
401
+ # @option params [required, String] :connect_peer_id
402
+ # The ID of the Connect peer.
403
+ #
404
+ # @option params [required, String] :device_id
405
+ # The ID of the device.
406
+ #
407
+ # @option params [String] :link_id
408
+ # The ID of the link.
409
+ #
410
+ # @return [Types::AssociateConnectPeerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
411
+ #
412
+ # * {Types::AssociateConnectPeerResponse#connect_peer_association #connect_peer_association} => Types::ConnectPeerAssociation
413
+ #
414
+ # @example Request syntax with placeholder values
415
+ #
416
+ # resp = client.associate_connect_peer({
417
+ # global_network_id: "GlobalNetworkId", # required
418
+ # connect_peer_id: "ConnectPeerId", # required
419
+ # device_id: "DeviceId", # required
420
+ # link_id: "LinkId",
421
+ # })
422
+ #
423
+ # @example Response structure
424
+ #
425
+ # resp.connect_peer_association.connect_peer_id #=> String
426
+ # resp.connect_peer_association.global_network_id #=> String
427
+ # resp.connect_peer_association.device_id #=> String
428
+ # resp.connect_peer_association.link_id #=> String
429
+ # resp.connect_peer_association.state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "DELETED"
430
+ #
431
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/AssociateConnectPeer AWS API Documentation
432
+ #
433
+ # @overload associate_connect_peer(params = {})
434
+ # @param [Hash] params ({})
435
+ def associate_connect_peer(params = {}, options = {})
436
+ req = build_request(:associate_connect_peer, params)
437
+ req.send_request(options)
438
+ end
439
+
330
440
  # Associates a customer gateway with a device and optionally, with a
331
441
  # link. If you specify a link, it must be associated with the specified
332
442
  # device.
@@ -348,12 +458,7 @@ module Aws::NetworkManager
348
458
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpnConnections.html
349
459
  #
350
460
  # @option params [required, String] :customer_gateway_arn
351
- # The Amazon Resource Name (ARN) of the customer gateway. For more
352
- # information, see [Resources Defined by Amazon EC2][1].
353
- #
354
- #
355
- #
356
- # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies
461
+ # The Amazon Resource Name (ARN) of the customer gateway.
357
462
  #
358
463
  # @option params [required, String] :global_network_id
359
464
  # The ID of the global network.
@@ -371,10 +476,10 @@ module Aws::NetworkManager
371
476
  # @example Request syntax with placeholder values
372
477
  #
373
478
  # resp = client.associate_customer_gateway({
374
- # customer_gateway_arn: "String", # required
375
- # global_network_id: "String", # required
376
- # device_id: "String", # required
377
- # link_id: "String",
479
+ # customer_gateway_arn: "CustomerGatewayArn", # required
480
+ # global_network_id: "GlobalNetworkId", # required
481
+ # device_id: "DeviceId", # required
482
+ # link_id: "LinkId",
378
483
  # })
379
484
  #
380
485
  # @example Response structure
@@ -414,9 +519,9 @@ module Aws::NetworkManager
414
519
  # @example Request syntax with placeholder values
415
520
  #
416
521
  # resp = client.associate_link({
417
- # global_network_id: "String", # required
418
- # device_id: "String", # required
419
- # link_id: "String", # required
522
+ # global_network_id: "GlobalNetworkId", # required
523
+ # device_id: "DeviceId", # required
524
+ # link_id: "LinkId", # required
420
525
  # })
421
526
  #
422
527
  # @example Response structure
@@ -465,10 +570,10 @@ module Aws::NetworkManager
465
570
  # @example Request syntax with placeholder values
466
571
  #
467
572
  # resp = client.associate_transit_gateway_connect_peer({
468
- # global_network_id: "String", # required
469
- # transit_gateway_connect_peer_arn: "String", # required
470
- # device_id: "String", # required
471
- # link_id: "String",
573
+ # global_network_id: "GlobalNetworkId", # required
574
+ # transit_gateway_connect_peer_arn: "TransitGatewayConnectPeerArn", # required
575
+ # device_id: "DeviceId", # required
576
+ # link_id: "LinkId",
472
577
  # })
473
578
  #
474
579
  # @example Response structure
@@ -488,6 +593,174 @@ module Aws::NetworkManager
488
593
  req.send_request(options)
489
594
  end
490
595
 
596
+ # Creates a core network Connect attachment from a specified core
597
+ # network attachment.
598
+ #
599
+ # A core network Connect attachment is a GRE-based tunnel attachment
600
+ # that you can use to establish a connection between a core network and
601
+ # an appliance. A core network Connect attachment uses an existing VPC
602
+ # attachment as the underlying transport mechanism.
603
+ #
604
+ # @option params [required, String] :core_network_id
605
+ # The ID of a core network where you want to create the attachment.
606
+ #
607
+ # @option params [required, String] :edge_location
608
+ # The Region where the edge is located.
609
+ #
610
+ # @option params [required, String] :transport_attachment_id
611
+ # The ID of the attachment between the two connections.
612
+ #
613
+ # @option params [required, Types::ConnectAttachmentOptions] :options
614
+ # Options for creating an attachment.
615
+ #
616
+ # @option params [Array<Types::Tag>] :tags
617
+ # The list of key-value tags associated with the request.
618
+ #
619
+ # @option params [String] :client_token
620
+ # The client token associated with the request.
621
+ #
622
+ # **A suitable default value is auto-generated.** You should normally
623
+ # not need to pass this option.**
624
+ #
625
+ # @return [Types::CreateConnectAttachmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
626
+ #
627
+ # * {Types::CreateConnectAttachmentResponse#connect_attachment #connect_attachment} => Types::ConnectAttachment
628
+ #
629
+ # @example Request syntax with placeholder values
630
+ #
631
+ # resp = client.create_connect_attachment({
632
+ # core_network_id: "CoreNetworkId", # required
633
+ # edge_location: "ExternalRegionCode", # required
634
+ # transport_attachment_id: "AttachmentId", # required
635
+ # options: { # required
636
+ # protocol: "GRE", # accepts GRE
637
+ # },
638
+ # tags: [
639
+ # {
640
+ # key: "TagKey",
641
+ # value: "TagValue",
642
+ # },
643
+ # ],
644
+ # client_token: "ClientToken",
645
+ # })
646
+ #
647
+ # @example Response structure
648
+ #
649
+ # resp.connect_attachment.attachment.core_network_id #=> String
650
+ # resp.connect_attachment.attachment.core_network_arn #=> String
651
+ # resp.connect_attachment.attachment.attachment_id #=> String
652
+ # resp.connect_attachment.attachment.owner_account_id #=> String
653
+ # resp.connect_attachment.attachment.attachment_type #=> String, one of "CONNECT", "SITE_TO_SITE_VPN", "VPC"
654
+ # resp.connect_attachment.attachment.state #=> String, one of "REJECTED", "PENDING_ATTACHMENT_ACCEPTANCE", "CREATING", "FAILED", "AVAILABLE", "UPDATING", "PENDING_NETWORK_UPDATE", "PENDING_TAG_ACCEPTANCE", "DELETING"
655
+ # resp.connect_attachment.attachment.edge_location #=> String
656
+ # resp.connect_attachment.attachment.resource_arn #=> String
657
+ # resp.connect_attachment.attachment.attachment_policy_rule_number #=> Integer
658
+ # resp.connect_attachment.attachment.segment_name #=> String
659
+ # resp.connect_attachment.attachment.tags #=> Array
660
+ # resp.connect_attachment.attachment.tags[0].key #=> String
661
+ # resp.connect_attachment.attachment.tags[0].value #=> String
662
+ # resp.connect_attachment.attachment.proposed_segment_change.tags #=> Array
663
+ # resp.connect_attachment.attachment.proposed_segment_change.tags[0].key #=> String
664
+ # resp.connect_attachment.attachment.proposed_segment_change.tags[0].value #=> String
665
+ # resp.connect_attachment.attachment.proposed_segment_change.attachment_policy_rule_number #=> Integer
666
+ # resp.connect_attachment.attachment.proposed_segment_change.segment_name #=> String
667
+ # resp.connect_attachment.attachment.created_at #=> Time
668
+ # resp.connect_attachment.attachment.updated_at #=> Time
669
+ # resp.connect_attachment.transport_attachment_id #=> String
670
+ # resp.connect_attachment.options.protocol #=> String, one of "GRE"
671
+ #
672
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateConnectAttachment AWS API Documentation
673
+ #
674
+ # @overload create_connect_attachment(params = {})
675
+ # @param [Hash] params ({})
676
+ def create_connect_attachment(params = {}, options = {})
677
+ req = build_request(:create_connect_attachment, params)
678
+ req.send_request(options)
679
+ end
680
+
681
+ # Creates a core network connect peer for a specified core network
682
+ # connect attachment between a core network and an appliance. The peer
683
+ # address and transit gateway address must be the same IP address family
684
+ # (IPv4 or IPv6).
685
+ #
686
+ # @option params [required, String] :connect_attachment_id
687
+ # The ID of the connection attachment.
688
+ #
689
+ # @option params [String] :core_network_address
690
+ # A Connect peer core network address.
691
+ #
692
+ # @option params [required, String] :peer_address
693
+ # The Connect peer address.
694
+ #
695
+ # @option params [Types::BgpOptions] :bgp_options
696
+ # The Connect peer BGP options.
697
+ #
698
+ # @option params [required, Array<String>] :inside_cidr_blocks
699
+ # The inside IP addresses used for BGP peering.
700
+ #
701
+ # @option params [Array<Types::Tag>] :tags
702
+ # The tags associated with the peer request.
703
+ #
704
+ # @option params [String] :client_token
705
+ # The client token associated with the request.
706
+ #
707
+ # **A suitable default value is auto-generated.** You should normally
708
+ # not need to pass this option.**
709
+ #
710
+ # @return [Types::CreateConnectPeerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
711
+ #
712
+ # * {Types::CreateConnectPeerResponse#connect_peer #connect_peer} => Types::ConnectPeer
713
+ #
714
+ # @example Request syntax with placeholder values
715
+ #
716
+ # resp = client.create_connect_peer({
717
+ # connect_attachment_id: "AttachmentId", # required
718
+ # core_network_address: "IPAddress",
719
+ # peer_address: "IPAddress", # required
720
+ # bgp_options: {
721
+ # peer_asn: 1,
722
+ # },
723
+ # inside_cidr_blocks: ["ConstrainedString"], # required
724
+ # tags: [
725
+ # {
726
+ # key: "TagKey",
727
+ # value: "TagValue",
728
+ # },
729
+ # ],
730
+ # client_token: "ClientToken",
731
+ # })
732
+ #
733
+ # @example Response structure
734
+ #
735
+ # resp.connect_peer.core_network_id #=> String
736
+ # resp.connect_peer.connect_attachment_id #=> String
737
+ # resp.connect_peer.connect_peer_id #=> String
738
+ # resp.connect_peer.edge_location #=> String
739
+ # resp.connect_peer.state #=> String, one of "CREATING", "FAILED", "AVAILABLE", "DELETING"
740
+ # resp.connect_peer.created_at #=> Time
741
+ # resp.connect_peer.configuration.core_network_address #=> String
742
+ # resp.connect_peer.configuration.peer_address #=> String
743
+ # resp.connect_peer.configuration.inside_cidr_blocks #=> Array
744
+ # resp.connect_peer.configuration.inside_cidr_blocks[0] #=> String
745
+ # resp.connect_peer.configuration.protocol #=> String, one of "GRE"
746
+ # resp.connect_peer.configuration.bgp_configurations #=> Array
747
+ # resp.connect_peer.configuration.bgp_configurations[0].core_network_asn #=> Integer
748
+ # resp.connect_peer.configuration.bgp_configurations[0].peer_asn #=> Integer
749
+ # resp.connect_peer.configuration.bgp_configurations[0].core_network_address #=> String
750
+ # resp.connect_peer.configuration.bgp_configurations[0].peer_address #=> String
751
+ # resp.connect_peer.tags #=> Array
752
+ # resp.connect_peer.tags[0].key #=> String
753
+ # resp.connect_peer.tags[0].value #=> String
754
+ #
755
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateConnectPeer AWS API Documentation
756
+ #
757
+ # @overload create_connect_peer(params = {})
758
+ # @param [Hash] params ({})
759
+ def create_connect_peer(params = {}, options = {})
760
+ req = build_request(:create_connect_peer, params)
761
+ req.send_request(options)
762
+ end
763
+
491
764
  # Creates a connection between two devices. The devices can be a
492
765
  # physical or virtual appliance that connects to a third-party appliance
493
766
  # in a VPC, or a physical appliance that connects to another physical
@@ -523,12 +796,12 @@ module Aws::NetworkManager
523
796
  # @example Request syntax with placeholder values
524
797
  #
525
798
  # resp = client.create_connection({
526
- # global_network_id: "String", # required
527
- # device_id: "String", # required
528
- # connected_device_id: "String", # required
529
- # link_id: "String",
530
- # connected_link_id: "String",
531
- # description: "String",
799
+ # global_network_id: "GlobalNetworkId", # required
800
+ # device_id: "DeviceId", # required
801
+ # connected_device_id: "DeviceId", # required
802
+ # link_id: "LinkId",
803
+ # connected_link_id: "LinkId",
804
+ # description: "ConstrainedString",
532
805
  # tags: [
533
806
  # {
534
807
  # key: "TagKey",
@@ -562,6 +835,78 @@ module Aws::NetworkManager
562
835
  req.send_request(options)
563
836
  end
564
837
 
838
+ # Creates a core network as part of your global network, and optionally,
839
+ # with a core network policy.
840
+ #
841
+ # @option params [required, String] :global_network_id
842
+ # The ID of the global network that a core network will be a part of.
843
+ #
844
+ # @option params [String] :description
845
+ # The description of a core network.
846
+ #
847
+ # @option params [Array<Types::Tag>] :tags
848
+ # Key-value tags associated with a core network request.
849
+ #
850
+ # @option params [String] :policy_document
851
+ # The policy document for creating a core network.
852
+ #
853
+ # @option params [String] :client_token
854
+ # The client token associated with a core network request.
855
+ #
856
+ # **A suitable default value is auto-generated.** You should normally
857
+ # not need to pass this option.**
858
+ #
859
+ # @return [Types::CreateCoreNetworkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
860
+ #
861
+ # * {Types::CreateCoreNetworkResponse#core_network #core_network} => Types::CoreNetwork
862
+ #
863
+ # @example Request syntax with placeholder values
864
+ #
865
+ # resp = client.create_core_network({
866
+ # global_network_id: "GlobalNetworkId", # required
867
+ # description: "ConstrainedString",
868
+ # tags: [
869
+ # {
870
+ # key: "TagKey",
871
+ # value: "TagValue",
872
+ # },
873
+ # ],
874
+ # policy_document: "CoreNetworkPolicyDocument",
875
+ # client_token: "ClientToken",
876
+ # })
877
+ #
878
+ # @example Response structure
879
+ #
880
+ # resp.core_network.global_network_id #=> String
881
+ # resp.core_network.core_network_id #=> String
882
+ # resp.core_network.core_network_arn #=> String
883
+ # resp.core_network.description #=> String
884
+ # resp.core_network.created_at #=> Time
885
+ # resp.core_network.state #=> String, one of "CREATING", "UPDATING", "AVAILABLE", "DELETING"
886
+ # resp.core_network.segments #=> Array
887
+ # resp.core_network.segments[0].name #=> String
888
+ # resp.core_network.segments[0].edge_locations #=> Array
889
+ # resp.core_network.segments[0].edge_locations[0] #=> String
890
+ # resp.core_network.segments[0].shared_segments #=> Array
891
+ # resp.core_network.segments[0].shared_segments[0] #=> String
892
+ # resp.core_network.edges #=> Array
893
+ # resp.core_network.edges[0].edge_location #=> String
894
+ # resp.core_network.edges[0].asn #=> Integer
895
+ # resp.core_network.edges[0].inside_cidr_blocks #=> Array
896
+ # resp.core_network.edges[0].inside_cidr_blocks[0] #=> String
897
+ # resp.core_network.tags #=> Array
898
+ # resp.core_network.tags[0].key #=> String
899
+ # resp.core_network.tags[0].value #=> String
900
+ #
901
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateCoreNetwork AWS API Documentation
902
+ #
903
+ # @overload create_core_network(params = {})
904
+ # @param [Hash] params ({})
905
+ def create_core_network(params = {}, options = {})
906
+ req = build_request(:create_core_network, params)
907
+ req.send_request(options)
908
+ end
909
+
565
910
  # Creates a new device in a global network. If you specify both a site
566
911
  # ID and a location, the location of the site is used for visualization
567
912
  # in the Network Manager console.
@@ -570,12 +915,13 @@ module Aws::NetworkManager
570
915
  # The ID of the global network.
571
916
  #
572
917
  # @option params [Types::AWSLocation] :aws_location
573
- # The AWS location of the device.
918
+ # The Amazon Web Services location of the device, if applicable. For an
919
+ # on-premises device, you can omit this parameter.
574
920
  #
575
921
  # @option params [String] :description
576
922
  # A description of the device.
577
923
  #
578
- # Length Constraints: Maximum length of 256 characters.
924
+ # Constraints: Maximum length of 256 characters.
579
925
  #
580
926
  # @option params [String] :type
581
927
  # The type of the device.
@@ -583,17 +929,17 @@ module Aws::NetworkManager
583
929
  # @option params [String] :vendor
584
930
  # The vendor of the device.
585
931
  #
586
- # Length Constraints: Maximum length of 128 characters.
932
+ # Constraints: Maximum length of 128 characters.
587
933
  #
588
934
  # @option params [String] :model
589
935
  # The model of the device.
590
936
  #
591
- # Length Constraints: Maximum length of 128 characters.
937
+ # Constraints: Maximum length of 128 characters.
592
938
  #
593
939
  # @option params [String] :serial_number
594
940
  # The serial number of the device.
595
941
  #
596
- # Length Constraints: Maximum length of 128 characters.
942
+ # Constraints: Maximum length of 128 characters.
597
943
  #
598
944
  # @option params [Types::Location] :location
599
945
  # The location of the device.
@@ -611,22 +957,22 @@ module Aws::NetworkManager
611
957
  # @example Request syntax with placeholder values
612
958
  #
613
959
  # resp = client.create_device({
614
- # global_network_id: "String", # required
960
+ # global_network_id: "GlobalNetworkId", # required
615
961
  # aws_location: {
616
- # zone: "String",
617
- # subnet_arn: "String",
962
+ # zone: "ConstrainedString",
963
+ # subnet_arn: "SubnetArn",
618
964
  # },
619
- # description: "String",
620
- # type: "String",
621
- # vendor: "String",
622
- # model: "String",
623
- # serial_number: "String",
965
+ # description: "ConstrainedString",
966
+ # type: "ConstrainedString",
967
+ # vendor: "ConstrainedString",
968
+ # model: "ConstrainedString",
969
+ # serial_number: "ConstrainedString",
624
970
  # location: {
625
- # address: "String",
626
- # latitude: "String",
627
- # longitude: "String",
971
+ # address: "ConstrainedString",
972
+ # latitude: "ConstrainedString",
973
+ # longitude: "ConstrainedString",
628
974
  # },
629
- # site_id: "String",
975
+ # site_id: "SiteId",
630
976
  # tags: [
631
977
  # {
632
978
  # key: "TagKey",
@@ -671,7 +1017,7 @@ module Aws::NetworkManager
671
1017
  # @option params [String] :description
672
1018
  # A description of the global network.
673
1019
  #
674
- # Length Constraints: Maximum length of 256 characters.
1020
+ # Constraints: Maximum length of 256 characters.
675
1021
  #
676
1022
  # @option params [Array<Types::Tag>] :tags
677
1023
  # The tags to apply to the resource during creation.
@@ -683,7 +1029,7 @@ module Aws::NetworkManager
683
1029
  # @example Request syntax with placeholder values
684
1030
  #
685
1031
  # resp = client.create_global_network({
686
- # description: "String",
1032
+ # description: "ConstrainedString",
687
1033
  # tags: [
688
1034
  # {
689
1035
  # key: "TagKey",
@@ -720,14 +1066,13 @@ module Aws::NetworkManager
720
1066
  # @option params [String] :description
721
1067
  # A description of the link.
722
1068
  #
723
- # Length Constraints: Maximum length of 256 characters.
1069
+ # Constraints: Maximum length of 256 characters.
724
1070
  #
725
1071
  # @option params [String] :type
726
1072
  # The type of the link.
727
1073
  #
728
- # Constraints: Cannot include the following characters: \| \\ ^
729
- #
730
- # Length Constraints: Maximum length of 128 characters.
1074
+ # Constraints: Maximum length of 128 characters. Cannot include the
1075
+ # following characters: \| \\ ^
731
1076
  #
732
1077
  # @option params [required, Types::Bandwidth] :bandwidth
733
1078
  # The upload speed and download speed in Mbps.
@@ -735,9 +1080,8 @@ module Aws::NetworkManager
735
1080
  # @option params [String] :provider
736
1081
  # The provider of the link.
737
1082
  #
738
- # Constraints: Cannot include the following characters: \| \\ ^
739
- #
740
- # Length Constraints: Maximum length of 128 characters.
1083
+ # Constraints: Maximum length of 128 characters. Cannot include the
1084
+ # following characters: \| \\ ^
741
1085
  #
742
1086
  # @option params [required, String] :site_id
743
1087
  # The ID of the site.
@@ -752,15 +1096,15 @@ module Aws::NetworkManager
752
1096
  # @example Request syntax with placeholder values
753
1097
  #
754
1098
  # resp = client.create_link({
755
- # global_network_id: "String", # required
756
- # description: "String",
757
- # type: "String",
1099
+ # global_network_id: "GlobalNetworkId", # required
1100
+ # description: "ConstrainedString",
1101
+ # type: "ConstrainedString",
758
1102
  # bandwidth: { # required
759
1103
  # upload_speed: 1,
760
1104
  # download_speed: 1,
761
1105
  # },
762
- # provider: "String",
763
- # site_id: "String", # required
1106
+ # provider: "ConstrainedString",
1107
+ # site_id: "SiteId", # required
764
1108
  # tags: [
765
1109
  # {
766
1110
  # key: "TagKey",
@@ -803,7 +1147,7 @@ module Aws::NetworkManager
803
1147
  # @option params [String] :description
804
1148
  # A description of your site.
805
1149
  #
806
- # Length Constraints: Maximum length of 256 characters.
1150
+ # Constraints: Maximum length of 256 characters.
807
1151
  #
808
1152
  # @option params [Types::Location] :location
809
1153
  # The site location. This information is used for visualization in the
@@ -826,12 +1170,12 @@ module Aws::NetworkManager
826
1170
  # @example Request syntax with placeholder values
827
1171
  #
828
1172
  # resp = client.create_site({
829
- # global_network_id: "String", # required
830
- # description: "String",
1173
+ # global_network_id: "GlobalNetworkId", # required
1174
+ # description: "ConstrainedString",
831
1175
  # location: {
832
- # address: "String",
833
- # latitude: "String",
834
- # longitude: "String",
1176
+ # address: "ConstrainedString",
1177
+ # latitude: "ConstrainedString",
1178
+ # longitude: "ConstrainedString",
835
1179
  # },
836
1180
  # tags: [
837
1181
  # {
@@ -865,6 +1209,249 @@ module Aws::NetworkManager
865
1209
  req.send_request(options)
866
1210
  end
867
1211
 
1212
+ # Creates a site-to-site VPN attachment on an edge location of a core
1213
+ # network.
1214
+ #
1215
+ # @option params [required, String] :core_network_id
1216
+ # The ID of a core network where you're creating a site-to-site VPN
1217
+ # attachment.
1218
+ #
1219
+ # @option params [required, String] :vpn_connection_arn
1220
+ # The ARN identifying the VPN attachment.
1221
+ #
1222
+ # @option params [Array<Types::Tag>] :tags
1223
+ # The tags associated with the request.
1224
+ #
1225
+ # @option params [String] :client_token
1226
+ # The client token associated with the request.
1227
+ #
1228
+ # **A suitable default value is auto-generated.** You should normally
1229
+ # not need to pass this option.**
1230
+ #
1231
+ # @return [Types::CreateSiteToSiteVpnAttachmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1232
+ #
1233
+ # * {Types::CreateSiteToSiteVpnAttachmentResponse#site_to_site_vpn_attachment #site_to_site_vpn_attachment} => Types::SiteToSiteVpnAttachment
1234
+ #
1235
+ # @example Request syntax with placeholder values
1236
+ #
1237
+ # resp = client.create_site_to_site_vpn_attachment({
1238
+ # core_network_id: "CoreNetworkId", # required
1239
+ # vpn_connection_arn: "VpnConnectionArn", # required
1240
+ # tags: [
1241
+ # {
1242
+ # key: "TagKey",
1243
+ # value: "TagValue",
1244
+ # },
1245
+ # ],
1246
+ # client_token: "ClientToken",
1247
+ # })
1248
+ #
1249
+ # @example Response structure
1250
+ #
1251
+ # resp.site_to_site_vpn_attachment.attachment.core_network_id #=> String
1252
+ # resp.site_to_site_vpn_attachment.attachment.core_network_arn #=> String
1253
+ # resp.site_to_site_vpn_attachment.attachment.attachment_id #=> String
1254
+ # resp.site_to_site_vpn_attachment.attachment.owner_account_id #=> String
1255
+ # resp.site_to_site_vpn_attachment.attachment.attachment_type #=> String, one of "CONNECT", "SITE_TO_SITE_VPN", "VPC"
1256
+ # resp.site_to_site_vpn_attachment.attachment.state #=> String, one of "REJECTED", "PENDING_ATTACHMENT_ACCEPTANCE", "CREATING", "FAILED", "AVAILABLE", "UPDATING", "PENDING_NETWORK_UPDATE", "PENDING_TAG_ACCEPTANCE", "DELETING"
1257
+ # resp.site_to_site_vpn_attachment.attachment.edge_location #=> String
1258
+ # resp.site_to_site_vpn_attachment.attachment.resource_arn #=> String
1259
+ # resp.site_to_site_vpn_attachment.attachment.attachment_policy_rule_number #=> Integer
1260
+ # resp.site_to_site_vpn_attachment.attachment.segment_name #=> String
1261
+ # resp.site_to_site_vpn_attachment.attachment.tags #=> Array
1262
+ # resp.site_to_site_vpn_attachment.attachment.tags[0].key #=> String
1263
+ # resp.site_to_site_vpn_attachment.attachment.tags[0].value #=> String
1264
+ # resp.site_to_site_vpn_attachment.attachment.proposed_segment_change.tags #=> Array
1265
+ # resp.site_to_site_vpn_attachment.attachment.proposed_segment_change.tags[0].key #=> String
1266
+ # resp.site_to_site_vpn_attachment.attachment.proposed_segment_change.tags[0].value #=> String
1267
+ # resp.site_to_site_vpn_attachment.attachment.proposed_segment_change.attachment_policy_rule_number #=> Integer
1268
+ # resp.site_to_site_vpn_attachment.attachment.proposed_segment_change.segment_name #=> String
1269
+ # resp.site_to_site_vpn_attachment.attachment.created_at #=> Time
1270
+ # resp.site_to_site_vpn_attachment.attachment.updated_at #=> Time
1271
+ # resp.site_to_site_vpn_attachment.vpn_connection_arn #=> String
1272
+ #
1273
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateSiteToSiteVpnAttachment AWS API Documentation
1274
+ #
1275
+ # @overload create_site_to_site_vpn_attachment(params = {})
1276
+ # @param [Hash] params ({})
1277
+ def create_site_to_site_vpn_attachment(params = {}, options = {})
1278
+ req = build_request(:create_site_to_site_vpn_attachment, params)
1279
+ req.send_request(options)
1280
+ end
1281
+
1282
+ # Creates a VPC attachment on an edge location of a core network.
1283
+ #
1284
+ # @option params [required, String] :core_network_id
1285
+ # The ID of a core network for the VPC attachment.
1286
+ #
1287
+ # @option params [required, String] :vpc_arn
1288
+ # The ARN of the VPC.
1289
+ #
1290
+ # @option params [required, Array<String>] :subnet_arns
1291
+ # The subnet ARN of the VPC attachment.
1292
+ #
1293
+ # @option params [Types::VpcOptions] :options
1294
+ # Options for the VPC attachment.
1295
+ #
1296
+ # @option params [Array<Types::Tag>] :tags
1297
+ # The key-value tags associated with the request.
1298
+ #
1299
+ # @option params [String] :client_token
1300
+ # The client token associated with the request.
1301
+ #
1302
+ # **A suitable default value is auto-generated.** You should normally
1303
+ # not need to pass this option.**
1304
+ #
1305
+ # @return [Types::CreateVpcAttachmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1306
+ #
1307
+ # * {Types::CreateVpcAttachmentResponse#vpc_attachment #vpc_attachment} => Types::VpcAttachment
1308
+ #
1309
+ # @example Request syntax with placeholder values
1310
+ #
1311
+ # resp = client.create_vpc_attachment({
1312
+ # core_network_id: "CoreNetworkId", # required
1313
+ # vpc_arn: "VpcArn", # required
1314
+ # subnet_arns: ["SubnetArn"], # required
1315
+ # options: {
1316
+ # ipv_6_support: false,
1317
+ # },
1318
+ # tags: [
1319
+ # {
1320
+ # key: "TagKey",
1321
+ # value: "TagValue",
1322
+ # },
1323
+ # ],
1324
+ # client_token: "ClientToken",
1325
+ # })
1326
+ #
1327
+ # @example Response structure
1328
+ #
1329
+ # resp.vpc_attachment.attachment.core_network_id #=> String
1330
+ # resp.vpc_attachment.attachment.core_network_arn #=> String
1331
+ # resp.vpc_attachment.attachment.attachment_id #=> String
1332
+ # resp.vpc_attachment.attachment.owner_account_id #=> String
1333
+ # resp.vpc_attachment.attachment.attachment_type #=> String, one of "CONNECT", "SITE_TO_SITE_VPN", "VPC"
1334
+ # resp.vpc_attachment.attachment.state #=> String, one of "REJECTED", "PENDING_ATTACHMENT_ACCEPTANCE", "CREATING", "FAILED", "AVAILABLE", "UPDATING", "PENDING_NETWORK_UPDATE", "PENDING_TAG_ACCEPTANCE", "DELETING"
1335
+ # resp.vpc_attachment.attachment.edge_location #=> String
1336
+ # resp.vpc_attachment.attachment.resource_arn #=> String
1337
+ # resp.vpc_attachment.attachment.attachment_policy_rule_number #=> Integer
1338
+ # resp.vpc_attachment.attachment.segment_name #=> String
1339
+ # resp.vpc_attachment.attachment.tags #=> Array
1340
+ # resp.vpc_attachment.attachment.tags[0].key #=> String
1341
+ # resp.vpc_attachment.attachment.tags[0].value #=> String
1342
+ # resp.vpc_attachment.attachment.proposed_segment_change.tags #=> Array
1343
+ # resp.vpc_attachment.attachment.proposed_segment_change.tags[0].key #=> String
1344
+ # resp.vpc_attachment.attachment.proposed_segment_change.tags[0].value #=> String
1345
+ # resp.vpc_attachment.attachment.proposed_segment_change.attachment_policy_rule_number #=> Integer
1346
+ # resp.vpc_attachment.attachment.proposed_segment_change.segment_name #=> String
1347
+ # resp.vpc_attachment.attachment.created_at #=> Time
1348
+ # resp.vpc_attachment.attachment.updated_at #=> Time
1349
+ # resp.vpc_attachment.subnet_arns #=> Array
1350
+ # resp.vpc_attachment.subnet_arns[0] #=> String
1351
+ # resp.vpc_attachment.options.ipv_6_support #=> Boolean
1352
+ #
1353
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateVpcAttachment AWS API Documentation
1354
+ #
1355
+ # @overload create_vpc_attachment(params = {})
1356
+ # @param [Hash] params ({})
1357
+ def create_vpc_attachment(params = {}, options = {})
1358
+ req = build_request(:create_vpc_attachment, params)
1359
+ req.send_request(options)
1360
+ end
1361
+
1362
+ # Deletes an attachment. Supports all attachment types.
1363
+ #
1364
+ # @option params [required, String] :attachment_id
1365
+ # The ID of the attachment to delete.
1366
+ #
1367
+ # @return [Types::DeleteAttachmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1368
+ #
1369
+ # * {Types::DeleteAttachmentResponse#attachment #attachment} => Types::Attachment
1370
+ #
1371
+ # @example Request syntax with placeholder values
1372
+ #
1373
+ # resp = client.delete_attachment({
1374
+ # attachment_id: "AttachmentId", # required
1375
+ # })
1376
+ #
1377
+ # @example Response structure
1378
+ #
1379
+ # resp.attachment.core_network_id #=> String
1380
+ # resp.attachment.core_network_arn #=> String
1381
+ # resp.attachment.attachment_id #=> String
1382
+ # resp.attachment.owner_account_id #=> String
1383
+ # resp.attachment.attachment_type #=> String, one of "CONNECT", "SITE_TO_SITE_VPN", "VPC"
1384
+ # resp.attachment.state #=> String, one of "REJECTED", "PENDING_ATTACHMENT_ACCEPTANCE", "CREATING", "FAILED", "AVAILABLE", "UPDATING", "PENDING_NETWORK_UPDATE", "PENDING_TAG_ACCEPTANCE", "DELETING"
1385
+ # resp.attachment.edge_location #=> String
1386
+ # resp.attachment.resource_arn #=> String
1387
+ # resp.attachment.attachment_policy_rule_number #=> Integer
1388
+ # resp.attachment.segment_name #=> String
1389
+ # resp.attachment.tags #=> Array
1390
+ # resp.attachment.tags[0].key #=> String
1391
+ # resp.attachment.tags[0].value #=> String
1392
+ # resp.attachment.proposed_segment_change.tags #=> Array
1393
+ # resp.attachment.proposed_segment_change.tags[0].key #=> String
1394
+ # resp.attachment.proposed_segment_change.tags[0].value #=> String
1395
+ # resp.attachment.proposed_segment_change.attachment_policy_rule_number #=> Integer
1396
+ # resp.attachment.proposed_segment_change.segment_name #=> String
1397
+ # resp.attachment.created_at #=> Time
1398
+ # resp.attachment.updated_at #=> Time
1399
+ #
1400
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteAttachment AWS API Documentation
1401
+ #
1402
+ # @overload delete_attachment(params = {})
1403
+ # @param [Hash] params ({})
1404
+ def delete_attachment(params = {}, options = {})
1405
+ req = build_request(:delete_attachment, params)
1406
+ req.send_request(options)
1407
+ end
1408
+
1409
+ # Deletes a Connect peer.
1410
+ #
1411
+ # @option params [required, String] :connect_peer_id
1412
+ # The ID of the deleted Connect peer.
1413
+ #
1414
+ # @return [Types::DeleteConnectPeerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1415
+ #
1416
+ # * {Types::DeleteConnectPeerResponse#connect_peer #connect_peer} => Types::ConnectPeer
1417
+ #
1418
+ # @example Request syntax with placeholder values
1419
+ #
1420
+ # resp = client.delete_connect_peer({
1421
+ # connect_peer_id: "ConnectPeerId", # required
1422
+ # })
1423
+ #
1424
+ # @example Response structure
1425
+ #
1426
+ # resp.connect_peer.core_network_id #=> String
1427
+ # resp.connect_peer.connect_attachment_id #=> String
1428
+ # resp.connect_peer.connect_peer_id #=> String
1429
+ # resp.connect_peer.edge_location #=> String
1430
+ # resp.connect_peer.state #=> String, one of "CREATING", "FAILED", "AVAILABLE", "DELETING"
1431
+ # resp.connect_peer.created_at #=> Time
1432
+ # resp.connect_peer.configuration.core_network_address #=> String
1433
+ # resp.connect_peer.configuration.peer_address #=> String
1434
+ # resp.connect_peer.configuration.inside_cidr_blocks #=> Array
1435
+ # resp.connect_peer.configuration.inside_cidr_blocks[0] #=> String
1436
+ # resp.connect_peer.configuration.protocol #=> String, one of "GRE"
1437
+ # resp.connect_peer.configuration.bgp_configurations #=> Array
1438
+ # resp.connect_peer.configuration.bgp_configurations[0].core_network_asn #=> Integer
1439
+ # resp.connect_peer.configuration.bgp_configurations[0].peer_asn #=> Integer
1440
+ # resp.connect_peer.configuration.bgp_configurations[0].core_network_address #=> String
1441
+ # resp.connect_peer.configuration.bgp_configurations[0].peer_address #=> String
1442
+ # resp.connect_peer.tags #=> Array
1443
+ # resp.connect_peer.tags[0].key #=> String
1444
+ # resp.connect_peer.tags[0].value #=> String
1445
+ #
1446
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteConnectPeer AWS API Documentation
1447
+ #
1448
+ # @overload delete_connect_peer(params = {})
1449
+ # @param [Hash] params ({})
1450
+ def delete_connect_peer(params = {}, options = {})
1451
+ req = build_request(:delete_connect_peer, params)
1452
+ req.send_request(options)
1453
+ end
1454
+
868
1455
  # Deletes the specified connection in your global network.
869
1456
  #
870
1457
  # @option params [required, String] :global_network_id
@@ -880,8 +1467,8 @@ module Aws::NetworkManager
880
1467
  # @example Request syntax with placeholder values
881
1468
  #
882
1469
  # resp = client.delete_connection({
883
- # global_network_id: "String", # required
884
- # connection_id: "String", # required
1470
+ # global_network_id: "GlobalNetworkId", # required
1471
+ # connection_id: "ConnectionId", # required
885
1472
  # })
886
1473
  #
887
1474
  # @example Response structure
@@ -909,6 +1496,97 @@ module Aws::NetworkManager
909
1496
  req.send_request(options)
910
1497
  end
911
1498
 
1499
+ # Deletes a core network along with all core network policies. This can
1500
+ # only be done if there are no attachments on a core network.
1501
+ #
1502
+ # @option params [required, String] :core_network_id
1503
+ # The network ID of the deleted core network.
1504
+ #
1505
+ # @return [Types::DeleteCoreNetworkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1506
+ #
1507
+ # * {Types::DeleteCoreNetworkResponse#core_network #core_network} => Types::CoreNetwork
1508
+ #
1509
+ # @example Request syntax with placeholder values
1510
+ #
1511
+ # resp = client.delete_core_network({
1512
+ # core_network_id: "CoreNetworkId", # required
1513
+ # })
1514
+ #
1515
+ # @example Response structure
1516
+ #
1517
+ # resp.core_network.global_network_id #=> String
1518
+ # resp.core_network.core_network_id #=> String
1519
+ # resp.core_network.core_network_arn #=> String
1520
+ # resp.core_network.description #=> String
1521
+ # resp.core_network.created_at #=> Time
1522
+ # resp.core_network.state #=> String, one of "CREATING", "UPDATING", "AVAILABLE", "DELETING"
1523
+ # resp.core_network.segments #=> Array
1524
+ # resp.core_network.segments[0].name #=> String
1525
+ # resp.core_network.segments[0].edge_locations #=> Array
1526
+ # resp.core_network.segments[0].edge_locations[0] #=> String
1527
+ # resp.core_network.segments[0].shared_segments #=> Array
1528
+ # resp.core_network.segments[0].shared_segments[0] #=> String
1529
+ # resp.core_network.edges #=> Array
1530
+ # resp.core_network.edges[0].edge_location #=> String
1531
+ # resp.core_network.edges[0].asn #=> Integer
1532
+ # resp.core_network.edges[0].inside_cidr_blocks #=> Array
1533
+ # resp.core_network.edges[0].inside_cidr_blocks[0] #=> String
1534
+ # resp.core_network.tags #=> Array
1535
+ # resp.core_network.tags[0].key #=> String
1536
+ # resp.core_network.tags[0].value #=> String
1537
+ #
1538
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteCoreNetwork AWS API Documentation
1539
+ #
1540
+ # @overload delete_core_network(params = {})
1541
+ # @param [Hash] params ({})
1542
+ def delete_core_network(params = {}, options = {})
1543
+ req = build_request(:delete_core_network, params)
1544
+ req.send_request(options)
1545
+ end
1546
+
1547
+ # Deletes a policy version from a core network. You can't delete the
1548
+ # current LIVE policy.
1549
+ #
1550
+ # @option params [required, String] :core_network_id
1551
+ # The ID of a core network for the deleted policy.
1552
+ #
1553
+ # @option params [required, Integer] :policy_version_id
1554
+ # The version ID of the deleted policy.
1555
+ #
1556
+ # @return [Types::DeleteCoreNetworkPolicyVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1557
+ #
1558
+ # * {Types::DeleteCoreNetworkPolicyVersionResponse#core_network_policy #core_network_policy} => Types::CoreNetworkPolicy
1559
+ #
1560
+ # @example Request syntax with placeholder values
1561
+ #
1562
+ # resp = client.delete_core_network_policy_version({
1563
+ # core_network_id: "CoreNetworkId", # required
1564
+ # policy_version_id: 1, # required
1565
+ # })
1566
+ #
1567
+ # @example Response structure
1568
+ #
1569
+ # resp.core_network_policy.core_network_id #=> String
1570
+ # resp.core_network_policy.policy_version_id #=> Integer
1571
+ # resp.core_network_policy.alias #=> String, one of "LIVE", "LATEST"
1572
+ # resp.core_network_policy.description #=> String
1573
+ # resp.core_network_policy.created_at #=> Time
1574
+ # resp.core_network_policy.change_set_state #=> String, one of "PENDING_GENERATION", "FAILED_GENERATION", "READY_TO_EXECUTE", "EXECUTING", "EXECUTION_SUCCEEDED", "OUT_OF_DATE"
1575
+ # resp.core_network_policy.policy_errors #=> Array
1576
+ # resp.core_network_policy.policy_errors[0].error_code #=> String
1577
+ # resp.core_network_policy.policy_errors[0].message #=> String
1578
+ # resp.core_network_policy.policy_errors[0].path #=> String
1579
+ # resp.core_network_policy.policy_document #=> String
1580
+ #
1581
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteCoreNetworkPolicyVersion AWS API Documentation
1582
+ #
1583
+ # @overload delete_core_network_policy_version(params = {})
1584
+ # @param [Hash] params ({})
1585
+ def delete_core_network_policy_version(params = {}, options = {})
1586
+ req = build_request(:delete_core_network_policy_version, params)
1587
+ req.send_request(options)
1588
+ end
1589
+
912
1590
  # Deletes an existing device. You must first disassociate the device
913
1591
  # from any links and customer gateways.
914
1592
  #
@@ -925,8 +1603,8 @@ module Aws::NetworkManager
925
1603
  # @example Request syntax with placeholder values
926
1604
  #
927
1605
  # resp = client.delete_device({
928
- # global_network_id: "String", # required
929
- # device_id: "String", # required
1606
+ # global_network_id: "GlobalNetworkId", # required
1607
+ # device_id: "DeviceId", # required
930
1608
  # })
931
1609
  #
932
1610
  # @example Response structure
@@ -974,7 +1652,7 @@ module Aws::NetworkManager
974
1652
  # @example Request syntax with placeholder values
975
1653
  #
976
1654
  # resp = client.delete_global_network({
977
- # global_network_id: "String", # required
1655
+ # global_network_id: "GlobalNetworkId", # required
978
1656
  # })
979
1657
  #
980
1658
  # @example Response structure
@@ -1013,8 +1691,8 @@ module Aws::NetworkManager
1013
1691
  # @example Request syntax with placeholder values
1014
1692
  #
1015
1693
  # resp = client.delete_link({
1016
- # global_network_id: "String", # required
1017
- # link_id: "String", # required
1694
+ # global_network_id: "GlobalNetworkId", # required
1695
+ # link_id: "LinkId", # required
1018
1696
  # })
1019
1697
  #
1020
1698
  # @example Response structure
@@ -1043,13 +1721,36 @@ module Aws::NetworkManager
1043
1721
  req.send_request(options)
1044
1722
  end
1045
1723
 
1046
- # Deletes an existing site. The site cannot be associated with any
1047
- # device or link.
1724
+ # Deletes a resource policy for the specified resource. This revokes the
1725
+ # access of the principals specified in the resource policy.
1048
1726
  #
1049
- # @option params [required, String] :global_network_id
1050
- # The ID of the global network.
1727
+ # @option params [required, String] :resource_arn
1728
+ # The ARN of the policy to delete.
1051
1729
  #
1052
- # @option params [required, String] :site_id
1730
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1731
+ #
1732
+ # @example Request syntax with placeholder values
1733
+ #
1734
+ # resp = client.delete_resource_policy({
1735
+ # resource_arn: "ResourceArn", # required
1736
+ # })
1737
+ #
1738
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteResourcePolicy AWS API Documentation
1739
+ #
1740
+ # @overload delete_resource_policy(params = {})
1741
+ # @param [Hash] params ({})
1742
+ def delete_resource_policy(params = {}, options = {})
1743
+ req = build_request(:delete_resource_policy, params)
1744
+ req.send_request(options)
1745
+ end
1746
+
1747
+ # Deletes an existing site. The site cannot be associated with any
1748
+ # device or link.
1749
+ #
1750
+ # @option params [required, String] :global_network_id
1751
+ # The ID of the global network.
1752
+ #
1753
+ # @option params [required, String] :site_id
1053
1754
  # The ID of the site.
1054
1755
  #
1055
1756
  # @return [Types::DeleteSiteResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -1059,8 +1760,8 @@ module Aws::NetworkManager
1059
1760
  # @example Request syntax with placeholder values
1060
1761
  #
1061
1762
  # resp = client.delete_site({
1062
- # global_network_id: "String", # required
1063
- # site_id: "String", # required
1763
+ # global_network_id: "GlobalNetworkId", # required
1764
+ # site_id: "SiteId", # required
1064
1765
  # })
1065
1766
  #
1066
1767
  # @example Response structure
@@ -1104,8 +1805,8 @@ module Aws::NetworkManager
1104
1805
  # @example Request syntax with placeholder values
1105
1806
  #
1106
1807
  # resp = client.deregister_transit_gateway({
1107
- # global_network_id: "String", # required
1108
- # transit_gateway_arn: "String", # required
1808
+ # global_network_id: "GlobalNetworkId", # required
1809
+ # transit_gateway_arn: "TransitGatewayArn", # required
1109
1810
  # })
1110
1811
  #
1111
1812
  # @example Response structure
@@ -1149,9 +1850,9 @@ module Aws::NetworkManager
1149
1850
  # @example Request syntax with placeholder values
1150
1851
  #
1151
1852
  # resp = client.describe_global_networks({
1152
- # global_network_ids: ["String"],
1853
+ # global_network_ids: ["GlobalNetworkId"],
1153
1854
  # max_results: 1,
1154
- # next_token: "String",
1855
+ # next_token: "NextToken",
1155
1856
  # })
1156
1857
  #
1157
1858
  # @example Response structure
@@ -1176,18 +1877,49 @@ module Aws::NetworkManager
1176
1877
  req.send_request(options)
1177
1878
  end
1178
1879
 
1179
- # Disassociates a customer gateway from a device and a link.
1880
+ # Disassociates a core network Connect peer from a device and a link.
1180
1881
  #
1181
1882
  # @option params [required, String] :global_network_id
1182
1883
  # The ID of the global network.
1183
1884
  #
1184
- # @option params [required, String] :customer_gateway_arn
1185
- # The Amazon Resource Name (ARN) of the customer gateway. For more
1186
- # information, see [Resources Defined by Amazon EC2][1].
1885
+ # @option params [required, String] :connect_peer_id
1886
+ # The ID of the Connect peer to disassociate from a device.
1887
+ #
1888
+ # @return [Types::DisassociateConnectPeerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1889
+ #
1890
+ # * {Types::DisassociateConnectPeerResponse#connect_peer_association #connect_peer_association} => Types::ConnectPeerAssociation
1891
+ #
1892
+ # @example Request syntax with placeholder values
1187
1893
  #
1894
+ # resp = client.disassociate_connect_peer({
1895
+ # global_network_id: "GlobalNetworkId", # required
1896
+ # connect_peer_id: "ConnectPeerId", # required
1897
+ # })
1898
+ #
1899
+ # @example Response structure
1900
+ #
1901
+ # resp.connect_peer_association.connect_peer_id #=> String
1902
+ # resp.connect_peer_association.global_network_id #=> String
1903
+ # resp.connect_peer_association.device_id #=> String
1904
+ # resp.connect_peer_association.link_id #=> String
1905
+ # resp.connect_peer_association.state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "DELETED"
1906
+ #
1907
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DisassociateConnectPeer AWS API Documentation
1908
+ #
1909
+ # @overload disassociate_connect_peer(params = {})
1910
+ # @param [Hash] params ({})
1911
+ def disassociate_connect_peer(params = {}, options = {})
1912
+ req = build_request(:disassociate_connect_peer, params)
1913
+ req.send_request(options)
1914
+ end
1915
+
1916
+ # Disassociates a customer gateway from a device and a link.
1188
1917
  #
1918
+ # @option params [required, String] :global_network_id
1919
+ # The ID of the global network.
1189
1920
  #
1190
- # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies
1921
+ # @option params [required, String] :customer_gateway_arn
1922
+ # The Amazon Resource Name (ARN) of the customer gateway.
1191
1923
  #
1192
1924
  # @return [Types::DisassociateCustomerGatewayResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1193
1925
  #
@@ -1196,8 +1928,8 @@ module Aws::NetworkManager
1196
1928
  # @example Request syntax with placeholder values
1197
1929
  #
1198
1930
  # resp = client.disassociate_customer_gateway({
1199
- # global_network_id: "String", # required
1200
- # customer_gateway_arn: "String", # required
1931
+ # global_network_id: "GlobalNetworkId", # required
1932
+ # customer_gateway_arn: "CustomerGatewayArn", # required
1201
1933
  # })
1202
1934
  #
1203
1935
  # @example Response structure
@@ -1236,9 +1968,9 @@ module Aws::NetworkManager
1236
1968
  # @example Request syntax with placeholder values
1237
1969
  #
1238
1970
  # resp = client.disassociate_link({
1239
- # global_network_id: "String", # required
1240
- # device_id: "String", # required
1241
- # link_id: "String", # required
1971
+ # global_network_id: "GlobalNetworkId", # required
1972
+ # device_id: "DeviceId", # required
1973
+ # link_id: "LinkId", # required
1242
1974
  # })
1243
1975
  #
1244
1976
  # @example Response structure
@@ -1272,8 +2004,8 @@ module Aws::NetworkManager
1272
2004
  # @example Request syntax with placeholder values
1273
2005
  #
1274
2006
  # resp = client.disassociate_transit_gateway_connect_peer({
1275
- # global_network_id: "String", # required
1276
- # transit_gateway_connect_peer_arn: "String", # required
2007
+ # global_network_id: "GlobalNetworkId", # required
2008
+ # transit_gateway_connect_peer_arn: "TransitGatewayConnectPeerArn", # required
1277
2009
  # })
1278
2010
  #
1279
2011
  # @example Response structure
@@ -1293,6 +2025,177 @@ module Aws::NetworkManager
1293
2025
  req.send_request(options)
1294
2026
  end
1295
2027
 
2028
+ # Executes a change set on your core network. Deploys changes globally
2029
+ # based on the policy submitted..
2030
+ #
2031
+ # @option params [required, String] :core_network_id
2032
+ # The ID of a core network.
2033
+ #
2034
+ # @option params [required, Integer] :policy_version_id
2035
+ # The ID of the policy version.
2036
+ #
2037
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2038
+ #
2039
+ # @example Request syntax with placeholder values
2040
+ #
2041
+ # resp = client.execute_core_network_change_set({
2042
+ # core_network_id: "CoreNetworkId", # required
2043
+ # policy_version_id: 1, # required
2044
+ # })
2045
+ #
2046
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/ExecuteCoreNetworkChangeSet AWS API Documentation
2047
+ #
2048
+ # @overload execute_core_network_change_set(params = {})
2049
+ # @param [Hash] params ({})
2050
+ def execute_core_network_change_set(params = {}, options = {})
2051
+ req = build_request(:execute_core_network_change_set, params)
2052
+ req.send_request(options)
2053
+ end
2054
+
2055
+ # Returns information about a core network Connect attachment.
2056
+ #
2057
+ # @option params [required, String] :attachment_id
2058
+ # The ID of the attachment.
2059
+ #
2060
+ # @return [Types::GetConnectAttachmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2061
+ #
2062
+ # * {Types::GetConnectAttachmentResponse#connect_attachment #connect_attachment} => Types::ConnectAttachment
2063
+ #
2064
+ # @example Request syntax with placeholder values
2065
+ #
2066
+ # resp = client.get_connect_attachment({
2067
+ # attachment_id: "AttachmentId", # required
2068
+ # })
2069
+ #
2070
+ # @example Response structure
2071
+ #
2072
+ # resp.connect_attachment.attachment.core_network_id #=> String
2073
+ # resp.connect_attachment.attachment.core_network_arn #=> String
2074
+ # resp.connect_attachment.attachment.attachment_id #=> String
2075
+ # resp.connect_attachment.attachment.owner_account_id #=> String
2076
+ # resp.connect_attachment.attachment.attachment_type #=> String, one of "CONNECT", "SITE_TO_SITE_VPN", "VPC"
2077
+ # resp.connect_attachment.attachment.state #=> String, one of "REJECTED", "PENDING_ATTACHMENT_ACCEPTANCE", "CREATING", "FAILED", "AVAILABLE", "UPDATING", "PENDING_NETWORK_UPDATE", "PENDING_TAG_ACCEPTANCE", "DELETING"
2078
+ # resp.connect_attachment.attachment.edge_location #=> String
2079
+ # resp.connect_attachment.attachment.resource_arn #=> String
2080
+ # resp.connect_attachment.attachment.attachment_policy_rule_number #=> Integer
2081
+ # resp.connect_attachment.attachment.segment_name #=> String
2082
+ # resp.connect_attachment.attachment.tags #=> Array
2083
+ # resp.connect_attachment.attachment.tags[0].key #=> String
2084
+ # resp.connect_attachment.attachment.tags[0].value #=> String
2085
+ # resp.connect_attachment.attachment.proposed_segment_change.tags #=> Array
2086
+ # resp.connect_attachment.attachment.proposed_segment_change.tags[0].key #=> String
2087
+ # resp.connect_attachment.attachment.proposed_segment_change.tags[0].value #=> String
2088
+ # resp.connect_attachment.attachment.proposed_segment_change.attachment_policy_rule_number #=> Integer
2089
+ # resp.connect_attachment.attachment.proposed_segment_change.segment_name #=> String
2090
+ # resp.connect_attachment.attachment.created_at #=> Time
2091
+ # resp.connect_attachment.attachment.updated_at #=> Time
2092
+ # resp.connect_attachment.transport_attachment_id #=> String
2093
+ # resp.connect_attachment.options.protocol #=> String, one of "GRE"
2094
+ #
2095
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetConnectAttachment AWS API Documentation
2096
+ #
2097
+ # @overload get_connect_attachment(params = {})
2098
+ # @param [Hash] params ({})
2099
+ def get_connect_attachment(params = {}, options = {})
2100
+ req = build_request(:get_connect_attachment, params)
2101
+ req.send_request(options)
2102
+ end
2103
+
2104
+ # Returns information about a core network Connect peer.
2105
+ #
2106
+ # @option params [required, String] :connect_peer_id
2107
+ # The ID of the Connect peer.
2108
+ #
2109
+ # @return [Types::GetConnectPeerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2110
+ #
2111
+ # * {Types::GetConnectPeerResponse#connect_peer #connect_peer} => Types::ConnectPeer
2112
+ #
2113
+ # @example Request syntax with placeholder values
2114
+ #
2115
+ # resp = client.get_connect_peer({
2116
+ # connect_peer_id: "ConnectPeerId", # required
2117
+ # })
2118
+ #
2119
+ # @example Response structure
2120
+ #
2121
+ # resp.connect_peer.core_network_id #=> String
2122
+ # resp.connect_peer.connect_attachment_id #=> String
2123
+ # resp.connect_peer.connect_peer_id #=> String
2124
+ # resp.connect_peer.edge_location #=> String
2125
+ # resp.connect_peer.state #=> String, one of "CREATING", "FAILED", "AVAILABLE", "DELETING"
2126
+ # resp.connect_peer.created_at #=> Time
2127
+ # resp.connect_peer.configuration.core_network_address #=> String
2128
+ # resp.connect_peer.configuration.peer_address #=> String
2129
+ # resp.connect_peer.configuration.inside_cidr_blocks #=> Array
2130
+ # resp.connect_peer.configuration.inside_cidr_blocks[0] #=> String
2131
+ # resp.connect_peer.configuration.protocol #=> String, one of "GRE"
2132
+ # resp.connect_peer.configuration.bgp_configurations #=> Array
2133
+ # resp.connect_peer.configuration.bgp_configurations[0].core_network_asn #=> Integer
2134
+ # resp.connect_peer.configuration.bgp_configurations[0].peer_asn #=> Integer
2135
+ # resp.connect_peer.configuration.bgp_configurations[0].core_network_address #=> String
2136
+ # resp.connect_peer.configuration.bgp_configurations[0].peer_address #=> String
2137
+ # resp.connect_peer.tags #=> Array
2138
+ # resp.connect_peer.tags[0].key #=> String
2139
+ # resp.connect_peer.tags[0].value #=> String
2140
+ #
2141
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetConnectPeer AWS API Documentation
2142
+ #
2143
+ # @overload get_connect_peer(params = {})
2144
+ # @param [Hash] params ({})
2145
+ def get_connect_peer(params = {}, options = {})
2146
+ req = build_request(:get_connect_peer, params)
2147
+ req.send_request(options)
2148
+ end
2149
+
2150
+ # Returns information about a core network Connect peer associations.
2151
+ #
2152
+ # @option params [required, String] :global_network_id
2153
+ # The ID of the global network.
2154
+ #
2155
+ # @option params [Array<String>] :connect_peer_ids
2156
+ # The IDs of the Connect peers.
2157
+ #
2158
+ # @option params [Integer] :max_results
2159
+ # The maximum number of results to return.
2160
+ #
2161
+ # @option params [String] :next_token
2162
+ # The token for the next page of results.
2163
+ #
2164
+ # @return [Types::GetConnectPeerAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2165
+ #
2166
+ # * {Types::GetConnectPeerAssociationsResponse#connect_peer_associations #connect_peer_associations} => Array&lt;Types::ConnectPeerAssociation&gt;
2167
+ # * {Types::GetConnectPeerAssociationsResponse#next_token #next_token} => String
2168
+ #
2169
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2170
+ #
2171
+ # @example Request syntax with placeholder values
2172
+ #
2173
+ # resp = client.get_connect_peer_associations({
2174
+ # global_network_id: "GlobalNetworkId", # required
2175
+ # connect_peer_ids: ["ConnectPeerId"],
2176
+ # max_results: 1,
2177
+ # next_token: "NextToken",
2178
+ # })
2179
+ #
2180
+ # @example Response structure
2181
+ #
2182
+ # resp.connect_peer_associations #=> Array
2183
+ # resp.connect_peer_associations[0].connect_peer_id #=> String
2184
+ # resp.connect_peer_associations[0].global_network_id #=> String
2185
+ # resp.connect_peer_associations[0].device_id #=> String
2186
+ # resp.connect_peer_associations[0].link_id #=> String
2187
+ # resp.connect_peer_associations[0].state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "DELETED"
2188
+ # resp.next_token #=> String
2189
+ #
2190
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetConnectPeerAssociations AWS API Documentation
2191
+ #
2192
+ # @overload get_connect_peer_associations(params = {})
2193
+ # @param [Hash] params ({})
2194
+ def get_connect_peer_associations(params = {}, options = {})
2195
+ req = build_request(:get_connect_peer_associations, params)
2196
+ req.send_request(options)
2197
+ end
2198
+
1296
2199
  # Gets information about one or more of your connections in a global
1297
2200
  # network.
1298
2201
  #
@@ -1321,11 +2224,11 @@ module Aws::NetworkManager
1321
2224
  # @example Request syntax with placeholder values
1322
2225
  #
1323
2226
  # resp = client.get_connections({
1324
- # global_network_id: "String", # required
1325
- # connection_ids: ["String"],
1326
- # device_id: "String",
2227
+ # global_network_id: "GlobalNetworkId", # required
2228
+ # connection_ids: ["ConnectionId"],
2229
+ # device_id: "DeviceId",
1327
2230
  # max_results: 1,
1328
- # next_token: "String",
2231
+ # next_token: "NextToken",
1329
2232
  # })
1330
2233
  #
1331
2234
  # @example Response structure
@@ -1355,6 +2258,169 @@ module Aws::NetworkManager
1355
2258
  req.send_request(options)
1356
2259
  end
1357
2260
 
2261
+ # Returns information about a core network. By default it returns the
2262
+ # LIVE policy.
2263
+ #
2264
+ # @option params [required, String] :core_network_id
2265
+ # The ID of a core network.
2266
+ #
2267
+ # @return [Types::GetCoreNetworkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2268
+ #
2269
+ # * {Types::GetCoreNetworkResponse#core_network #core_network} => Types::CoreNetwork
2270
+ #
2271
+ # @example Request syntax with placeholder values
2272
+ #
2273
+ # resp = client.get_core_network({
2274
+ # core_network_id: "CoreNetworkId", # required
2275
+ # })
2276
+ #
2277
+ # @example Response structure
2278
+ #
2279
+ # resp.core_network.global_network_id #=> String
2280
+ # resp.core_network.core_network_id #=> String
2281
+ # resp.core_network.core_network_arn #=> String
2282
+ # resp.core_network.description #=> String
2283
+ # resp.core_network.created_at #=> Time
2284
+ # resp.core_network.state #=> String, one of "CREATING", "UPDATING", "AVAILABLE", "DELETING"
2285
+ # resp.core_network.segments #=> Array
2286
+ # resp.core_network.segments[0].name #=> String
2287
+ # resp.core_network.segments[0].edge_locations #=> Array
2288
+ # resp.core_network.segments[0].edge_locations[0] #=> String
2289
+ # resp.core_network.segments[0].shared_segments #=> Array
2290
+ # resp.core_network.segments[0].shared_segments[0] #=> String
2291
+ # resp.core_network.edges #=> Array
2292
+ # resp.core_network.edges[0].edge_location #=> String
2293
+ # resp.core_network.edges[0].asn #=> Integer
2294
+ # resp.core_network.edges[0].inside_cidr_blocks #=> Array
2295
+ # resp.core_network.edges[0].inside_cidr_blocks[0] #=> String
2296
+ # resp.core_network.tags #=> Array
2297
+ # resp.core_network.tags[0].key #=> String
2298
+ # resp.core_network.tags[0].value #=> String
2299
+ #
2300
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetCoreNetwork AWS API Documentation
2301
+ #
2302
+ # @overload get_core_network(params = {})
2303
+ # @param [Hash] params ({})
2304
+ def get_core_network(params = {}, options = {})
2305
+ req = build_request(:get_core_network, params)
2306
+ req.send_request(options)
2307
+ end
2308
+
2309
+ # Returns a change set between the LIVE core network policy and a
2310
+ # submitted policy.
2311
+ #
2312
+ # @option params [required, String] :core_network_id
2313
+ # The ID of a core network.
2314
+ #
2315
+ # @option params [required, Integer] :policy_version_id
2316
+ # The ID of the policy version.
2317
+ #
2318
+ # @option params [Integer] :max_results
2319
+ # The maximum number of results to return.
2320
+ #
2321
+ # @option params [String] :next_token
2322
+ # The token for the next page of results.
2323
+ #
2324
+ # @return [Types::GetCoreNetworkChangeSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2325
+ #
2326
+ # * {Types::GetCoreNetworkChangeSetResponse#core_network_changes #core_network_changes} => Array&lt;Types::CoreNetworkChange&gt;
2327
+ # * {Types::GetCoreNetworkChangeSetResponse#next_token #next_token} => String
2328
+ #
2329
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2330
+ #
2331
+ # @example Request syntax with placeholder values
2332
+ #
2333
+ # resp = client.get_core_network_change_set({
2334
+ # core_network_id: "CoreNetworkId", # required
2335
+ # policy_version_id: 1, # required
2336
+ # max_results: 1,
2337
+ # next_token: "NextToken",
2338
+ # })
2339
+ #
2340
+ # @example Response structure
2341
+ #
2342
+ # resp.core_network_changes #=> Array
2343
+ # resp.core_network_changes[0].type #=> String, one of "CORE_NETWORK_SEGMENT", "CORE_NETWORK_EDGE", "ATTACHMENT_MAPPING", "ATTACHMENT_ROUTE_PROPAGATION", "ATTACHMENT_ROUTE_STATIC"
2344
+ # resp.core_network_changes[0].action #=> String, one of "ADD", "MODIFY", "REMOVE"
2345
+ # resp.core_network_changes[0].identifier #=> String
2346
+ # resp.core_network_changes[0].previous_values.segment_name #=> String
2347
+ # resp.core_network_changes[0].previous_values.edge_locations #=> Array
2348
+ # resp.core_network_changes[0].previous_values.edge_locations[0] #=> String
2349
+ # resp.core_network_changes[0].previous_values.asn #=> Integer
2350
+ # resp.core_network_changes[0].previous_values.cidr #=> String
2351
+ # resp.core_network_changes[0].previous_values.destination_identifier #=> String
2352
+ # resp.core_network_changes[0].previous_values.inside_cidr_blocks #=> Array
2353
+ # resp.core_network_changes[0].previous_values.inside_cidr_blocks[0] #=> String
2354
+ # resp.core_network_changes[0].previous_values.shared_segments #=> Array
2355
+ # resp.core_network_changes[0].previous_values.shared_segments[0] #=> String
2356
+ # resp.core_network_changes[0].new_values.segment_name #=> String
2357
+ # resp.core_network_changes[0].new_values.edge_locations #=> Array
2358
+ # resp.core_network_changes[0].new_values.edge_locations[0] #=> String
2359
+ # resp.core_network_changes[0].new_values.asn #=> Integer
2360
+ # resp.core_network_changes[0].new_values.cidr #=> String
2361
+ # resp.core_network_changes[0].new_values.destination_identifier #=> String
2362
+ # resp.core_network_changes[0].new_values.inside_cidr_blocks #=> Array
2363
+ # resp.core_network_changes[0].new_values.inside_cidr_blocks[0] #=> String
2364
+ # resp.core_network_changes[0].new_values.shared_segments #=> Array
2365
+ # resp.core_network_changes[0].new_values.shared_segments[0] #=> String
2366
+ # resp.next_token #=> String
2367
+ #
2368
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetCoreNetworkChangeSet AWS API Documentation
2369
+ #
2370
+ # @overload get_core_network_change_set(params = {})
2371
+ # @param [Hash] params ({})
2372
+ def get_core_network_change_set(params = {}, options = {})
2373
+ req = build_request(:get_core_network_change_set, params)
2374
+ req.send_request(options)
2375
+ end
2376
+
2377
+ # Gets details about a core network policy. You can get details about
2378
+ # your current live policy or any previous policy version.
2379
+ #
2380
+ # @option params [required, String] :core_network_id
2381
+ # The ID of a core network.
2382
+ #
2383
+ # @option params [Integer] :policy_version_id
2384
+ # The ID of a core network policy version.
2385
+ #
2386
+ # @option params [String] :alias
2387
+ # The alias of a core network policy
2388
+ #
2389
+ # @return [Types::GetCoreNetworkPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2390
+ #
2391
+ # * {Types::GetCoreNetworkPolicyResponse#core_network_policy #core_network_policy} => Types::CoreNetworkPolicy
2392
+ #
2393
+ # @example Request syntax with placeholder values
2394
+ #
2395
+ # resp = client.get_core_network_policy({
2396
+ # core_network_id: "CoreNetworkId", # required
2397
+ # policy_version_id: 1,
2398
+ # alias: "LIVE", # accepts LIVE, LATEST
2399
+ # })
2400
+ #
2401
+ # @example Response structure
2402
+ #
2403
+ # resp.core_network_policy.core_network_id #=> String
2404
+ # resp.core_network_policy.policy_version_id #=> Integer
2405
+ # resp.core_network_policy.alias #=> String, one of "LIVE", "LATEST"
2406
+ # resp.core_network_policy.description #=> String
2407
+ # resp.core_network_policy.created_at #=> Time
2408
+ # resp.core_network_policy.change_set_state #=> String, one of "PENDING_GENERATION", "FAILED_GENERATION", "READY_TO_EXECUTE", "EXECUTING", "EXECUTION_SUCCEEDED", "OUT_OF_DATE"
2409
+ # resp.core_network_policy.policy_errors #=> Array
2410
+ # resp.core_network_policy.policy_errors[0].error_code #=> String
2411
+ # resp.core_network_policy.policy_errors[0].message #=> String
2412
+ # resp.core_network_policy.policy_errors[0].path #=> String
2413
+ # resp.core_network_policy.policy_document #=> String
2414
+ #
2415
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetCoreNetworkPolicy AWS API Documentation
2416
+ #
2417
+ # @overload get_core_network_policy(params = {})
2418
+ # @param [Hash] params ({})
2419
+ def get_core_network_policy(params = {}, options = {})
2420
+ req = build_request(:get_core_network_policy, params)
2421
+ req.send_request(options)
2422
+ end
2423
+
1358
2424
  # Gets the association information for customer gateways that are
1359
2425
  # associated with devices and links in your global network.
1360
2426
  #
@@ -1362,13 +2428,8 @@ module Aws::NetworkManager
1362
2428
  # The ID of the global network.
1363
2429
  #
1364
2430
  # @option params [Array<String>] :customer_gateway_arns
1365
- # One or more customer gateway Amazon Resource Names (ARNs). For more
1366
- # information, see [Resources Defined by Amazon EC2][1]. The maximum is
1367
- # 10.
1368
- #
1369
- #
1370
- #
1371
- # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies
2431
+ # One or more customer gateway Amazon Resource Names (ARNs). The maximum
2432
+ # is 10.
1372
2433
  #
1373
2434
  # @option params [Integer] :max_results
1374
2435
  # The maximum number of results to return.
@@ -1386,10 +2447,10 @@ module Aws::NetworkManager
1386
2447
  # @example Request syntax with placeholder values
1387
2448
  #
1388
2449
  # resp = client.get_customer_gateway_associations({
1389
- # global_network_id: "String", # required
1390
- # customer_gateway_arns: ["String"],
2450
+ # global_network_id: "GlobalNetworkId", # required
2451
+ # customer_gateway_arns: ["CustomerGatewayArn"],
1391
2452
  # max_results: 1,
1392
- # next_token: "String",
2453
+ # next_token: "NextToken",
1393
2454
  # })
1394
2455
  #
1395
2456
  # @example Response structure
@@ -1439,11 +2500,11 @@ module Aws::NetworkManager
1439
2500
  # @example Request syntax with placeholder values
1440
2501
  #
1441
2502
  # resp = client.get_devices({
1442
- # global_network_id: "String", # required
1443
- # device_ids: ["String"],
1444
- # site_id: "String",
2503
+ # global_network_id: "GlobalNetworkId", # required
2504
+ # device_ids: ["DeviceId"],
2505
+ # site_id: "SiteId",
1445
2506
  # max_results: 1,
1446
- # next_token: "String",
2507
+ # next_token: "NextToken",
1447
2508
  # })
1448
2509
  #
1449
2510
  # @example Response structure
@@ -1507,11 +2568,11 @@ module Aws::NetworkManager
1507
2568
  # @example Request syntax with placeholder values
1508
2569
  #
1509
2570
  # resp = client.get_link_associations({
1510
- # global_network_id: "String", # required
1511
- # device_id: "String",
1512
- # link_id: "String",
2571
+ # global_network_id: "GlobalNetworkId", # required
2572
+ # device_id: "DeviceId",
2573
+ # link_id: "LinkId",
1513
2574
  # max_results: 1,
1514
- # next_token: "String",
2575
+ # next_token: "NextToken",
1515
2576
  # })
1516
2577
  #
1517
2578
  # @example Response structure
@@ -1570,13 +2631,13 @@ module Aws::NetworkManager
1570
2631
  # @example Request syntax with placeholder values
1571
2632
  #
1572
2633
  # resp = client.get_links({
1573
- # global_network_id: "String", # required
1574
- # link_ids: ["String"],
1575
- # site_id: "String",
1576
- # type: "String",
1577
- # provider: "String",
2634
+ # global_network_id: "GlobalNetworkId", # required
2635
+ # link_ids: ["LinkId"],
2636
+ # site_id: "SiteId",
2637
+ # type: "ConstrainedString",
2638
+ # provider: "ConstrainedString",
1578
2639
  # max_results: 1,
1579
- # next_token: "String",
2640
+ # next_token: "NextToken",
1580
2641
  # })
1581
2642
  #
1582
2643
  # @example Response structure
@@ -1607,13 +2668,46 @@ module Aws::NetworkManager
1607
2668
  req.send_request(options)
1608
2669
  end
1609
2670
 
1610
- # Gets information about one or more of your sites in a global network.
2671
+ # Gets the count of network resources, by resource type, for the
2672
+ # specified global network.
1611
2673
  #
1612
2674
  # @option params [required, String] :global_network_id
1613
2675
  # The ID of the global network.
1614
2676
  #
1615
- # @option params [Array<String>] :site_ids
1616
- # One or more site IDs. The maximum is 10.
2677
+ # @option params [String] :resource_type
2678
+ # The resource type.
2679
+ #
2680
+ # The following are the supported resource types for Direct Connect:
2681
+ #
2682
+ # * `dxcon`
2683
+ #
2684
+ # * `dx-gateway`
2685
+ #
2686
+ # * `dx-vif`
2687
+ #
2688
+ # The following are the supported resource types for Network Manager:
2689
+ #
2690
+ # * `connection`
2691
+ #
2692
+ # * `device`
2693
+ #
2694
+ # * `link`
2695
+ #
2696
+ # * `site`
2697
+ #
2698
+ # The following are the supported resource types for Amazon VPC:
2699
+ #
2700
+ # * `customer-gateway`
2701
+ #
2702
+ # * `transit-gateway`
2703
+ #
2704
+ # * `transit-gateway-attachment`
2705
+ #
2706
+ # * `transit-gateway-connect-peer`
2707
+ #
2708
+ # * `transit-gateway-route-table`
2709
+ #
2710
+ # * `vpn-connection`
1617
2711
  #
1618
2712
  # @option params [Integer] :max_results
1619
2713
  # The maximum number of results to return.
@@ -1621,56 +2715,93 @@ module Aws::NetworkManager
1621
2715
  # @option params [String] :next_token
1622
2716
  # The token for the next page of results.
1623
2717
  #
1624
- # @return [Types::GetSitesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2718
+ # @return [Types::GetNetworkResourceCountsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1625
2719
  #
1626
- # * {Types::GetSitesResponse#sites #sites} => Array&lt;Types::Site&gt;
1627
- # * {Types::GetSitesResponse#next_token #next_token} => String
2720
+ # * {Types::GetNetworkResourceCountsResponse#network_resource_counts #network_resource_counts} => Array&lt;Types::NetworkResourceCount&gt;
2721
+ # * {Types::GetNetworkResourceCountsResponse#next_token #next_token} => String
1628
2722
  #
1629
2723
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1630
2724
  #
1631
2725
  # @example Request syntax with placeholder values
1632
2726
  #
1633
- # resp = client.get_sites({
1634
- # global_network_id: "String", # required
1635
- # site_ids: ["String"],
2727
+ # resp = client.get_network_resource_counts({
2728
+ # global_network_id: "GlobalNetworkId", # required
2729
+ # resource_type: "ConstrainedString",
1636
2730
  # max_results: 1,
1637
- # next_token: "String",
2731
+ # next_token: "NextToken",
1638
2732
  # })
1639
2733
  #
1640
2734
  # @example Response structure
1641
2735
  #
1642
- # resp.sites #=> Array
1643
- # resp.sites[0].site_id #=> String
1644
- # resp.sites[0].site_arn #=> String
1645
- # resp.sites[0].global_network_id #=> String
1646
- # resp.sites[0].description #=> String
1647
- # resp.sites[0].location.address #=> String
1648
- # resp.sites[0].location.latitude #=> String
1649
- # resp.sites[0].location.longitude #=> String
1650
- # resp.sites[0].created_at #=> Time
1651
- # resp.sites[0].state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "UPDATING"
1652
- # resp.sites[0].tags #=> Array
1653
- # resp.sites[0].tags[0].key #=> String
1654
- # resp.sites[0].tags[0].value #=> String
2736
+ # resp.network_resource_counts #=> Array
2737
+ # resp.network_resource_counts[0].resource_type #=> String
2738
+ # resp.network_resource_counts[0].count #=> Integer
1655
2739
  # resp.next_token #=> String
1656
2740
  #
1657
- # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetSites AWS API Documentation
2741
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetNetworkResourceCounts AWS API Documentation
1658
2742
  #
1659
- # @overload get_sites(params = {})
2743
+ # @overload get_network_resource_counts(params = {})
1660
2744
  # @param [Hash] params ({})
1661
- def get_sites(params = {}, options = {})
1662
- req = build_request(:get_sites, params)
2745
+ def get_network_resource_counts(params = {}, options = {})
2746
+ req = build_request(:get_network_resource_counts, params)
1663
2747
  req.send_request(options)
1664
2748
  end
1665
2749
 
1666
- # Gets information about one or more of your transit gateway Connect
1667
- # peer associations in a global network.
2750
+ # Gets the network resource relationships for the specified global
2751
+ # network.
1668
2752
  #
1669
2753
  # @option params [required, String] :global_network_id
1670
2754
  # The ID of the global network.
1671
2755
  #
1672
- # @option params [Array<String>] :transit_gateway_connect_peer_arns
1673
- # One or more transit gateway Connect peer Amazon Resource Names (ARNs).
2756
+ # @option params [String] :core_network_id
2757
+ # The ID of a core network.
2758
+ #
2759
+ # @option params [String] :registered_gateway_arn
2760
+ # The ARN of the registered gateway.
2761
+ #
2762
+ # @option params [String] :aws_region
2763
+ # The Amazon Web Services Region.
2764
+ #
2765
+ # @option params [String] :account_id
2766
+ # The Amazon Web Services account ID.
2767
+ #
2768
+ # @option params [String] :resource_type
2769
+ # The resource type.
2770
+ #
2771
+ # The following are the supported resource types for Direct Connect:
2772
+ #
2773
+ # * `dxcon`
2774
+ #
2775
+ # * `dx-gateway`
2776
+ #
2777
+ # * `dx-vif`
2778
+ #
2779
+ # The following are the supported resource types for Network Manager:
2780
+ #
2781
+ # * `connection`
2782
+ #
2783
+ # * `device`
2784
+ #
2785
+ # * `link`
2786
+ #
2787
+ # * `site`
2788
+ #
2789
+ # The following are the supported resource types for Amazon VPC:
2790
+ #
2791
+ # * `customer-gateway`
2792
+ #
2793
+ # * `transit-gateway`
2794
+ #
2795
+ # * `transit-gateway-attachment`
2796
+ #
2797
+ # * `transit-gateway-connect-peer`
2798
+ #
2799
+ # * `transit-gateway-route-table`
2800
+ #
2801
+ # * `vpn-connection`
2802
+ #
2803
+ # @option params [String] :resource_arn
2804
+ # The ARN of the gateway.
1674
2805
  #
1675
2806
  # @option params [Integer] :max_results
1676
2807
  # The maximum number of results to return.
@@ -1678,50 +2809,745 @@ module Aws::NetworkManager
1678
2809
  # @option params [String] :next_token
1679
2810
  # The token for the next page of results.
1680
2811
  #
1681
- # @return [Types::GetTransitGatewayConnectPeerAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2812
+ # @return [Types::GetNetworkResourceRelationshipsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1682
2813
  #
1683
- # * {Types::GetTransitGatewayConnectPeerAssociationsResponse#transit_gateway_connect_peer_associations #transit_gateway_connect_peer_associations} => Array&lt;Types::TransitGatewayConnectPeerAssociation&gt;
1684
- # * {Types::GetTransitGatewayConnectPeerAssociationsResponse#next_token #next_token} => String
2814
+ # * {Types::GetNetworkResourceRelationshipsResponse#relationships #relationships} => Array&lt;Types::Relationship&gt;
2815
+ # * {Types::GetNetworkResourceRelationshipsResponse#next_token #next_token} => String
1685
2816
  #
1686
2817
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1687
2818
  #
1688
2819
  # @example Request syntax with placeholder values
1689
2820
  #
1690
- # resp = client.get_transit_gateway_connect_peer_associations({
1691
- # global_network_id: "String", # required
1692
- # transit_gateway_connect_peer_arns: ["String"],
2821
+ # resp = client.get_network_resource_relationships({
2822
+ # global_network_id: "GlobalNetworkId", # required
2823
+ # core_network_id: "CoreNetworkId",
2824
+ # registered_gateway_arn: "ResourceArn",
2825
+ # aws_region: "ExternalRegionCode",
2826
+ # account_id: "AWSAccountId",
2827
+ # resource_type: "ConstrainedString",
2828
+ # resource_arn: "ResourceArn",
1693
2829
  # max_results: 1,
1694
- # next_token: "String",
2830
+ # next_token: "NextToken",
1695
2831
  # })
1696
2832
  #
1697
2833
  # @example Response structure
1698
2834
  #
1699
- # resp.transit_gateway_connect_peer_associations #=> Array
1700
- # resp.transit_gateway_connect_peer_associations[0].transit_gateway_connect_peer_arn #=> String
1701
- # resp.transit_gateway_connect_peer_associations[0].global_network_id #=> String
1702
- # resp.transit_gateway_connect_peer_associations[0].device_id #=> String
1703
- # resp.transit_gateway_connect_peer_associations[0].link_id #=> String
1704
- # resp.transit_gateway_connect_peer_associations[0].state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "DELETED"
2835
+ # resp.relationships #=> Array
2836
+ # resp.relationships[0].from #=> String
2837
+ # resp.relationships[0].to #=> String
1705
2838
  # resp.next_token #=> String
1706
2839
  #
1707
- # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetTransitGatewayConnectPeerAssociations AWS API Documentation
2840
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetNetworkResourceRelationships AWS API Documentation
1708
2841
  #
1709
- # @overload get_transit_gateway_connect_peer_associations(params = {})
2842
+ # @overload get_network_resource_relationships(params = {})
1710
2843
  # @param [Hash] params ({})
1711
- def get_transit_gateway_connect_peer_associations(params = {}, options = {})
1712
- req = build_request(:get_transit_gateway_connect_peer_associations, params)
2844
+ def get_network_resource_relationships(params = {}, options = {})
2845
+ req = build_request(:get_network_resource_relationships, params)
1713
2846
  req.send_request(options)
1714
2847
  end
1715
2848
 
1716
- # Gets information about the transit gateway registrations in a
1717
- # specified global network.
2849
+ # Describes the network resources for the specified global network.
2850
+ #
2851
+ # The results include information from the corresponding Describe call
2852
+ # for the resource, minus any sensitive information such as pre-shared
2853
+ # keys.
1718
2854
  #
1719
2855
  # @option params [required, String] :global_network_id
1720
2856
  # The ID of the global network.
1721
2857
  #
1722
- # @option params [Array<String>] :transit_gateway_arns
1723
- # The Amazon Resource Names (ARNs) of one or more transit gateways. The
1724
- # maximum is 10.
2858
+ # @option params [String] :core_network_id
2859
+ # The ID of a core network.
2860
+ #
2861
+ # @option params [String] :registered_gateway_arn
2862
+ # The ARN of the gateway.
2863
+ #
2864
+ # @option params [String] :aws_region
2865
+ # The Amazon Web Services Region.
2866
+ #
2867
+ # @option params [String] :account_id
2868
+ # The Amazon Web Services account ID.
2869
+ #
2870
+ # @option params [String] :resource_type
2871
+ # The resource type.
2872
+ #
2873
+ # The following are the supported resource types for Direct Connect:
2874
+ #
2875
+ # * `dxcon` - The definition model is [Connection][1].
2876
+ #
2877
+ # * `dx-gateway` - The definition model is [DirectConnectGateway][2].
2878
+ #
2879
+ # * `dx-vif` - The definition model is [VirtualInterface][3].
2880
+ #
2881
+ # The following are the supported resource types for Network Manager:
2882
+ #
2883
+ # * `connection` - The definition model is [Connection][4].
2884
+ #
2885
+ # * `device` - The definition model is [Device][5].
2886
+ #
2887
+ # * `link` - The definition model is [Link][6].
2888
+ #
2889
+ # * `site` - The definition model is [Site][7].
2890
+ #
2891
+ # The following are the supported resource types for Amazon VPC:
2892
+ #
2893
+ # * `customer-gateway` - The definition model is [CustomerGateway][8].
2894
+ #
2895
+ # * `transit-gateway` - The definition model is [TransitGateway][9].
2896
+ #
2897
+ # * `transit-gateway-attachment` - The definition model is
2898
+ # [TransitGatewayAttachment][10].
2899
+ #
2900
+ # * `transit-gateway-connect-peer` - The definition model is
2901
+ # [TransitGatewayConnectPeer][11].
2902
+ #
2903
+ # * `transit-gateway-route-table` - The definition model is
2904
+ # [TransitGatewayRouteTable][12].
2905
+ #
2906
+ # * `vpn-connection` - The definition model is [VpnConnection][13].
2907
+ #
2908
+ #
2909
+ #
2910
+ # [1]: https://docs.aws.amazon.com/directconnect/latest/APIReference/API_Connection.html
2911
+ # [2]: https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DirectConnectGateway.html
2912
+ # [3]: https://docs.aws.amazon.com/directconnect/latest/APIReference/API_VirtualInterface.html
2913
+ # [4]: https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Connection.html
2914
+ # [5]: https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Device.html
2915
+ # [6]: https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Link.html
2916
+ # [7]: https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Site.html
2917
+ # [8]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CustomerGateway.html
2918
+ # [9]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGateway.html
2919
+ # [10]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayAttachment.html
2920
+ # [11]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayConnectPeer.html
2921
+ # [12]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayRouteTable.html
2922
+ # [13]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpnConnection.html
2923
+ #
2924
+ # @option params [String] :resource_arn
2925
+ # The ARN of the resource.
2926
+ #
2927
+ # @option params [Integer] :max_results
2928
+ # The maximum number of results to return.
2929
+ #
2930
+ # @option params [String] :next_token
2931
+ # The token for the next page of results.
2932
+ #
2933
+ # @return [Types::GetNetworkResourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2934
+ #
2935
+ # * {Types::GetNetworkResourcesResponse#network_resources #network_resources} => Array&lt;Types::NetworkResource&gt;
2936
+ # * {Types::GetNetworkResourcesResponse#next_token #next_token} => String
2937
+ #
2938
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2939
+ #
2940
+ # @example Request syntax with placeholder values
2941
+ #
2942
+ # resp = client.get_network_resources({
2943
+ # global_network_id: "GlobalNetworkId", # required
2944
+ # core_network_id: "CoreNetworkId",
2945
+ # registered_gateway_arn: "ResourceArn",
2946
+ # aws_region: "ExternalRegionCode",
2947
+ # account_id: "AWSAccountId",
2948
+ # resource_type: "ConstrainedString",
2949
+ # resource_arn: "ResourceArn",
2950
+ # max_results: 1,
2951
+ # next_token: "NextToken",
2952
+ # })
2953
+ #
2954
+ # @example Response structure
2955
+ #
2956
+ # resp.network_resources #=> Array
2957
+ # resp.network_resources[0].registered_gateway_arn #=> String
2958
+ # resp.network_resources[0].core_network_id #=> String
2959
+ # resp.network_resources[0].aws_region #=> String
2960
+ # resp.network_resources[0].account_id #=> String
2961
+ # resp.network_resources[0].resource_type #=> String
2962
+ # resp.network_resources[0].resource_id #=> String
2963
+ # resp.network_resources[0].resource_arn #=> String
2964
+ # resp.network_resources[0].definition #=> String
2965
+ # resp.network_resources[0].definition_timestamp #=> Time
2966
+ # resp.network_resources[0].tags #=> Array
2967
+ # resp.network_resources[0].tags[0].key #=> String
2968
+ # resp.network_resources[0].tags[0].value #=> String
2969
+ # resp.network_resources[0].metadata #=> Hash
2970
+ # resp.network_resources[0].metadata["ConstrainedString"] #=> String
2971
+ # resp.next_token #=> String
2972
+ #
2973
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetNetworkResources AWS API Documentation
2974
+ #
2975
+ # @overload get_network_resources(params = {})
2976
+ # @param [Hash] params ({})
2977
+ def get_network_resources(params = {}, options = {})
2978
+ req = build_request(:get_network_resources, params)
2979
+ req.send_request(options)
2980
+ end
2981
+
2982
+ # Gets the network routes of the specified global network.
2983
+ #
2984
+ # @option params [required, String] :global_network_id
2985
+ # The ID of the global network.
2986
+ #
2987
+ # @option params [required, Types::RouteTableIdentifier] :route_table_identifier
2988
+ # The ID of the route table.
2989
+ #
2990
+ # @option params [Array<String>] :exact_cidr_matches
2991
+ # An exact CIDR block.
2992
+ #
2993
+ # @option params [Array<String>] :longest_prefix_matches
2994
+ # The most specific route that matches the traffic (longest prefix
2995
+ # match).
2996
+ #
2997
+ # @option params [Array<String>] :subnet_of_matches
2998
+ # The routes with a subnet that match the specified CIDR filter.
2999
+ #
3000
+ # @option params [Array<String>] :supernet_of_matches
3001
+ # The routes with a CIDR that encompasses the CIDR filter. Example: If
3002
+ # you specify 10.0.1.0/30, then the result returns 10.0.1.0/29.
3003
+ #
3004
+ # @option params [Array<String>] :prefix_list_ids
3005
+ # The IDs of the prefix lists.
3006
+ #
3007
+ # @option params [Array<String>] :states
3008
+ # The route states.
3009
+ #
3010
+ # @option params [Array<String>] :types
3011
+ # The route types.
3012
+ #
3013
+ # @option params [Hash<String,Array>] :destination_filters
3014
+ # Filter by route table destination. Possible Values:
3015
+ # TRANSIT\_GATEWAY\_ATTACHMENT\_ID, RESOURCE\_ID, or RESOURCE\_TYPE.
3016
+ #
3017
+ # @return [Types::GetNetworkRoutesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3018
+ #
3019
+ # * {Types::GetNetworkRoutesResponse#route_table_arn #route_table_arn} => String
3020
+ # * {Types::GetNetworkRoutesResponse#core_network_segment_edge #core_network_segment_edge} => Types::CoreNetworkSegmentEdgeIdentifier
3021
+ # * {Types::GetNetworkRoutesResponse#route_table_type #route_table_type} => String
3022
+ # * {Types::GetNetworkRoutesResponse#route_table_timestamp #route_table_timestamp} => Time
3023
+ # * {Types::GetNetworkRoutesResponse#network_routes #network_routes} => Array&lt;Types::NetworkRoute&gt;
3024
+ #
3025
+ # @example Request syntax with placeholder values
3026
+ #
3027
+ # resp = client.get_network_routes({
3028
+ # global_network_id: "GlobalNetworkId", # required
3029
+ # route_table_identifier: { # required
3030
+ # transit_gateway_route_table_arn: "TransitGatewayRouteTableArn",
3031
+ # core_network_segment_edge: {
3032
+ # core_network_id: "CoreNetworkId",
3033
+ # segment_name: "ConstrainedString",
3034
+ # edge_location: "ExternalRegionCode",
3035
+ # },
3036
+ # },
3037
+ # exact_cidr_matches: ["ConstrainedString"],
3038
+ # longest_prefix_matches: ["ConstrainedString"],
3039
+ # subnet_of_matches: ["ConstrainedString"],
3040
+ # supernet_of_matches: ["ConstrainedString"],
3041
+ # prefix_list_ids: ["ConstrainedString"],
3042
+ # states: ["ACTIVE"], # accepts ACTIVE, BLACKHOLE
3043
+ # types: ["PROPAGATED"], # accepts PROPAGATED, STATIC
3044
+ # destination_filters: {
3045
+ # "FilterName" => ["FilterValue"],
3046
+ # },
3047
+ # })
3048
+ #
3049
+ # @example Response structure
3050
+ #
3051
+ # resp.route_table_arn #=> String
3052
+ # resp.core_network_segment_edge.core_network_id #=> String
3053
+ # resp.core_network_segment_edge.segment_name #=> String
3054
+ # resp.core_network_segment_edge.edge_location #=> String
3055
+ # resp.route_table_type #=> String, one of "TRANSIT_GATEWAY_ROUTE_TABLE", "CORE_NETWORK_SEGMENT"
3056
+ # resp.route_table_timestamp #=> Time
3057
+ # resp.network_routes #=> Array
3058
+ # resp.network_routes[0].destination_cidr_block #=> String
3059
+ # resp.network_routes[0].destinations #=> Array
3060
+ # resp.network_routes[0].destinations[0].core_network_attachment_id #=> String
3061
+ # resp.network_routes[0].destinations[0].transit_gateway_attachment_id #=> String
3062
+ # resp.network_routes[0].destinations[0].segment_name #=> String
3063
+ # resp.network_routes[0].destinations[0].edge_location #=> String
3064
+ # resp.network_routes[0].destinations[0].resource_type #=> String
3065
+ # resp.network_routes[0].destinations[0].resource_id #=> String
3066
+ # resp.network_routes[0].prefix_list_id #=> String
3067
+ # resp.network_routes[0].state #=> String, one of "ACTIVE", "BLACKHOLE"
3068
+ # resp.network_routes[0].type #=> String, one of "PROPAGATED", "STATIC"
3069
+ #
3070
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetNetworkRoutes AWS API Documentation
3071
+ #
3072
+ # @overload get_network_routes(params = {})
3073
+ # @param [Hash] params ({})
3074
+ def get_network_routes(params = {}, options = {})
3075
+ req = build_request(:get_network_routes, params)
3076
+ req.send_request(options)
3077
+ end
3078
+
3079
+ # Gets the network telemetry of the specified global network.
3080
+ #
3081
+ # @option params [required, String] :global_network_id
3082
+ # The ID of the global network.
3083
+ #
3084
+ # @option params [String] :core_network_id
3085
+ # The ID of a core network.
3086
+ #
3087
+ # @option params [String] :registered_gateway_arn
3088
+ # The ARN of the gateway.
3089
+ #
3090
+ # @option params [String] :aws_region
3091
+ # The Amazon Web Services Region.
3092
+ #
3093
+ # @option params [String] :account_id
3094
+ # The Amazon Web Services account ID.
3095
+ #
3096
+ # @option params [String] :resource_type
3097
+ # The resource type.
3098
+ #
3099
+ # The following are the supported resource types for Direct Connect:
3100
+ #
3101
+ # * `dxcon`
3102
+ #
3103
+ # * `dx-gateway`
3104
+ #
3105
+ # * `dx-vif`
3106
+ #
3107
+ # The following are the supported resource types for Network Manager:
3108
+ #
3109
+ # * `connection`
3110
+ #
3111
+ # * `device`
3112
+ #
3113
+ # * `link`
3114
+ #
3115
+ # * `site`
3116
+ #
3117
+ # The following are the supported resource types for Amazon VPC:
3118
+ #
3119
+ # * `customer-gateway`
3120
+ #
3121
+ # * `transit-gateway`
3122
+ #
3123
+ # * `transit-gateway-attachment`
3124
+ #
3125
+ # * `transit-gateway-connect-peer`
3126
+ #
3127
+ # * `transit-gateway-route-table`
3128
+ #
3129
+ # * `vpn-connection`
3130
+ #
3131
+ # @option params [String] :resource_arn
3132
+ # The ARN of the resource.
3133
+ #
3134
+ # @option params [Integer] :max_results
3135
+ # The maximum number of results to return.
3136
+ #
3137
+ # @option params [String] :next_token
3138
+ # The token for the next page of results.
3139
+ #
3140
+ # @return [Types::GetNetworkTelemetryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3141
+ #
3142
+ # * {Types::GetNetworkTelemetryResponse#network_telemetry #network_telemetry} => Array&lt;Types::NetworkTelemetry&gt;
3143
+ # * {Types::GetNetworkTelemetryResponse#next_token #next_token} => String
3144
+ #
3145
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3146
+ #
3147
+ # @example Request syntax with placeholder values
3148
+ #
3149
+ # resp = client.get_network_telemetry({
3150
+ # global_network_id: "GlobalNetworkId", # required
3151
+ # core_network_id: "CoreNetworkId",
3152
+ # registered_gateway_arn: "ResourceArn",
3153
+ # aws_region: "ExternalRegionCode",
3154
+ # account_id: "AWSAccountId",
3155
+ # resource_type: "ConstrainedString",
3156
+ # resource_arn: "ResourceArn",
3157
+ # max_results: 1,
3158
+ # next_token: "NextToken",
3159
+ # })
3160
+ #
3161
+ # @example Response structure
3162
+ #
3163
+ # resp.network_telemetry #=> Array
3164
+ # resp.network_telemetry[0].registered_gateway_arn #=> String
3165
+ # resp.network_telemetry[0].core_network_id #=> String
3166
+ # resp.network_telemetry[0].aws_region #=> String
3167
+ # resp.network_telemetry[0].account_id #=> String
3168
+ # resp.network_telemetry[0].resource_type #=> String
3169
+ # resp.network_telemetry[0].resource_id #=> String
3170
+ # resp.network_telemetry[0].resource_arn #=> String
3171
+ # resp.network_telemetry[0].address #=> String
3172
+ # resp.network_telemetry[0].health.type #=> String, one of "BGP", "IPSEC"
3173
+ # resp.network_telemetry[0].health.status #=> String, one of "UP", "DOWN"
3174
+ # resp.network_telemetry[0].health.timestamp #=> Time
3175
+ # resp.next_token #=> String
3176
+ #
3177
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetNetworkTelemetry AWS API Documentation
3178
+ #
3179
+ # @overload get_network_telemetry(params = {})
3180
+ # @param [Hash] params ({})
3181
+ def get_network_telemetry(params = {}, options = {})
3182
+ req = build_request(:get_network_telemetry, params)
3183
+ req.send_request(options)
3184
+ end
3185
+
3186
+ # Returns information about a resource policy.
3187
+ #
3188
+ # @option params [required, String] :resource_arn
3189
+ # The ARN of the resource.
3190
+ #
3191
+ # @return [Types::GetResourcePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3192
+ #
3193
+ # * {Types::GetResourcePolicyResponse#policy_document #policy_document} => String
3194
+ #
3195
+ # @example Request syntax with placeholder values
3196
+ #
3197
+ # resp = client.get_resource_policy({
3198
+ # resource_arn: "ResourceArn", # required
3199
+ # })
3200
+ #
3201
+ # @example Response structure
3202
+ #
3203
+ # resp.policy_document #=> String
3204
+ #
3205
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetResourcePolicy AWS API Documentation
3206
+ #
3207
+ # @overload get_resource_policy(params = {})
3208
+ # @param [Hash] params ({})
3209
+ def get_resource_policy(params = {}, options = {})
3210
+ req = build_request(:get_resource_policy, params)
3211
+ req.send_request(options)
3212
+ end
3213
+
3214
+ # Gets information about the specified route analysis.
3215
+ #
3216
+ # @option params [required, String] :global_network_id
3217
+ # The ID of the global network.
3218
+ #
3219
+ # @option params [required, String] :route_analysis_id
3220
+ # The ID of the route analysis.
3221
+ #
3222
+ # @return [Types::GetRouteAnalysisResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3223
+ #
3224
+ # * {Types::GetRouteAnalysisResponse#route_analysis #route_analysis} => Types::RouteAnalysis
3225
+ #
3226
+ # @example Request syntax with placeholder values
3227
+ #
3228
+ # resp = client.get_route_analysis({
3229
+ # global_network_id: "GlobalNetworkId", # required
3230
+ # route_analysis_id: "ConstrainedString", # required
3231
+ # })
3232
+ #
3233
+ # @example Response structure
3234
+ #
3235
+ # resp.route_analysis.global_network_id #=> String
3236
+ # resp.route_analysis.owner_account_id #=> String
3237
+ # resp.route_analysis.route_analysis_id #=> String
3238
+ # resp.route_analysis.start_timestamp #=> Time
3239
+ # resp.route_analysis.status #=> String, one of "RUNNING", "COMPLETED", "FAILED"
3240
+ # resp.route_analysis.source.transit_gateway_attachment_arn #=> String
3241
+ # resp.route_analysis.source.transit_gateway_arn #=> String
3242
+ # resp.route_analysis.source.ip_address #=> String
3243
+ # resp.route_analysis.destination.transit_gateway_attachment_arn #=> String
3244
+ # resp.route_analysis.destination.transit_gateway_arn #=> String
3245
+ # resp.route_analysis.destination.ip_address #=> String
3246
+ # resp.route_analysis.include_return_path #=> Boolean
3247
+ # resp.route_analysis.use_middleboxes #=> Boolean
3248
+ # resp.route_analysis.forward_path.completion_status.result_code #=> String, one of "CONNECTED", "NOT_CONNECTED"
3249
+ # resp.route_analysis.forward_path.completion_status.reason_code #=> String, one of "TRANSIT_GATEWAY_ATTACHMENT_NOT_FOUND", "TRANSIT_GATEWAY_ATTACHMENT_NOT_IN_TRANSIT_GATEWAY", "CYCLIC_PATH_DETECTED", "TRANSIT_GATEWAY_ATTACHMENT_STABLE_ROUTE_TABLE_NOT_FOUND", "ROUTE_NOT_FOUND", "BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND", "INACTIVE_ROUTE_FOR_DESTINATION_FOUND", "TRANSIT_GATEWAY_ATTACHMENT_ATTACH_ARN_NO_MATCH", "MAX_HOPS_EXCEEDED", "POSSIBLE_MIDDLEBOX", "NO_DESTINATION_ARN_PROVIDED"
3250
+ # resp.route_analysis.forward_path.completion_status.reason_context #=> Hash
3251
+ # resp.route_analysis.forward_path.completion_status.reason_context["ReasonContextKey"] #=> String
3252
+ # resp.route_analysis.forward_path.path #=> Array
3253
+ # resp.route_analysis.forward_path.path[0].sequence #=> Integer
3254
+ # resp.route_analysis.forward_path.path[0].resource.registered_gateway_arn #=> String
3255
+ # resp.route_analysis.forward_path.path[0].resource.resource_arn #=> String
3256
+ # resp.route_analysis.forward_path.path[0].resource.resource_type #=> String
3257
+ # resp.route_analysis.forward_path.path[0].resource.definition #=> String
3258
+ # resp.route_analysis.forward_path.path[0].resource.name_tag #=> String
3259
+ # resp.route_analysis.forward_path.path[0].resource.is_middlebox #=> Boolean
3260
+ # resp.route_analysis.forward_path.path[0].destination_cidr_block #=> String
3261
+ # resp.route_analysis.return_path.completion_status.result_code #=> String, one of "CONNECTED", "NOT_CONNECTED"
3262
+ # resp.route_analysis.return_path.completion_status.reason_code #=> String, one of "TRANSIT_GATEWAY_ATTACHMENT_NOT_FOUND", "TRANSIT_GATEWAY_ATTACHMENT_NOT_IN_TRANSIT_GATEWAY", "CYCLIC_PATH_DETECTED", "TRANSIT_GATEWAY_ATTACHMENT_STABLE_ROUTE_TABLE_NOT_FOUND", "ROUTE_NOT_FOUND", "BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND", "INACTIVE_ROUTE_FOR_DESTINATION_FOUND", "TRANSIT_GATEWAY_ATTACHMENT_ATTACH_ARN_NO_MATCH", "MAX_HOPS_EXCEEDED", "POSSIBLE_MIDDLEBOX", "NO_DESTINATION_ARN_PROVIDED"
3263
+ # resp.route_analysis.return_path.completion_status.reason_context #=> Hash
3264
+ # resp.route_analysis.return_path.completion_status.reason_context["ReasonContextKey"] #=> String
3265
+ # resp.route_analysis.return_path.path #=> Array
3266
+ # resp.route_analysis.return_path.path[0].sequence #=> Integer
3267
+ # resp.route_analysis.return_path.path[0].resource.registered_gateway_arn #=> String
3268
+ # resp.route_analysis.return_path.path[0].resource.resource_arn #=> String
3269
+ # resp.route_analysis.return_path.path[0].resource.resource_type #=> String
3270
+ # resp.route_analysis.return_path.path[0].resource.definition #=> String
3271
+ # resp.route_analysis.return_path.path[0].resource.name_tag #=> String
3272
+ # resp.route_analysis.return_path.path[0].resource.is_middlebox #=> Boolean
3273
+ # resp.route_analysis.return_path.path[0].destination_cidr_block #=> String
3274
+ #
3275
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetRouteAnalysis AWS API Documentation
3276
+ #
3277
+ # @overload get_route_analysis(params = {})
3278
+ # @param [Hash] params ({})
3279
+ def get_route_analysis(params = {}, options = {})
3280
+ req = build_request(:get_route_analysis, params)
3281
+ req.send_request(options)
3282
+ end
3283
+
3284
+ # Returns information about a site-to-site VPN attachment.
3285
+ #
3286
+ # @option params [required, String] :attachment_id
3287
+ # The ID of the attachment.
3288
+ #
3289
+ # @return [Types::GetSiteToSiteVpnAttachmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3290
+ #
3291
+ # * {Types::GetSiteToSiteVpnAttachmentResponse#site_to_site_vpn_attachment #site_to_site_vpn_attachment} => Types::SiteToSiteVpnAttachment
3292
+ #
3293
+ # @example Request syntax with placeholder values
3294
+ #
3295
+ # resp = client.get_site_to_site_vpn_attachment({
3296
+ # attachment_id: "AttachmentId", # required
3297
+ # })
3298
+ #
3299
+ # @example Response structure
3300
+ #
3301
+ # resp.site_to_site_vpn_attachment.attachment.core_network_id #=> String
3302
+ # resp.site_to_site_vpn_attachment.attachment.core_network_arn #=> String
3303
+ # resp.site_to_site_vpn_attachment.attachment.attachment_id #=> String
3304
+ # resp.site_to_site_vpn_attachment.attachment.owner_account_id #=> String
3305
+ # resp.site_to_site_vpn_attachment.attachment.attachment_type #=> String, one of "CONNECT", "SITE_TO_SITE_VPN", "VPC"
3306
+ # resp.site_to_site_vpn_attachment.attachment.state #=> String, one of "REJECTED", "PENDING_ATTACHMENT_ACCEPTANCE", "CREATING", "FAILED", "AVAILABLE", "UPDATING", "PENDING_NETWORK_UPDATE", "PENDING_TAG_ACCEPTANCE", "DELETING"
3307
+ # resp.site_to_site_vpn_attachment.attachment.edge_location #=> String
3308
+ # resp.site_to_site_vpn_attachment.attachment.resource_arn #=> String
3309
+ # resp.site_to_site_vpn_attachment.attachment.attachment_policy_rule_number #=> Integer
3310
+ # resp.site_to_site_vpn_attachment.attachment.segment_name #=> String
3311
+ # resp.site_to_site_vpn_attachment.attachment.tags #=> Array
3312
+ # resp.site_to_site_vpn_attachment.attachment.tags[0].key #=> String
3313
+ # resp.site_to_site_vpn_attachment.attachment.tags[0].value #=> String
3314
+ # resp.site_to_site_vpn_attachment.attachment.proposed_segment_change.tags #=> Array
3315
+ # resp.site_to_site_vpn_attachment.attachment.proposed_segment_change.tags[0].key #=> String
3316
+ # resp.site_to_site_vpn_attachment.attachment.proposed_segment_change.tags[0].value #=> String
3317
+ # resp.site_to_site_vpn_attachment.attachment.proposed_segment_change.attachment_policy_rule_number #=> Integer
3318
+ # resp.site_to_site_vpn_attachment.attachment.proposed_segment_change.segment_name #=> String
3319
+ # resp.site_to_site_vpn_attachment.attachment.created_at #=> Time
3320
+ # resp.site_to_site_vpn_attachment.attachment.updated_at #=> Time
3321
+ # resp.site_to_site_vpn_attachment.vpn_connection_arn #=> String
3322
+ #
3323
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetSiteToSiteVpnAttachment AWS API Documentation
3324
+ #
3325
+ # @overload get_site_to_site_vpn_attachment(params = {})
3326
+ # @param [Hash] params ({})
3327
+ def get_site_to_site_vpn_attachment(params = {}, options = {})
3328
+ req = build_request(:get_site_to_site_vpn_attachment, params)
3329
+ req.send_request(options)
3330
+ end
3331
+
3332
+ # Gets information about one or more of your sites in a global network.
3333
+ #
3334
+ # @option params [required, String] :global_network_id
3335
+ # The ID of the global network.
3336
+ #
3337
+ # @option params [Array<String>] :site_ids
3338
+ # One or more site IDs. The maximum is 10.
3339
+ #
3340
+ # @option params [Integer] :max_results
3341
+ # The maximum number of results to return.
3342
+ #
3343
+ # @option params [String] :next_token
3344
+ # The token for the next page of results.
3345
+ #
3346
+ # @return [Types::GetSitesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3347
+ #
3348
+ # * {Types::GetSitesResponse#sites #sites} => Array&lt;Types::Site&gt;
3349
+ # * {Types::GetSitesResponse#next_token #next_token} => String
3350
+ #
3351
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3352
+ #
3353
+ # @example Request syntax with placeholder values
3354
+ #
3355
+ # resp = client.get_sites({
3356
+ # global_network_id: "GlobalNetworkId", # required
3357
+ # site_ids: ["SiteId"],
3358
+ # max_results: 1,
3359
+ # next_token: "NextToken",
3360
+ # })
3361
+ #
3362
+ # @example Response structure
3363
+ #
3364
+ # resp.sites #=> Array
3365
+ # resp.sites[0].site_id #=> String
3366
+ # resp.sites[0].site_arn #=> String
3367
+ # resp.sites[0].global_network_id #=> String
3368
+ # resp.sites[0].description #=> String
3369
+ # resp.sites[0].location.address #=> String
3370
+ # resp.sites[0].location.latitude #=> String
3371
+ # resp.sites[0].location.longitude #=> String
3372
+ # resp.sites[0].created_at #=> Time
3373
+ # resp.sites[0].state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "UPDATING"
3374
+ # resp.sites[0].tags #=> Array
3375
+ # resp.sites[0].tags[0].key #=> String
3376
+ # resp.sites[0].tags[0].value #=> String
3377
+ # resp.next_token #=> String
3378
+ #
3379
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetSites AWS API Documentation
3380
+ #
3381
+ # @overload get_sites(params = {})
3382
+ # @param [Hash] params ({})
3383
+ def get_sites(params = {}, options = {})
3384
+ req = build_request(:get_sites, params)
3385
+ req.send_request(options)
3386
+ end
3387
+
3388
+ # Gets information about one or more of your transit gateway Connect
3389
+ # peer associations in a global network.
3390
+ #
3391
+ # @option params [required, String] :global_network_id
3392
+ # The ID of the global network.
3393
+ #
3394
+ # @option params [Array<String>] :transit_gateway_connect_peer_arns
3395
+ # One or more transit gateway Connect peer Amazon Resource Names (ARNs).
3396
+ #
3397
+ # @option params [Integer] :max_results
3398
+ # The maximum number of results to return.
3399
+ #
3400
+ # @option params [String] :next_token
3401
+ # The token for the next page of results.
3402
+ #
3403
+ # @return [Types::GetTransitGatewayConnectPeerAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3404
+ #
3405
+ # * {Types::GetTransitGatewayConnectPeerAssociationsResponse#transit_gateway_connect_peer_associations #transit_gateway_connect_peer_associations} => Array&lt;Types::TransitGatewayConnectPeerAssociation&gt;
3406
+ # * {Types::GetTransitGatewayConnectPeerAssociationsResponse#next_token #next_token} => String
3407
+ #
3408
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3409
+ #
3410
+ # @example Request syntax with placeholder values
3411
+ #
3412
+ # resp = client.get_transit_gateway_connect_peer_associations({
3413
+ # global_network_id: "GlobalNetworkId", # required
3414
+ # transit_gateway_connect_peer_arns: ["TransitGatewayConnectPeerArn"],
3415
+ # max_results: 1,
3416
+ # next_token: "NextToken",
3417
+ # })
3418
+ #
3419
+ # @example Response structure
3420
+ #
3421
+ # resp.transit_gateway_connect_peer_associations #=> Array
3422
+ # resp.transit_gateway_connect_peer_associations[0].transit_gateway_connect_peer_arn #=> String
3423
+ # resp.transit_gateway_connect_peer_associations[0].global_network_id #=> String
3424
+ # resp.transit_gateway_connect_peer_associations[0].device_id #=> String
3425
+ # resp.transit_gateway_connect_peer_associations[0].link_id #=> String
3426
+ # resp.transit_gateway_connect_peer_associations[0].state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "DELETED"
3427
+ # resp.next_token #=> String
3428
+ #
3429
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetTransitGatewayConnectPeerAssociations AWS API Documentation
3430
+ #
3431
+ # @overload get_transit_gateway_connect_peer_associations(params = {})
3432
+ # @param [Hash] params ({})
3433
+ def get_transit_gateway_connect_peer_associations(params = {}, options = {})
3434
+ req = build_request(:get_transit_gateway_connect_peer_associations, params)
3435
+ req.send_request(options)
3436
+ end
3437
+
3438
+ # Gets information about the transit gateway registrations in a
3439
+ # specified global network.
3440
+ #
3441
+ # @option params [required, String] :global_network_id
3442
+ # The ID of the global network.
3443
+ #
3444
+ # @option params [Array<String>] :transit_gateway_arns
3445
+ # The Amazon Resource Names (ARNs) of one or more transit gateways. The
3446
+ # maximum is 10.
3447
+ #
3448
+ # @option params [Integer] :max_results
3449
+ # The maximum number of results to return.
3450
+ #
3451
+ # @option params [String] :next_token
3452
+ # The token for the next page of results.
3453
+ #
3454
+ # @return [Types::GetTransitGatewayRegistrationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3455
+ #
3456
+ # * {Types::GetTransitGatewayRegistrationsResponse#transit_gateway_registrations #transit_gateway_registrations} => Array&lt;Types::TransitGatewayRegistration&gt;
3457
+ # * {Types::GetTransitGatewayRegistrationsResponse#next_token #next_token} => String
3458
+ #
3459
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3460
+ #
3461
+ # @example Request syntax with placeholder values
3462
+ #
3463
+ # resp = client.get_transit_gateway_registrations({
3464
+ # global_network_id: "GlobalNetworkId", # required
3465
+ # transit_gateway_arns: ["TransitGatewayArn"],
3466
+ # max_results: 1,
3467
+ # next_token: "NextToken",
3468
+ # })
3469
+ #
3470
+ # @example Response structure
3471
+ #
3472
+ # resp.transit_gateway_registrations #=> Array
3473
+ # resp.transit_gateway_registrations[0].global_network_id #=> String
3474
+ # resp.transit_gateway_registrations[0].transit_gateway_arn #=> String
3475
+ # resp.transit_gateway_registrations[0].state.code #=> String, one of "PENDING", "AVAILABLE", "DELETING", "DELETED", "FAILED"
3476
+ # resp.transit_gateway_registrations[0].state.message #=> String
3477
+ # resp.next_token #=> String
3478
+ #
3479
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetTransitGatewayRegistrations AWS API Documentation
3480
+ #
3481
+ # @overload get_transit_gateway_registrations(params = {})
3482
+ # @param [Hash] params ({})
3483
+ def get_transit_gateway_registrations(params = {}, options = {})
3484
+ req = build_request(:get_transit_gateway_registrations, params)
3485
+ req.send_request(options)
3486
+ end
3487
+
3488
+ # Returns information about a VPC attachment.
3489
+ #
3490
+ # @option params [required, String] :attachment_id
3491
+ # The ID of the attachment.
3492
+ #
3493
+ # @return [Types::GetVpcAttachmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3494
+ #
3495
+ # * {Types::GetVpcAttachmentResponse#vpc_attachment #vpc_attachment} => Types::VpcAttachment
3496
+ #
3497
+ # @example Request syntax with placeholder values
3498
+ #
3499
+ # resp = client.get_vpc_attachment({
3500
+ # attachment_id: "AttachmentId", # required
3501
+ # })
3502
+ #
3503
+ # @example Response structure
3504
+ #
3505
+ # resp.vpc_attachment.attachment.core_network_id #=> String
3506
+ # resp.vpc_attachment.attachment.core_network_arn #=> String
3507
+ # resp.vpc_attachment.attachment.attachment_id #=> String
3508
+ # resp.vpc_attachment.attachment.owner_account_id #=> String
3509
+ # resp.vpc_attachment.attachment.attachment_type #=> String, one of "CONNECT", "SITE_TO_SITE_VPN", "VPC"
3510
+ # resp.vpc_attachment.attachment.state #=> String, one of "REJECTED", "PENDING_ATTACHMENT_ACCEPTANCE", "CREATING", "FAILED", "AVAILABLE", "UPDATING", "PENDING_NETWORK_UPDATE", "PENDING_TAG_ACCEPTANCE", "DELETING"
3511
+ # resp.vpc_attachment.attachment.edge_location #=> String
3512
+ # resp.vpc_attachment.attachment.resource_arn #=> String
3513
+ # resp.vpc_attachment.attachment.attachment_policy_rule_number #=> Integer
3514
+ # resp.vpc_attachment.attachment.segment_name #=> String
3515
+ # resp.vpc_attachment.attachment.tags #=> Array
3516
+ # resp.vpc_attachment.attachment.tags[0].key #=> String
3517
+ # resp.vpc_attachment.attachment.tags[0].value #=> String
3518
+ # resp.vpc_attachment.attachment.proposed_segment_change.tags #=> Array
3519
+ # resp.vpc_attachment.attachment.proposed_segment_change.tags[0].key #=> String
3520
+ # resp.vpc_attachment.attachment.proposed_segment_change.tags[0].value #=> String
3521
+ # resp.vpc_attachment.attachment.proposed_segment_change.attachment_policy_rule_number #=> Integer
3522
+ # resp.vpc_attachment.attachment.proposed_segment_change.segment_name #=> String
3523
+ # resp.vpc_attachment.attachment.created_at #=> Time
3524
+ # resp.vpc_attachment.attachment.updated_at #=> Time
3525
+ # resp.vpc_attachment.subnet_arns #=> Array
3526
+ # resp.vpc_attachment.subnet_arns[0] #=> String
3527
+ # resp.vpc_attachment.options.ipv_6_support #=> Boolean
3528
+ #
3529
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetVpcAttachment AWS API Documentation
3530
+ #
3531
+ # @overload get_vpc_attachment(params = {})
3532
+ # @param [Hash] params ({})
3533
+ def get_vpc_attachment(params = {}, options = {})
3534
+ req = build_request(:get_vpc_attachment, params)
3535
+ req.send_request(options)
3536
+ end
3537
+
3538
+ # Returns a list of core network attachments.
3539
+ #
3540
+ # @option params [String] :core_network_id
3541
+ # The ID of a core network.
3542
+ #
3543
+ # @option params [String] :attachment_type
3544
+ # The type of attachment.
3545
+ #
3546
+ # @option params [String] :edge_location
3547
+ # The Region where the edge is located.
3548
+ #
3549
+ # @option params [String] :state
3550
+ # The state of the attachment.
1725
3551
  #
1726
3552
  # @option params [Integer] :max_results
1727
3553
  # The maximum number of results to return.
@@ -1729,37 +3555,199 @@ module Aws::NetworkManager
1729
3555
  # @option params [String] :next_token
1730
3556
  # The token for the next page of results.
1731
3557
  #
1732
- # @return [Types::GetTransitGatewayRegistrationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3558
+ # @return [Types::ListAttachmentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1733
3559
  #
1734
- # * {Types::GetTransitGatewayRegistrationsResponse#transit_gateway_registrations #transit_gateway_registrations} => Array&lt;Types::TransitGatewayRegistration&gt;
1735
- # * {Types::GetTransitGatewayRegistrationsResponse#next_token #next_token} => String
3560
+ # * {Types::ListAttachmentsResponse#attachments #attachments} => Array&lt;Types::Attachment&gt;
3561
+ # * {Types::ListAttachmentsResponse#next_token #next_token} => String
1736
3562
  #
1737
3563
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1738
3564
  #
1739
3565
  # @example Request syntax with placeholder values
1740
3566
  #
1741
- # resp = client.get_transit_gateway_registrations({
1742
- # global_network_id: "String", # required
1743
- # transit_gateway_arns: ["String"],
3567
+ # resp = client.list_attachments({
3568
+ # core_network_id: "CoreNetworkId",
3569
+ # attachment_type: "CONNECT", # accepts CONNECT, SITE_TO_SITE_VPN, VPC
3570
+ # edge_location: "ExternalRegionCode",
3571
+ # state: "REJECTED", # accepts REJECTED, PENDING_ATTACHMENT_ACCEPTANCE, CREATING, FAILED, AVAILABLE, UPDATING, PENDING_NETWORK_UPDATE, PENDING_TAG_ACCEPTANCE, DELETING
1744
3572
  # max_results: 1,
1745
- # next_token: "String",
3573
+ # next_token: "NextToken",
1746
3574
  # })
1747
3575
  #
1748
3576
  # @example Response structure
1749
3577
  #
1750
- # resp.transit_gateway_registrations #=> Array
1751
- # resp.transit_gateway_registrations[0].global_network_id #=> String
1752
- # resp.transit_gateway_registrations[0].transit_gateway_arn #=> String
1753
- # resp.transit_gateway_registrations[0].state.code #=> String, one of "PENDING", "AVAILABLE", "DELETING", "DELETED", "FAILED"
1754
- # resp.transit_gateway_registrations[0].state.message #=> String
3578
+ # resp.attachments #=> Array
3579
+ # resp.attachments[0].core_network_id #=> String
3580
+ # resp.attachments[0].core_network_arn #=> String
3581
+ # resp.attachments[0].attachment_id #=> String
3582
+ # resp.attachments[0].owner_account_id #=> String
3583
+ # resp.attachments[0].attachment_type #=> String, one of "CONNECT", "SITE_TO_SITE_VPN", "VPC"
3584
+ # resp.attachments[0].state #=> String, one of "REJECTED", "PENDING_ATTACHMENT_ACCEPTANCE", "CREATING", "FAILED", "AVAILABLE", "UPDATING", "PENDING_NETWORK_UPDATE", "PENDING_TAG_ACCEPTANCE", "DELETING"
3585
+ # resp.attachments[0].edge_location #=> String
3586
+ # resp.attachments[0].resource_arn #=> String
3587
+ # resp.attachments[0].attachment_policy_rule_number #=> Integer
3588
+ # resp.attachments[0].segment_name #=> String
3589
+ # resp.attachments[0].tags #=> Array
3590
+ # resp.attachments[0].tags[0].key #=> String
3591
+ # resp.attachments[0].tags[0].value #=> String
3592
+ # resp.attachments[0].proposed_segment_change.tags #=> Array
3593
+ # resp.attachments[0].proposed_segment_change.tags[0].key #=> String
3594
+ # resp.attachments[0].proposed_segment_change.tags[0].value #=> String
3595
+ # resp.attachments[0].proposed_segment_change.attachment_policy_rule_number #=> Integer
3596
+ # resp.attachments[0].proposed_segment_change.segment_name #=> String
3597
+ # resp.attachments[0].created_at #=> Time
3598
+ # resp.attachments[0].updated_at #=> Time
1755
3599
  # resp.next_token #=> String
1756
3600
  #
1757
- # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetTransitGatewayRegistrations AWS API Documentation
3601
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/ListAttachments AWS API Documentation
1758
3602
  #
1759
- # @overload get_transit_gateway_registrations(params = {})
3603
+ # @overload list_attachments(params = {})
1760
3604
  # @param [Hash] params ({})
1761
- def get_transit_gateway_registrations(params = {}, options = {})
1762
- req = build_request(:get_transit_gateway_registrations, params)
3605
+ def list_attachments(params = {}, options = {})
3606
+ req = build_request(:list_attachments, params)
3607
+ req.send_request(options)
3608
+ end
3609
+
3610
+ # Returns a list of core network Connect peers.
3611
+ #
3612
+ # @option params [String] :core_network_id
3613
+ # The ID of a core network.
3614
+ #
3615
+ # @option params [String] :connect_attachment_id
3616
+ # The ID of the attachment.
3617
+ #
3618
+ # @option params [Integer] :max_results
3619
+ # The maximum number of results to return.
3620
+ #
3621
+ # @option params [String] :next_token
3622
+ # The token for the next page of results.
3623
+ #
3624
+ # @return [Types::ListConnectPeersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3625
+ #
3626
+ # * {Types::ListConnectPeersResponse#connect_peers #connect_peers} => Array&lt;Types::ConnectPeerSummary&gt;
3627
+ # * {Types::ListConnectPeersResponse#next_token #next_token} => String
3628
+ #
3629
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3630
+ #
3631
+ # @example Request syntax with placeholder values
3632
+ #
3633
+ # resp = client.list_connect_peers({
3634
+ # core_network_id: "CoreNetworkId",
3635
+ # connect_attachment_id: "AttachmentId",
3636
+ # max_results: 1,
3637
+ # next_token: "NextToken",
3638
+ # })
3639
+ #
3640
+ # @example Response structure
3641
+ #
3642
+ # resp.connect_peers #=> Array
3643
+ # resp.connect_peers[0].core_network_id #=> String
3644
+ # resp.connect_peers[0].connect_attachment_id #=> String
3645
+ # resp.connect_peers[0].connect_peer_id #=> String
3646
+ # resp.connect_peers[0].edge_location #=> String
3647
+ # resp.connect_peers[0].connect_peer_state #=> String, one of "CREATING", "FAILED", "AVAILABLE", "DELETING"
3648
+ # resp.connect_peers[0].created_at #=> Time
3649
+ # resp.connect_peers[0].tags #=> Array
3650
+ # resp.connect_peers[0].tags[0].key #=> String
3651
+ # resp.connect_peers[0].tags[0].value #=> String
3652
+ # resp.next_token #=> String
3653
+ #
3654
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/ListConnectPeers AWS API Documentation
3655
+ #
3656
+ # @overload list_connect_peers(params = {})
3657
+ # @param [Hash] params ({})
3658
+ def list_connect_peers(params = {}, options = {})
3659
+ req = build_request(:list_connect_peers, params)
3660
+ req.send_request(options)
3661
+ end
3662
+
3663
+ # Returns a list of core network policy versions.
3664
+ #
3665
+ # @option params [required, String] :core_network_id
3666
+ # The ID of a core network.
3667
+ #
3668
+ # @option params [Integer] :max_results
3669
+ # The maximum number of results to return.
3670
+ #
3671
+ # @option params [String] :next_token
3672
+ # The token for the next page of results.
3673
+ #
3674
+ # @return [Types::ListCoreNetworkPolicyVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3675
+ #
3676
+ # * {Types::ListCoreNetworkPolicyVersionsResponse#core_network_policy_versions #core_network_policy_versions} => Array&lt;Types::CoreNetworkPolicyVersion&gt;
3677
+ # * {Types::ListCoreNetworkPolicyVersionsResponse#next_token #next_token} => String
3678
+ #
3679
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3680
+ #
3681
+ # @example Request syntax with placeholder values
3682
+ #
3683
+ # resp = client.list_core_network_policy_versions({
3684
+ # core_network_id: "CoreNetworkId", # required
3685
+ # max_results: 1,
3686
+ # next_token: "NextToken",
3687
+ # })
3688
+ #
3689
+ # @example Response structure
3690
+ #
3691
+ # resp.core_network_policy_versions #=> Array
3692
+ # resp.core_network_policy_versions[0].core_network_id #=> String
3693
+ # resp.core_network_policy_versions[0].policy_version_id #=> Integer
3694
+ # resp.core_network_policy_versions[0].alias #=> String, one of "LIVE", "LATEST"
3695
+ # resp.core_network_policy_versions[0].description #=> String
3696
+ # resp.core_network_policy_versions[0].created_at #=> Time
3697
+ # resp.core_network_policy_versions[0].change_set_state #=> String, one of "PENDING_GENERATION", "FAILED_GENERATION", "READY_TO_EXECUTE", "EXECUTING", "EXECUTION_SUCCEEDED", "OUT_OF_DATE"
3698
+ # resp.next_token #=> String
3699
+ #
3700
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/ListCoreNetworkPolicyVersions AWS API Documentation
3701
+ #
3702
+ # @overload list_core_network_policy_versions(params = {})
3703
+ # @param [Hash] params ({})
3704
+ def list_core_network_policy_versions(params = {}, options = {})
3705
+ req = build_request(:list_core_network_policy_versions, params)
3706
+ req.send_request(options)
3707
+ end
3708
+
3709
+ # Returns a list of owned and shared core networks.
3710
+ #
3711
+ # @option params [Integer] :max_results
3712
+ # The maximum number of results to return.
3713
+ #
3714
+ # @option params [String] :next_token
3715
+ # The token for the next page of results.
3716
+ #
3717
+ # @return [Types::ListCoreNetworksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3718
+ #
3719
+ # * {Types::ListCoreNetworksResponse#core_networks #core_networks} => Array&lt;Types::CoreNetworkSummary&gt;
3720
+ # * {Types::ListCoreNetworksResponse#next_token #next_token} => String
3721
+ #
3722
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3723
+ #
3724
+ # @example Request syntax with placeholder values
3725
+ #
3726
+ # resp = client.list_core_networks({
3727
+ # max_results: 1,
3728
+ # next_token: "NextToken",
3729
+ # })
3730
+ #
3731
+ # @example Response structure
3732
+ #
3733
+ # resp.core_networks #=> Array
3734
+ # resp.core_networks[0].core_network_id #=> String
3735
+ # resp.core_networks[0].core_network_arn #=> String
3736
+ # resp.core_networks[0].global_network_id #=> String
3737
+ # resp.core_networks[0].owner_account_id #=> String
3738
+ # resp.core_networks[0].state #=> String, one of "CREATING", "UPDATING", "AVAILABLE", "DELETING"
3739
+ # resp.core_networks[0].description #=> String
3740
+ # resp.core_networks[0].tags #=> Array
3741
+ # resp.core_networks[0].tags[0].key #=> String
3742
+ # resp.core_networks[0].tags[0].value #=> String
3743
+ # resp.next_token #=> String
3744
+ #
3745
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/ListCoreNetworks AWS API Documentation
3746
+ #
3747
+ # @overload list_core_networks(params = {})
3748
+ # @param [Hash] params ({})
3749
+ def list_core_networks(params = {}, options = {})
3750
+ req = build_request(:list_core_networks, params)
1763
3751
  req.send_request(options)
1764
3752
  end
1765
3753
 
@@ -1775,7 +3763,7 @@ module Aws::NetworkManager
1775
3763
  # @example Request syntax with placeholder values
1776
3764
  #
1777
3765
  # resp = client.list_tags_for_resource({
1778
- # resource_arn: "ResourceARN", # required
3766
+ # resource_arn: "ResourceArn", # required
1779
3767
  # })
1780
3768
  #
1781
3769
  # @example Response structure
@@ -1793,21 +3781,109 @@ module Aws::NetworkManager
1793
3781
  req.send_request(options)
1794
3782
  end
1795
3783
 
3784
+ # Creates a new, immutable version of a core network policy. A
3785
+ # subsequent change set is created showing the differences between the
3786
+ # LIVE policy and the submitted policy.
3787
+ #
3788
+ # @option params [required, String] :core_network_id
3789
+ # The ID of a core network.
3790
+ #
3791
+ # @option params [required, String] :policy_document
3792
+ # The policy document.
3793
+ #
3794
+ # **SDK automatically handles json encoding and base64 encoding for you
3795
+ # when the required value (Hash, Array, etc.) is provided according to
3796
+ # the description.**
3797
+ #
3798
+ # @option params [String] :description
3799
+ # a core network policy description.
3800
+ #
3801
+ # @option params [Integer] :latest_version_id
3802
+ # The ID of a core network policy.
3803
+ #
3804
+ # @option params [String] :client_token
3805
+ # The client token associated with the request.
3806
+ #
3807
+ # **A suitable default value is auto-generated.** You should normally
3808
+ # not need to pass this option.**
3809
+ #
3810
+ # @return [Types::PutCoreNetworkPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3811
+ #
3812
+ # * {Types::PutCoreNetworkPolicyResponse#core_network_policy #core_network_policy} => Types::CoreNetworkPolicy
3813
+ #
3814
+ # @example Request syntax with placeholder values
3815
+ #
3816
+ # resp = client.put_core_network_policy({
3817
+ # core_network_id: "CoreNetworkId", # required
3818
+ # policy_document: "CoreNetworkPolicyDocument", # required
3819
+ # description: "ConstrainedString",
3820
+ # latest_version_id: 1,
3821
+ # client_token: "ClientToken",
3822
+ # })
3823
+ #
3824
+ # @example Response structure
3825
+ #
3826
+ # resp.core_network_policy.core_network_id #=> String
3827
+ # resp.core_network_policy.policy_version_id #=> Integer
3828
+ # resp.core_network_policy.alias #=> String, one of "LIVE", "LATEST"
3829
+ # resp.core_network_policy.description #=> String
3830
+ # resp.core_network_policy.created_at #=> Time
3831
+ # resp.core_network_policy.change_set_state #=> String, one of "PENDING_GENERATION", "FAILED_GENERATION", "READY_TO_EXECUTE", "EXECUTING", "EXECUTION_SUCCEEDED", "OUT_OF_DATE"
3832
+ # resp.core_network_policy.policy_errors #=> Array
3833
+ # resp.core_network_policy.policy_errors[0].error_code #=> String
3834
+ # resp.core_network_policy.policy_errors[0].message #=> String
3835
+ # resp.core_network_policy.policy_errors[0].path #=> String
3836
+ # resp.core_network_policy.policy_document #=> String
3837
+ #
3838
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/PutCoreNetworkPolicy AWS API Documentation
3839
+ #
3840
+ # @overload put_core_network_policy(params = {})
3841
+ # @param [Hash] params ({})
3842
+ def put_core_network_policy(params = {}, options = {})
3843
+ req = build_request(:put_core_network_policy, params)
3844
+ req.send_request(options)
3845
+ end
3846
+
3847
+ # Creates or updates a resource policy.
3848
+ #
3849
+ # @option params [required, String] :policy_document
3850
+ # The JSON resource policy document.
3851
+ #
3852
+ # **SDK automatically handles json encoding and base64 encoding for you
3853
+ # when the required value (Hash, Array, etc.) is provided according to
3854
+ # the description.**
3855
+ #
3856
+ # @option params [required, String] :resource_arn
3857
+ # The ARN of the resource policy.
3858
+ #
3859
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3860
+ #
3861
+ # @example Request syntax with placeholder values
3862
+ #
3863
+ # resp = client.put_resource_policy({
3864
+ # policy_document: "ResourcePolicyDocument", # required
3865
+ # resource_arn: "ResourceArn", # required
3866
+ # })
3867
+ #
3868
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/PutResourcePolicy AWS API Documentation
3869
+ #
3870
+ # @overload put_resource_policy(params = {})
3871
+ # @param [Hash] params ({})
3872
+ def put_resource_policy(params = {}, options = {})
3873
+ req = build_request(:put_resource_policy, params)
3874
+ req.send_request(options)
3875
+ end
3876
+
1796
3877
  # Registers a transit gateway in your global network. The transit
1797
- # gateway can be in any AWS Region, but it must be owned by the same AWS
1798
- # account that owns the global network. You cannot register a transit
1799
- # gateway in more than one global network.
3878
+ # gateway can be in any Amazon Web Services Region, but it must be owned
3879
+ # by the same Amazon Web Services account that owns the global network.
3880
+ # You cannot register a transit gateway in more than one global network.
1800
3881
  #
1801
3882
  # @option params [required, String] :global_network_id
1802
3883
  # The ID of the global network.
1803
3884
  #
1804
3885
  # @option params [required, String] :transit_gateway_arn
1805
- # The Amazon Resource Name (ARN) of the transit gateway. For more
1806
- # information, see [Resources Defined by Amazon EC2][1].
1807
- #
1808
- #
1809
- #
1810
- # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies
3886
+ # The Amazon Resource Name (ARN) of the transit gateway.
1811
3887
  #
1812
3888
  # @return [Types::RegisterTransitGatewayResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1813
3889
  #
@@ -1816,8 +3892,8 @@ module Aws::NetworkManager
1816
3892
  # @example Request syntax with placeholder values
1817
3893
  #
1818
3894
  # resp = client.register_transit_gateway({
1819
- # global_network_id: "String", # required
1820
- # transit_gateway_arn: "String", # required
3895
+ # global_network_id: "GlobalNetworkId", # required
3896
+ # transit_gateway_arn: "TransitGatewayArn", # required
1821
3897
  # })
1822
3898
  #
1823
3899
  # @example Response structure
@@ -1836,6 +3912,191 @@ module Aws::NetworkManager
1836
3912
  req.send_request(options)
1837
3913
  end
1838
3914
 
3915
+ # Rejects a core network attachment request.
3916
+ #
3917
+ # @option params [required, String] :attachment_id
3918
+ # The ID of the attachment.
3919
+ #
3920
+ # @return [Types::RejectAttachmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3921
+ #
3922
+ # * {Types::RejectAttachmentResponse#attachment #attachment} => Types::Attachment
3923
+ #
3924
+ # @example Request syntax with placeholder values
3925
+ #
3926
+ # resp = client.reject_attachment({
3927
+ # attachment_id: "AttachmentId", # required
3928
+ # })
3929
+ #
3930
+ # @example Response structure
3931
+ #
3932
+ # resp.attachment.core_network_id #=> String
3933
+ # resp.attachment.core_network_arn #=> String
3934
+ # resp.attachment.attachment_id #=> String
3935
+ # resp.attachment.owner_account_id #=> String
3936
+ # resp.attachment.attachment_type #=> String, one of "CONNECT", "SITE_TO_SITE_VPN", "VPC"
3937
+ # resp.attachment.state #=> String, one of "REJECTED", "PENDING_ATTACHMENT_ACCEPTANCE", "CREATING", "FAILED", "AVAILABLE", "UPDATING", "PENDING_NETWORK_UPDATE", "PENDING_TAG_ACCEPTANCE", "DELETING"
3938
+ # resp.attachment.edge_location #=> String
3939
+ # resp.attachment.resource_arn #=> String
3940
+ # resp.attachment.attachment_policy_rule_number #=> Integer
3941
+ # resp.attachment.segment_name #=> String
3942
+ # resp.attachment.tags #=> Array
3943
+ # resp.attachment.tags[0].key #=> String
3944
+ # resp.attachment.tags[0].value #=> String
3945
+ # resp.attachment.proposed_segment_change.tags #=> Array
3946
+ # resp.attachment.proposed_segment_change.tags[0].key #=> String
3947
+ # resp.attachment.proposed_segment_change.tags[0].value #=> String
3948
+ # resp.attachment.proposed_segment_change.attachment_policy_rule_number #=> Integer
3949
+ # resp.attachment.proposed_segment_change.segment_name #=> String
3950
+ # resp.attachment.created_at #=> Time
3951
+ # resp.attachment.updated_at #=> Time
3952
+ #
3953
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/RejectAttachment AWS API Documentation
3954
+ #
3955
+ # @overload reject_attachment(params = {})
3956
+ # @param [Hash] params ({})
3957
+ def reject_attachment(params = {}, options = {})
3958
+ req = build_request(:reject_attachment, params)
3959
+ req.send_request(options)
3960
+ end
3961
+
3962
+ # Restores a previous policy version as a new, immutable version of a
3963
+ # core network policy. A subsequent change set is created showing the
3964
+ # differences between the LIVE policy and restored policy.
3965
+ #
3966
+ # @option params [required, String] :core_network_id
3967
+ # The ID of a core network.
3968
+ #
3969
+ # @option params [required, Integer] :policy_version_id
3970
+ # The ID of the policy version to restore.
3971
+ #
3972
+ # @return [Types::RestoreCoreNetworkPolicyVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3973
+ #
3974
+ # * {Types::RestoreCoreNetworkPolicyVersionResponse#core_network_policy #core_network_policy} => Types::CoreNetworkPolicy
3975
+ #
3976
+ # @example Request syntax with placeholder values
3977
+ #
3978
+ # resp = client.restore_core_network_policy_version({
3979
+ # core_network_id: "CoreNetworkId", # required
3980
+ # policy_version_id: 1, # required
3981
+ # })
3982
+ #
3983
+ # @example Response structure
3984
+ #
3985
+ # resp.core_network_policy.core_network_id #=> String
3986
+ # resp.core_network_policy.policy_version_id #=> Integer
3987
+ # resp.core_network_policy.alias #=> String, one of "LIVE", "LATEST"
3988
+ # resp.core_network_policy.description #=> String
3989
+ # resp.core_network_policy.created_at #=> Time
3990
+ # resp.core_network_policy.change_set_state #=> String, one of "PENDING_GENERATION", "FAILED_GENERATION", "READY_TO_EXECUTE", "EXECUTING", "EXECUTION_SUCCEEDED", "OUT_OF_DATE"
3991
+ # resp.core_network_policy.policy_errors #=> Array
3992
+ # resp.core_network_policy.policy_errors[0].error_code #=> String
3993
+ # resp.core_network_policy.policy_errors[0].message #=> String
3994
+ # resp.core_network_policy.policy_errors[0].path #=> String
3995
+ # resp.core_network_policy.policy_document #=> String
3996
+ #
3997
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/RestoreCoreNetworkPolicyVersion AWS API Documentation
3998
+ #
3999
+ # @overload restore_core_network_policy_version(params = {})
4000
+ # @param [Hash] params ({})
4001
+ def restore_core_network_policy_version(params = {}, options = {})
4002
+ req = build_request(:restore_core_network_policy_version, params)
4003
+ req.send_request(options)
4004
+ end
4005
+
4006
+ # Starts analyzing the routing path between the specified source and
4007
+ # destination. For more information, see [Route Analyzer][1].
4008
+ #
4009
+ #
4010
+ #
4011
+ # [1]: https://docs.aws.amazon.com/vpc/latest/tgw/route-analyzer.html
4012
+ #
4013
+ # @option params [required, String] :global_network_id
4014
+ # The ID of the global network.
4015
+ #
4016
+ # @option params [required, Types::RouteAnalysisEndpointOptionsSpecification] :source
4017
+ # The source from which traffic originates.
4018
+ #
4019
+ # @option params [required, Types::RouteAnalysisEndpointOptionsSpecification] :destination
4020
+ # The destination.
4021
+ #
4022
+ # @option params [Boolean] :include_return_path
4023
+ # Indicates whether to analyze the return path. The default is `false`.
4024
+ #
4025
+ # @option params [Boolean] :use_middleboxes
4026
+ # Indicates whether to include the location of middlebox appliances in
4027
+ # the route analysis. The default is `false`.
4028
+ #
4029
+ # @return [Types::StartRouteAnalysisResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4030
+ #
4031
+ # * {Types::StartRouteAnalysisResponse#route_analysis #route_analysis} => Types::RouteAnalysis
4032
+ #
4033
+ # @example Request syntax with placeholder values
4034
+ #
4035
+ # resp = client.start_route_analysis({
4036
+ # global_network_id: "GlobalNetworkId", # required
4037
+ # source: { # required
4038
+ # transit_gateway_attachment_arn: "TransitGatewayAttachmentArn",
4039
+ # ip_address: "IPAddress",
4040
+ # },
4041
+ # destination: { # required
4042
+ # transit_gateway_attachment_arn: "TransitGatewayAttachmentArn",
4043
+ # ip_address: "IPAddress",
4044
+ # },
4045
+ # include_return_path: false,
4046
+ # use_middleboxes: false,
4047
+ # })
4048
+ #
4049
+ # @example Response structure
4050
+ #
4051
+ # resp.route_analysis.global_network_id #=> String
4052
+ # resp.route_analysis.owner_account_id #=> String
4053
+ # resp.route_analysis.route_analysis_id #=> String
4054
+ # resp.route_analysis.start_timestamp #=> Time
4055
+ # resp.route_analysis.status #=> String, one of "RUNNING", "COMPLETED", "FAILED"
4056
+ # resp.route_analysis.source.transit_gateway_attachment_arn #=> String
4057
+ # resp.route_analysis.source.transit_gateway_arn #=> String
4058
+ # resp.route_analysis.source.ip_address #=> String
4059
+ # resp.route_analysis.destination.transit_gateway_attachment_arn #=> String
4060
+ # resp.route_analysis.destination.transit_gateway_arn #=> String
4061
+ # resp.route_analysis.destination.ip_address #=> String
4062
+ # resp.route_analysis.include_return_path #=> Boolean
4063
+ # resp.route_analysis.use_middleboxes #=> Boolean
4064
+ # resp.route_analysis.forward_path.completion_status.result_code #=> String, one of "CONNECTED", "NOT_CONNECTED"
4065
+ # resp.route_analysis.forward_path.completion_status.reason_code #=> String, one of "TRANSIT_GATEWAY_ATTACHMENT_NOT_FOUND", "TRANSIT_GATEWAY_ATTACHMENT_NOT_IN_TRANSIT_GATEWAY", "CYCLIC_PATH_DETECTED", "TRANSIT_GATEWAY_ATTACHMENT_STABLE_ROUTE_TABLE_NOT_FOUND", "ROUTE_NOT_FOUND", "BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND", "INACTIVE_ROUTE_FOR_DESTINATION_FOUND", "TRANSIT_GATEWAY_ATTACHMENT_ATTACH_ARN_NO_MATCH", "MAX_HOPS_EXCEEDED", "POSSIBLE_MIDDLEBOX", "NO_DESTINATION_ARN_PROVIDED"
4066
+ # resp.route_analysis.forward_path.completion_status.reason_context #=> Hash
4067
+ # resp.route_analysis.forward_path.completion_status.reason_context["ReasonContextKey"] #=> String
4068
+ # resp.route_analysis.forward_path.path #=> Array
4069
+ # resp.route_analysis.forward_path.path[0].sequence #=> Integer
4070
+ # resp.route_analysis.forward_path.path[0].resource.registered_gateway_arn #=> String
4071
+ # resp.route_analysis.forward_path.path[0].resource.resource_arn #=> String
4072
+ # resp.route_analysis.forward_path.path[0].resource.resource_type #=> String
4073
+ # resp.route_analysis.forward_path.path[0].resource.definition #=> String
4074
+ # resp.route_analysis.forward_path.path[0].resource.name_tag #=> String
4075
+ # resp.route_analysis.forward_path.path[0].resource.is_middlebox #=> Boolean
4076
+ # resp.route_analysis.forward_path.path[0].destination_cidr_block #=> String
4077
+ # resp.route_analysis.return_path.completion_status.result_code #=> String, one of "CONNECTED", "NOT_CONNECTED"
4078
+ # resp.route_analysis.return_path.completion_status.reason_code #=> String, one of "TRANSIT_GATEWAY_ATTACHMENT_NOT_FOUND", "TRANSIT_GATEWAY_ATTACHMENT_NOT_IN_TRANSIT_GATEWAY", "CYCLIC_PATH_DETECTED", "TRANSIT_GATEWAY_ATTACHMENT_STABLE_ROUTE_TABLE_NOT_FOUND", "ROUTE_NOT_FOUND", "BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND", "INACTIVE_ROUTE_FOR_DESTINATION_FOUND", "TRANSIT_GATEWAY_ATTACHMENT_ATTACH_ARN_NO_MATCH", "MAX_HOPS_EXCEEDED", "POSSIBLE_MIDDLEBOX", "NO_DESTINATION_ARN_PROVIDED"
4079
+ # resp.route_analysis.return_path.completion_status.reason_context #=> Hash
4080
+ # resp.route_analysis.return_path.completion_status.reason_context["ReasonContextKey"] #=> String
4081
+ # resp.route_analysis.return_path.path #=> Array
4082
+ # resp.route_analysis.return_path.path[0].sequence #=> Integer
4083
+ # resp.route_analysis.return_path.path[0].resource.registered_gateway_arn #=> String
4084
+ # resp.route_analysis.return_path.path[0].resource.resource_arn #=> String
4085
+ # resp.route_analysis.return_path.path[0].resource.resource_type #=> String
4086
+ # resp.route_analysis.return_path.path[0].resource.definition #=> String
4087
+ # resp.route_analysis.return_path.path[0].resource.name_tag #=> String
4088
+ # resp.route_analysis.return_path.path[0].resource.is_middlebox #=> Boolean
4089
+ # resp.route_analysis.return_path.path[0].destination_cidr_block #=> String
4090
+ #
4091
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/StartRouteAnalysis AWS API Documentation
4092
+ #
4093
+ # @overload start_route_analysis(params = {})
4094
+ # @param [Hash] params ({})
4095
+ def start_route_analysis(params = {}, options = {})
4096
+ req = build_request(:start_route_analysis, params)
4097
+ req.send_request(options)
4098
+ end
4099
+
1839
4100
  # Tags a specified resource.
1840
4101
  #
1841
4102
  # @option params [required, String] :resource_arn
@@ -1849,7 +4110,7 @@ module Aws::NetworkManager
1849
4110
  # @example Request syntax with placeholder values
1850
4111
  #
1851
4112
  # resp = client.tag_resource({
1852
- # resource_arn: "ResourceARN", # required
4113
+ # resource_arn: "ResourceArn", # required
1853
4114
  # tags: [ # required
1854
4115
  # {
1855
4116
  # key: "TagKey",
@@ -1880,7 +4141,7 @@ module Aws::NetworkManager
1880
4141
  # @example Request syntax with placeholder values
1881
4142
  #
1882
4143
  # resp = client.untag_resource({
1883
- # resource_arn: "ResourceARN", # required
4144
+ # resource_arn: "ResourceArn", # required
1884
4145
  # tag_keys: ["TagKey"], # required
1885
4146
  # })
1886
4147
  #
@@ -1920,11 +4181,11 @@ module Aws::NetworkManager
1920
4181
  # @example Request syntax with placeholder values
1921
4182
  #
1922
4183
  # resp = client.update_connection({
1923
- # global_network_id: "String", # required
1924
- # connection_id: "String", # required
1925
- # link_id: "String",
1926
- # connected_link_id: "String",
1927
- # description: "String",
4184
+ # global_network_id: "GlobalNetworkId", # required
4185
+ # connection_id: "ConnectionId", # required
4186
+ # link_id: "LinkId",
4187
+ # connected_link_id: "LinkId",
4188
+ # description: "ConstrainedString",
1928
4189
  # })
1929
4190
  #
1930
4191
  # @example Response structure
@@ -1952,6 +4213,57 @@ module Aws::NetworkManager
1952
4213
  req.send_request(options)
1953
4214
  end
1954
4215
 
4216
+ # Updates the description of a core network.
4217
+ #
4218
+ # @option params [required, String] :core_network_id
4219
+ # The ID of a core network.
4220
+ #
4221
+ # @option params [String] :description
4222
+ # The description of the update.
4223
+ #
4224
+ # @return [Types::UpdateCoreNetworkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4225
+ #
4226
+ # * {Types::UpdateCoreNetworkResponse#core_network #core_network} => Types::CoreNetwork
4227
+ #
4228
+ # @example Request syntax with placeholder values
4229
+ #
4230
+ # resp = client.update_core_network({
4231
+ # core_network_id: "CoreNetworkId", # required
4232
+ # description: "ConstrainedString",
4233
+ # })
4234
+ #
4235
+ # @example Response structure
4236
+ #
4237
+ # resp.core_network.global_network_id #=> String
4238
+ # resp.core_network.core_network_id #=> String
4239
+ # resp.core_network.core_network_arn #=> String
4240
+ # resp.core_network.description #=> String
4241
+ # resp.core_network.created_at #=> Time
4242
+ # resp.core_network.state #=> String, one of "CREATING", "UPDATING", "AVAILABLE", "DELETING"
4243
+ # resp.core_network.segments #=> Array
4244
+ # resp.core_network.segments[0].name #=> String
4245
+ # resp.core_network.segments[0].edge_locations #=> Array
4246
+ # resp.core_network.segments[0].edge_locations[0] #=> String
4247
+ # resp.core_network.segments[0].shared_segments #=> Array
4248
+ # resp.core_network.segments[0].shared_segments[0] #=> String
4249
+ # resp.core_network.edges #=> Array
4250
+ # resp.core_network.edges[0].edge_location #=> String
4251
+ # resp.core_network.edges[0].asn #=> Integer
4252
+ # resp.core_network.edges[0].inside_cidr_blocks #=> Array
4253
+ # resp.core_network.edges[0].inside_cidr_blocks[0] #=> String
4254
+ # resp.core_network.tags #=> Array
4255
+ # resp.core_network.tags[0].key #=> String
4256
+ # resp.core_network.tags[0].value #=> String
4257
+ #
4258
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateCoreNetwork AWS API Documentation
4259
+ #
4260
+ # @overload update_core_network(params = {})
4261
+ # @param [Hash] params ({})
4262
+ def update_core_network(params = {}, options = {})
4263
+ req = build_request(:update_core_network, params)
4264
+ req.send_request(options)
4265
+ end
4266
+
1955
4267
  # Updates the details for an existing device. To remove information for
1956
4268
  # any of the parameters, specify an empty string.
1957
4269
  #
@@ -1962,12 +4274,13 @@ module Aws::NetworkManager
1962
4274
  # The ID of the device.
1963
4275
  #
1964
4276
  # @option params [Types::AWSLocation] :aws_location
1965
- # The AWS location of the device.
4277
+ # The Amazon Web Services location of the device, if applicable. For an
4278
+ # on-premises device, you can omit this parameter.
1966
4279
  #
1967
4280
  # @option params [String] :description
1968
4281
  # A description of the device.
1969
4282
  #
1970
- # Length Constraints: Maximum length of 256 characters.
4283
+ # Constraints: Maximum length of 256 characters.
1971
4284
  #
1972
4285
  # @option params [String] :type
1973
4286
  # The type of the device.
@@ -1975,17 +4288,17 @@ module Aws::NetworkManager
1975
4288
  # @option params [String] :vendor
1976
4289
  # The vendor of the device.
1977
4290
  #
1978
- # Length Constraints: Maximum length of 128 characters.
4291
+ # Constraints: Maximum length of 128 characters.
1979
4292
  #
1980
4293
  # @option params [String] :model
1981
4294
  # The model of the device.
1982
4295
  #
1983
- # Length Constraints: Maximum length of 128 characters.
4296
+ # Constraints: Maximum length of 128 characters.
1984
4297
  #
1985
4298
  # @option params [String] :serial_number
1986
4299
  # The serial number of the device.
1987
4300
  #
1988
- # Length Constraints: Maximum length of 128 characters.
4301
+ # Constraints: Maximum length of 128 characters.
1989
4302
  #
1990
4303
  # @option params [Types::Location] :location
1991
4304
  # Describes a location.
@@ -2000,23 +4313,23 @@ module Aws::NetworkManager
2000
4313
  # @example Request syntax with placeholder values
2001
4314
  #
2002
4315
  # resp = client.update_device({
2003
- # global_network_id: "String", # required
2004
- # device_id: "String", # required
4316
+ # global_network_id: "GlobalNetworkId", # required
4317
+ # device_id: "DeviceId", # required
2005
4318
  # aws_location: {
2006
- # zone: "String",
2007
- # subnet_arn: "String",
4319
+ # zone: "ConstrainedString",
4320
+ # subnet_arn: "SubnetArn",
2008
4321
  # },
2009
- # description: "String",
2010
- # type: "String",
2011
- # vendor: "String",
2012
- # model: "String",
2013
- # serial_number: "String",
4322
+ # description: "ConstrainedString",
4323
+ # type: "ConstrainedString",
4324
+ # vendor: "ConstrainedString",
4325
+ # model: "ConstrainedString",
4326
+ # serial_number: "ConstrainedString",
2014
4327
  # location: {
2015
- # address: "String",
2016
- # latitude: "String",
2017
- # longitude: "String",
4328
+ # address: "ConstrainedString",
4329
+ # latitude: "ConstrainedString",
4330
+ # longitude: "ConstrainedString",
2018
4331
  # },
2019
- # site_id: "String",
4332
+ # site_id: "SiteId",
2020
4333
  # })
2021
4334
  #
2022
4335
  # @example Response structure
@@ -2059,7 +4372,7 @@ module Aws::NetworkManager
2059
4372
  # @option params [String] :description
2060
4373
  # A description of the global network.
2061
4374
  #
2062
- # Length Constraints: Maximum length of 256 characters.
4375
+ # Constraints: Maximum length of 256 characters.
2063
4376
  #
2064
4377
  # @return [Types::UpdateGlobalNetworkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2065
4378
  #
@@ -2068,8 +4381,8 @@ module Aws::NetworkManager
2068
4381
  # @example Request syntax with placeholder values
2069
4382
  #
2070
4383
  # resp = client.update_global_network({
2071
- # global_network_id: "String", # required
2072
- # description: "String",
4384
+ # global_network_id: "GlobalNetworkId", # required
4385
+ # description: "ConstrainedString",
2073
4386
  # })
2074
4387
  #
2075
4388
  # @example Response structure
@@ -2104,12 +4417,12 @@ module Aws::NetworkManager
2104
4417
  # @option params [String] :description
2105
4418
  # A description of the link.
2106
4419
  #
2107
- # Length Constraints: Maximum length of 256 characters.
4420
+ # Constraints: Maximum length of 256 characters.
2108
4421
  #
2109
4422
  # @option params [String] :type
2110
4423
  # The type of the link.
2111
4424
  #
2112
- # Length Constraints: Maximum length of 128 characters.
4425
+ # Constraints: Maximum length of 128 characters.
2113
4426
  #
2114
4427
  # @option params [Types::Bandwidth] :bandwidth
2115
4428
  # The upload and download speed in Mbps.
@@ -2117,7 +4430,7 @@ module Aws::NetworkManager
2117
4430
  # @option params [String] :provider
2118
4431
  # The provider of the link.
2119
4432
  #
2120
- # Length Constraints: Maximum length of 128 characters.
4433
+ # Constraints: Maximum length of 128 characters.
2121
4434
  #
2122
4435
  # @return [Types::UpdateLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2123
4436
  #
@@ -2126,15 +4439,15 @@ module Aws::NetworkManager
2126
4439
  # @example Request syntax with placeholder values
2127
4440
  #
2128
4441
  # resp = client.update_link({
2129
- # global_network_id: "String", # required
2130
- # link_id: "String", # required
2131
- # description: "String",
2132
- # type: "String",
4442
+ # global_network_id: "GlobalNetworkId", # required
4443
+ # link_id: "LinkId", # required
4444
+ # description: "ConstrainedString",
4445
+ # type: "ConstrainedString",
2133
4446
  # bandwidth: {
2134
4447
  # upload_speed: 1,
2135
4448
  # download_speed: 1,
2136
4449
  # },
2137
- # provider: "String",
4450
+ # provider: "ConstrainedString",
2138
4451
  # })
2139
4452
  #
2140
4453
  # @example Response structure
@@ -2163,6 +4476,47 @@ module Aws::NetworkManager
2163
4476
  req.send_request(options)
2164
4477
  end
2165
4478
 
4479
+ # Updates the resource metadata for the specified global network.
4480
+ #
4481
+ # @option params [required, String] :global_network_id
4482
+ # The ID of the global network.
4483
+ #
4484
+ # @option params [required, String] :resource_arn
4485
+ # The ARN of the resource.
4486
+ #
4487
+ # @option params [required, Hash<String,String>] :metadata
4488
+ # The resource metadata.
4489
+ #
4490
+ # @return [Types::UpdateNetworkResourceMetadataResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4491
+ #
4492
+ # * {Types::UpdateNetworkResourceMetadataResponse#resource_arn #resource_arn} => String
4493
+ # * {Types::UpdateNetworkResourceMetadataResponse#metadata #metadata} => Hash&lt;String,String&gt;
4494
+ #
4495
+ # @example Request syntax with placeholder values
4496
+ #
4497
+ # resp = client.update_network_resource_metadata({
4498
+ # global_network_id: "GlobalNetworkId", # required
4499
+ # resource_arn: "ResourceArn", # required
4500
+ # metadata: { # required
4501
+ # "ConstrainedString" => "ConstrainedString",
4502
+ # },
4503
+ # })
4504
+ #
4505
+ # @example Response structure
4506
+ #
4507
+ # resp.resource_arn #=> String
4508
+ # resp.metadata #=> Hash
4509
+ # resp.metadata["ConstrainedString"] #=> String
4510
+ #
4511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateNetworkResourceMetadata AWS API Documentation
4512
+ #
4513
+ # @overload update_network_resource_metadata(params = {})
4514
+ # @param [Hash] params ({})
4515
+ def update_network_resource_metadata(params = {}, options = {})
4516
+ req = build_request(:update_network_resource_metadata, params)
4517
+ req.send_request(options)
4518
+ end
4519
+
2166
4520
  # Updates the information for an existing site. To remove information
2167
4521
  # for any of the parameters, specify an empty string.
2168
4522
  #
@@ -2175,7 +4529,7 @@ module Aws::NetworkManager
2175
4529
  # @option params [String] :description
2176
4530
  # A description of your site.
2177
4531
  #
2178
- # Length Constraints: Maximum length of 256 characters.
4532
+ # Constraints: Maximum length of 256 characters.
2179
4533
  #
2180
4534
  # @option params [Types::Location] :location
2181
4535
  # The site location:
@@ -2193,13 +4547,13 @@ module Aws::NetworkManager
2193
4547
  # @example Request syntax with placeholder values
2194
4548
  #
2195
4549
  # resp = client.update_site({
2196
- # global_network_id: "String", # required
2197
- # site_id: "String", # required
2198
- # description: "String",
4550
+ # global_network_id: "GlobalNetworkId", # required
4551
+ # site_id: "SiteId", # required
4552
+ # description: "ConstrainedString",
2199
4553
  # location: {
2200
- # address: "String",
2201
- # latitude: "String",
2202
- # longitude: "String",
4554
+ # address: "ConstrainedString",
4555
+ # latitude: "ConstrainedString",
4556
+ # longitude: "ConstrainedString",
2203
4557
  # },
2204
4558
  # })
2205
4559
  #
@@ -2227,6 +4581,70 @@ module Aws::NetworkManager
2227
4581
  req.send_request(options)
2228
4582
  end
2229
4583
 
4584
+ # Updates a VPC attachment.
4585
+ #
4586
+ # @option params [required, String] :attachment_id
4587
+ # The ID of the attachment.
4588
+ #
4589
+ # @option params [Array<String>] :add_subnet_arns
4590
+ # Adds a subnet ARN to the VPC attachment.
4591
+ #
4592
+ # @option params [Array<String>] :remove_subnet_arns
4593
+ # Removes a subnet ARN from the attachment.
4594
+ #
4595
+ # @option params [Types::VpcOptions] :options
4596
+ # Additional options for updating the VPC attachment.
4597
+ #
4598
+ # @return [Types::UpdateVpcAttachmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4599
+ #
4600
+ # * {Types::UpdateVpcAttachmentResponse#vpc_attachment #vpc_attachment} => Types::VpcAttachment
4601
+ #
4602
+ # @example Request syntax with placeholder values
4603
+ #
4604
+ # resp = client.update_vpc_attachment({
4605
+ # attachment_id: "AttachmentId", # required
4606
+ # add_subnet_arns: ["SubnetArn"],
4607
+ # remove_subnet_arns: ["SubnetArn"],
4608
+ # options: {
4609
+ # ipv_6_support: false,
4610
+ # },
4611
+ # })
4612
+ #
4613
+ # @example Response structure
4614
+ #
4615
+ # resp.vpc_attachment.attachment.core_network_id #=> String
4616
+ # resp.vpc_attachment.attachment.core_network_arn #=> String
4617
+ # resp.vpc_attachment.attachment.attachment_id #=> String
4618
+ # resp.vpc_attachment.attachment.owner_account_id #=> String
4619
+ # resp.vpc_attachment.attachment.attachment_type #=> String, one of "CONNECT", "SITE_TO_SITE_VPN", "VPC"
4620
+ # resp.vpc_attachment.attachment.state #=> String, one of "REJECTED", "PENDING_ATTACHMENT_ACCEPTANCE", "CREATING", "FAILED", "AVAILABLE", "UPDATING", "PENDING_NETWORK_UPDATE", "PENDING_TAG_ACCEPTANCE", "DELETING"
4621
+ # resp.vpc_attachment.attachment.edge_location #=> String
4622
+ # resp.vpc_attachment.attachment.resource_arn #=> String
4623
+ # resp.vpc_attachment.attachment.attachment_policy_rule_number #=> Integer
4624
+ # resp.vpc_attachment.attachment.segment_name #=> String
4625
+ # resp.vpc_attachment.attachment.tags #=> Array
4626
+ # resp.vpc_attachment.attachment.tags[0].key #=> String
4627
+ # resp.vpc_attachment.attachment.tags[0].value #=> String
4628
+ # resp.vpc_attachment.attachment.proposed_segment_change.tags #=> Array
4629
+ # resp.vpc_attachment.attachment.proposed_segment_change.tags[0].key #=> String
4630
+ # resp.vpc_attachment.attachment.proposed_segment_change.tags[0].value #=> String
4631
+ # resp.vpc_attachment.attachment.proposed_segment_change.attachment_policy_rule_number #=> Integer
4632
+ # resp.vpc_attachment.attachment.proposed_segment_change.segment_name #=> String
4633
+ # resp.vpc_attachment.attachment.created_at #=> Time
4634
+ # resp.vpc_attachment.attachment.updated_at #=> Time
4635
+ # resp.vpc_attachment.subnet_arns #=> Array
4636
+ # resp.vpc_attachment.subnet_arns[0] #=> String
4637
+ # resp.vpc_attachment.options.ipv_6_support #=> Boolean
4638
+ #
4639
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateVpcAttachment AWS API Documentation
4640
+ #
4641
+ # @overload update_vpc_attachment(params = {})
4642
+ # @param [Hash] params ({})
4643
+ def update_vpc_attachment(params = {}, options = {})
4644
+ req = build_request(:update_vpc_attachment, params)
4645
+ req.send_request(options)
4646
+ end
4647
+
2230
4648
  # @!endgroup
2231
4649
 
2232
4650
  # @param params ({})
@@ -2240,7 +4658,7 @@ module Aws::NetworkManager
2240
4658
  params: params,
2241
4659
  config: config)
2242
4660
  context[:gem_name] = 'aws-sdk-networkmanager'
2243
- context[:gem_version] = '1.15.0'
4661
+ context[:gem_version] = '1.19.0'
2244
4662
  Seahorse::Client::Request.new(handlers, context)
2245
4663
  end
2246
4664