11// smithy-typescript generated code
22import { ExceptionOptionType as __ExceptionOptionType, SENSITIVE_STRING } from "@smithy/smithy-client";
3-
43import { StreamingBlobTypes } from "@smithy/types";
54
65import { S3ServiceException as __BaseException } from "./S3ServiceException";
@@ -6874,18 +6873,7 @@ export interface LifecycleRuleAndOperator {
68746873 * <code>And</code> specified. If the <code>Filter</code> element is left empty, the Lifecycle Rule applies to all objects in the bucket.</p>
68756874 * @public
68766875 */
6877- export type LifecycleRuleFilter =
6878- | LifecycleRuleFilter.AndMember
6879- | LifecycleRuleFilter.ObjectSizeGreaterThanMember
6880- | LifecycleRuleFilter.ObjectSizeLessThanMember
6881- | LifecycleRuleFilter.PrefixMember
6882- | LifecycleRuleFilter.TagMember
6883- | LifecycleRuleFilter.$UnknownMember;
6884-
6885- /**
6886- * @public
6887- */
6888- export namespace LifecycleRuleFilter {
6876+ export interface LifecycleRuleFilter {
68896877 /**
68906878 * <p>Prefix identifying one or more objects to which the rule applies.</p>
68916879 * <important>
@@ -6895,98 +6883,33 @@ export namespace LifecycleRuleFilter {
68956883 * </important>
68966884 * @public
68976885 */
6898- export interface PrefixMember {
6899- Prefix: string;
6900- Tag?: never;
6901- ObjectSizeGreaterThan?: never;
6902- ObjectSizeLessThan?: never;
6903- And?: never;
6904- $unknown?: never;
6905- }
6886+ Prefix?: string;
69066887
69076888 /**
69086889 * <p>This tag must exist in the object's tag set in order for the rule to apply.</p>
69096890 * @public
69106891 */
6911- export interface TagMember {
6912- Prefix?: never;
6913- Tag: Tag;
6914- ObjectSizeGreaterThan?: never;
6915- ObjectSizeLessThan?: never;
6916- And?: never;
6917- $unknown?: never;
6918- }
6892+ Tag?: Tag;
69196893
69206894 /**
69216895 * <p>Minimum object size to which the rule applies.</p>
69226896 * @public
69236897 */
6924- export interface ObjectSizeGreaterThanMember {
6925- Prefix?: never;
6926- Tag?: never;
6927- ObjectSizeGreaterThan: number;
6928- ObjectSizeLessThan?: never;
6929- And?: never;
6930- $unknown?: never;
6931- }
6898+ ObjectSizeGreaterThan?: number;
69326899
69336900 /**
69346901 * <p>Maximum object size to which the rule applies.</p>
69356902 * @public
69366903 */
6937- export interface ObjectSizeLessThanMember {
6938- Prefix?: never;
6939- Tag?: never;
6940- ObjectSizeGreaterThan?: never;
6941- ObjectSizeLessThan: number;
6942- And?: never;
6943- $unknown?: never;
6944- }
6904+ ObjectSizeLessThan?: number;
69456905
69466906 /**
69476907 * <p>This is used in a Lifecycle Rule Filter to apply a logical AND to two or more
69486908 * predicates. The Lifecycle Rule will apply to any object matching all of the predicates
69496909 * configured inside the And operator.</p>
69506910 * @public
69516911 */
6952- export interface AndMember {
6953- Prefix?: never;
6954- Tag?: never;
6955- ObjectSizeGreaterThan?: never;
6956- ObjectSizeLessThan?: never;
6957- And: LifecycleRuleAndOperator;
6958- $unknown?: never;
6959- }
6960-
6961- /**
6962- * @public
6963- */
6964- export interface $UnknownMember {
6965- Prefix?: never;
6966- Tag?: never;
6967- ObjectSizeGreaterThan?: never;
6968- ObjectSizeLessThan?: never;
6969- And?: never;
6970- $unknown: [string, any];
6971- }
6972-
6973- export interface Visitor<T> {
6974- Prefix: (value: string) => T;
6975- Tag: (value: Tag) => T;
6976- ObjectSizeGreaterThan: (value: number) => T;
6977- ObjectSizeLessThan: (value: number) => T;
6978- And: (value: LifecycleRuleAndOperator) => T;
6979- _: (name: string, value: any) => T;
6980- }
6981-
6982- export const visit = <T>(value: LifecycleRuleFilter, visitor: Visitor<T>): T => {
6983- if (value.Prefix !== undefined) return visitor.Prefix(value.Prefix);
6984- if (value.Tag !== undefined) return visitor.Tag(value.Tag);
6985- if (value.ObjectSizeGreaterThan !== undefined) return visitor.ObjectSizeGreaterThan(value.ObjectSizeGreaterThan);
6986- if (value.ObjectSizeLessThan !== undefined) return visitor.ObjectSizeLessThan(value.ObjectSizeLessThan);
6987- if (value.And !== undefined) return visitor.And(value.And);
6988- return visitor._(value.$unknown[0], value.$unknown[1]);
6989- };
6912+ And?: LifecycleRuleAndOperator;
69906913}
69916914
69926915/**
@@ -8386,16 +8309,7 @@ export interface ReplicationRuleAndOperator {
83868309 * an <code>And</code> child element.</p>
83878310 * @public
83888311 */
8389- export type ReplicationRuleFilter =
8390- | ReplicationRuleFilter.AndMember
8391- | ReplicationRuleFilter.PrefixMember
8392- | ReplicationRuleFilter.TagMember
8393- | ReplicationRuleFilter.$UnknownMember;
8394-
8395- /**
8396- * @public
8397- */
8398- export namespace ReplicationRuleFilter {
8312+ export interface ReplicationRuleFilter {
83998313 /**
84008314 * <p>An object key name prefix that identifies the subset of objects to which the rule
84018315 * applies.</p>
@@ -8406,24 +8320,14 @@ export namespace ReplicationRuleFilter {
84068320 * </important>
84078321 * @public
84088322 */
8409- export interface PrefixMember {
8410- Prefix: string;
8411- Tag?: never;
8412- And?: never;
8413- $unknown?: never;
8414- }
8323+ Prefix?: string;
84158324
84168325 /**
84178326 * <p>A container for specifying a tag key and value. </p>
84188327 * <p>The rule applies only to objects that have the tag in their tag set.</p>
84198328 * @public
84208329 */
8421- export interface TagMember {
8422- Prefix?: never;
8423- Tag: Tag;
8424- And?: never;
8425- $unknown?: never;
8426- }
8330+ Tag?: Tag;
84278331
84288332 /**
84298333 * <p>A container for specifying rule filters. The filters determine the subset of objects to
@@ -8441,36 +8345,7 @@ export namespace ReplicationRuleFilter {
84418345 * </ul>
84428346 * @public
84438347 */
8444- export interface AndMember {
8445- Prefix?: never;
8446- Tag?: never;
8447- And: ReplicationRuleAndOperator;
8448- $unknown?: never;
8449- }
8450-
8451- /**
8452- * @public
8453- */
8454- export interface $UnknownMember {
8455- Prefix?: never;
8456- Tag?: never;
8457- And?: never;
8458- $unknown: [string, any];
8459- }
8460-
8461- export interface Visitor<T> {
8462- Prefix: (value: string) => T;
8463- Tag: (value: Tag) => T;
8464- And: (value: ReplicationRuleAndOperator) => T;
8465- _: (name: string, value: any) => T;
8466- }
8467-
8468- export const visit = <T>(value: ReplicationRuleFilter, visitor: Visitor<T>): T => {
8469- if (value.Prefix !== undefined) return visitor.Prefix(value.Prefix);
8470- if (value.Tag !== undefined) return visitor.Tag(value.Tag);
8471- if (value.And !== undefined) return visitor.And(value.And);
8472- return visitor._(value.$unknown[0], value.$unknown[1]);
8473- };
8348+ And?: ReplicationRuleAndOperator;
84748349}
84758350
84768351/**
0 commit comments