commonMain.aws.sdk.kotlin.services.signer.DefaultSignerClient.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of signer-jvm Show documentation
Show all versions of signer-jvm Show documentation
The AWS SDK for Kotlin client for signer
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.signer
import aws.sdk.kotlin.runtime.client.AwsClientOption
import aws.sdk.kotlin.runtime.http.ApiMetadata
import aws.sdk.kotlin.runtime.http.AwsUserAgentMetadata
import aws.sdk.kotlin.runtime.http.middleware.AwsRetryMiddleware
import aws.sdk.kotlin.runtime.http.middleware.RecursionDetection
import aws.sdk.kotlin.runtime.http.middleware.ResolveAwsEndpoint
import aws.sdk.kotlin.runtime.http.middleware.UserAgent
import aws.sdk.kotlin.runtime.http.retries.AwsDefaultRetryPolicy
import aws.sdk.kotlin.services.signer.model.*
import aws.sdk.kotlin.services.signer.transform.*
import aws.smithy.kotlin.runtime.auth.awssigning.AwsSigningAttributes
import aws.smithy.kotlin.runtime.auth.awssigning.middleware.AwsSigningMiddleware
import aws.smithy.kotlin.runtime.client.ExecutionContext
import aws.smithy.kotlin.runtime.client.SdkClientOption
import aws.smithy.kotlin.runtime.client.idempotencyTokenProvider
import aws.smithy.kotlin.runtime.http.SdkHttpClient
import aws.smithy.kotlin.runtime.http.engine.DefaultHttpEngine
import aws.smithy.kotlin.runtime.http.operation.SdkHttpOperation
import aws.smithy.kotlin.runtime.http.operation.context
import aws.smithy.kotlin.runtime.http.operation.roundTrip
import aws.smithy.kotlin.runtime.http.sdkHttpClient
import aws.smithy.kotlin.runtime.io.Closeable
import aws.smithy.kotlin.runtime.util.putIfAbsent
const val ServiceId: String = "signer"
const val ServiceApiVersion: String = "2017-08-25"
const val SdkVersion: String = "0.17.0-beta"
internal class DefaultSignerClient(override val config: SignerClient.Config) : SignerClient {
private val client: SdkHttpClient
init {
val httpClientEngine = config.httpClientEngine ?: DefaultHttpEngine()
client = sdkHttpClient(httpClientEngine, manageEngine = config.httpClientEngine == null)
}
private val awsUserAgentMetadata = AwsUserAgentMetadata.fromEnvironment(ApiMetadata(ServiceId, SdkVersion))
/**
* Adds cross-account permissions to a signing profile.
*/
override suspend fun addProfilePermission(input: AddProfilePermissionRequest): AddProfilePermissionResponse {
val op = SdkHttpOperation.build {
serializer = AddProfilePermissionOperationSerializer()
deserializer = AddProfilePermissionOperationDeserializer()
context {
expectedHttpStatus = 200
service = serviceName
operationName = "AddProfilePermission"
}
}
mergeServiceDefaults(op.context)
op.install(ResolveAwsEndpoint(ServiceId, config.endpointResolver))
op.install(AwsRetryMiddleware(config.retryStrategy, AwsDefaultRetryPolicy))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.install(
AwsSigningMiddleware {
this.signer = config.signer
this.credentialsProvider = config.credentialsProvider
this.service = "signer"
}
)
return op.roundTrip(client, input)
}
/**
* Changes the state of an `ACTIVE` signing profile to `CANCELED`. A canceled profile is still viewable with the `ListSigningProfiles` operation, but it cannot perform new signing jobs, and is deleted two years after cancelation.
*/
override suspend fun cancelSigningProfile(input: CancelSigningProfileRequest): CancelSigningProfileResponse {
val op = SdkHttpOperation.build {
serializer = CancelSigningProfileOperationSerializer()
deserializer = CancelSigningProfileOperationDeserializer()
context {
expectedHttpStatus = 200
service = serviceName
operationName = "CancelSigningProfile"
}
}
mergeServiceDefaults(op.context)
op.install(ResolveAwsEndpoint(ServiceId, config.endpointResolver))
op.install(AwsRetryMiddleware(config.retryStrategy, AwsDefaultRetryPolicy))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.install(
AwsSigningMiddleware {
this.signer = config.signer
this.credentialsProvider = config.credentialsProvider
this.service = "signer"
}
)
return op.roundTrip(client, input)
}
/**
* Returns information about a specific code signing job. You specify the job by using the `jobId` value that is returned by the StartSigningJob operation.
*/
override suspend fun describeSigningJob(input: DescribeSigningJobRequest): DescribeSigningJobResponse {
val op = SdkHttpOperation.build {
serializer = DescribeSigningJobOperationSerializer()
deserializer = DescribeSigningJobOperationDeserializer()
context {
expectedHttpStatus = 200
service = serviceName
operationName = "DescribeSigningJob"
}
}
mergeServiceDefaults(op.context)
op.install(ResolveAwsEndpoint(ServiceId, config.endpointResolver))
op.install(AwsRetryMiddleware(config.retryStrategy, AwsDefaultRetryPolicy))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.install(
AwsSigningMiddleware {
this.signer = config.signer
this.credentialsProvider = config.credentialsProvider
this.service = "signer"
}
)
return op.roundTrip(client, input)
}
/**
* Returns information on a specific signing platform.
*/
override suspend fun getSigningPlatform(input: GetSigningPlatformRequest): GetSigningPlatformResponse {
val op = SdkHttpOperation.build {
serializer = GetSigningPlatformOperationSerializer()
deserializer = GetSigningPlatformOperationDeserializer()
context {
expectedHttpStatus = 200
service = serviceName
operationName = "GetSigningPlatform"
}
}
mergeServiceDefaults(op.context)
op.install(ResolveAwsEndpoint(ServiceId, config.endpointResolver))
op.install(AwsRetryMiddleware(config.retryStrategy, AwsDefaultRetryPolicy))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.install(
AwsSigningMiddleware {
this.signer = config.signer
this.credentialsProvider = config.credentialsProvider
this.service = "signer"
}
)
return op.roundTrip(client, input)
}
/**
* Returns information on a specific signing profile.
*/
override suspend fun getSigningProfile(input: GetSigningProfileRequest): GetSigningProfileResponse {
val op = SdkHttpOperation.build {
serializer = GetSigningProfileOperationSerializer()
deserializer = GetSigningProfileOperationDeserializer()
context {
expectedHttpStatus = 200
service = serviceName
operationName = "GetSigningProfile"
}
}
mergeServiceDefaults(op.context)
op.install(ResolveAwsEndpoint(ServiceId, config.endpointResolver))
op.install(AwsRetryMiddleware(config.retryStrategy, AwsDefaultRetryPolicy))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.install(
AwsSigningMiddleware {
this.signer = config.signer
this.credentialsProvider = config.credentialsProvider
this.service = "signer"
}
)
return op.roundTrip(client, input)
}
/**
* Lists the cross-account permissions associated with a signing profile.
*/
override suspend fun listProfilePermissions(input: ListProfilePermissionsRequest): ListProfilePermissionsResponse {
val op = SdkHttpOperation.build {
serializer = ListProfilePermissionsOperationSerializer()
deserializer = ListProfilePermissionsOperationDeserializer()
context {
expectedHttpStatus = 200
service = serviceName
operationName = "ListProfilePermissions"
}
}
mergeServiceDefaults(op.context)
op.install(ResolveAwsEndpoint(ServiceId, config.endpointResolver))
op.install(AwsRetryMiddleware(config.retryStrategy, AwsDefaultRetryPolicy))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.install(
AwsSigningMiddleware {
this.signer = config.signer
this.credentialsProvider = config.credentialsProvider
this.service = "signer"
}
)
return op.roundTrip(client, input)
}
/**
* Lists all your signing jobs. You can use the `maxResults` parameter to limit the number of signing jobs that are returned in the response. If additional jobs remain to be listed, code signing returns a `nextToken` value. Use this value in subsequent calls to `ListSigningJobs` to fetch the remaining values. You can continue calling `ListSigningJobs` with your `maxResults` parameter and with new values that code signing returns in the `nextToken` parameter until all of your signing jobs have been returned.
*/
override suspend fun listSigningJobs(input: ListSigningJobsRequest): ListSigningJobsResponse {
val op = SdkHttpOperation.build {
serializer = ListSigningJobsOperationSerializer()
deserializer = ListSigningJobsOperationDeserializer()
context {
expectedHttpStatus = 200
service = serviceName
operationName = "ListSigningJobs"
}
}
mergeServiceDefaults(op.context)
op.install(ResolveAwsEndpoint(ServiceId, config.endpointResolver))
op.install(AwsRetryMiddleware(config.retryStrategy, AwsDefaultRetryPolicy))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.install(
AwsSigningMiddleware {
this.signer = config.signer
this.credentialsProvider = config.credentialsProvider
this.service = "signer"
}
)
return op.roundTrip(client, input)
}
/**
* Lists all signing platforms available in code signing that match the request parameters. If additional jobs remain to be listed, code signing returns a `nextToken` value. Use this value in subsequent calls to `ListSigningJobs` to fetch the remaining values. You can continue calling `ListSigningJobs` with your `maxResults` parameter and with new values that code signing returns in the `nextToken` parameter until all of your signing jobs have been returned.
*/
override suspend fun listSigningPlatforms(input: ListSigningPlatformsRequest): ListSigningPlatformsResponse {
val op = SdkHttpOperation.build {
serializer = ListSigningPlatformsOperationSerializer()
deserializer = ListSigningPlatformsOperationDeserializer()
context {
expectedHttpStatus = 200
service = serviceName
operationName = "ListSigningPlatforms"
}
}
mergeServiceDefaults(op.context)
op.install(ResolveAwsEndpoint(ServiceId, config.endpointResolver))
op.install(AwsRetryMiddleware(config.retryStrategy, AwsDefaultRetryPolicy))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.install(
AwsSigningMiddleware {
this.signer = config.signer
this.credentialsProvider = config.credentialsProvider
this.service = "signer"
}
)
return op.roundTrip(client, input)
}
/**
* Lists all available signing profiles in your AWS account. Returns only profiles with an `ACTIVE` status unless the `includeCanceled` request field is set to `true`. If additional jobs remain to be listed, code signing returns a `nextToken` value. Use this value in subsequent calls to `ListSigningJobs` to fetch the remaining values. You can continue calling `ListSigningJobs` with your `maxResults` parameter and with new values that code signing returns in the `nextToken` parameter until all of your signing jobs have been returned.
*/
override suspend fun listSigningProfiles(input: ListSigningProfilesRequest): ListSigningProfilesResponse {
val op = SdkHttpOperation.build {
serializer = ListSigningProfilesOperationSerializer()
deserializer = ListSigningProfilesOperationDeserializer()
context {
expectedHttpStatus = 200
service = serviceName
operationName = "ListSigningProfiles"
}
}
mergeServiceDefaults(op.context)
op.install(ResolveAwsEndpoint(ServiceId, config.endpointResolver))
op.install(AwsRetryMiddleware(config.retryStrategy, AwsDefaultRetryPolicy))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.install(
AwsSigningMiddleware {
this.signer = config.signer
this.credentialsProvider = config.credentialsProvider
this.service = "signer"
}
)
return op.roundTrip(client, input)
}
/**
* Returns a list of the tags associated with a signing profile resource.
*/
override suspend fun listTagsForResource(input: ListTagsForResourceRequest): ListTagsForResourceResponse {
val op = SdkHttpOperation.build {
serializer = ListTagsForResourceOperationSerializer()
deserializer = ListTagsForResourceOperationDeserializer()
context {
expectedHttpStatus = 200
service = serviceName
operationName = "ListTagsForResource"
}
}
mergeServiceDefaults(op.context)
op.install(ResolveAwsEndpoint(ServiceId, config.endpointResolver))
op.install(AwsRetryMiddleware(config.retryStrategy, AwsDefaultRetryPolicy))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.install(
AwsSigningMiddleware {
this.signer = config.signer
this.credentialsProvider = config.credentialsProvider
this.service = "signer"
}
)
return op.roundTrip(client, input)
}
/**
* Creates a signing profile. A signing profile is a code signing template that can be used to carry out a pre-defined signing job. For more information, see [http://docs.aws.amazon.com/signer/latest/developerguide/gs-profile.html](http://docs.aws.amazon.com/signer/latest/developerguide/gs-profile.html)
*/
override suspend fun putSigningProfile(input: PutSigningProfileRequest): PutSigningProfileResponse {
val op = SdkHttpOperation.build {
serializer = PutSigningProfileOperationSerializer()
deserializer = PutSigningProfileOperationDeserializer()
context {
expectedHttpStatus = 200
service = serviceName
operationName = "PutSigningProfile"
}
}
mergeServiceDefaults(op.context)
op.install(ResolveAwsEndpoint(ServiceId, config.endpointResolver))
op.install(AwsRetryMiddleware(config.retryStrategy, AwsDefaultRetryPolicy))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.install(
AwsSigningMiddleware {
this.signer = config.signer
this.credentialsProvider = config.credentialsProvider
this.service = "signer"
}
)
return op.roundTrip(client, input)
}
/**
* Removes cross-account permissions from a signing profile.
*/
override suspend fun removeProfilePermission(input: RemoveProfilePermissionRequest): RemoveProfilePermissionResponse {
val op = SdkHttpOperation.build {
serializer = RemoveProfilePermissionOperationSerializer()
deserializer = RemoveProfilePermissionOperationDeserializer()
context {
expectedHttpStatus = 200
service = serviceName
operationName = "RemoveProfilePermission"
}
}
mergeServiceDefaults(op.context)
op.install(ResolveAwsEndpoint(ServiceId, config.endpointResolver))
op.install(AwsRetryMiddleware(config.retryStrategy, AwsDefaultRetryPolicy))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.install(
AwsSigningMiddleware {
this.signer = config.signer
this.credentialsProvider = config.credentialsProvider
this.service = "signer"
}
)
return op.roundTrip(client, input)
}
/**
* Changes the state of a signing job to REVOKED. This indicates that the signature is no longer valid.
*/
override suspend fun revokeSignature(input: RevokeSignatureRequest): RevokeSignatureResponse {
val op = SdkHttpOperation.build {
serializer = RevokeSignatureOperationSerializer()
deserializer = RevokeSignatureOperationDeserializer()
context {
expectedHttpStatus = 200
service = serviceName
operationName = "RevokeSignature"
}
}
mergeServiceDefaults(op.context)
op.install(ResolveAwsEndpoint(ServiceId, config.endpointResolver))
op.install(AwsRetryMiddleware(config.retryStrategy, AwsDefaultRetryPolicy))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.install(
AwsSigningMiddleware {
this.signer = config.signer
this.credentialsProvider = config.credentialsProvider
this.service = "signer"
}
)
return op.roundTrip(client, input)
}
/**
* Changes the state of a signing profile to REVOKED. This indicates that signatures generated using the signing profile after an effective start date are no longer valid.
*/
override suspend fun revokeSigningProfile(input: RevokeSigningProfileRequest): RevokeSigningProfileResponse {
val op = SdkHttpOperation.build {
serializer = RevokeSigningProfileOperationSerializer()
deserializer = RevokeSigningProfileOperationDeserializer()
context {
expectedHttpStatus = 200
service = serviceName
operationName = "RevokeSigningProfile"
}
}
mergeServiceDefaults(op.context)
op.install(ResolveAwsEndpoint(ServiceId, config.endpointResolver))
op.install(AwsRetryMiddleware(config.retryStrategy, AwsDefaultRetryPolicy))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.install(
AwsSigningMiddleware {
this.signer = config.signer
this.credentialsProvider = config.credentialsProvider
this.service = "signer"
}
)
return op.roundTrip(client, input)
}
/**
* Initiates a signing job to be performed on the code provided. Signing jobs are viewable by the `ListSigningJobs` operation for two years after they are performed. Note the following requirements:
* + You must create an Amazon S3 source bucket. For more information, see [Create a Bucket](http://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html) in the *Amazon S3 Getting Started Guide*.
* + Your S3 source bucket must be version enabled.
* + You must create an S3 destination bucket. Code signing uses your S3 destination bucket to write your signed code.
* + You specify the name of the source and destination buckets when calling the `StartSigningJob` operation.
* + You must also specify a request token that identifies your request to code signing.
*
* You can call the DescribeSigningJob and the ListSigningJobs actions after you call `StartSigningJob`.
*
* For a Java example that shows how to use this action, see [http://docs.aws.amazon.com/acm/latest/userguide/](http://docs.aws.amazon.com/acm/latest/userguide/)
*/
override suspend fun startSigningJob(input: StartSigningJobRequest): StartSigningJobResponse {
val op = SdkHttpOperation.build {
serializer = StartSigningJobOperationSerializer()
deserializer = StartSigningJobOperationDeserializer()
context {
expectedHttpStatus = 200
service = serviceName
operationName = "StartSigningJob"
}
}
mergeServiceDefaults(op.context)
op.install(ResolveAwsEndpoint(ServiceId, config.endpointResolver))
op.install(AwsRetryMiddleware(config.retryStrategy, AwsDefaultRetryPolicy))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.install(
AwsSigningMiddleware {
this.signer = config.signer
this.credentialsProvider = config.credentialsProvider
this.service = "signer"
}
)
return op.roundTrip(client, input)
}
/**
* Adds one or more tags to a signing profile. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. To specify the signing profile, use its Amazon Resource Name (ARN). To specify the tag, use a key-value pair.
*/
override suspend fun tagResource(input: TagResourceRequest): TagResourceResponse {
val op = SdkHttpOperation.build {
serializer = TagResourceOperationSerializer()
deserializer = TagResourceOperationDeserializer()
context {
expectedHttpStatus = 200
service = serviceName
operationName = "TagResource"
}
}
mergeServiceDefaults(op.context)
op.install(ResolveAwsEndpoint(ServiceId, config.endpointResolver))
op.install(AwsRetryMiddleware(config.retryStrategy, AwsDefaultRetryPolicy))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.install(
AwsSigningMiddleware {
this.signer = config.signer
this.credentialsProvider = config.credentialsProvider
this.service = "signer"
}
)
return op.roundTrip(client, input)
}
/**
* Removes one or more tags from a signing profile. To remove the tags, specify a list of tag keys.
*/
override suspend fun untagResource(input: UntagResourceRequest): UntagResourceResponse {
val op = SdkHttpOperation.build {
serializer = UntagResourceOperationSerializer()
deserializer = UntagResourceOperationDeserializer()
context {
expectedHttpStatus = 200
service = serviceName
operationName = "UntagResource"
}
}
mergeServiceDefaults(op.context)
op.install(ResolveAwsEndpoint(ServiceId, config.endpointResolver))
op.install(AwsRetryMiddleware(config.retryStrategy, AwsDefaultRetryPolicy))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.install(
AwsSigningMiddleware {
this.signer = config.signer
this.credentialsProvider = config.credentialsProvider
this.service = "signer"
}
)
return op.roundTrip(client, input)
}
override fun close() {
client.close()
(config.credentialsProvider as? Closeable)?.close()
}
/**
* merge the defaults configured for the service into the execution context before firing off a request
*/
private suspend fun mergeServiceDefaults(ctx: ExecutionContext) {
ctx.putIfAbsent(AwsClientOption.Region, config.region)
ctx.putIfAbsent(SdkClientOption.ServiceName, serviceName)
ctx.putIfAbsent(SdkClientOption.LogMode, config.sdkLogMode)
ctx.putIfAbsent(AwsSigningAttributes.SigningService, "signer")
ctx.putIfAbsent(AwsSigningAttributes.Signer, config.signer)
ctx.putIfAbsent(AwsSigningAttributes.SigningRegion, config.region)
ctx.putIfAbsent(AwsSigningAttributes.CredentialsProvider, config.credentialsProvider)
config.idempotencyTokenProvider?.let { ctx[SdkClientOption.IdempotencyTokenProvider] = it }
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy