1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 package com.amazonaws.util.awsclientgenerator.domainmodels.codegeneration;
7 
8 import lombok.Data;
9 
10 import java.util.List;
11 
12 @Data
13 public class Operation {
14     private String name;
15     private Http http;
16     private ShapeMember request;
17     private ShapeMember result;
18     private List<Error> errors;
19     private String documentation;
20     private boolean supportsPresigning;
21     private boolean virtualAddressAllowed;
22     private String virtualAddressMemberName;
23     private String authtype;
24     private String authorizer;
25     private boolean eventStream;
26     private boolean supportsChunkedEncoding;
27 
28     // ARN supports.
29     private boolean arnEndpointAllowed;
30     private String arnLocation; // uri | querystring | body
31     private String arnEndpointMemberName;
32 
33     // For S3 Control.
34     private boolean hasAccountIdMember;
35     private String accountIdMemberName;
36     private boolean hasAccountIdInArn;
37 
38     // For S3 Outposts.
39     private boolean hasOutpostIdMember;
40     private String outpostIdMemberName;
41     private boolean outpostUseNonArnEndpoint;
42     private boolean hasOutpostIdInArn;
43 
44     // For S3 Object Lambda.
45     private boolean requiresServiceNameOverride;
46     private String serviceNameOverride;
47 
48     // For Host Prefix Injection.
49     private boolean hasEndpointTrait;
50     private Endpoint endpoint;
51 
52     // For Cellular Request Routing
53     private boolean isEndpointOperation;
54     private boolean hasEndpointDiscoveryTrait;
55     private boolean requireEndpointDiscovery;
56 
57     // For pre-signed URL generation
58     private boolean hasPreSignedUrl;
59 
60     // For S3 CRT
61     private boolean s3CrtSpecific;
62 }
63