@@ -191,6 +191,78 @@ extension ControlCatalogClient {
191191}
192192
193193extension ControlCatalogClient {
194+ /// Performs the `GetControl` operation on the `ControlCatalog` service.
195+ ///
196+ /// Returns details about a specific control, most notably a list of Amazon Web Services Regions where this control is supported. Input a value for the ControlArn parameter, in ARN form. GetControl accepts controltower or controlcatalog control ARNs as input. Returns a controlcatalog ARN format. In the API response, controls that have the value GLOBAL in the Scope field do not show the DeployableRegions field, because it does not apply. Controls that have the value REGIONAL in the Scope field return a value for the DeployableRegions field, as shown in the example.
197+ ///
198+ /// - Parameter GetControlInput : [no documentation found]
199+ ///
200+ /// - Returns: `GetControlOutput` : [no documentation found]
201+ ///
202+ /// - Throws: One of the exceptions listed below __Possible Exceptions__.
203+ ///
204+ /// __Possible Exceptions:__
205+ /// - `AccessDeniedException` : You do not have sufficient access to perform this action.
206+ /// - `InternalServerException` : An internal service error occurred during the processing of your request. Try again later.
207+ /// - `ResourceNotFoundException` : The requested resource does not exist.
208+ /// - `ThrottlingException` : The request was denied due to request throttling.
209+ /// - `ValidationException` : The request has invalid or missing parameters.
210+ public func getControl( input: GetControlInput ) async throws -> GetControlOutput {
211+ let context = Smithy . ContextBuilder ( )
212+ . withMethod ( value: . post)
213+ . withServiceName ( value: serviceName)
214+ . withOperation ( value: " getControl " )
215+ . withIdempotencyTokenGenerator ( value: config. idempotencyTokenGenerator)
216+ . withLogger ( value: config. logger)
217+ . withPartitionID ( value: config. partitionID)
218+ . withAuthSchemes ( value: config. authSchemes ?? [ ] )
219+ . withAuthSchemeResolver ( value: config. authSchemeResolver)
220+ . withUnsignedPayloadTrait ( value: false )
221+ . withSocketTimeout ( value: config. httpClientConfiguration. socketTimeout)
222+ . withIdentityResolver ( value: config. bearerTokenIdentityResolver, schemeID: " smithy.api#httpBearerAuth " )
223+ . withIdentityResolver ( value: config. awsCredentialIdentityResolver, schemeID: " aws.auth#sigv4 " )
224+ . withIdentityResolver ( value: config. awsCredentialIdentityResolver, schemeID: " aws.auth#sigv4a " )
225+ . withRegion ( value: config. region)
226+ . withSigningName ( value: " controlcatalog " )
227+ . withSigningRegion ( value: config. signingRegion)
228+ . build ( )
229+ let builder = ClientRuntime . OrchestratorBuilder < GetControlInput , GetControlOutput , SmithyHTTPAPI . HTTPRequest , SmithyHTTPAPI . HTTPResponse > ( )
230+ config. interceptorProviders. forEach { provider in
231+ builder. interceptors. add ( provider. create ( ) )
232+ }
233+ config. httpInterceptorProviders. forEach { provider in
234+ let i : any ClientRuntime . HttpInterceptor < GetControlInput , GetControlOutput > = provider. create ( )
235+ builder. interceptors. add ( i)
236+ }
237+ builder. interceptors. add ( ClientRuntime . URLPathMiddleware< GetControlInput, GetControlOutput> ( GetControlInput . urlPathProvider ( _: ) ) )
238+ builder. interceptors. add ( ClientRuntime . URLHostMiddleware < GetControlInput , GetControlOutput > ( ) )
239+ builder. interceptors. add ( ClientRuntime . ContentTypeMiddleware< GetControlInput, GetControlOutput> ( contentType: " application/json " ) )
240+ builder. serialize ( ClientRuntime . BodyMiddleware< GetControlInput, GetControlOutput, SmithyJSON . Writer> ( rootNodeInfo: " " , inputWritingClosure: GetControlInput . write ( value: to: ) ) )
241+ builder. interceptors. add ( ClientRuntime . ContentLengthMiddleware < GetControlInput , GetControlOutput > ( ) )
242+ builder. deserialize ( ClientRuntime . DeserializeMiddleware< GetControlOutput> ( GetControlOutput . httpOutput ( from: ) , GetControlOutputError . httpError ( from: ) ) )
243+ builder. interceptors. add ( ClientRuntime . LoggerMiddleware< GetControlInput, GetControlOutput> ( clientLogMode: config. clientLogMode) )
244+ builder. retryStrategy ( SmithyRetries . DefaultRetryStrategy ( options: config. retryStrategyOptions) )
245+ builder. retryErrorInfoProvider ( AWSClientRuntime . AWSRetryErrorInfoProvider. errorInfo ( for: ) )
246+ builder. applySigner ( ClientRuntime . SignerMiddleware < GetControlOutput > ( ) )
247+ let endpointParams = EndpointParams ( endpoint: config. endpoint, region: config. region, useDualStack: config. useDualStack ?? false , useFIPS: config. useFIPS ?? false )
248+ builder. applyEndpoint ( AWSClientRuntime . EndpointResolverMiddleware< GetControlOutput, EndpointParams> ( endpointResolverBlock: { [ config] in try config. endpointResolver. resolve ( params: $0) } , endpointParams: endpointParams) )
249+ builder. interceptors. add ( AWSClientRuntime . UserAgentMiddleware< GetControlInput, GetControlOutput> ( metadata: AWSClientRuntime . AWSUserAgentMetadata. fromConfig ( serviceID: serviceName, version: " 1.0 " , config: config) ) )
250+ builder. selectAuthScheme ( ClientRuntime . AuthSchemeMiddleware < GetControlOutput > ( ) )
251+ builder. interceptors. add ( AWSClientRuntime . AmzSdkInvocationIdMiddleware < GetControlInput , GetControlOutput > ( ) )
252+ builder. interceptors. add ( AWSClientRuntime . AmzSdkRequestMiddleware< GetControlInput, GetControlOutput> ( maxRetries: config. retryStrategyOptions. maxRetriesBase) )
253+ var metricsAttributes = Smithy . Attributes ( )
254+ metricsAttributes. set ( key: ClientRuntime . OrchestratorMetricsAttributesKeys. service, value: " ControlCatalog " )
255+ metricsAttributes. set ( key: ClientRuntime . OrchestratorMetricsAttributesKeys. method, value: " GetControl " )
256+ let op = builder. attributes ( context)
257+ . telemetry ( ClientRuntime . OrchestratorTelemetry (
258+ telemetryProvider: config. telemetryProvider,
259+ metricsAttributes: metricsAttributes
260+ ) )
261+ . executeRequest ( client)
262+ . build ( )
263+ return try await op. execute ( input: input)
264+ }
265+
194266 /// Performs the `ListCommonControls` operation on the `ControlCatalog` service.
195267 ///
196268 /// Returns a paginated list of common controls from the Amazon Web Services Control Catalog. You can apply an optional filter to see common controls that have a specific objective. If you don’t provide a filter, the operation returns all common controls.
@@ -263,6 +335,75 @@ extension ControlCatalogClient {
263335 return try await op. execute ( input: input)
264336 }
265337
338+ /// Performs the `ListControls` operation on the `ControlCatalog` service.
339+ ///
340+ /// Returns a paginated list of all available controls in the Amazon Web Services Control Catalog library. Allows you to discover available controls. The list of controls is given as structures of type controlSummary. The ARN is returned in the global controlcatalog format, as shown in the examples.
341+ ///
342+ /// - Parameter ListControlsInput : [no documentation found]
343+ ///
344+ /// - Returns: `ListControlsOutput` : [no documentation found]
345+ ///
346+ /// - Throws: One of the exceptions listed below __Possible Exceptions__.
347+ ///
348+ /// __Possible Exceptions:__
349+ /// - `AccessDeniedException` : You do not have sufficient access to perform this action.
350+ /// - `InternalServerException` : An internal service error occurred during the processing of your request. Try again later.
351+ /// - `ThrottlingException` : The request was denied due to request throttling.
352+ /// - `ValidationException` : The request has invalid or missing parameters.
353+ public func listControls( input: ListControlsInput ) async throws -> ListControlsOutput {
354+ let context = Smithy . ContextBuilder ( )
355+ . withMethod ( value: . post)
356+ . withServiceName ( value: serviceName)
357+ . withOperation ( value: " listControls " )
358+ . withIdempotencyTokenGenerator ( value: config. idempotencyTokenGenerator)
359+ . withLogger ( value: config. logger)
360+ . withPartitionID ( value: config. partitionID)
361+ . withAuthSchemes ( value: config. authSchemes ?? [ ] )
362+ . withAuthSchemeResolver ( value: config. authSchemeResolver)
363+ . withUnsignedPayloadTrait ( value: false )
364+ . withSocketTimeout ( value: config. httpClientConfiguration. socketTimeout)
365+ . withIdentityResolver ( value: config. bearerTokenIdentityResolver, schemeID: " smithy.api#httpBearerAuth " )
366+ . withIdentityResolver ( value: config. awsCredentialIdentityResolver, schemeID: " aws.auth#sigv4 " )
367+ . withIdentityResolver ( value: config. awsCredentialIdentityResolver, schemeID: " aws.auth#sigv4a " )
368+ . withRegion ( value: config. region)
369+ . withSigningName ( value: " controlcatalog " )
370+ . withSigningRegion ( value: config. signingRegion)
371+ . build ( )
372+ let builder = ClientRuntime . OrchestratorBuilder < ListControlsInput , ListControlsOutput , SmithyHTTPAPI . HTTPRequest , SmithyHTTPAPI . HTTPResponse > ( )
373+ config. interceptorProviders. forEach { provider in
374+ builder. interceptors. add ( provider. create ( ) )
375+ }
376+ config. httpInterceptorProviders. forEach { provider in
377+ let i : any ClientRuntime . HttpInterceptor < ListControlsInput , ListControlsOutput > = provider. create ( )
378+ builder. interceptors. add ( i)
379+ }
380+ builder. interceptors. add ( ClientRuntime . URLPathMiddleware< ListControlsInput, ListControlsOutput> ( ListControlsInput . urlPathProvider ( _: ) ) )
381+ builder. interceptors. add ( ClientRuntime . URLHostMiddleware < ListControlsInput , ListControlsOutput > ( ) )
382+ builder. serialize ( ClientRuntime . QueryItemMiddleware< ListControlsInput, ListControlsOutput> ( ListControlsInput . queryItemProvider ( _: ) ) )
383+ builder. deserialize ( ClientRuntime . DeserializeMiddleware< ListControlsOutput> ( ListControlsOutput . httpOutput ( from: ) , ListControlsOutputError . httpError ( from: ) ) )
384+ builder. interceptors. add ( ClientRuntime . LoggerMiddleware< ListControlsInput, ListControlsOutput> ( clientLogMode: config. clientLogMode) )
385+ builder. retryStrategy ( SmithyRetries . DefaultRetryStrategy ( options: config. retryStrategyOptions) )
386+ builder. retryErrorInfoProvider ( AWSClientRuntime . AWSRetryErrorInfoProvider. errorInfo ( for: ) )
387+ builder. applySigner ( ClientRuntime . SignerMiddleware < ListControlsOutput > ( ) )
388+ let endpointParams = EndpointParams ( endpoint: config. endpoint, region: config. region, useDualStack: config. useDualStack ?? false , useFIPS: config. useFIPS ?? false )
389+ builder. applyEndpoint ( AWSClientRuntime . EndpointResolverMiddleware< ListControlsOutput, EndpointParams> ( endpointResolverBlock: { [ config] in try config. endpointResolver. resolve ( params: $0) } , endpointParams: endpointParams) )
390+ builder. interceptors. add ( AWSClientRuntime . UserAgentMiddleware< ListControlsInput, ListControlsOutput> ( metadata: AWSClientRuntime . AWSUserAgentMetadata. fromConfig ( serviceID: serviceName, version: " 1.0 " , config: config) ) )
391+ builder. selectAuthScheme ( ClientRuntime . AuthSchemeMiddleware < ListControlsOutput > ( ) )
392+ builder. interceptors. add ( AWSClientRuntime . AmzSdkInvocationIdMiddleware < ListControlsInput , ListControlsOutput > ( ) )
393+ builder. interceptors. add ( AWSClientRuntime . AmzSdkRequestMiddleware< ListControlsInput, ListControlsOutput> ( maxRetries: config. retryStrategyOptions. maxRetriesBase) )
394+ var metricsAttributes = Smithy . Attributes ( )
395+ metricsAttributes. set ( key: ClientRuntime . OrchestratorMetricsAttributesKeys. service, value: " ControlCatalog " )
396+ metricsAttributes. set ( key: ClientRuntime . OrchestratorMetricsAttributesKeys. method, value: " ListControls " )
397+ let op = builder. attributes ( context)
398+ . telemetry ( ClientRuntime . OrchestratorTelemetry (
399+ telemetryProvider: config. telemetryProvider,
400+ metricsAttributes: metricsAttributes
401+ ) )
402+ . executeRequest ( client)
403+ . build ( )
404+ return try await op. execute ( input: input)
405+ }
406+
266407 /// Performs the `ListDomains` operation on the `ControlCatalog` service.
267408 ///
268409 /// Returns a paginated list of domains from the Amazon Web Services Control Catalog.
0 commit comments