46 46 | */
|
47 47 | public val ownerId: kotlin.String? = builder.ownerId
|
48 48 | /**
|
49 49 | * Indicates whether your client's IP address is preserved as the source. The value is `true` or `false`.
|
50 50 | * + If `true`, your client's IP address is used when you connect to a resource.
|
51 51 | * + If `false`, the elastic network interface IP address is used when you connect to a resource.
|
52 52 | *
|
53 53 | * Default: `true`
|
54 54 | */
|
55 55 | public val preserveClientIp: kotlin.Boolean? = builder.preserveClientIp
|
56 + | /**
|
57 + | * The public DNS names of the endpoint.
|
58 + | */
|
59 + | public val publicDnsNames: aws.sdk.kotlin.services.ec2.model.InstanceConnectEndpointPublicDnsNames? = builder.publicDnsNames
|
56 60 | /**
|
57 61 | * The security groups associated with the endpoint. If you didn't specify a security group, the default security group for your VPC is associated with the endpoint.
|
58 62 | */
|
59 63 | public val securityGroupIds: List<String>? = builder.securityGroupIds
|
60 64 | /**
|
61 65 | * The current state of the EC2 Instance Connect Endpoint.
|
62 66 | */
|
63 67 | public val state: aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpointState? = builder.state
|
64 68 | /**
|
65 69 | * The message for the current state of the EC2 Instance Connect Endpoint. Can include a failure message.
|
66 70 | */
|
67 71 | public val stateMessage: kotlin.String? = builder.stateMessage
|
68 72 | /**
|
69 73 | * The ID of the subnet in which the EC2 Instance Connect Endpoint was created.
|
70 74 | */
|
71 75 | public val subnetId: kotlin.String? = builder.subnetId
|
72 76 | /**
|
73 77 | * The tags assigned to the EC2 Instance Connect Endpoint.
|
74 78 | */
|
75 79 | public val tags: List<Tag>? = builder.tags
|
76 80 | /**
|
77 81 | * The ID of the VPC in which the EC2 Instance Connect Endpoint was created.
|
78 82 | */
|
79 83 | public val vpcId: kotlin.String? = builder.vpcId
|
80 84 |
|
81 85 | public companion object {
|
82 86 | public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpoint = Builder().apply(block).build()
|
83 87 | }
|
84 88 |
|
85 89 | override fun toString(): kotlin.String = buildString {
|
86 90 | append("Ec2InstanceConnectEndpoint(")
|
87 91 | append("availabilityZone=$availabilityZone,")
|
88 92 | append("createdAt=$createdAt,")
|
89 93 | append("dnsName=$dnsName,")
|
90 94 | append("fipsDnsName=$fipsDnsName,")
|
91 95 | append("instanceConnectEndpointArn=$instanceConnectEndpointArn,")
|
92 96 | append("instanceConnectEndpointId=$instanceConnectEndpointId,")
|
93 97 | append("ipAddressType=$ipAddressType,")
|
94 98 | append("networkInterfaceIds=$networkInterfaceIds,")
|
95 99 | append("ownerId=$ownerId,")
|
96 100 | append("preserveClientIp=$preserveClientIp,")
|
101 + | append("publicDnsNames=$publicDnsNames,")
|
97 102 | append("securityGroupIds=$securityGroupIds,")
|
98 103 | append("state=$state,")
|
99 104 | append("stateMessage=$stateMessage,")
|
100 105 | append("subnetId=$subnetId,")
|
101 106 | append("tags=$tags,")
|
102 107 | append("vpcId=$vpcId")
|
103 108 | append(")")
|
104 109 | }
|
105 110 |
|
106 111 | override fun hashCode(): kotlin.Int {
|
107 112 | var result = availabilityZone?.hashCode() ?: 0
|
108 113 | result = 31 * result + (this.createdAt?.hashCode() ?: 0)
|
109 114 | result = 31 * result + (this.dnsName?.hashCode() ?: 0)
|
110 115 | result = 31 * result + (this.fipsDnsName?.hashCode() ?: 0)
|
111 116 | result = 31 * result + (this.instanceConnectEndpointArn?.hashCode() ?: 0)
|
112 117 | result = 31 * result + (this.instanceConnectEndpointId?.hashCode() ?: 0)
|
113 118 | result = 31 * result + (this.ipAddressType?.hashCode() ?: 0)
|
114 119 | result = 31 * result + (this.networkInterfaceIds?.hashCode() ?: 0)
|
115 120 | result = 31 * result + (this.ownerId?.hashCode() ?: 0)
|
116 121 | result = 31 * result + (this.preserveClientIp?.hashCode() ?: 0)
|
122 + | result = 31 * result + (this.publicDnsNames?.hashCode() ?: 0)
|
117 123 | result = 31 * result + (this.securityGroupIds?.hashCode() ?: 0)
|
118 124 | result = 31 * result + (this.state?.hashCode() ?: 0)
|
119 125 | result = 31 * result + (this.stateMessage?.hashCode() ?: 0)
|
120 126 | result = 31 * result + (this.subnetId?.hashCode() ?: 0)
|
121 127 | result = 31 * result + (this.tags?.hashCode() ?: 0)
|
122 128 | result = 31 * result + (this.vpcId?.hashCode() ?: 0)
|
123 129 | return result
|
124 130 | }
|
125 131 |
|
126 132 | override fun equals(other: kotlin.Any?): kotlin.Boolean {
|
127 133 | if (this === other) return true
|
128 134 | if (other == null || this::class != other::class) return false
|
129 135 |
|
130 136 | other as Ec2InstanceConnectEndpoint
|
131 137 |
|
132 138 | if (availabilityZone != other.availabilityZone) return false
|
133 139 | if (createdAt != other.createdAt) return false
|
134 140 | if (dnsName != other.dnsName) return false
|
135 141 | if (fipsDnsName != other.fipsDnsName) return false
|
136 142 | if (instanceConnectEndpointArn != other.instanceConnectEndpointArn) return false
|
137 143 | if (instanceConnectEndpointId != other.instanceConnectEndpointId) return false
|
138 144 | if (ipAddressType != other.ipAddressType) return false
|
139 145 | if (networkInterfaceIds != other.networkInterfaceIds) return false
|
140 146 | if (ownerId != other.ownerId) return false
|
141 147 | if (preserveClientIp != other.preserveClientIp) return false
|
148 + | if (publicDnsNames != other.publicDnsNames) return false
|
142 149 | if (securityGroupIds != other.securityGroupIds) return false
|
143 150 | if (state != other.state) return false
|
144 151 | if (stateMessage != other.stateMessage) return false
|
145 152 | if (subnetId != other.subnetId) return false
|
146 153 | if (tags != other.tags) return false
|
147 154 | if (vpcId != other.vpcId) return false
|
148 155 |
|
149 156 | return true
|
150 157 | }
|
151 158 |
|
152 159 | public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpoint = Builder(this).apply(block).build()
|
153 160 |
|
154 161 | @SdkDsl
|
155 162 | public class Builder {
|
156 163 | /**
|
157 164 | * The Availability Zone of the EC2 Instance Connect Endpoint.
|
158 165 | */
|
159 166 | public var availabilityZone: kotlin.String? = null
|
160 167 | /**
|
161 168 | * The date and time that the EC2 Instance Connect Endpoint was created.
|
162 169 | */
|
163 170 | public var createdAt: aws.smithy.kotlin.runtime.time.Instant? = null
|
164 171 | /**
|
165 172 | * The DNS name of the EC2 Instance Connect Endpoint.
|
166 173 | */
|
167 174 | public var dnsName: kotlin.String? = null
|
168 175 | /**
|
169 176 | * The Federal Information Processing Standards (FIPS) compliant DNS name of the EC2 Instance Connect Endpoint.
|
170 177 | */
|
171 178 | public var fipsDnsName: kotlin.String? = null
|
172 179 | /**
|
173 180 | * The Amazon Resource Name (ARN) of the EC2 Instance Connect Endpoint.
|
174 181 | */
|
175 182 | public var instanceConnectEndpointArn: kotlin.String? = null
|
176 183 | /**
|
177 184 | * The ID of the EC2 Instance Connect Endpoint.
|
178 185 | */
|
179 186 | public var instanceConnectEndpointId: kotlin.String? = null
|
180 187 | /**
|
181 188 | * The IP address type of the endpoint.
|
182 189 | */
|
183 190 | public var ipAddressType: aws.sdk.kotlin.services.ec2.model.IpAddressType? = null
|
184 191 | /**
|
185 192 | * The ID of the elastic network interface that Amazon EC2 automatically created when creating the EC2 Instance Connect Endpoint.
|
186 193 | */
|
187 194 | public var networkInterfaceIds: List<String>? = null
|
188 195 | /**
|
189 196 | * The ID of the Amazon Web Services account that created the EC2 Instance Connect Endpoint.
|
190 197 | */
|
191 198 | public var ownerId: kotlin.String? = null
|
192 199 | /**
|
193 200 | * Indicates whether your client's IP address is preserved as the source. The value is `true` or `false`.
|
194 201 | * + If `true`, your client's IP address is used when you connect to a resource.
|
195 202 | * + If `false`, the elastic network interface IP address is used when you connect to a resource.
|
196 203 | *
|
197 204 | * Default: `true`
|
198 205 | */
|
199 206 | public var preserveClientIp: kotlin.Boolean? = null
|
207 + | /**
|
208 + | * The public DNS names of the endpoint.
|
209 + | */
|
210 + | public var publicDnsNames: aws.sdk.kotlin.services.ec2.model.InstanceConnectEndpointPublicDnsNames? = null
|
200 211 | /**
|
201 212 | * The security groups associated with the endpoint. If you didn't specify a security group, the default security group for your VPC is associated with the endpoint.
|
202 213 | */
|
203 214 | public var securityGroupIds: List<String>? = null
|
204 215 | /**
|
205 216 | * The current state of the EC2 Instance Connect Endpoint.
|
206 217 | */
|
207 218 | public var state: aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpointState? = null
|
208 219 | /**
|
209 220 | * The message for the current state of the EC2 Instance Connect Endpoint. Can include a failure message.
|
210 221 | */
|
211 222 | public var stateMessage: kotlin.String? = null
|
212 223 | /**
|
213 224 | * The ID of the subnet in which the EC2 Instance Connect Endpoint was created.
|
214 225 | */
|
215 226 | public var subnetId: kotlin.String? = null
|
216 227 | /**
|
217 228 | * The tags assigned to the EC2 Instance Connect Endpoint.
|
218 229 | */
|
219 230 | public var tags: List<Tag>? = null
|
220 231 | /**
|
221 232 | * The ID of the VPC in which the EC2 Instance Connect Endpoint was created.
|
222 233 | */
|
223 234 | public var vpcId: kotlin.String? = null
|
224 235 |
|
225 236 | @PublishedApi
|
226 237 | internal constructor()
|
227 238 | @PublishedApi
|
228 239 | internal constructor(x: aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpoint) : this() {
|
229 240 | this.availabilityZone = x.availabilityZone
|
230 241 | this.createdAt = x.createdAt
|
231 242 | this.dnsName = x.dnsName
|
232 243 | this.fipsDnsName = x.fipsDnsName
|
233 244 | this.instanceConnectEndpointArn = x.instanceConnectEndpointArn
|
234 245 | this.instanceConnectEndpointId = x.instanceConnectEndpointId
|
235 246 | this.ipAddressType = x.ipAddressType
|
236 247 | this.networkInterfaceIds = x.networkInterfaceIds
|
237 248 | this.ownerId = x.ownerId
|
238 249 | this.preserveClientIp = x.preserveClientIp
|
250 + | this.publicDnsNames = x.publicDnsNames
|
239 251 | this.securityGroupIds = x.securityGroupIds
|
240 252 | this.state = x.state
|
241 253 | this.stateMessage = x.stateMessage
|
242 254 | this.subnetId = x.subnetId
|
243 255 | this.tags = x.tags
|
244 256 | this.vpcId = x.vpcId
|
245 257 | }
|
246 258 |
|
247 259 | @PublishedApi
|
248 260 | internal fun build(): aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpoint = Ec2InstanceConnectEndpoint(this)
|
249 261 |
|
262 + | /**
|
263 + | * construct an [aws.sdk.kotlin.services.ec2.model.InstanceConnectEndpointPublicDnsNames] inside the given [block]
|
264 + | */
|
265 + | public fun publicDnsNames(block: aws.sdk.kotlin.services.ec2.model.InstanceConnectEndpointPublicDnsNames.Builder.() -> kotlin.Unit) {
|
266 + | this.publicDnsNames = aws.sdk.kotlin.services.ec2.model.InstanceConnectEndpointPublicDnsNames.invoke(block)
|
267 + | }
|
268 + |
|
250 269 | internal fun correctErrors(): Builder {
|
251 270 | return this
|
252 271 | }
|
253 272 | }
|
254 273 | }
|