aws-sdk-elasticsearchservice 1.31.0 → 1.36.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -25,9 +25,12 @@ module Aws::ElasticsearchService
25
25
  # See {Seahorse::Client::RequestContext} for more information.
26
26
  #
27
27
  # ## Error Classes
28
+ # * {AccessDeniedException}
28
29
  # * {BaseException}
30
+ # * {ConflictException}
29
31
  # * {DisabledOperationException}
30
32
  # * {InternalException}
33
+ # * {InvalidPaginationTokenException}
31
34
  # * {InvalidTypeException}
32
35
  # * {LimitExceededException}
33
36
  # * {ResourceAlreadyExistsException}
@@ -40,6 +43,16 @@ module Aws::ElasticsearchService
40
43
 
41
44
  extend Aws::Errors::DynamicErrors
42
45
 
46
+ class AccessDeniedException < ServiceError
47
+
48
+ # @param [Seahorse::Client::RequestContext] context
49
+ # @param [String] message
50
+ # @param [Aws::ElasticsearchService::Types::AccessDeniedException] data
51
+ def initialize(context, message, data = Aws::EmptyStructure.new)
52
+ super(context, message, data)
53
+ end
54
+ end
55
+
43
56
  class BaseException < ServiceError
44
57
 
45
58
  # @param [Seahorse::Client::RequestContext] context
@@ -55,6 +68,16 @@ module Aws::ElasticsearchService
55
68
  end
56
69
  end
57
70
 
71
+ class ConflictException < ServiceError
72
+
73
+ # @param [Seahorse::Client::RequestContext] context
74
+ # @param [String] message
75
+ # @param [Aws::ElasticsearchService::Types::ConflictException] data
76
+ def initialize(context, message, data = Aws::EmptyStructure.new)
77
+ super(context, message, data)
78
+ end
79
+ end
80
+
58
81
  class DisabledOperationException < ServiceError
59
82
 
60
83
  # @param [Seahorse::Client::RequestContext] context
@@ -75,6 +98,16 @@ module Aws::ElasticsearchService
75
98
  end
76
99
  end
77
100
 
101
+ class InvalidPaginationTokenException < ServiceError
102
+
103
+ # @param [Seahorse::Client::RequestContext] context
104
+ # @param [String] message
105
+ # @param [Aws::ElasticsearchService::Types::InvalidPaginationTokenException] data
106
+ def initialize(context, message, data = Aws::EmptyStructure.new)
107
+ super(context, message, data)
108
+ end
109
+ end
110
+
78
111
  class InvalidTypeException < ServiceError
79
112
 
80
113
  # @param [Seahorse::Client::RequestContext] context
@@ -6,13 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::ElasticsearchService
9
- # This class provides a resource oriented interface for ElasticsearchService.
10
- # To create a resource object:
11
- # resource = Aws::ElasticsearchService::Resource.new(region: 'us-west-2')
12
- # You can supply a client object with custom configuration that will be used for all resource operations.
13
- # If you do not pass +:client+, a default client will be constructed.
14
- # client = Aws::ElasticsearchService::Client.new(region: 'us-west-2')
15
- # resource = Aws::ElasticsearchService::Resource.new(client: client)
9
+
16
10
  class Resource
17
11
 
18
12
  # @param options ({})
@@ -8,6 +8,43 @@
8
8
  module Aws::ElasticsearchService
9
9
  module Types
10
10
 
11
+ # Container for the parameters to the
12
+ # `AcceptInboundCrossClusterSearchConnection` operation.
13
+ #
14
+ # @note When making an API call, you may pass AcceptInboundCrossClusterSearchConnectionRequest
15
+ # data as a hash:
16
+ #
17
+ # {
18
+ # cross_cluster_search_connection_id: "CrossClusterSearchConnectionId", # required
19
+ # }
20
+ #
21
+ # @!attribute [rw] cross_cluster_search_connection_id
22
+ # The id of the inbound connection that you want to accept.
23
+ # @return [String]
24
+ #
25
+ class AcceptInboundCrossClusterSearchConnectionRequest < Struct.new(
26
+ :cross_cluster_search_connection_id)
27
+ include Aws::Structure
28
+ end
29
+
30
+ # The result of a `AcceptInboundCrossClusterSearchConnection` operation.
31
+ # Contains details of accepted inbound connection.
32
+ #
33
+ # @!attribute [rw] cross_cluster_search_connection
34
+ # Specifies the `InboundCrossClusterSearchConnection` of accepted
35
+ # inbound connection.
36
+ # @return [Types::InboundCrossClusterSearchConnection]
37
+ #
38
+ class AcceptInboundCrossClusterSearchConnectionResponse < Struct.new(
39
+ :cross_cluster_search_connection)
40
+ include Aws::Structure
41
+ end
42
+
43
+ # An error occurred because user does not have permissions to access the
44
+ # resource. Returns HTTP status code 403.
45
+ #
46
+ class AccessDeniedException < Aws::EmptyStructure; end
47
+
11
48
  # The configured access rules for the domain's document and search
12
49
  # endpoints, and the current status of those rules.
13
50
  #
@@ -191,6 +228,42 @@ module Aws::ElasticsearchService
191
228
  include Aws::Structure
192
229
  end
193
230
 
231
+ # Container for request parameters to ` AssociatePackage ` operation.
232
+ #
233
+ # @note When making an API call, you may pass AssociatePackageRequest
234
+ # data as a hash:
235
+ #
236
+ # {
237
+ # package_id: "PackageID", # required
238
+ # domain_name: "DomainName", # required
239
+ # }
240
+ #
241
+ # @!attribute [rw] package_id
242
+ # Internal ID of the package that you want to associate with a domain.
243
+ # Use `DescribePackages` to find this value.
244
+ # @return [String]
245
+ #
246
+ # @!attribute [rw] domain_name
247
+ # Name of the domain that you want to associate the package with.
248
+ # @return [String]
249
+ #
250
+ class AssociatePackageRequest < Struct.new(
251
+ :package_id,
252
+ :domain_name)
253
+ include Aws::Structure
254
+ end
255
+
256
+ # Container for response returned by ` AssociatePackage ` operation.
257
+ #
258
+ # @!attribute [rw] domain_package_details
259
+ # `DomainPackageDetails`
260
+ # @return [Types::DomainPackageDetails]
261
+ #
262
+ class AssociatePackageResponse < Struct.new(
263
+ :domain_package_details)
264
+ include Aws::Structure
265
+ end
266
+
194
267
  # An error occurred while processing the request.
195
268
  #
196
269
  # @!attribute [rw] message
@@ -314,6 +387,11 @@ module Aws::ElasticsearchService
314
387
  include Aws::Structure
315
388
  end
316
389
 
390
+ # An error occurred because the client attempts to remove a resource
391
+ # that is currently in use. Returns HTTP status code 409.
392
+ #
393
+ class ConflictException < Aws::EmptyStructure; end
394
+
317
395
  # @note When making an API call, you may pass CreateElasticsearchDomainRequest
318
396
  # data as a hash:
319
397
  #
@@ -506,6 +584,136 @@ module Aws::ElasticsearchService
506
584
  include Aws::Structure
507
585
  end
508
586
 
587
+ # Container for the parameters to the
588
+ # `CreateOutboundCrossClusterSearchConnection` operation.
589
+ #
590
+ # @note When making an API call, you may pass CreateOutboundCrossClusterSearchConnectionRequest
591
+ # data as a hash:
592
+ #
593
+ # {
594
+ # source_domain_info: { # required
595
+ # owner_id: "OwnerId",
596
+ # domain_name: "DomainName", # required
597
+ # region: "Region",
598
+ # },
599
+ # destination_domain_info: { # required
600
+ # owner_id: "OwnerId",
601
+ # domain_name: "DomainName", # required
602
+ # region: "Region",
603
+ # },
604
+ # connection_alias: "ConnectionAlias", # required
605
+ # }
606
+ #
607
+ # @!attribute [rw] source_domain_info
608
+ # Specifies the `DomainInformation` for the source Elasticsearch
609
+ # domain.
610
+ # @return [Types::DomainInformation]
611
+ #
612
+ # @!attribute [rw] destination_domain_info
613
+ # Specifies the `DomainInformation` for the destination Elasticsearch
614
+ # domain.
615
+ # @return [Types::DomainInformation]
616
+ #
617
+ # @!attribute [rw] connection_alias
618
+ # Specifies the connection alias that will be used by the customer for
619
+ # this connection.
620
+ # @return [String]
621
+ #
622
+ class CreateOutboundCrossClusterSearchConnectionRequest < Struct.new(
623
+ :source_domain_info,
624
+ :destination_domain_info,
625
+ :connection_alias)
626
+ include Aws::Structure
627
+ end
628
+
629
+ # The result of a `CreateOutboundCrossClusterSearchConnection` request.
630
+ # Contains the details of the newly created cross-cluster search
631
+ # connection.
632
+ #
633
+ # @!attribute [rw] source_domain_info
634
+ # Specifies the `DomainInformation` for the source Elasticsearch
635
+ # domain.
636
+ # @return [Types::DomainInformation]
637
+ #
638
+ # @!attribute [rw] destination_domain_info
639
+ # Specifies the `DomainInformation` for the destination Elasticsearch
640
+ # domain.
641
+ # @return [Types::DomainInformation]
642
+ #
643
+ # @!attribute [rw] connection_alias
644
+ # Specifies the connection alias provided during the create connection
645
+ # request.
646
+ # @return [String]
647
+ #
648
+ # @!attribute [rw] connection_status
649
+ # Specifies the `OutboundCrossClusterSearchConnectionStatus` for the
650
+ # newly created connection.
651
+ # @return [Types::OutboundCrossClusterSearchConnectionStatus]
652
+ #
653
+ # @!attribute [rw] cross_cluster_search_connection_id
654
+ # Unique id for the created outbound connection, which is used for
655
+ # subsequent operations on connection.
656
+ # @return [String]
657
+ #
658
+ class CreateOutboundCrossClusterSearchConnectionResponse < Struct.new(
659
+ :source_domain_info,
660
+ :destination_domain_info,
661
+ :connection_alias,
662
+ :connection_status,
663
+ :cross_cluster_search_connection_id)
664
+ include Aws::Structure
665
+ end
666
+
667
+ # Container for request parameters to ` CreatePackage ` operation.
668
+ #
669
+ # @note When making an API call, you may pass CreatePackageRequest
670
+ # data as a hash:
671
+ #
672
+ # {
673
+ # package_name: "PackageName", # required
674
+ # package_type: "TXT-DICTIONARY", # required, accepts TXT-DICTIONARY
675
+ # package_description: "PackageDescription",
676
+ # package_source: { # required
677
+ # s3_bucket_name: "S3BucketName",
678
+ # s3_key: "S3Key",
679
+ # },
680
+ # }
681
+ #
682
+ # @!attribute [rw] package_name
683
+ # Unique identifier for the package.
684
+ # @return [String]
685
+ #
686
+ # @!attribute [rw] package_type
687
+ # Type of package. Currently supports only TXT-DICTIONARY.
688
+ # @return [String]
689
+ #
690
+ # @!attribute [rw] package_description
691
+ # Description of the package.
692
+ # @return [String]
693
+ #
694
+ # @!attribute [rw] package_source
695
+ # The customer S3 location `PackageSource` for importing the package.
696
+ # @return [Types::PackageSource]
697
+ #
698
+ class CreatePackageRequest < Struct.new(
699
+ :package_name,
700
+ :package_type,
701
+ :package_description,
702
+ :package_source)
703
+ include Aws::Structure
704
+ end
705
+
706
+ # Container for response returned by ` CreatePackage ` operation.
707
+ #
708
+ # @!attribute [rw] package_details
709
+ # Information about the package `PackageDetails`.
710
+ # @return [Types::PackageDetails]
711
+ #
712
+ class CreatePackageResponse < Struct.new(
713
+ :package_details)
714
+ include Aws::Structure
715
+ end
716
+
509
717
  # Container for the parameters to the `DeleteElasticsearchDomain`
510
718
  # operation. Specifies the name of the Elasticsearch domain that you
511
719
  # want to delete.
@@ -540,6 +748,102 @@ module Aws::ElasticsearchService
540
748
  include Aws::Structure
541
749
  end
542
750
 
751
+ # Container for the parameters to the
752
+ # `DeleteInboundCrossClusterSearchConnection` operation.
753
+ #
754
+ # @note When making an API call, you may pass DeleteInboundCrossClusterSearchConnectionRequest
755
+ # data as a hash:
756
+ #
757
+ # {
758
+ # cross_cluster_search_connection_id: "CrossClusterSearchConnectionId", # required
759
+ # }
760
+ #
761
+ # @!attribute [rw] cross_cluster_search_connection_id
762
+ # The id of the inbound connection that you want to permanently
763
+ # delete.
764
+ # @return [String]
765
+ #
766
+ class DeleteInboundCrossClusterSearchConnectionRequest < Struct.new(
767
+ :cross_cluster_search_connection_id)
768
+ include Aws::Structure
769
+ end
770
+
771
+ # The result of a `DeleteInboundCrossClusterSearchConnection` operation.
772
+ # Contains details of deleted inbound connection.
773
+ #
774
+ # @!attribute [rw] cross_cluster_search_connection
775
+ # Specifies the `InboundCrossClusterSearchConnection` of deleted
776
+ # inbound connection.
777
+ # @return [Types::InboundCrossClusterSearchConnection]
778
+ #
779
+ class DeleteInboundCrossClusterSearchConnectionResponse < Struct.new(
780
+ :cross_cluster_search_connection)
781
+ include Aws::Structure
782
+ end
783
+
784
+ # Container for the parameters to the
785
+ # `DeleteOutboundCrossClusterSearchConnection` operation.
786
+ #
787
+ # @note When making an API call, you may pass DeleteOutboundCrossClusterSearchConnectionRequest
788
+ # data as a hash:
789
+ #
790
+ # {
791
+ # cross_cluster_search_connection_id: "CrossClusterSearchConnectionId", # required
792
+ # }
793
+ #
794
+ # @!attribute [rw] cross_cluster_search_connection_id
795
+ # The id of the outbound connection that you want to permanently
796
+ # delete.
797
+ # @return [String]
798
+ #
799
+ class DeleteOutboundCrossClusterSearchConnectionRequest < Struct.new(
800
+ :cross_cluster_search_connection_id)
801
+ include Aws::Structure
802
+ end
803
+
804
+ # The result of a `DeleteOutboundCrossClusterSearchConnection`
805
+ # operation. Contains details of deleted outbound connection.
806
+ #
807
+ # @!attribute [rw] cross_cluster_search_connection
808
+ # Specifies the `OutboundCrossClusterSearchConnection` of deleted
809
+ # outbound connection.
810
+ # @return [Types::OutboundCrossClusterSearchConnection]
811
+ #
812
+ class DeleteOutboundCrossClusterSearchConnectionResponse < Struct.new(
813
+ :cross_cluster_search_connection)
814
+ include Aws::Structure
815
+ end
816
+
817
+ # Container for request parameters to ` DeletePackage ` operation.
818
+ #
819
+ # @note When making an API call, you may pass DeletePackageRequest
820
+ # data as a hash:
821
+ #
822
+ # {
823
+ # package_id: "PackageID", # required
824
+ # }
825
+ #
826
+ # @!attribute [rw] package_id
827
+ # Internal ID of the package that you want to delete. Use
828
+ # `DescribePackages` to find this value.
829
+ # @return [String]
830
+ #
831
+ class DeletePackageRequest < Struct.new(
832
+ :package_id)
833
+ include Aws::Structure
834
+ end
835
+
836
+ # Container for response parameters to ` DeletePackage ` operation.
837
+ #
838
+ # @!attribute [rw] package_details
839
+ # `PackageDetails`
840
+ # @return [Types::PackageDetails]
841
+ #
842
+ class DeletePackageResponse < Struct.new(
843
+ :package_details)
844
+ include Aws::Structure
845
+ end
846
+
543
847
  # Container for the parameters to the
544
848
  # `DescribeElasticsearchDomainConfig` operation. Specifies the domain
545
849
  # name for which you want configuration information.
@@ -687,6 +991,213 @@ module Aws::ElasticsearchService
687
991
  include Aws::Structure
688
992
  end
689
993
 
994
+ # Container for the parameters to the
995
+ # `DescribeInboundCrossClusterSearchConnections` operation.
996
+ #
997
+ # @note When making an API call, you may pass DescribeInboundCrossClusterSearchConnectionsRequest
998
+ # data as a hash:
999
+ #
1000
+ # {
1001
+ # filters: [
1002
+ # {
1003
+ # name: "NonEmptyString",
1004
+ # values: ["NonEmptyString"],
1005
+ # },
1006
+ # ],
1007
+ # max_results: 1,
1008
+ # next_token: "NextToken",
1009
+ # }
1010
+ #
1011
+ # @!attribute [rw] filters
1012
+ # A list of filters used to match properties for inbound cross-cluster
1013
+ # search connection. Available `Filter` names for this operation are:
1014
+ # * cross-cluster-search-connection-id
1015
+ # * source-domain-info.domain-name
1016
+ # * source-domain-info.owner-id
1017
+ # * source-domain-info.region
1018
+ # * destination-domain-info.domain-name
1019
+ # @return [Array<Types::Filter>]
1020
+ #
1021
+ # @!attribute [rw] max_results
1022
+ # Set this value to limit the number of results returned. If not
1023
+ # specified, defaults to 100.
1024
+ # @return [Integer]
1025
+ #
1026
+ # @!attribute [rw] next_token
1027
+ # NextToken is sent in case the earlier API call results contain the
1028
+ # NextToken. It is used for pagination.
1029
+ # @return [String]
1030
+ #
1031
+ class DescribeInboundCrossClusterSearchConnectionsRequest < Struct.new(
1032
+ :filters,
1033
+ :max_results,
1034
+ :next_token)
1035
+ include Aws::Structure
1036
+ end
1037
+
1038
+ # The result of a `DescribeInboundCrossClusterSearchConnections`
1039
+ # request. Contains the list of connections matching the filter
1040
+ # criteria.
1041
+ #
1042
+ # @!attribute [rw] cross_cluster_search_connections
1043
+ # Consists of list of `InboundCrossClusterSearchConnection` matching
1044
+ # the specified filter criteria.
1045
+ # @return [Array<Types::InboundCrossClusterSearchConnection>]
1046
+ #
1047
+ # @!attribute [rw] next_token
1048
+ # If more results are available and NextToken is present, make the
1049
+ # next request to the same API with the received NextToken to paginate
1050
+ # the remaining results.
1051
+ # @return [String]
1052
+ #
1053
+ class DescribeInboundCrossClusterSearchConnectionsResponse < Struct.new(
1054
+ :cross_cluster_search_connections,
1055
+ :next_token)
1056
+ include Aws::Structure
1057
+ end
1058
+
1059
+ # Container for the parameters to the
1060
+ # `DescribeOutboundCrossClusterSearchConnections` operation.
1061
+ #
1062
+ # @note When making an API call, you may pass DescribeOutboundCrossClusterSearchConnectionsRequest
1063
+ # data as a hash:
1064
+ #
1065
+ # {
1066
+ # filters: [
1067
+ # {
1068
+ # name: "NonEmptyString",
1069
+ # values: ["NonEmptyString"],
1070
+ # },
1071
+ # ],
1072
+ # max_results: 1,
1073
+ # next_token: "NextToken",
1074
+ # }
1075
+ #
1076
+ # @!attribute [rw] filters
1077
+ # A list of filters used to match properties for outbound
1078
+ # cross-cluster search connection. Available `Filter` names for this
1079
+ # operation are: * cross-cluster-search-connection-id
1080
+ # * destination-domain-info.domain-name
1081
+ # * destination-domain-info.owner-id
1082
+ # * destination-domain-info.region
1083
+ # * source-domain-info.domain-name
1084
+ # @return [Array<Types::Filter>]
1085
+ #
1086
+ # @!attribute [rw] max_results
1087
+ # Set this value to limit the number of results returned. If not
1088
+ # specified, defaults to 100.
1089
+ # @return [Integer]
1090
+ #
1091
+ # @!attribute [rw] next_token
1092
+ # NextToken is sent in case the earlier API call results contain the
1093
+ # NextToken. It is used for pagination.
1094
+ # @return [String]
1095
+ #
1096
+ class DescribeOutboundCrossClusterSearchConnectionsRequest < Struct.new(
1097
+ :filters,
1098
+ :max_results,
1099
+ :next_token)
1100
+ include Aws::Structure
1101
+ end
1102
+
1103
+ # The result of a `DescribeOutboundCrossClusterSearchConnections`
1104
+ # request. Contains the list of connections matching the filter
1105
+ # criteria.
1106
+ #
1107
+ # @!attribute [rw] cross_cluster_search_connections
1108
+ # Consists of list of `OutboundCrossClusterSearchConnection` matching
1109
+ # the specified filter criteria.
1110
+ # @return [Array<Types::OutboundCrossClusterSearchConnection>]
1111
+ #
1112
+ # @!attribute [rw] next_token
1113
+ # If more results are available and NextToken is present, make the
1114
+ # next request to the same API with the received NextToken to paginate
1115
+ # the remaining results.
1116
+ # @return [String]
1117
+ #
1118
+ class DescribeOutboundCrossClusterSearchConnectionsResponse < Struct.new(
1119
+ :cross_cluster_search_connections,
1120
+ :next_token)
1121
+ include Aws::Structure
1122
+ end
1123
+
1124
+ # Filter to apply in `DescribePackage` response.
1125
+ #
1126
+ # @note When making an API call, you may pass DescribePackagesFilter
1127
+ # data as a hash:
1128
+ #
1129
+ # {
1130
+ # name: "PackageID", # accepts PackageID, PackageName, PackageStatus
1131
+ # value: ["DescribePackagesFilterValue"],
1132
+ # }
1133
+ #
1134
+ # @!attribute [rw] name
1135
+ # Any field from `PackageDetails`.
1136
+ # @return [String]
1137
+ #
1138
+ # @!attribute [rw] value
1139
+ # A list of values for the specified field.
1140
+ # @return [Array<String>]
1141
+ #
1142
+ class DescribePackagesFilter < Struct.new(
1143
+ :name,
1144
+ :value)
1145
+ include Aws::Structure
1146
+ end
1147
+
1148
+ # Container for request parameters to ` DescribePackage ` operation.
1149
+ #
1150
+ # @note When making an API call, you may pass DescribePackagesRequest
1151
+ # data as a hash:
1152
+ #
1153
+ # {
1154
+ # filters: [
1155
+ # {
1156
+ # name: "PackageID", # accepts PackageID, PackageName, PackageStatus
1157
+ # value: ["DescribePackagesFilterValue"],
1158
+ # },
1159
+ # ],
1160
+ # max_results: 1,
1161
+ # next_token: "NextToken",
1162
+ # }
1163
+ #
1164
+ # @!attribute [rw] filters
1165
+ # Only returns packages that match the `DescribePackagesFilterList`
1166
+ # values.
1167
+ # @return [Array<Types::DescribePackagesFilter>]
1168
+ #
1169
+ # @!attribute [rw] max_results
1170
+ # Limits results to a maximum number of packages.
1171
+ # @return [Integer]
1172
+ #
1173
+ # @!attribute [rw] next_token
1174
+ # Used for pagination. Only necessary if a previous API call includes
1175
+ # a non-null NextToken value. If provided, returns results for the
1176
+ # next page.
1177
+ # @return [String]
1178
+ #
1179
+ class DescribePackagesRequest < Struct.new(
1180
+ :filters,
1181
+ :max_results,
1182
+ :next_token)
1183
+ include Aws::Structure
1184
+ end
1185
+
1186
+ # Container for response returned by ` DescribePackages ` operation.
1187
+ #
1188
+ # @!attribute [rw] package_details_list
1189
+ # List of `PackageDetails` objects.
1190
+ # @return [Array<Types::PackageDetails>]
1191
+ #
1192
+ # @!attribute [rw] next_token
1193
+ # @return [String]
1194
+ #
1195
+ class DescribePackagesResponse < Struct.new(
1196
+ :package_details_list,
1197
+ :next_token)
1198
+ include Aws::Structure
1199
+ end
1200
+
690
1201
  # Container for parameters to
691
1202
  # `DescribeReservedElasticsearchInstanceOfferings`
692
1203
  #
@@ -794,6 +1305,42 @@ module Aws::ElasticsearchService
794
1305
  #
795
1306
  class DisabledOperationException < Aws::EmptyStructure; end
796
1307
 
1308
+ # Container for request parameters to ` DissociatePackage ` operation.
1309
+ #
1310
+ # @note When making an API call, you may pass DissociatePackageRequest
1311
+ # data as a hash:
1312
+ #
1313
+ # {
1314
+ # package_id: "PackageID", # required
1315
+ # domain_name: "DomainName", # required
1316
+ # }
1317
+ #
1318
+ # @!attribute [rw] package_id
1319
+ # Internal ID of the package that you want to associate with a domain.
1320
+ # Use `DescribePackages` to find this value.
1321
+ # @return [String]
1322
+ #
1323
+ # @!attribute [rw] domain_name
1324
+ # Name of the domain that you want to associate the package with.
1325
+ # @return [String]
1326
+ #
1327
+ class DissociatePackageRequest < Struct.new(
1328
+ :package_id,
1329
+ :domain_name)
1330
+ include Aws::Structure
1331
+ end
1332
+
1333
+ # Container for response returned by ` DissociatePackage ` operation.
1334
+ #
1335
+ # @!attribute [rw] domain_package_details
1336
+ # `DomainPackageDetails`
1337
+ # @return [Types::DomainPackageDetails]
1338
+ #
1339
+ class DissociatePackageResponse < Struct.new(
1340
+ :domain_package_details)
1341
+ include Aws::Structure
1342
+ end
1343
+
797
1344
  # Options to configure endpoint for the Elasticsearch domain.
798
1345
  #
799
1346
  # @note When making an API call, you may pass DomainEndpointOptions
@@ -852,6 +1399,84 @@ module Aws::ElasticsearchService
852
1399
  include Aws::Structure
853
1400
  end
854
1401
 
1402
+ # @note When making an API call, you may pass DomainInformation
1403
+ # data as a hash:
1404
+ #
1405
+ # {
1406
+ # owner_id: "OwnerId",
1407
+ # domain_name: "DomainName", # required
1408
+ # region: "Region",
1409
+ # }
1410
+ #
1411
+ # @!attribute [rw] owner_id
1412
+ # @return [String]
1413
+ #
1414
+ # @!attribute [rw] domain_name
1415
+ # The name of an Elasticsearch domain. Domain names are unique across
1416
+ # the domains owned by an account within an AWS region. Domain names
1417
+ # start with a letter or number and can contain the following
1418
+ # characters: a-z (lowercase), 0-9, and - (hyphen).
1419
+ # @return [String]
1420
+ #
1421
+ # @!attribute [rw] region
1422
+ # @return [String]
1423
+ #
1424
+ class DomainInformation < Struct.new(
1425
+ :owner_id,
1426
+ :domain_name,
1427
+ :region)
1428
+ include Aws::Structure
1429
+ end
1430
+
1431
+ # Information on a package that is associated with a domain.
1432
+ #
1433
+ # @!attribute [rw] package_id
1434
+ # Internal ID of the package.
1435
+ # @return [String]
1436
+ #
1437
+ # @!attribute [rw] package_name
1438
+ # User specified name of the package.
1439
+ # @return [String]
1440
+ #
1441
+ # @!attribute [rw] package_type
1442
+ # Currently supports only TXT-DICTIONARY.
1443
+ # @return [String]
1444
+ #
1445
+ # @!attribute [rw] last_updated
1446
+ # Timestamp of the most-recent update to the association status.
1447
+ # @return [Time]
1448
+ #
1449
+ # @!attribute [rw] domain_name
1450
+ # Name of the domain you've associated a package with.
1451
+ # @return [String]
1452
+ #
1453
+ # @!attribute [rw] domain_package_status
1454
+ # State of the association. Values are
1455
+ # ASSOCIATING/ASSOCIATION\_FAILED/ACTIVE/DISSOCIATING/DISSOCIATION\_FAILED.
1456
+ # @return [String]
1457
+ #
1458
+ # @!attribute [rw] reference_path
1459
+ # The relative path on Amazon ES nodes, which can be used as
1460
+ # synonym\_path when the package is synonym file.
1461
+ # @return [String]
1462
+ #
1463
+ # @!attribute [rw] error_details
1464
+ # Additional information if the package is in an error state. Null
1465
+ # otherwise.
1466
+ # @return [Types::ErrorDetails]
1467
+ #
1468
+ class DomainPackageDetails < Struct.new(
1469
+ :package_id,
1470
+ :package_name,
1471
+ :package_type,
1472
+ :last_updated,
1473
+ :domain_name,
1474
+ :domain_package_status,
1475
+ :reference_path,
1476
+ :error_details)
1477
+ include Aws::Structure
1478
+ end
1479
+
855
1480
  # Options to enable, disable, and specify the properties of EBS storage
856
1481
  # volumes. For more information, see [ Configuring EBS-based
857
1482
  # Storage][1].
@@ -1327,6 +1952,45 @@ module Aws::ElasticsearchService
1327
1952
  include Aws::Structure
1328
1953
  end
1329
1954
 
1955
+ # @!attribute [rw] error_type
1956
+ # @return [String]
1957
+ #
1958
+ # @!attribute [rw] error_message
1959
+ # @return [String]
1960
+ #
1961
+ class ErrorDetails < Struct.new(
1962
+ :error_type,
1963
+ :error_message)
1964
+ include Aws::Structure
1965
+ end
1966
+
1967
+ # A filter used to limit results when describing inbound or outbound
1968
+ # cross-cluster search connections. Multiple values can be specified per
1969
+ # filter. A cross-cluster search connection must match at least one of
1970
+ # the specified values for it to be returned from an operation.
1971
+ #
1972
+ # @note When making an API call, you may pass Filter
1973
+ # data as a hash:
1974
+ #
1975
+ # {
1976
+ # name: "NonEmptyString",
1977
+ # values: ["NonEmptyString"],
1978
+ # }
1979
+ #
1980
+ # @!attribute [rw] name
1981
+ # Specifies the name of the filter.
1982
+ # @return [String]
1983
+ #
1984
+ # @!attribute [rw] values
1985
+ # Contains one or more values for the filter.
1986
+ # @return [Array<String>]
1987
+ #
1988
+ class Filter < Struct.new(
1989
+ :name,
1990
+ :values)
1991
+ include Aws::Structure
1992
+ end
1993
+
1330
1994
  # Container for request parameters to `
1331
1995
  # GetCompatibleElasticsearchVersions ` operation.
1332
1996
  #
@@ -1466,6 +2130,63 @@ module Aws::ElasticsearchService
1466
2130
  include Aws::Structure
1467
2131
  end
1468
2132
 
2133
+ # Specifies details of an inbound connection.
2134
+ #
2135
+ # @!attribute [rw] source_domain_info
2136
+ # Specifies the `DomainInformation` for the source Elasticsearch
2137
+ # domain.
2138
+ # @return [Types::DomainInformation]
2139
+ #
2140
+ # @!attribute [rw] destination_domain_info
2141
+ # Specifies the `DomainInformation` for the destination Elasticsearch
2142
+ # domain.
2143
+ # @return [Types::DomainInformation]
2144
+ #
2145
+ # @!attribute [rw] cross_cluster_search_connection_id
2146
+ # Specifies the connection id for the inbound cross-cluster search
2147
+ # connection.
2148
+ # @return [String]
2149
+ #
2150
+ # @!attribute [rw] connection_status
2151
+ # Specifies the `InboundCrossClusterSearchConnectionStatus` for the
2152
+ # outbound connection.
2153
+ # @return [Types::InboundCrossClusterSearchConnectionStatus]
2154
+ #
2155
+ class InboundCrossClusterSearchConnection < Struct.new(
2156
+ :source_domain_info,
2157
+ :destination_domain_info,
2158
+ :cross_cluster_search_connection_id,
2159
+ :connection_status)
2160
+ include Aws::Structure
2161
+ end
2162
+
2163
+ # Specifies the coonection status of an inbound cross-cluster search
2164
+ # connection.
2165
+ #
2166
+ # @!attribute [rw] status_code
2167
+ # The state code for inbound connection. This can be one of the
2168
+ # following:
2169
+ #
2170
+ # * PENDING\_ACCEPTANCE: Inbound connection is not yet accepted by
2171
+ # destination domain owner.
2172
+ # * APPROVED: Inbound connection is pending acceptance by destination
2173
+ # domain owner.
2174
+ # * REJECTING: Inbound connection rejection is in process.
2175
+ # * REJECTED: Inbound connection is rejected.
2176
+ # * DELETING: Inbound connection deletion is in progress.
2177
+ # * DELETED: Inbound connection is deleted and cannot be used further.
2178
+ # @return [String]
2179
+ #
2180
+ # @!attribute [rw] message
2181
+ # Specifies verbose information for the inbound connection status.
2182
+ # @return [String]
2183
+ #
2184
+ class InboundCrossClusterSearchConnectionStatus < Struct.new(
2185
+ :status_code,
2186
+ :message)
2187
+ include Aws::Structure
2188
+ end
2189
+
1469
2190
  # InstanceCountLimits represents the limits on number of instances that
1470
2191
  # be created in Amazon Elasticsearch for given InstanceType.
1471
2192
  #
@@ -1504,6 +2225,11 @@ module Aws::ElasticsearchService
1504
2225
  #
1505
2226
  class InternalException < Aws::EmptyStructure; end
1506
2227
 
2228
+ # The request processing has failed because of invalid pagination token
2229
+ # provided by customer. Returns an HTTP status code of 400.
2230
+ #
2231
+ class InvalidPaginationTokenException < Aws::EmptyStructure; end
2232
+
1507
2233
  # An exception for trying to create or access sub-resource that is
1508
2234
  # either invalid or not supported. Gives http status code of 409.
1509
2235
  #
@@ -1552,6 +2278,55 @@ module Aws::ElasticsearchService
1552
2278
  include Aws::Structure
1553
2279
  end
1554
2280
 
2281
+ # Container for request parameters to ` ListDomainsForPackage `
2282
+ # operation.
2283
+ #
2284
+ # @note When making an API call, you may pass ListDomainsForPackageRequest
2285
+ # data as a hash:
2286
+ #
2287
+ # {
2288
+ # package_id: "PackageID", # required
2289
+ # max_results: 1,
2290
+ # next_token: "NextToken",
2291
+ # }
2292
+ #
2293
+ # @!attribute [rw] package_id
2294
+ # The package for which to list domains.
2295
+ # @return [String]
2296
+ #
2297
+ # @!attribute [rw] max_results
2298
+ # Limits results to a maximum number of domains.
2299
+ # @return [Integer]
2300
+ #
2301
+ # @!attribute [rw] next_token
2302
+ # Used for pagination. Only necessary if a previous API call includes
2303
+ # a non-null NextToken value. If provided, returns results for the
2304
+ # next page.
2305
+ # @return [String]
2306
+ #
2307
+ class ListDomainsForPackageRequest < Struct.new(
2308
+ :package_id,
2309
+ :max_results,
2310
+ :next_token)
2311
+ include Aws::Structure
2312
+ end
2313
+
2314
+ # Container for response parameters to ` ListDomainsForPackage `
2315
+ # operation.
2316
+ #
2317
+ # @!attribute [rw] domain_package_details_list
2318
+ # List of `DomainPackageDetails` objects.
2319
+ # @return [Array<Types::DomainPackageDetails>]
2320
+ #
2321
+ # @!attribute [rw] next_token
2322
+ # @return [String]
2323
+ #
2324
+ class ListDomainsForPackageResponse < Struct.new(
2325
+ :domain_package_details_list,
2326
+ :next_token)
2327
+ include Aws::Structure
2328
+ end
2329
+
1555
2330
  # Container for the parameters to the ` ListElasticsearchInstanceTypes `
1556
2331
  # operation.
1557
2332
  #
@@ -1668,6 +2443,58 @@ module Aws::ElasticsearchService
1668
2443
  include Aws::Structure
1669
2444
  end
1670
2445
 
2446
+ # Container for request parameters to ` ListPackagesForDomain `
2447
+ # operation.
2448
+ #
2449
+ # @note When making an API call, you may pass ListPackagesForDomainRequest
2450
+ # data as a hash:
2451
+ #
2452
+ # {
2453
+ # domain_name: "DomainName", # required
2454
+ # max_results: 1,
2455
+ # next_token: "NextToken",
2456
+ # }
2457
+ #
2458
+ # @!attribute [rw] domain_name
2459
+ # The name of the domain for which you want to list associated
2460
+ # packages.
2461
+ # @return [String]
2462
+ #
2463
+ # @!attribute [rw] max_results
2464
+ # Limits results to a maximum number of packages.
2465
+ # @return [Integer]
2466
+ #
2467
+ # @!attribute [rw] next_token
2468
+ # Used for pagination. Only necessary if a previous API call includes
2469
+ # a non-null NextToken value. If provided, returns results for the
2470
+ # next page.
2471
+ # @return [String]
2472
+ #
2473
+ class ListPackagesForDomainRequest < Struct.new(
2474
+ :domain_name,
2475
+ :max_results,
2476
+ :next_token)
2477
+ include Aws::Structure
2478
+ end
2479
+
2480
+ # Container for response parameters to ` ListPackagesForDomain `
2481
+ # operation.
2482
+ #
2483
+ # @!attribute [rw] domain_package_details_list
2484
+ # List of `DomainPackageDetails` objects.
2485
+ # @return [Array<Types::DomainPackageDetails>]
2486
+ #
2487
+ # @!attribute [rw] next_token
2488
+ # Pagination token that needs to be supplied to the next call to get
2489
+ # the next page of results.
2490
+ # @return [String]
2491
+ #
2492
+ class ListPackagesForDomainResponse < Struct.new(
2493
+ :domain_package_details_list,
2494
+ :next_token)
2495
+ include Aws::Structure
2496
+ end
2497
+
1671
2498
  # Container for the parameters to the `ListTags` operation. Specify the
1672
2499
  # `ARN` for the Elasticsearch domain to which the tags are attached that
1673
2500
  # you want to view are attached.
@@ -1849,6 +2676,140 @@ module Aws::ElasticsearchService
1849
2676
  include Aws::Structure
1850
2677
  end
1851
2678
 
2679
+ # Specifies details of an outbound connection.
2680
+ #
2681
+ # @!attribute [rw] source_domain_info
2682
+ # Specifies the `DomainInformation` for the source Elasticsearch
2683
+ # domain.
2684
+ # @return [Types::DomainInformation]
2685
+ #
2686
+ # @!attribute [rw] destination_domain_info
2687
+ # Specifies the `DomainInformation` for the destination Elasticsearch
2688
+ # domain.
2689
+ # @return [Types::DomainInformation]
2690
+ #
2691
+ # @!attribute [rw] cross_cluster_search_connection_id
2692
+ # Specifies the connection id for the outbound cross-cluster search
2693
+ # connection.
2694
+ # @return [String]
2695
+ #
2696
+ # @!attribute [rw] connection_alias
2697
+ # Specifies the connection alias for the outbound cross-cluster search
2698
+ # connection.
2699
+ # @return [String]
2700
+ #
2701
+ # @!attribute [rw] connection_status
2702
+ # Specifies the `OutboundCrossClusterSearchConnectionStatus` for the
2703
+ # outbound connection.
2704
+ # @return [Types::OutboundCrossClusterSearchConnectionStatus]
2705
+ #
2706
+ class OutboundCrossClusterSearchConnection < Struct.new(
2707
+ :source_domain_info,
2708
+ :destination_domain_info,
2709
+ :cross_cluster_search_connection_id,
2710
+ :connection_alias,
2711
+ :connection_status)
2712
+ include Aws::Structure
2713
+ end
2714
+
2715
+ # Specifies the connection status of an outbound cross-cluster search
2716
+ # connection.
2717
+ #
2718
+ # @!attribute [rw] status_code
2719
+ # The state code for outbound connection. This can be one of the
2720
+ # following:
2721
+ #
2722
+ # * VALIDATING: The outbound connection request is being validated.
2723
+ # * VALIDATION\_FAILED: Validation failed for the connection request.
2724
+ # * PENDING\_ACCEPTANCE: Outbound connection request is validated and
2725
+ # is not yet accepted by destination domain owner.
2726
+ # * PROVISIONING: Outbound connection request is in process.
2727
+ # * ACTIVE: Outbound connection is active and ready to use.
2728
+ # * REJECTED: Outbound connection request is rejected by destination
2729
+ # domain owner.
2730
+ # * DELETING: Outbound connection deletion is in progress.
2731
+ # * DELETED: Outbound connection is deleted and cannot be used
2732
+ # further.
2733
+ # @return [String]
2734
+ #
2735
+ # @!attribute [rw] message
2736
+ # Specifies verbose information for the outbound connection status.
2737
+ # @return [String]
2738
+ #
2739
+ class OutboundCrossClusterSearchConnectionStatus < Struct.new(
2740
+ :status_code,
2741
+ :message)
2742
+ include Aws::Structure
2743
+ end
2744
+
2745
+ # Basic information about a package.
2746
+ #
2747
+ # @!attribute [rw] package_id
2748
+ # Internal ID of the package.
2749
+ # @return [String]
2750
+ #
2751
+ # @!attribute [rw] package_name
2752
+ # User specified name of the package.
2753
+ # @return [String]
2754
+ #
2755
+ # @!attribute [rw] package_type
2756
+ # Currently supports only TXT-DICTIONARY.
2757
+ # @return [String]
2758
+ #
2759
+ # @!attribute [rw] package_description
2760
+ # User-specified description of the package.
2761
+ # @return [String]
2762
+ #
2763
+ # @!attribute [rw] package_status
2764
+ # Current state of the package. Values are
2765
+ # COPYING/COPY\_FAILED/AVAILABLE/DELETING/DELETE\_FAILED
2766
+ # @return [String]
2767
+ #
2768
+ # @!attribute [rw] created_at
2769
+ # Timestamp which tells creation date of the package.
2770
+ # @return [Time]
2771
+ #
2772
+ # @!attribute [rw] error_details
2773
+ # Additional information if the package is in an error state. Null
2774
+ # otherwise.
2775
+ # @return [Types::ErrorDetails]
2776
+ #
2777
+ class PackageDetails < Struct.new(
2778
+ :package_id,
2779
+ :package_name,
2780
+ :package_type,
2781
+ :package_description,
2782
+ :package_status,
2783
+ :created_at,
2784
+ :error_details)
2785
+ include Aws::Structure
2786
+ end
2787
+
2788
+ # The S3 location for importing the package specified as `S3BucketName`
2789
+ # and `S3Key`
2790
+ #
2791
+ # @note When making an API call, you may pass PackageSource
2792
+ # data as a hash:
2793
+ #
2794
+ # {
2795
+ # s3_bucket_name: "S3BucketName",
2796
+ # s3_key: "S3Key",
2797
+ # }
2798
+ #
2799
+ # @!attribute [rw] s3_bucket_name
2800
+ # Name of the bucket containing the package.
2801
+ # @return [String]
2802
+ #
2803
+ # @!attribute [rw] s3_key
2804
+ # Key (file name) of the package.
2805
+ # @return [String]
2806
+ #
2807
+ class PackageSource < Struct.new(
2808
+ :s3_bucket_name,
2809
+ :s3_key)
2810
+ include Aws::Structure
2811
+ end
2812
+
1852
2813
  # Container for parameters to
1853
2814
  # `PurchaseReservedElasticsearchInstanceOffering`
1854
2815
  #
@@ -1915,6 +2876,38 @@ module Aws::ElasticsearchService
1915
2876
  include Aws::Structure
1916
2877
  end
1917
2878
 
2879
+ # Container for the parameters to the
2880
+ # `RejectInboundCrossClusterSearchConnection` operation.
2881
+ #
2882
+ # @note When making an API call, you may pass RejectInboundCrossClusterSearchConnectionRequest
2883
+ # data as a hash:
2884
+ #
2885
+ # {
2886
+ # cross_cluster_search_connection_id: "CrossClusterSearchConnectionId", # required
2887
+ # }
2888
+ #
2889
+ # @!attribute [rw] cross_cluster_search_connection_id
2890
+ # The id of the inbound connection that you want to reject.
2891
+ # @return [String]
2892
+ #
2893
+ class RejectInboundCrossClusterSearchConnectionRequest < Struct.new(
2894
+ :cross_cluster_search_connection_id)
2895
+ include Aws::Structure
2896
+ end
2897
+
2898
+ # The result of a `RejectInboundCrossClusterSearchConnection` operation.
2899
+ # Contains details of rejected inbound connection.
2900
+ #
2901
+ # @!attribute [rw] cross_cluster_search_connection
2902
+ # Specifies the `InboundCrossClusterSearchConnection` of rejected
2903
+ # inbound connection.
2904
+ # @return [Types::InboundCrossClusterSearchConnection]
2905
+ #
2906
+ class RejectInboundCrossClusterSearchConnectionResponse < Struct.new(
2907
+ :cross_cluster_search_connection)
2908
+ include Aws::Structure
2909
+ end
2910
+
1918
2911
  # Container for the parameters to the `RemoveTags` operation. Specify
1919
2912
  # the `ARN` for the Elasticsearch domain from which you want to remove
1920
2913
  # the specified `TagKey`.
@@ -2119,6 +3112,12 @@ module Aws::ElasticsearchService
2119
3112
  # your service software.
2120
3113
  # @return [Time]
2121
3114
  #
3115
+ # @!attribute [rw] optional_deployment
3116
+ # `True` if a service software is never automatically updated. `False`
3117
+ # if a service software is automatically updated after
3118
+ # `AutomatedUpdateDate`.
3119
+ # @return [Boolean]
3120
+ #
2122
3121
  class ServiceSoftwareOptions < Struct.new(
2123
3122
  :current_version,
2124
3123
  :new_version,
@@ -2126,7 +3125,8 @@ module Aws::ElasticsearchService
2126
3125
  :cancellable,
2127
3126
  :update_status,
2128
3127
  :description,
2129
- :automated_update_date)
3128
+ :automated_update_date,
3129
+ :optional_deployment)
2130
3130
  include Aws::Structure
2131
3131
  end
2132
3132