aws-sdk-elasticsearchservice 1.30.0 → 1.35.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.
@@ -6,10 +6,52 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::ElasticsearchService
9
+
10
+ # When ElasticsearchService returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::ElasticsearchService::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all ElasticsearchService errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::ElasticsearchService::Errors::ServiceError
18
+ # # rescues all ElasticsearchService API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {AccessDeniedException}
29
+ # * {BaseException}
30
+ # * {ConflictException}
31
+ # * {DisabledOperationException}
32
+ # * {InternalException}
33
+ # * {InvalidTypeException}
34
+ # * {LimitExceededException}
35
+ # * {ResourceAlreadyExistsException}
36
+ # * {ResourceNotFoundException}
37
+ # * {ValidationException}
38
+ #
39
+ # Additionally, error classes are dynamically generated for service errors based on the error code
40
+ # if they are not defined above.
9
41
  module Errors
10
42
 
11
43
  extend Aws::Errors::DynamicErrors
12
44
 
45
+ class AccessDeniedException < ServiceError
46
+
47
+ # @param [Seahorse::Client::RequestContext] context
48
+ # @param [String] message
49
+ # @param [Aws::ElasticsearchService::Types::AccessDeniedException] data
50
+ def initialize(context, message, data = Aws::EmptyStructure.new)
51
+ super(context, message, data)
52
+ end
53
+ end
54
+
13
55
  class BaseException < ServiceError
14
56
 
15
57
  # @param [Seahorse::Client::RequestContext] context
@@ -23,7 +65,86 @@ module Aws::ElasticsearchService
23
65
  def message
24
66
  @message || @data[:message]
25
67
  end
68
+ end
69
+
70
+ class ConflictException < ServiceError
71
+
72
+ # @param [Seahorse::Client::RequestContext] context
73
+ # @param [String] message
74
+ # @param [Aws::ElasticsearchService::Types::ConflictException] data
75
+ def initialize(context, message, data = Aws::EmptyStructure.new)
76
+ super(context, message, data)
77
+ end
78
+ end
79
+
80
+ class DisabledOperationException < ServiceError
81
+
82
+ # @param [Seahorse::Client::RequestContext] context
83
+ # @param [String] message
84
+ # @param [Aws::ElasticsearchService::Types::DisabledOperationException] data
85
+ def initialize(context, message, data = Aws::EmptyStructure.new)
86
+ super(context, message, data)
87
+ end
88
+ end
89
+
90
+ class InternalException < ServiceError
91
+
92
+ # @param [Seahorse::Client::RequestContext] context
93
+ # @param [String] message
94
+ # @param [Aws::ElasticsearchService::Types::InternalException] data
95
+ def initialize(context, message, data = Aws::EmptyStructure.new)
96
+ super(context, message, data)
97
+ end
98
+ end
99
+
100
+ class InvalidTypeException < ServiceError
101
+
102
+ # @param [Seahorse::Client::RequestContext] context
103
+ # @param [String] message
104
+ # @param [Aws::ElasticsearchService::Types::InvalidTypeException] data
105
+ def initialize(context, message, data = Aws::EmptyStructure.new)
106
+ super(context, message, data)
107
+ end
108
+ end
109
+
110
+ class LimitExceededException < ServiceError
111
+
112
+ # @param [Seahorse::Client::RequestContext] context
113
+ # @param [String] message
114
+ # @param [Aws::ElasticsearchService::Types::LimitExceededException] data
115
+ def initialize(context, message, data = Aws::EmptyStructure.new)
116
+ super(context, message, data)
117
+ end
118
+ end
119
+
120
+ class ResourceAlreadyExistsException < ServiceError
121
+
122
+ # @param [Seahorse::Client::RequestContext] context
123
+ # @param [String] message
124
+ # @param [Aws::ElasticsearchService::Types::ResourceAlreadyExistsException] data
125
+ def initialize(context, message, data = Aws::EmptyStructure.new)
126
+ super(context, message, data)
127
+ end
128
+ end
129
+
130
+ class ResourceNotFoundException < ServiceError
131
+
132
+ # @param [Seahorse::Client::RequestContext] context
133
+ # @param [String] message
134
+ # @param [Aws::ElasticsearchService::Types::ResourceNotFoundException] data
135
+ def initialize(context, message, data = Aws::EmptyStructure.new)
136
+ super(context, message, data)
137
+ end
138
+ end
26
139
 
140
+ class ValidationException < ServiceError
141
+
142
+ # @param [Seahorse::Client::RequestContext] context
143
+ # @param [String] message
144
+ # @param [Aws::ElasticsearchService::Types::ValidationException] data
145
+ def initialize(context, message, data = Aws::EmptyStructure.new)
146
+ super(context, message, data)
147
+ end
27
148
  end
28
149
 
29
150
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::ElasticsearchService
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -8,6 +8,11 @@
8
8
  module Aws::ElasticsearchService
9
9
  module Types
10
10
 
11
+ # An error occurred because user does not have permissions to access the
12
+ # resource. Returns HTTP status code 403.
13
+ #
14
+ class AccessDeniedException < Aws::EmptyStructure; end
15
+
11
16
  # The configured access rules for the domain's document and search
12
17
  # endpoints, and the current status of those rules.
13
18
  #
@@ -191,6 +196,42 @@ module Aws::ElasticsearchService
191
196
  include Aws::Structure
192
197
  end
193
198
 
199
+ # Container for request parameters to ` AssociatePackage ` operation.
200
+ #
201
+ # @note When making an API call, you may pass AssociatePackageRequest
202
+ # data as a hash:
203
+ #
204
+ # {
205
+ # package_id: "PackageID", # required
206
+ # domain_name: "DomainName", # required
207
+ # }
208
+ #
209
+ # @!attribute [rw] package_id
210
+ # Internal ID of the package that you want to associate with a domain.
211
+ # Use `DescribePackages` to find this value.
212
+ # @return [String]
213
+ #
214
+ # @!attribute [rw] domain_name
215
+ # Name of the domain that you want to associate the package with.
216
+ # @return [String]
217
+ #
218
+ class AssociatePackageRequest < Struct.new(
219
+ :package_id,
220
+ :domain_name)
221
+ include Aws::Structure
222
+ end
223
+
224
+ # Container for response returned by ` AssociatePackage ` operation.
225
+ #
226
+ # @!attribute [rw] domain_package_details
227
+ # `DomainPackageDetails`
228
+ # @return [Types::DomainPackageDetails]
229
+ #
230
+ class AssociatePackageResponse < Struct.new(
231
+ :domain_package_details)
232
+ include Aws::Structure
233
+ end
234
+
194
235
  # An error occurred while processing the request.
195
236
  #
196
237
  # @!attribute [rw] message
@@ -314,6 +355,11 @@ module Aws::ElasticsearchService
314
355
  include Aws::Structure
315
356
  end
316
357
 
358
+ # An error occurred because the client attempts to remove a resource
359
+ # that is currently in use. Returns HTTP status code 409.
360
+ #
361
+ class ConflictException < Aws::EmptyStructure; end
362
+
317
363
  # @note When making an API call, you may pass CreateElasticsearchDomainRequest
318
364
  # data as a hash:
319
365
  #
@@ -506,6 +552,56 @@ module Aws::ElasticsearchService
506
552
  include Aws::Structure
507
553
  end
508
554
 
555
+ # Container for request parameters to ` CreatePackage ` operation.
556
+ #
557
+ # @note When making an API call, you may pass CreatePackageRequest
558
+ # data as a hash:
559
+ #
560
+ # {
561
+ # package_name: "PackageName", # required
562
+ # package_type: "TXT-DICTIONARY", # required, accepts TXT-DICTIONARY
563
+ # package_description: "PackageDescription",
564
+ # package_source: { # required
565
+ # s3_bucket_name: "S3BucketName",
566
+ # s3_key: "S3Key",
567
+ # },
568
+ # }
569
+ #
570
+ # @!attribute [rw] package_name
571
+ # Unique identifier for the package.
572
+ # @return [String]
573
+ #
574
+ # @!attribute [rw] package_type
575
+ # Type of package. Currently supports only TXT-DICTIONARY.
576
+ # @return [String]
577
+ #
578
+ # @!attribute [rw] package_description
579
+ # Description of the package.
580
+ # @return [String]
581
+ #
582
+ # @!attribute [rw] package_source
583
+ # The customer S3 location `PackageSource` for importing the package.
584
+ # @return [Types::PackageSource]
585
+ #
586
+ class CreatePackageRequest < Struct.new(
587
+ :package_name,
588
+ :package_type,
589
+ :package_description,
590
+ :package_source)
591
+ include Aws::Structure
592
+ end
593
+
594
+ # Container for response returned by ` CreatePackage ` operation.
595
+ #
596
+ # @!attribute [rw] package_details
597
+ # Information about the package `PackageDetails`.
598
+ # @return [Types::PackageDetails]
599
+ #
600
+ class CreatePackageResponse < Struct.new(
601
+ :package_details)
602
+ include Aws::Structure
603
+ end
604
+
509
605
  # Container for the parameters to the `DeleteElasticsearchDomain`
510
606
  # operation. Specifies the name of the Elasticsearch domain that you
511
607
  # want to delete.
@@ -540,6 +636,36 @@ module Aws::ElasticsearchService
540
636
  include Aws::Structure
541
637
  end
542
638
 
639
+ # Container for request parameters to ` DeletePackage ` operation.
640
+ #
641
+ # @note When making an API call, you may pass DeletePackageRequest
642
+ # data as a hash:
643
+ #
644
+ # {
645
+ # package_id: "PackageID", # required
646
+ # }
647
+ #
648
+ # @!attribute [rw] package_id
649
+ # Internal ID of the package that you want to delete. Use
650
+ # `DescribePackages` to find this value.
651
+ # @return [String]
652
+ #
653
+ class DeletePackageRequest < Struct.new(
654
+ :package_id)
655
+ include Aws::Structure
656
+ end
657
+
658
+ # Container for response parameters to ` DeletePackage ` operation.
659
+ #
660
+ # @!attribute [rw] package_details
661
+ # `PackageDetails`
662
+ # @return [Types::PackageDetails]
663
+ #
664
+ class DeletePackageResponse < Struct.new(
665
+ :package_details)
666
+ include Aws::Structure
667
+ end
668
+
543
669
  # Container for the parameters to the
544
670
  # `DescribeElasticsearchDomainConfig` operation. Specifies the domain
545
671
  # name for which you want configuration information.
@@ -687,6 +813,83 @@ module Aws::ElasticsearchService
687
813
  include Aws::Structure
688
814
  end
689
815
 
816
+ # Filter to apply in `DescribePackage` response.
817
+ #
818
+ # @note When making an API call, you may pass DescribePackagesFilter
819
+ # data as a hash:
820
+ #
821
+ # {
822
+ # name: "PackageID", # accepts PackageID, PackageName, PackageStatus
823
+ # value: ["DescribePackagesFilterValue"],
824
+ # }
825
+ #
826
+ # @!attribute [rw] name
827
+ # Any field from `PackageDetails`.
828
+ # @return [String]
829
+ #
830
+ # @!attribute [rw] value
831
+ # A list of values for the specified field.
832
+ # @return [Array<String>]
833
+ #
834
+ class DescribePackagesFilter < Struct.new(
835
+ :name,
836
+ :value)
837
+ include Aws::Structure
838
+ end
839
+
840
+ # Container for request parameters to ` DescribePackage ` operation.
841
+ #
842
+ # @note When making an API call, you may pass DescribePackagesRequest
843
+ # data as a hash:
844
+ #
845
+ # {
846
+ # filters: [
847
+ # {
848
+ # name: "PackageID", # accepts PackageID, PackageName, PackageStatus
849
+ # value: ["DescribePackagesFilterValue"],
850
+ # },
851
+ # ],
852
+ # max_results: 1,
853
+ # next_token: "NextToken",
854
+ # }
855
+ #
856
+ # @!attribute [rw] filters
857
+ # Only returns packages that match the `DescribePackagesFilterList`
858
+ # values.
859
+ # @return [Array<Types::DescribePackagesFilter>]
860
+ #
861
+ # @!attribute [rw] max_results
862
+ # Limits results to a maximum number of packages.
863
+ # @return [Integer]
864
+ #
865
+ # @!attribute [rw] next_token
866
+ # Used for pagination. Only necessary if a previous API call includes
867
+ # a non-null NextToken value. If provided, returns results for the
868
+ # next page.
869
+ # @return [String]
870
+ #
871
+ class DescribePackagesRequest < Struct.new(
872
+ :filters,
873
+ :max_results,
874
+ :next_token)
875
+ include Aws::Structure
876
+ end
877
+
878
+ # Container for response returned by ` DescribePackages ` operation.
879
+ #
880
+ # @!attribute [rw] package_details_list
881
+ # List of `PackageDetails` objects.
882
+ # @return [Array<Types::PackageDetails>]
883
+ #
884
+ # @!attribute [rw] next_token
885
+ # @return [String]
886
+ #
887
+ class DescribePackagesResponse < Struct.new(
888
+ :package_details_list,
889
+ :next_token)
890
+ include Aws::Structure
891
+ end
892
+
690
893
  # Container for parameters to
691
894
  # `DescribeReservedElasticsearchInstanceOfferings`
692
895
  #
@@ -789,6 +992,47 @@ module Aws::ElasticsearchService
789
992
  include Aws::Structure
790
993
  end
791
994
 
995
+ # An error occured because the client wanted to access a not supported
996
+ # operation. Gives http status code of 409.
997
+ #
998
+ class DisabledOperationException < Aws::EmptyStructure; end
999
+
1000
+ # Container for request parameters to ` DissociatePackage ` operation.
1001
+ #
1002
+ # @note When making an API call, you may pass DissociatePackageRequest
1003
+ # data as a hash:
1004
+ #
1005
+ # {
1006
+ # package_id: "PackageID", # required
1007
+ # domain_name: "DomainName", # required
1008
+ # }
1009
+ #
1010
+ # @!attribute [rw] package_id
1011
+ # Internal ID of the package that you want to associate with a domain.
1012
+ # Use `DescribePackages` to find this value.
1013
+ # @return [String]
1014
+ #
1015
+ # @!attribute [rw] domain_name
1016
+ # Name of the domain that you want to associate the package with.
1017
+ # @return [String]
1018
+ #
1019
+ class DissociatePackageRequest < Struct.new(
1020
+ :package_id,
1021
+ :domain_name)
1022
+ include Aws::Structure
1023
+ end
1024
+
1025
+ # Container for response returned by ` DissociatePackage ` operation.
1026
+ #
1027
+ # @!attribute [rw] domain_package_details
1028
+ # `DomainPackageDetails`
1029
+ # @return [Types::DomainPackageDetails]
1030
+ #
1031
+ class DissociatePackageResponse < Struct.new(
1032
+ :domain_package_details)
1033
+ include Aws::Structure
1034
+ end
1035
+
792
1036
  # Options to configure endpoint for the Elasticsearch domain.
793
1037
  #
794
1038
  # @note When making an API call, you may pass DomainEndpointOptions
@@ -847,6 +1091,55 @@ module Aws::ElasticsearchService
847
1091
  include Aws::Structure
848
1092
  end
849
1093
 
1094
+ # Information on a package that is associated with a domain.
1095
+ #
1096
+ # @!attribute [rw] package_id
1097
+ # Internal ID of the package.
1098
+ # @return [String]
1099
+ #
1100
+ # @!attribute [rw] package_name
1101
+ # User specified name of the package.
1102
+ # @return [String]
1103
+ #
1104
+ # @!attribute [rw] package_type
1105
+ # Currently supports only TXT-DICTIONARY.
1106
+ # @return [String]
1107
+ #
1108
+ # @!attribute [rw] last_updated
1109
+ # Timestamp of the most-recent update to the association status.
1110
+ # @return [Time]
1111
+ #
1112
+ # @!attribute [rw] domain_name
1113
+ # Name of the domain you've associated a package with.
1114
+ # @return [String]
1115
+ #
1116
+ # @!attribute [rw] domain_package_status
1117
+ # State of the association. Values are
1118
+ # ASSOCIATING/ASSOCIATION\_FAILED/ACTIVE/DISSOCIATING/DISSOCIATION\_FAILED.
1119
+ # @return [String]
1120
+ #
1121
+ # @!attribute [rw] reference_path
1122
+ # The relative path on Amazon ES nodes, which can be used as
1123
+ # synonym\_path when the package is synonym file.
1124
+ # @return [String]
1125
+ #
1126
+ # @!attribute [rw] error_details
1127
+ # Additional information if the package is in an error state. Null
1128
+ # otherwise.
1129
+ # @return [Types::ErrorDetails]
1130
+ #
1131
+ class DomainPackageDetails < Struct.new(
1132
+ :package_id,
1133
+ :package_name,
1134
+ :package_type,
1135
+ :last_updated,
1136
+ :domain_name,
1137
+ :domain_package_status,
1138
+ :reference_path,
1139
+ :error_details)
1140
+ include Aws::Structure
1141
+ end
1142
+
850
1143
  # Options to enable, disable, and specify the properties of EBS storage
851
1144
  # volumes. For more information, see [ Configuring EBS-based
852
1145
  # Storage][1].
@@ -1322,6 +1615,18 @@ module Aws::ElasticsearchService
1322
1615
  include Aws::Structure
1323
1616
  end
1324
1617
 
1618
+ # @!attribute [rw] error_type
1619
+ # @return [String]
1620
+ #
1621
+ # @!attribute [rw] error_message
1622
+ # @return [String]
1623
+ #
1624
+ class ErrorDetails < Struct.new(
1625
+ :error_type,
1626
+ :error_message)
1627
+ include Aws::Structure
1628
+ end
1629
+
1325
1630
  # Container for request parameters to `
1326
1631
  # GetCompatibleElasticsearchVersions ` operation.
1327
1632
  #
@@ -1493,6 +1798,22 @@ module Aws::ElasticsearchService
1493
1798
  include Aws::Structure
1494
1799
  end
1495
1800
 
1801
+ # The request processing has failed because of an unknown error,
1802
+ # exception or failure (the failure is internal to the service) . Gives
1803
+ # http status code of 500.
1804
+ #
1805
+ class InternalException < Aws::EmptyStructure; end
1806
+
1807
+ # An exception for trying to create or access sub-resource that is
1808
+ # either invalid or not supported. Gives http status code of 409.
1809
+ #
1810
+ class InvalidTypeException < Aws::EmptyStructure; end
1811
+
1812
+ # An exception for trying to create more than allowed resources or
1813
+ # sub-resources. Gives http status code of 409.
1814
+ #
1815
+ class LimitExceededException < Aws::EmptyStructure; end
1816
+
1496
1817
  # Limits for given InstanceType and for each of it's role.
1497
1818
  # Limits contains following ` StorageTypes, ` ` InstanceLimits ` and `
1498
1819
  # AdditionalLimits `
@@ -1531,6 +1852,55 @@ module Aws::ElasticsearchService
1531
1852
  include Aws::Structure
1532
1853
  end
1533
1854
 
1855
+ # Container for request parameters to ` ListDomainsForPackage `
1856
+ # operation.
1857
+ #
1858
+ # @note When making an API call, you may pass ListDomainsForPackageRequest
1859
+ # data as a hash:
1860
+ #
1861
+ # {
1862
+ # package_id: "PackageID", # required
1863
+ # max_results: 1,
1864
+ # next_token: "NextToken",
1865
+ # }
1866
+ #
1867
+ # @!attribute [rw] package_id
1868
+ # The package for which to list domains.
1869
+ # @return [String]
1870
+ #
1871
+ # @!attribute [rw] max_results
1872
+ # Limits results to a maximum number of domains.
1873
+ # @return [Integer]
1874
+ #
1875
+ # @!attribute [rw] next_token
1876
+ # Used for pagination. Only necessary if a previous API call includes
1877
+ # a non-null NextToken value. If provided, returns results for the
1878
+ # next page.
1879
+ # @return [String]
1880
+ #
1881
+ class ListDomainsForPackageRequest < Struct.new(
1882
+ :package_id,
1883
+ :max_results,
1884
+ :next_token)
1885
+ include Aws::Structure
1886
+ end
1887
+
1888
+ # Container for response parameters to ` ListDomainsForPackage `
1889
+ # operation.
1890
+ #
1891
+ # @!attribute [rw] domain_package_details_list
1892
+ # List of `DomainPackageDetails` objects.
1893
+ # @return [Array<Types::DomainPackageDetails>]
1894
+ #
1895
+ # @!attribute [rw] next_token
1896
+ # @return [String]
1897
+ #
1898
+ class ListDomainsForPackageResponse < Struct.new(
1899
+ :domain_package_details_list,
1900
+ :next_token)
1901
+ include Aws::Structure
1902
+ end
1903
+
1534
1904
  # Container for the parameters to the ` ListElasticsearchInstanceTypes `
1535
1905
  # operation.
1536
1906
  #
@@ -1647,6 +2017,58 @@ module Aws::ElasticsearchService
1647
2017
  include Aws::Structure
1648
2018
  end
1649
2019
 
2020
+ # Container for request parameters to ` ListPackagesForDomain `
2021
+ # operation.
2022
+ #
2023
+ # @note When making an API call, you may pass ListPackagesForDomainRequest
2024
+ # data as a hash:
2025
+ #
2026
+ # {
2027
+ # domain_name: "DomainName", # required
2028
+ # max_results: 1,
2029
+ # next_token: "NextToken",
2030
+ # }
2031
+ #
2032
+ # @!attribute [rw] domain_name
2033
+ # The name of the domain for which you want to list associated
2034
+ # packages.
2035
+ # @return [String]
2036
+ #
2037
+ # @!attribute [rw] max_results
2038
+ # Limits results to a maximum number of packages.
2039
+ # @return [Integer]
2040
+ #
2041
+ # @!attribute [rw] next_token
2042
+ # Used for pagination. Only necessary if a previous API call includes
2043
+ # a non-null NextToken value. If provided, returns results for the
2044
+ # next page.
2045
+ # @return [String]
2046
+ #
2047
+ class ListPackagesForDomainRequest < Struct.new(
2048
+ :domain_name,
2049
+ :max_results,
2050
+ :next_token)
2051
+ include Aws::Structure
2052
+ end
2053
+
2054
+ # Container for response parameters to ` ListPackagesForDomain `
2055
+ # operation.
2056
+ #
2057
+ # @!attribute [rw] domain_package_details_list
2058
+ # List of `DomainPackageDetails` objects.
2059
+ # @return [Array<Types::DomainPackageDetails>]
2060
+ #
2061
+ # @!attribute [rw] next_token
2062
+ # Pagination token that needs to be supplied to the next call to get
2063
+ # the next page of results.
2064
+ # @return [String]
2065
+ #
2066
+ class ListPackagesForDomainResponse < Struct.new(
2067
+ :domain_package_details_list,
2068
+ :next_token)
2069
+ include Aws::Structure
2070
+ end
2071
+
1650
2072
  # Container for the parameters to the `ListTags` operation. Specify the
1651
2073
  # `ARN` for the Elasticsearch domain to which the tags are attached that
1652
2074
  # you want to view are attached.
@@ -1828,6 +2250,74 @@ module Aws::ElasticsearchService
1828
2250
  include Aws::Structure
1829
2251
  end
1830
2252
 
2253
+ # Basic information about a package.
2254
+ #
2255
+ # @!attribute [rw] package_id
2256
+ # Internal ID of the package.
2257
+ # @return [String]
2258
+ #
2259
+ # @!attribute [rw] package_name
2260
+ # User specified name of the package.
2261
+ # @return [String]
2262
+ #
2263
+ # @!attribute [rw] package_type
2264
+ # Currently supports only TXT-DICTIONARY.
2265
+ # @return [String]
2266
+ #
2267
+ # @!attribute [rw] package_description
2268
+ # User-specified description of the package.
2269
+ # @return [String]
2270
+ #
2271
+ # @!attribute [rw] package_status
2272
+ # Current state of the package. Values are
2273
+ # COPYING/COPY\_FAILED/AVAILABLE/DELETING/DELETE\_FAILED
2274
+ # @return [String]
2275
+ #
2276
+ # @!attribute [rw] created_at
2277
+ # Timestamp which tells creation date of the package.
2278
+ # @return [Time]
2279
+ #
2280
+ # @!attribute [rw] error_details
2281
+ # Additional information if the package is in an error state. Null
2282
+ # otherwise.
2283
+ # @return [Types::ErrorDetails]
2284
+ #
2285
+ class PackageDetails < Struct.new(
2286
+ :package_id,
2287
+ :package_name,
2288
+ :package_type,
2289
+ :package_description,
2290
+ :package_status,
2291
+ :created_at,
2292
+ :error_details)
2293
+ include Aws::Structure
2294
+ end
2295
+
2296
+ # The S3 location for importing the package specified as `S3BucketName`
2297
+ # and `S3Key`
2298
+ #
2299
+ # @note When making an API call, you may pass PackageSource
2300
+ # data as a hash:
2301
+ #
2302
+ # {
2303
+ # s3_bucket_name: "S3BucketName",
2304
+ # s3_key: "S3Key",
2305
+ # }
2306
+ #
2307
+ # @!attribute [rw] s3_bucket_name
2308
+ # Name of the bucket containing the package.
2309
+ # @return [String]
2310
+ #
2311
+ # @!attribute [rw] s3_key
2312
+ # Key (file name) of the package.
2313
+ # @return [String]
2314
+ #
2315
+ class PackageSource < Struct.new(
2316
+ :s3_bucket_name,
2317
+ :s3_key)
2318
+ include Aws::Structure
2319
+ end
2320
+
1831
2321
  # Container for parameters to
1832
2322
  # `PurchaseReservedElasticsearchInstanceOffering`
1833
2323
  #
@@ -2050,6 +2540,16 @@ module Aws::ElasticsearchService
2050
2540
  include Aws::Structure
2051
2541
  end
2052
2542
 
2543
+ # An exception for creating a resource that already exists. Gives http
2544
+ # status code of 400.
2545
+ #
2546
+ class ResourceAlreadyExistsException < Aws::EmptyStructure; end
2547
+
2548
+ # An exception for accessing or deleting a resource that does not exist.
2549
+ # Gives http status code of 400.
2550
+ #
2551
+ class ResourceNotFoundException < Aws::EmptyStructure; end
2552
+
2053
2553
  # The current options of an Elasticsearch domain service software
2054
2554
  # options.
2055
2555
  #
@@ -2088,6 +2588,12 @@ module Aws::ElasticsearchService
2088
2588
  # your service software.
2089
2589
  # @return [Time]
2090
2590
  #
2591
+ # @!attribute [rw] optional_deployment
2592
+ # `True` if a service software is never automatically updated. `False`
2593
+ # if a service software is automatically updated after
2594
+ # `AutomatedUpdateDate`.
2595
+ # @return [Boolean]
2596
+ #
2091
2597
  class ServiceSoftwareOptions < Struct.new(
2092
2598
  :current_version,
2093
2599
  :new_version,
@@ -2095,7 +2601,8 @@ module Aws::ElasticsearchService
2095
2601
  :cancellable,
2096
2602
  :update_status,
2097
2603
  :description,
2098
- :automated_update_date)
2604
+ :automated_update_date,
2605
+ :optional_deployment)
2099
2606
  include Aws::Structure
2100
2607
  end
2101
2608
 
@@ -2628,6 +3135,11 @@ module Aws::ElasticsearchService
2628
3135
  include Aws::Structure
2629
3136
  end
2630
3137
 
3138
+ # An exception for missing / invalid input fields. Gives http status
3139
+ # code of 400.
3140
+ #
3141
+ class ValidationException < Aws::EmptyStructure; end
3142
+
2631
3143
  # Specifies the zone awareness configuration for the domain cluster,
2632
3144
  # such as the number of availability zones.
2633
3145
  #