@aws-sdk/client-acm 3.1020.0 → 3.1022.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.
Files changed (38) hide show
  1. package/README.md +7 -0
  2. package/dist-cjs/index.js +81 -32
  3. package/dist-cjs/models/errors.js +2 -0
  4. package/dist-cjs/schemas/schemas_0.js +230 -48
  5. package/dist-es/ACM.js +4 -0
  6. package/dist-es/commands/SearchCertificatesCommand.js +16 -0
  7. package/dist-es/commands/index.js +1 -0
  8. package/dist-es/models/enums.js +60 -32
  9. package/dist-es/models/errors.js +2 -0
  10. package/dist-es/pagination/SearchCertificatesPaginator.js +4 -0
  11. package/dist-es/pagination/index.js +1 -0
  12. package/dist-es/schemas/schemas_0.js +228 -46
  13. package/dist-types/ACM.d.ts +15 -0
  14. package/dist-types/ACMClient.d.ts +3 -2
  15. package/dist-types/commands/DeleteCertificateCommand.d.ts +1 -1
  16. package/dist-types/commands/ExportCertificateCommand.d.ts +4 -1
  17. package/dist-types/commands/ImportCertificateCommand.d.ts +3 -0
  18. package/dist-types/commands/RenewCertificateCommand.d.ts +1 -1
  19. package/dist-types/commands/RevokeCertificateCommand.d.ts +1 -1
  20. package/dist-types/commands/SearchCertificatesCommand.d.ts +303 -0
  21. package/dist-types/commands/index.d.ts +1 -0
  22. package/dist-types/models/enums.d.ts +122 -70
  23. package/dist-types/models/errors.d.ts +6 -0
  24. package/dist-types/models/models_0.d.ts +1062 -6
  25. package/dist-types/pagination/SearchCertificatesPaginator.d.ts +7 -0
  26. package/dist-types/pagination/index.d.ts +1 -0
  27. package/dist-types/schemas/schemas_0.d.ts +22 -1
  28. package/dist-types/ts3.4/ACM.d.ts +25 -0
  29. package/dist-types/ts3.4/ACMClient.d.ts +6 -0
  30. package/dist-types/ts3.4/commands/SearchCertificatesCommand.d.ts +51 -0
  31. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  32. package/dist-types/ts3.4/models/enums.d.ts +78 -44
  33. package/dist-types/ts3.4/models/errors.d.ts +2 -0
  34. package/dist-types/ts3.4/models/models_0.d.ts +570 -0
  35. package/dist-types/ts3.4/pagination/SearchCertificatesPaginator.d.ts +11 -0
  36. package/dist-types/ts3.4/pagination/index.d.ts +1 -0
  37. package/dist-types/ts3.4/schemas/schemas_0.d.ts +22 -0
  38. package/package.json +6 -6
@@ -1,4 +1,234 @@
1
- import type { CertificateExport, CertificateManagedBy, CertificateStatus, CertificateTransparencyLoggingPreference, CertificateType, DomainStatus, ExtendedKeyUsageName, FailureReason, KeyAlgorithm, KeyUsageName, RecordType, RenewalEligibility, RenewalStatus, RevocationReason, SortBy, SortOrder, ValidationMethod } from "./enums";
1
+ import type { CertificateExport, CertificateManagedBy, CertificateStatus, CertificateTransparencyLoggingPreference, CertificateType, ComparisonOperator, DomainStatus, ExtendedKeyUsageName, FailureReason, KeyAlgorithm, KeyUsageName, RecordType, RenewalEligibility, RenewalStatus, RevocationReason, SearchCertificatesSortBy, SearchCertificatesSortOrder, SortBy, SortOrder, ValidationMethod } from "./enums";
2
+ /**
3
+ * <p>Contains ACM-specific metadata about a certificate.</p>
4
+ * @public
5
+ */
6
+ export interface AcmCertificateMetadata {
7
+ /**
8
+ * <p>The time at which the certificate was requested.</p>
9
+ * @public
10
+ */
11
+ CreatedAt?: Date | undefined;
12
+ /**
13
+ * <p>Indicates whether the certificate has been exported.</p>
14
+ * @public
15
+ */
16
+ Exported?: boolean | undefined;
17
+ /**
18
+ * <p>The date and time when the certificate was imported. This value exists only when the certificate type is <code>IMPORTED</code>. </p>
19
+ * @public
20
+ */
21
+ ImportedAt?: Date | undefined;
22
+ /**
23
+ * <p>Indicates whether the certificate is currently in use by an Amazon Web Services service.</p>
24
+ * @public
25
+ */
26
+ InUse?: boolean | undefined;
27
+ /**
28
+ * <p>The time at which the certificate was issued. This value exists only when the certificate type is <code>AMAZON_ISSUED</code>. </p>
29
+ * @public
30
+ */
31
+ IssuedAt?: Date | undefined;
32
+ /**
33
+ * <p>Specifies whether the certificate is eligible for renewal. At this time, only exported private certificates can be renewed with the <a>RenewCertificate</a> command.</p>
34
+ * @public
35
+ */
36
+ RenewalEligibility?: RenewalEligibility | undefined;
37
+ /**
38
+ * <p>The time at which the certificate was revoked. This value exists only when the certificate status is <code>REVOKED</code>. </p>
39
+ * @public
40
+ */
41
+ RevokedAt?: Date | undefined;
42
+ /**
43
+ * <p>The status of the certificate.</p> <p>A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the reasons given in the troubleshooting topic <a href="https://docs.aws.amazon.com/acm/latest/userguide/troubleshooting-failed.html">Certificate request fails</a>. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with <a href="https://docs.aws.amazon.com/acm/latest/userguide/dns-validation.html">DNS validation</a> or <a href="https://docs.aws.amazon.com/acm/latest/userguide/email-validation.html">Email validation</a>, and try again. If validation succeeds, the certificate enters status ISSUED. </p>
44
+ * @public
45
+ */
46
+ Status?: CertificateStatus | undefined;
47
+ /**
48
+ * <p>The renewal status of the certificate.</p>
49
+ * @public
50
+ */
51
+ RenewalStatus?: RenewalStatus | undefined;
52
+ /**
53
+ * <p>The source of the certificate. For certificates provided by ACM, this value is <code>AMAZON_ISSUED</code>. For certificates that you imported with <a>ImportCertificate</a>, this value is <code>IMPORTED</code>. ACM does not provide <a href="https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html">managed renewal</a> for imported certificates. For more information about the differences between certificates that you import and those that ACM provides, see <a href="https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html">Importing Certificates</a> in the <i>Certificate Manager User Guide</i>. </p>
54
+ * @public
55
+ */
56
+ Type?: CertificateType | undefined;
57
+ /**
58
+ * <p>Indicates whether the certificate can be exported.</p>
59
+ * @public
60
+ */
61
+ ExportOption?: CertificateExport | undefined;
62
+ /**
63
+ * <p>Identifies the Amazon Web Services service that manages the certificate issued by ACM.</p>
64
+ * @public
65
+ */
66
+ ManagedBy?: CertificateManagedBy | undefined;
67
+ /**
68
+ * <p>Specifies the domain validation method.</p>
69
+ * @public
70
+ */
71
+ ValidationMethod?: ValidationMethod | undefined;
72
+ }
73
+ /**
74
+ * <p>Filters certificates by ACM metadata.</p>
75
+ * @public
76
+ */
77
+ export type AcmCertificateMetadataFilter = AcmCertificateMetadataFilter.ExportOptionMember | AcmCertificateMetadataFilter.ExportedMember | AcmCertificateMetadataFilter.InUseMember | AcmCertificateMetadataFilter.ManagedByMember | AcmCertificateMetadataFilter.RenewalStatusMember | AcmCertificateMetadataFilter.StatusMember | AcmCertificateMetadataFilter.TypeMember | AcmCertificateMetadataFilter.ValidationMethodMember | AcmCertificateMetadataFilter.$UnknownMember;
78
+ /**
79
+ * @public
80
+ */
81
+ export declare namespace AcmCertificateMetadataFilter {
82
+ /**
83
+ * <p>Filter by certificate status.</p>
84
+ * @public
85
+ */
86
+ interface StatusMember {
87
+ Status: CertificateStatus;
88
+ RenewalStatus?: never;
89
+ Type?: never;
90
+ InUse?: never;
91
+ Exported?: never;
92
+ ExportOption?: never;
93
+ ManagedBy?: never;
94
+ ValidationMethod?: never;
95
+ $unknown?: never;
96
+ }
97
+ /**
98
+ * <p>Filter by certificate renewal status.</p>
99
+ * @public
100
+ */
101
+ interface RenewalStatusMember {
102
+ Status?: never;
103
+ RenewalStatus: RenewalStatus;
104
+ Type?: never;
105
+ InUse?: never;
106
+ Exported?: never;
107
+ ExportOption?: never;
108
+ ManagedBy?: never;
109
+ ValidationMethod?: never;
110
+ $unknown?: never;
111
+ }
112
+ /**
113
+ * <p>Filter by certificate type.</p>
114
+ * @public
115
+ */
116
+ interface TypeMember {
117
+ Status?: never;
118
+ RenewalStatus?: never;
119
+ Type: CertificateType;
120
+ InUse?: never;
121
+ Exported?: never;
122
+ ExportOption?: never;
123
+ ManagedBy?: never;
124
+ ValidationMethod?: never;
125
+ $unknown?: never;
126
+ }
127
+ /**
128
+ * <p>Filter by whether the certificate is in use.</p>
129
+ * @public
130
+ */
131
+ interface InUseMember {
132
+ Status?: never;
133
+ RenewalStatus?: never;
134
+ Type?: never;
135
+ InUse: boolean;
136
+ Exported?: never;
137
+ ExportOption?: never;
138
+ ManagedBy?: never;
139
+ ValidationMethod?: never;
140
+ $unknown?: never;
141
+ }
142
+ /**
143
+ * <p>Filter by whether the certificate has been exported.</p>
144
+ * @public
145
+ */
146
+ interface ExportedMember {
147
+ Status?: never;
148
+ RenewalStatus?: never;
149
+ Type?: never;
150
+ InUse?: never;
151
+ Exported: boolean;
152
+ ExportOption?: never;
153
+ ManagedBy?: never;
154
+ ValidationMethod?: never;
155
+ $unknown?: never;
156
+ }
157
+ /**
158
+ * <p>Filter by certificate export option.</p>
159
+ * @public
160
+ */
161
+ interface ExportOptionMember {
162
+ Status?: never;
163
+ RenewalStatus?: never;
164
+ Type?: never;
165
+ InUse?: never;
166
+ Exported?: never;
167
+ ExportOption: CertificateExport;
168
+ ManagedBy?: never;
169
+ ValidationMethod?: never;
170
+ $unknown?: never;
171
+ }
172
+ /**
173
+ * <p>Filter by the entity that manages the certificate.</p>
174
+ * @public
175
+ */
176
+ interface ManagedByMember {
177
+ Status?: never;
178
+ RenewalStatus?: never;
179
+ Type?: never;
180
+ InUse?: never;
181
+ Exported?: never;
182
+ ExportOption?: never;
183
+ ManagedBy: CertificateManagedBy;
184
+ ValidationMethod?: never;
185
+ $unknown?: never;
186
+ }
187
+ /**
188
+ * <p>Filter by validation method.</p>
189
+ * @public
190
+ */
191
+ interface ValidationMethodMember {
192
+ Status?: never;
193
+ RenewalStatus?: never;
194
+ Type?: never;
195
+ InUse?: never;
196
+ Exported?: never;
197
+ ExportOption?: never;
198
+ ManagedBy?: never;
199
+ ValidationMethod: ValidationMethod;
200
+ $unknown?: never;
201
+ }
202
+ /**
203
+ * @public
204
+ */
205
+ interface $UnknownMember {
206
+ Status?: never;
207
+ RenewalStatus?: never;
208
+ Type?: never;
209
+ InUse?: never;
210
+ Exported?: never;
211
+ ExportOption?: never;
212
+ ManagedBy?: never;
213
+ ValidationMethod?: never;
214
+ $unknown: [string, any];
215
+ }
216
+ /**
217
+ * @deprecated unused in schema-serde mode.
218
+ *
219
+ */
220
+ interface Visitor<T> {
221
+ Status: (value: CertificateStatus) => T;
222
+ RenewalStatus: (value: RenewalStatus) => T;
223
+ Type: (value: CertificateType) => T;
224
+ InUse: (value: boolean) => T;
225
+ Exported: (value: boolean) => T;
226
+ ExportOption: (value: CertificateExport) => T;
227
+ ManagedBy: (value: CertificateManagedBy) => T;
228
+ ValidationMethod: (value: ValidationMethod) => T;
229
+ _: (name: string, value: any) => T;
230
+ }
231
+ }
2
232
  /**
3
233
  * <p>A key-value pair that identifies or specifies metadata about an ACM resource.</p>
4
234
  * @public
@@ -30,6 +260,22 @@ export interface AddTagsToCertificateRequest {
30
260
  */
31
261
  Tags: Tag[] | undefined;
32
262
  }
263
+ /**
264
+ * <p>A description of why a request was throttled.</p>
265
+ * @public
266
+ */
267
+ export interface ThrottlingReason {
268
+ /**
269
+ * <p>A description of why a request was throttled.</p>
270
+ * @public
271
+ */
272
+ reason?: string | undefined;
273
+ /**
274
+ * <p>The resource that causes the request to be throttled.</p>
275
+ * @public
276
+ */
277
+ resource?: string | undefined;
278
+ }
33
279
  /**
34
280
  * <p>Contains information for HTTP-based domain validation of certificates requested through Amazon CloudFront and issued by ACM. This field exists only when the certificate type is <code>AMAZON_ISSUED</code> and the validation method is <code>HTTP</code>.</p>
35
281
  * @public
@@ -146,7 +392,7 @@ export interface CertificateOptions {
146
392
  */
147
393
  CertificateTransparencyLoggingPreference?: CertificateTransparencyLoggingPreference | undefined;
148
394
  /**
149
- * <p>You can opt in to allow the export of your certificates by specifying <code>ENABLED</code>.</p>
395
+ * <p>You can opt in to allow the export of your certificates by specifying <code>ENABLED</code>. You cannot update the value of <code>Export</code> after the the certificate is created.</p>
150
396
  * @public
151
397
  */
152
398
  Export?: CertificateExport | undefined;
@@ -318,6 +564,338 @@ export interface CertificateDetail {
318
564
  */
319
565
  Options?: CertificateOptions | undefined;
320
566
  }
567
+ /**
568
+ * <p>Specifies a time range for filtering certificates.</p>
569
+ * @public
570
+ */
571
+ export interface TimestampRange {
572
+ /**
573
+ * <p>The start of the time range. This value is inclusive.</p>
574
+ * @public
575
+ */
576
+ Start?: Date | undefined;
577
+ /**
578
+ * <p>The end of the time range. This value is inclusive.</p>
579
+ * @public
580
+ */
581
+ End?: Date | undefined;
582
+ }
583
+ /**
584
+ * <p>Filters certificates by common name.</p>
585
+ * @public
586
+ */
587
+ export interface CommonNameFilter {
588
+ /**
589
+ * <p>The value to match against.</p>
590
+ * @public
591
+ */
592
+ Value: string | undefined;
593
+ /**
594
+ * <p>The comparison operator to use.</p>
595
+ * @public
596
+ */
597
+ ComparisonOperator: ComparisonOperator | undefined;
598
+ }
599
+ /**
600
+ * <p>Filters certificates by subject attributes.</p>
601
+ * @public
602
+ */
603
+ export type SubjectFilter = SubjectFilter.CommonNameMember | SubjectFilter.$UnknownMember;
604
+ /**
605
+ * @public
606
+ */
607
+ export declare namespace SubjectFilter {
608
+ /**
609
+ * <p>Filter by common name in the subject.</p>
610
+ * @public
611
+ */
612
+ interface CommonNameMember {
613
+ CommonName: CommonNameFilter;
614
+ $unknown?: never;
615
+ }
616
+ /**
617
+ * @public
618
+ */
619
+ interface $UnknownMember {
620
+ CommonName?: never;
621
+ $unknown: [string, any];
622
+ }
623
+ /**
624
+ * @deprecated unused in schema-serde mode.
625
+ *
626
+ */
627
+ interface Visitor<T> {
628
+ CommonName: (value: CommonNameFilter) => T;
629
+ _: (name: string, value: any) => T;
630
+ }
631
+ }
632
+ /**
633
+ * <p>Filters certificates by DNS name.</p>
634
+ * @public
635
+ */
636
+ export interface DnsNameFilter {
637
+ /**
638
+ * <p>The DNS name value to match against.</p>
639
+ * @public
640
+ */
641
+ Value: string | undefined;
642
+ /**
643
+ * <p>The comparison operator to use.</p>
644
+ * @public
645
+ */
646
+ ComparisonOperator: ComparisonOperator | undefined;
647
+ }
648
+ /**
649
+ * <p>Filters certificates by subject alternative name attributes.</p>
650
+ * @public
651
+ */
652
+ export type SubjectAlternativeNameFilter = SubjectAlternativeNameFilter.DnsNameMember | SubjectAlternativeNameFilter.$UnknownMember;
653
+ /**
654
+ * @public
655
+ */
656
+ export declare namespace SubjectAlternativeNameFilter {
657
+ /**
658
+ * <p>Filter by DNS name in subject alternative names.</p>
659
+ * @public
660
+ */
661
+ interface DnsNameMember {
662
+ DnsName: DnsNameFilter;
663
+ $unknown?: never;
664
+ }
665
+ /**
666
+ * @public
667
+ */
668
+ interface $UnknownMember {
669
+ DnsName?: never;
670
+ $unknown: [string, any];
671
+ }
672
+ /**
673
+ * @deprecated unused in schema-serde mode.
674
+ *
675
+ */
676
+ interface Visitor<T> {
677
+ DnsName: (value: DnsNameFilter) => T;
678
+ _: (name: string, value: any) => T;
679
+ }
680
+ }
681
+ /**
682
+ * <p>Filters certificates by X.509 attributes.</p>
683
+ * @public
684
+ */
685
+ export type X509AttributeFilter = X509AttributeFilter.ExtendedKeyUsageMember | X509AttributeFilter.KeyAlgorithmMember | X509AttributeFilter.KeyUsageMember | X509AttributeFilter.NotAfterMember | X509AttributeFilter.NotBeforeMember | X509AttributeFilter.SerialNumberMember | X509AttributeFilter.SubjectMember | X509AttributeFilter.SubjectAlternativeNameMember | X509AttributeFilter.$UnknownMember;
686
+ /**
687
+ * @public
688
+ */
689
+ export declare namespace X509AttributeFilter {
690
+ /**
691
+ * <p>Filter by certificate subject.</p>
692
+ * @public
693
+ */
694
+ interface SubjectMember {
695
+ Subject: SubjectFilter;
696
+ SubjectAlternativeName?: never;
697
+ ExtendedKeyUsage?: never;
698
+ KeyUsage?: never;
699
+ KeyAlgorithm?: never;
700
+ SerialNumber?: never;
701
+ NotAfter?: never;
702
+ NotBefore?: never;
703
+ $unknown?: never;
704
+ }
705
+ /**
706
+ * <p>Filter by subject alternative names.</p>
707
+ * @public
708
+ */
709
+ interface SubjectAlternativeNameMember {
710
+ Subject?: never;
711
+ SubjectAlternativeName: SubjectAlternativeNameFilter;
712
+ ExtendedKeyUsage?: never;
713
+ KeyUsage?: never;
714
+ KeyAlgorithm?: never;
715
+ SerialNumber?: never;
716
+ NotAfter?: never;
717
+ NotBefore?: never;
718
+ $unknown?: never;
719
+ }
720
+ /**
721
+ * <p>Filter by extended key usage.</p>
722
+ * @public
723
+ */
724
+ interface ExtendedKeyUsageMember {
725
+ Subject?: never;
726
+ SubjectAlternativeName?: never;
727
+ ExtendedKeyUsage: ExtendedKeyUsageName;
728
+ KeyUsage?: never;
729
+ KeyAlgorithm?: never;
730
+ SerialNumber?: never;
731
+ NotAfter?: never;
732
+ NotBefore?: never;
733
+ $unknown?: never;
734
+ }
735
+ /**
736
+ * <p>Filter by key usage.</p>
737
+ * @public
738
+ */
739
+ interface KeyUsageMember {
740
+ Subject?: never;
741
+ SubjectAlternativeName?: never;
742
+ ExtendedKeyUsage?: never;
743
+ KeyUsage: KeyUsageName;
744
+ KeyAlgorithm?: never;
745
+ SerialNumber?: never;
746
+ NotAfter?: never;
747
+ NotBefore?: never;
748
+ $unknown?: never;
749
+ }
750
+ /**
751
+ * <p>Filter by key algorithm.</p>
752
+ * @public
753
+ */
754
+ interface KeyAlgorithmMember {
755
+ Subject?: never;
756
+ SubjectAlternativeName?: never;
757
+ ExtendedKeyUsage?: never;
758
+ KeyUsage?: never;
759
+ KeyAlgorithm: KeyAlgorithm;
760
+ SerialNumber?: never;
761
+ NotAfter?: never;
762
+ NotBefore?: never;
763
+ $unknown?: never;
764
+ }
765
+ /**
766
+ * <p>Filter by serial number.</p>
767
+ * @public
768
+ */
769
+ interface SerialNumberMember {
770
+ Subject?: never;
771
+ SubjectAlternativeName?: never;
772
+ ExtendedKeyUsage?: never;
773
+ KeyUsage?: never;
774
+ KeyAlgorithm?: never;
775
+ SerialNumber: string;
776
+ NotAfter?: never;
777
+ NotBefore?: never;
778
+ $unknown?: never;
779
+ }
780
+ /**
781
+ * <p>Filter by certificate expiration date. The start date is inclusive.</p>
782
+ * @public
783
+ */
784
+ interface NotAfterMember {
785
+ Subject?: never;
786
+ SubjectAlternativeName?: never;
787
+ ExtendedKeyUsage?: never;
788
+ KeyUsage?: never;
789
+ KeyAlgorithm?: never;
790
+ SerialNumber?: never;
791
+ NotAfter: TimestampRange;
792
+ NotBefore?: never;
793
+ $unknown?: never;
794
+ }
795
+ /**
796
+ * <p>Filter by certificate validity start date. The start date is inclusive.</p>
797
+ * @public
798
+ */
799
+ interface NotBeforeMember {
800
+ Subject?: never;
801
+ SubjectAlternativeName?: never;
802
+ ExtendedKeyUsage?: never;
803
+ KeyUsage?: never;
804
+ KeyAlgorithm?: never;
805
+ SerialNumber?: never;
806
+ NotAfter?: never;
807
+ NotBefore: TimestampRange;
808
+ $unknown?: never;
809
+ }
810
+ /**
811
+ * @public
812
+ */
813
+ interface $UnknownMember {
814
+ Subject?: never;
815
+ SubjectAlternativeName?: never;
816
+ ExtendedKeyUsage?: never;
817
+ KeyUsage?: never;
818
+ KeyAlgorithm?: never;
819
+ SerialNumber?: never;
820
+ NotAfter?: never;
821
+ NotBefore?: never;
822
+ $unknown: [string, any];
823
+ }
824
+ /**
825
+ * @deprecated unused in schema-serde mode.
826
+ *
827
+ */
828
+ interface Visitor<T> {
829
+ Subject: (value: SubjectFilter) => T;
830
+ SubjectAlternativeName: (value: SubjectAlternativeNameFilter) => T;
831
+ ExtendedKeyUsage: (value: ExtendedKeyUsageName) => T;
832
+ KeyUsage: (value: KeyUsageName) => T;
833
+ KeyAlgorithm: (value: KeyAlgorithm) => T;
834
+ SerialNumber: (value: string) => T;
835
+ NotAfter: (value: TimestampRange) => T;
836
+ NotBefore: (value: TimestampRange) => T;
837
+ _: (name: string, value: any) => T;
838
+ }
839
+ }
840
+ /**
841
+ * <p>Defines a filter for searching certificates by ARN, X.509 attributes, or ACM metadata.</p>
842
+ * @public
843
+ */
844
+ export type CertificateFilter = CertificateFilter.AcmCertificateMetadataFilterMember | CertificateFilter.CertificateArnMember | CertificateFilter.X509AttributeFilterMember | CertificateFilter.$UnknownMember;
845
+ /**
846
+ * @public
847
+ */
848
+ export declare namespace CertificateFilter {
849
+ /**
850
+ * <p>Filter by certificate ARN.</p>
851
+ * @public
852
+ */
853
+ interface CertificateArnMember {
854
+ CertificateArn: string;
855
+ X509AttributeFilter?: never;
856
+ AcmCertificateMetadataFilter?: never;
857
+ $unknown?: never;
858
+ }
859
+ /**
860
+ * <p>Filter by X.509 certificate attributes.</p>
861
+ * @public
862
+ */
863
+ interface X509AttributeFilterMember {
864
+ CertificateArn?: never;
865
+ X509AttributeFilter: X509AttributeFilter;
866
+ AcmCertificateMetadataFilter?: never;
867
+ $unknown?: never;
868
+ }
869
+ /**
870
+ * <p>Filter by ACM certificate metadata.</p>
871
+ * @public
872
+ */
873
+ interface AcmCertificateMetadataFilterMember {
874
+ CertificateArn?: never;
875
+ X509AttributeFilter?: never;
876
+ AcmCertificateMetadataFilter: AcmCertificateMetadataFilter;
877
+ $unknown?: never;
878
+ }
879
+ /**
880
+ * @public
881
+ */
882
+ interface $UnknownMember {
883
+ CertificateArn?: never;
884
+ X509AttributeFilter?: never;
885
+ AcmCertificateMetadataFilter?: never;
886
+ $unknown: [string, any];
887
+ }
888
+ /**
889
+ * @deprecated unused in schema-serde mode.
890
+ *
891
+ */
892
+ interface Visitor<T> {
893
+ CertificateArn: (value: string) => T;
894
+ X509AttributeFilter: (value: X509AttributeFilter) => T;
895
+ AcmCertificateMetadataFilter: (value: AcmCertificateMetadataFilter) => T;
896
+ _: (name: string, value: any) => T;
897
+ }
898
+ }
321
899
  /**
322
900
  * @public
323
901
  */
@@ -551,12 +1129,12 @@ export interface CertificateSummary {
551
1129
  */
552
1130
  DomainName?: string | undefined;
553
1131
  /**
554
- * <p>One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website. </p> <p>When called by <a href="https://docs.aws.amazon.com/acm/latestAPIReference/API_ListCertificates.html">ListCertificates</a>, this parameter will only return the first 100 subject alternative names included in the certificate. To display the full list of subject alternative names, use <a href="https://docs.aws.amazon.com/acm/latestAPIReference/API_DescribeCertificate.html">DescribeCertificate</a>.</p>
1132
+ * <p>One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website. </p> <p>When called by <a href="https://docs.aws.amazon.com/acm/latest/APIReference/API_ListCertificates.html">ListCertificates</a>, this parameter will only return the first 100 subject alternative names included in the certificate. To display the full list of subject alternative names, use <a href="https://docs.aws.amazon.com/acm/latest/APIReference/API_DescribeCertificate.html">DescribeCertificate</a>.</p>
555
1133
  * @public
556
1134
  */
557
1135
  SubjectAlternativeNameSummaries?: string[] | undefined;
558
1136
  /**
559
- * <p>When called by <a href="https://docs.aws.amazon.com/acm/latestAPIReference/API_ListCertificates.html">ListCertificates</a>, indicates whether the full list of subject alternative names has been included in the response. If false, the response includes all of the subject alternative names included in the certificate. If true, the response only includes the first 100 subject alternative names included in the certificate. To display the full list of subject alternative names, use <a href="https://docs.aws.amazon.com/acm/latestAPIReference/API_DescribeCertificate.html">DescribeCertificate</a>.</p>
1137
+ * <p>When called by <a href="https://docs.aws.amazon.com/acm/latest/APIReference/API_ListCertificates.html">ListCertificates</a>, indicates whether the full list of subject alternative names has been included in the response. If false, the response includes all of the subject alternative names included in the certificate. If true, the response only includes the first 100 subject alternative names included in the certificate. To display the full list of subject alternative names, use <a href="https://docs.aws.amazon.com/acm/latest/APIReference/API_DescribeCertificate.html">DescribeCertificate</a>.</p>
560
1138
  * @public
561
1139
  */
562
1140
  HasAdditionalSubjectAlternativeNames?: boolean | undefined;
@@ -777,7 +1355,7 @@ export interface RequestCertificateRequest {
777
1355
  */
778
1356
  Tags?: Tag[] | undefined;
779
1357
  /**
780
- * <p>Specifies the algorithm of the public and private key pair that your certificate uses to encrypt data. RSA is the default key algorithm for ACM certificates. Elliptic Curve Digital Signature Algorithm (ECDSA) keys are smaller, offering security comparable to RSA keys but with greater computing efficiency. However, ECDSA is not supported by all network clients. Some Amazon Web Services services may require RSA keys, or only support ECDSA keys of a particular size, while others allow the use of either RSA and ECDSA keys to ensure that compatibility is not broken. Check the requirements for the Amazon Web Services service where you plan to deploy your certificate. For more information about selecting an algorithm, see <a href="https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html#algorithms">Key algorithms</a>.</p> <note> <p>Algorithms supported for an ACM certificate request include: </p> <ul> <li> <p> <code>RSA_2048</code> </p> </li> <li> <p> <code>EC_prime256v1</code> </p> </li> <li> <p> <code>EC_secp384r1</code> </p> </li> </ul> <p>Other listed algorithms are for imported certificates only. </p> </note> <note> <p>When you request a private PKI certificate signed by a CA from Amazon Web Services Private CA, the specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key.</p> </note> <p>Default: RSA_2048</p>
1358
+ * <p>Specifies the algorithm of the public and private key pair that your certificate uses to encrypt data. RSA is the default key algorithm for ACM certificates. Elliptic Curve Digital Signature Algorithm (ECDSA) keys are smaller, offering security comparable to RSA keys but with greater computing efficiency. However, ECDSA is not supported by all network clients. Some Amazon Web Services services may require RSA keys, or only support ECDSA keys of a particular size, while others allow the use of either RSA and ECDSA keys to ensure that compatibility is not broken. Check the requirements for the Amazon Web Services service where you plan to deploy your certificate. For more information about selecting an algorithm, see <a href="https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate-characteristics.html#algorithms-term">Key algorithms</a>.</p> <note> <p>Algorithms supported for an ACM certificate request include: </p> <ul> <li> <p> <code>RSA_2048</code> </p> </li> <li> <p> <code>EC_prime256v1</code> </p> </li> <li> <p> <code>EC_secp384r1</code> </p> </li> </ul> <p>Other listed algorithms are for imported certificates only. </p> </note> <note> <p>When you request a private PKI certificate signed by a CA from Amazon Web Services Private CA, the specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key.</p> </note> <p>Default: RSA_2048</p>
781
1359
  * @public
782
1360
  */
783
1361
  KeyAlgorithm?: KeyAlgorithm | undefined;
@@ -812,7 +1390,7 @@ export interface ResendValidationEmailRequest {
812
1390
  */
813
1391
  Domain: string | undefined;
814
1392
  /**
815
- * <p>The base validation domain that will act as the suffix of the email addresses that are used to send the emails. This must be the same as the <code>Domain</code> value or a superdomain of the <code>Domain</code> value. For example, if you requested a certificate for <code>site.subdomain.example.com</code> and specify a <b>ValidationDomain</b> of <code>subdomain.example.com</code>, ACM sends email to the domain registrant, technical contact, and administrative contact in WHOIS and the following five addresses:</p> <ul> <li> <p>admin@subdomain.example.com</p> </li> <li> <p>administrator@subdomain.example.com</p> </li> <li> <p>hostmaster@subdomain.example.com</p> </li> <li> <p>postmaster@subdomain.example.com</p> </li> <li> <p>webmaster@subdomain.example.com</p> </li> </ul>
1393
+ * <p>The base validation domain that will act as the suffix of the email addresses that are used to send the emails. This must be the same as the <code>Domain</code> value or a superdomain of the <code>Domain</code> value. For example, if you requested a certificate for <code>site.subdomain.example.com</code> and specify a <b>ValidationDomain</b> of <code>subdomain.example.com</code>, ACM sends email to the the following five addresses:</p> <ul> <li> <p>admin@subdomain.example.com</p> </li> <li> <p>administrator@subdomain.example.com</p> </li> <li> <p>hostmaster@subdomain.example.com</p> </li> <li> <p>postmaster@subdomain.example.com</p> </li> <li> <p>webmaster@subdomain.example.com</p> </li> </ul>
816
1394
  * @public
817
1395
  */
818
1396
  ValidationDomain: string | undefined;
@@ -842,6 +1420,379 @@ export interface RevokeCertificateResponse {
842
1420
  */
843
1421
  CertificateArn?: string | undefined;
844
1422
  }
1423
+ /**
1424
+ * <p>Contains metadata about a certificate. Currently supports ACM certificate metadata.</p>
1425
+ * @public
1426
+ */
1427
+ export type CertificateMetadata = CertificateMetadata.AcmCertificateMetadataMember | CertificateMetadata.$UnknownMember;
1428
+ /**
1429
+ * @public
1430
+ */
1431
+ export declare namespace CertificateMetadata {
1432
+ /**
1433
+ * <p>Metadata for an ACM certificate.</p>
1434
+ * @public
1435
+ */
1436
+ interface AcmCertificateMetadataMember {
1437
+ AcmCertificateMetadata: AcmCertificateMetadata;
1438
+ $unknown?: never;
1439
+ }
1440
+ /**
1441
+ * @public
1442
+ */
1443
+ interface $UnknownMember {
1444
+ AcmCertificateMetadata?: never;
1445
+ $unknown: [string, any];
1446
+ }
1447
+ /**
1448
+ * @deprecated unused in schema-serde mode.
1449
+ *
1450
+ */
1451
+ interface Visitor<T> {
1452
+ AcmCertificateMetadata: (value: AcmCertificateMetadata) => T;
1453
+ _: (name: string, value: any) => T;
1454
+ }
1455
+ }
1456
+ /**
1457
+ * <p>Defines the X.500 relative distinguished name (RDN).</p>
1458
+ * @public
1459
+ */
1460
+ export interface CustomAttribute {
1461
+ /**
1462
+ * <p>Specifies the object identifier (OID) of the attribute type of the relative distinguished name (RDN).</p>
1463
+ * @public
1464
+ */
1465
+ ObjectIdentifier?: string | undefined;
1466
+ /**
1467
+ * <p>Specifies the attribute value of relative distinguished name (RDN).</p>
1468
+ * @public
1469
+ */
1470
+ Value?: string | undefined;
1471
+ }
1472
+ /**
1473
+ * <p>Contains X.500 distinguished name information.</p>
1474
+ * @public
1475
+ */
1476
+ export interface DistinguishedName {
1477
+ /**
1478
+ * <p>The common name (CN) attribute.</p>
1479
+ * @public
1480
+ */
1481
+ CommonName?: string | undefined;
1482
+ /**
1483
+ * <p>The domain component attributes.</p>
1484
+ * @public
1485
+ */
1486
+ DomainComponents?: string[] | undefined;
1487
+ /**
1488
+ * <p>The country (C) attribute.</p>
1489
+ * @public
1490
+ */
1491
+ Country?: string | undefined;
1492
+ /**
1493
+ * <p>A list of custom attributes in the distinguished name. Each custom attribute contains an object identifier (OID) and its corresponding value.</p>
1494
+ * @public
1495
+ */
1496
+ CustomAttributes?: CustomAttribute[] | undefined;
1497
+ /**
1498
+ * <p>The distinguished name qualifier attribute.</p>
1499
+ * @public
1500
+ */
1501
+ DistinguishedNameQualifier?: string | undefined;
1502
+ /**
1503
+ * <p>The generation qualifier attribute.</p>
1504
+ * @public
1505
+ */
1506
+ GenerationQualifier?: string | undefined;
1507
+ /**
1508
+ * <p>The given name attribute.</p>
1509
+ * @public
1510
+ */
1511
+ GivenName?: string | undefined;
1512
+ /**
1513
+ * <p>The initials attribute.</p>
1514
+ * @public
1515
+ */
1516
+ Initials?: string | undefined;
1517
+ /**
1518
+ * <p>The locality (L) attribute.</p>
1519
+ * @public
1520
+ */
1521
+ Locality?: string | undefined;
1522
+ /**
1523
+ * <p>The organization (O) attribute.</p>
1524
+ * @public
1525
+ */
1526
+ Organization?: string | undefined;
1527
+ /**
1528
+ * <p>The organizational unit (OU) attribute.</p>
1529
+ * @public
1530
+ */
1531
+ OrganizationalUnit?: string | undefined;
1532
+ /**
1533
+ * <p>The pseudonym attribute.</p>
1534
+ * @public
1535
+ */
1536
+ Pseudonym?: string | undefined;
1537
+ /**
1538
+ * <p>The serial number attribute.</p>
1539
+ * @public
1540
+ */
1541
+ SerialNumber?: string | undefined;
1542
+ /**
1543
+ * <p>The state or province (ST) attribute.</p>
1544
+ * @public
1545
+ */
1546
+ State?: string | undefined;
1547
+ /**
1548
+ * <p>The surname attribute.</p>
1549
+ * @public
1550
+ */
1551
+ Surname?: string | undefined;
1552
+ /**
1553
+ * <p>The title attribute.</p>
1554
+ * @public
1555
+ */
1556
+ Title?: string | undefined;
1557
+ }
1558
+ /**
1559
+ * <p>Defines a custom ASN.1 X.400 <code>GeneralName</code> using an object identifier (OID) and value. For more information, see NIST's definition of <a href="https://csrc.nist.gov/glossary/term/Object_Identifier">Object Identifier (OID)</a>.</p>
1560
+ * @public
1561
+ */
1562
+ export interface OtherName {
1563
+ /**
1564
+ * <p>Specifies an OID.</p>
1565
+ * @public
1566
+ */
1567
+ ObjectIdentifier?: string | undefined;
1568
+ /**
1569
+ * <p>Specifies an OID value.</p>
1570
+ * @public
1571
+ */
1572
+ Value?: string | undefined;
1573
+ }
1574
+ /**
1575
+ * <p>Describes an ASN.1 X.400 <code>GeneralName</code> as defined in <a href="https://datatracker.ietf.org/doc/html/rfc5280">RFC 5280</a>. Only one of the following naming options should be provided.</p>
1576
+ * @public
1577
+ */
1578
+ export type GeneralName = GeneralName.DirectoryNameMember | GeneralName.DnsNameMember | GeneralName.IpAddressMember | GeneralName.OtherNameMember | GeneralName.RegisteredIdMember | GeneralName.Rfc822NameMember | GeneralName.UniformResourceIdentifierMember | GeneralName.$UnknownMember;
1579
+ /**
1580
+ * @public
1581
+ */
1582
+ export declare namespace GeneralName {
1583
+ /**
1584
+ * <p>Contains information about the certificate subject. The <code>Subject</code> field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The <code>Subject</code> must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate.</p>
1585
+ * @public
1586
+ */
1587
+ interface DirectoryNameMember {
1588
+ DirectoryName: DistinguishedName;
1589
+ DnsName?: never;
1590
+ IpAddress?: never;
1591
+ OtherName?: never;
1592
+ RegisteredId?: never;
1593
+ Rfc822Name?: never;
1594
+ UniformResourceIdentifier?: never;
1595
+ $unknown?: never;
1596
+ }
1597
+ /**
1598
+ * <p>Represents <code>GeneralName</code> as a DNS name.</p>
1599
+ * @public
1600
+ */
1601
+ interface DnsNameMember {
1602
+ DirectoryName?: never;
1603
+ DnsName: string;
1604
+ IpAddress?: never;
1605
+ OtherName?: never;
1606
+ RegisteredId?: never;
1607
+ Rfc822Name?: never;
1608
+ UniformResourceIdentifier?: never;
1609
+ $unknown?: never;
1610
+ }
1611
+ /**
1612
+ * <p>Represents <code>GeneralName</code> as an IPv4 or IPv6 address.</p>
1613
+ * @public
1614
+ */
1615
+ interface IpAddressMember {
1616
+ DirectoryName?: never;
1617
+ DnsName?: never;
1618
+ IpAddress: string;
1619
+ OtherName?: never;
1620
+ RegisteredId?: never;
1621
+ Rfc822Name?: never;
1622
+ UniformResourceIdentifier?: never;
1623
+ $unknown?: never;
1624
+ }
1625
+ /**
1626
+ * <p>Represents <code>GeneralName</code> using an <code>OtherName</code> object.</p>
1627
+ * @public
1628
+ */
1629
+ interface OtherNameMember {
1630
+ DirectoryName?: never;
1631
+ DnsName?: never;
1632
+ IpAddress?: never;
1633
+ OtherName: OtherName;
1634
+ RegisteredId?: never;
1635
+ Rfc822Name?: never;
1636
+ UniformResourceIdentifier?: never;
1637
+ $unknown?: never;
1638
+ }
1639
+ /**
1640
+ * <p>Represents <code>GeneralName</code> as an object identifier (OID).</p>
1641
+ * @public
1642
+ */
1643
+ interface RegisteredIdMember {
1644
+ DirectoryName?: never;
1645
+ DnsName?: never;
1646
+ IpAddress?: never;
1647
+ OtherName?: never;
1648
+ RegisteredId: string;
1649
+ Rfc822Name?: never;
1650
+ UniformResourceIdentifier?: never;
1651
+ $unknown?: never;
1652
+ }
1653
+ /**
1654
+ * <p>Represents <code>GeneralName</code> as an <a href="https://datatracker.ietf.org/doc/html/rfc822">RFC 822</a> email address.</p>
1655
+ * @public
1656
+ */
1657
+ interface Rfc822NameMember {
1658
+ DirectoryName?: never;
1659
+ DnsName?: never;
1660
+ IpAddress?: never;
1661
+ OtherName?: never;
1662
+ RegisteredId?: never;
1663
+ Rfc822Name: string;
1664
+ UniformResourceIdentifier?: never;
1665
+ $unknown?: never;
1666
+ }
1667
+ /**
1668
+ * <p>Represents <code>GeneralName</code> as a URI.</p>
1669
+ * @public
1670
+ */
1671
+ interface UniformResourceIdentifierMember {
1672
+ DirectoryName?: never;
1673
+ DnsName?: never;
1674
+ IpAddress?: never;
1675
+ OtherName?: never;
1676
+ RegisteredId?: never;
1677
+ Rfc822Name?: never;
1678
+ UniformResourceIdentifier: string;
1679
+ $unknown?: never;
1680
+ }
1681
+ /**
1682
+ * @public
1683
+ */
1684
+ interface $UnknownMember {
1685
+ DirectoryName?: never;
1686
+ DnsName?: never;
1687
+ IpAddress?: never;
1688
+ OtherName?: never;
1689
+ RegisteredId?: never;
1690
+ Rfc822Name?: never;
1691
+ UniformResourceIdentifier?: never;
1692
+ $unknown: [string, any];
1693
+ }
1694
+ /**
1695
+ * @deprecated unused in schema-serde mode.
1696
+ *
1697
+ */
1698
+ interface Visitor<T> {
1699
+ DirectoryName: (value: DistinguishedName) => T;
1700
+ DnsName: (value: string) => T;
1701
+ IpAddress: (value: string) => T;
1702
+ OtherName: (value: OtherName) => T;
1703
+ RegisteredId: (value: string) => T;
1704
+ Rfc822Name: (value: string) => T;
1705
+ UniformResourceIdentifier: (value: string) => T;
1706
+ _: (name: string, value: any) => T;
1707
+ }
1708
+ }
1709
+ /**
1710
+ * <p>Contains X.509 certificate attributes extracted from the certificate.</p>
1711
+ * @public
1712
+ */
1713
+ export interface X509Attributes {
1714
+ /**
1715
+ * <p>The distinguished name of the certificate issuer.</p>
1716
+ * @public
1717
+ */
1718
+ Issuer?: DistinguishedName | undefined;
1719
+ /**
1720
+ * <p>The distinguished name of the certificate subject.</p>
1721
+ * @public
1722
+ */
1723
+ Subject?: DistinguishedName | undefined;
1724
+ /**
1725
+ * <p>One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website. </p>
1726
+ * @public
1727
+ */
1728
+ SubjectAlternativeNames?: GeneralName[] | undefined;
1729
+ /**
1730
+ * <p>Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID). </p>
1731
+ * @public
1732
+ */
1733
+ ExtendedKeyUsages?: ExtendedKeyUsageName[] | undefined;
1734
+ /**
1735
+ * <p>The algorithm that was used to generate the public-private key pair.</p>
1736
+ * @public
1737
+ */
1738
+ KeyAlgorithm?: KeyAlgorithm | undefined;
1739
+ /**
1740
+ * <p>A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.</p>
1741
+ * @public
1742
+ */
1743
+ KeyUsages?: KeyUsageName[] | undefined;
1744
+ /**
1745
+ * <p>The serial number assigned by the certificate authority.</p>
1746
+ * @public
1747
+ */
1748
+ SerialNumber?: string | undefined;
1749
+ /**
1750
+ * <p>The time after which the certificate is not valid.</p>
1751
+ * @public
1752
+ */
1753
+ NotAfter?: Date | undefined;
1754
+ /**
1755
+ * <p>The time before which the certificate is not valid.</p>
1756
+ * @public
1757
+ */
1758
+ NotBefore?: Date | undefined;
1759
+ }
1760
+ /**
1761
+ * <p>Contains information about a certificate returned by the <a>SearchCertificates</a> action. This structure includes the certificate ARN, X.509 attributes, and ACM metadata.</p>
1762
+ * @public
1763
+ */
1764
+ export interface CertificateSearchResult {
1765
+ /**
1766
+ * <p>The Amazon Resource Name (ARN) of the certificate.</p>
1767
+ * @public
1768
+ */
1769
+ CertificateArn?: string | undefined;
1770
+ /**
1771
+ * <p>X.509 certificate attributes such as subject, issuer, and validity period.</p>
1772
+ * @public
1773
+ */
1774
+ X509Attributes?: X509Attributes | undefined;
1775
+ /**
1776
+ * <p>ACM-specific metadata about the certificate.</p>
1777
+ * @public
1778
+ */
1779
+ CertificateMetadata?: CertificateMetadata | undefined;
1780
+ }
1781
+ /**
1782
+ * @public
1783
+ */
1784
+ export interface SearchCertificatesResponse {
1785
+ /**
1786
+ * <p>A list of certificate search results containing certificate ARNs, X.509 attributes, and ACM metadata.</p>
1787
+ * @public
1788
+ */
1789
+ Results?: CertificateSearchResult[] | undefined;
1790
+ /**
1791
+ * <p>When the list is truncated, this value is present and contains the value to use for the <code>NextToken</code> parameter in a subsequent pagination request.</p>
1792
+ * @public
1793
+ */
1794
+ NextToken?: string | undefined;
1795
+ }
845
1796
  /**
846
1797
  * @public
847
1798
  */
@@ -857,3 +1808,108 @@ export interface UpdateCertificateOptionsRequest {
857
1808
  */
858
1809
  Options: CertificateOptions | undefined;
859
1810
  }
1811
+ /**
1812
+ * <p>A filter statement used to search for certificates. Can contain AND, OR, NOT logical operators or a single filter.</p>
1813
+ * @public
1814
+ */
1815
+ export type CertificateFilterStatement = CertificateFilterStatement.AndMember | CertificateFilterStatement.FilterMember | CertificateFilterStatement.NotMember | CertificateFilterStatement.OrMember | CertificateFilterStatement.$UnknownMember;
1816
+ /**
1817
+ * @public
1818
+ */
1819
+ export declare namespace CertificateFilterStatement {
1820
+ /**
1821
+ * <p>A list of filter statements that must all be true.</p>
1822
+ * @public
1823
+ */
1824
+ interface AndMember {
1825
+ And: CertificateFilterStatement[];
1826
+ Or?: never;
1827
+ Not?: never;
1828
+ Filter?: never;
1829
+ $unknown?: never;
1830
+ }
1831
+ /**
1832
+ * <p>A list of filter statements where at least one must be true.</p>
1833
+ * @public
1834
+ */
1835
+ interface OrMember {
1836
+ And?: never;
1837
+ Or: CertificateFilterStatement[];
1838
+ Not?: never;
1839
+ Filter?: never;
1840
+ $unknown?: never;
1841
+ }
1842
+ /**
1843
+ * <p>A filter statement that must not be true.</p>
1844
+ * @public
1845
+ */
1846
+ interface NotMember {
1847
+ And?: never;
1848
+ Or?: never;
1849
+ Not: CertificateFilterStatement;
1850
+ Filter?: never;
1851
+ $unknown?: never;
1852
+ }
1853
+ /**
1854
+ * <p>A single certificate filter.</p>
1855
+ * @public
1856
+ */
1857
+ interface FilterMember {
1858
+ And?: never;
1859
+ Or?: never;
1860
+ Not?: never;
1861
+ Filter: CertificateFilter;
1862
+ $unknown?: never;
1863
+ }
1864
+ /**
1865
+ * @public
1866
+ */
1867
+ interface $UnknownMember {
1868
+ And?: never;
1869
+ Or?: never;
1870
+ Not?: never;
1871
+ Filter?: never;
1872
+ $unknown: [string, any];
1873
+ }
1874
+ /**
1875
+ * @deprecated unused in schema-serde mode.
1876
+ *
1877
+ */
1878
+ interface Visitor<T> {
1879
+ And: (value: CertificateFilterStatement[]) => T;
1880
+ Or: (value: CertificateFilterStatement[]) => T;
1881
+ Not: (value: CertificateFilterStatement) => T;
1882
+ Filter: (value: CertificateFilter) => T;
1883
+ _: (name: string, value: any) => T;
1884
+ }
1885
+ }
1886
+ /**
1887
+ * @public
1888
+ */
1889
+ export interface SearchCertificatesRequest {
1890
+ /**
1891
+ * <p>A filter statement that defines the search criteria. You can combine multiple filters using AND, OR, and NOT logical operators to create complex queries.</p>
1892
+ * @public
1893
+ */
1894
+ FilterStatement?: CertificateFilterStatement | undefined;
1895
+ /**
1896
+ * <p>The maximum number of results to return in the response. Default is 100.</p>
1897
+ * @public
1898
+ */
1899
+ MaxResults?: number | undefined;
1900
+ /**
1901
+ * <p>Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of <code>NextToken</code> from the response you just received.</p>
1902
+ * @public
1903
+ */
1904
+ NextToken?: string | undefined;
1905
+ /**
1906
+ * <p>Specifies the field to sort results by. Valid values are CREATED_AT, NOT_AFTER, STATUS, RENEWAL_STATUS, EXPORTED, IN_USE, NOT_BEFORE, KEY_ALGORITHM, TYPE, CERTIFICATE_ARN, COMMON_NAME, REVOKED_AT, RENEWAL_ELIGIBILITY, ISSUED_AT, MANAGED_BY, EXPORT_OPTION, VALIDATION_METHOD, and IMPORTED_AT.</p>
1907
+ * @public
1908
+ */
1909
+ SortBy?: SearchCertificatesSortBy | undefined;
1910
+ /**
1911
+ * <p>Specifies the order of sorted results. Valid values are ASCENDING or DESCENDING.</p>
1912
+ * @public
1913
+ */
1914
+ SortOrder?: SearchCertificatesSortOrder | undefined;
1915
+ }