All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.aws.sdk.kotlin.services.iottwinmaker.IotTwinMakerClient.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.iottwinmaker

import aws.sdk.kotlin.runtime.auth.credentials.DefaultChainCredentialsProvider
import aws.sdk.kotlin.runtime.auth.credentials.internal.manage
import aws.sdk.kotlin.runtime.client.AwsSdkClientConfig
import aws.sdk.kotlin.runtime.config.AbstractAwsSdkClientFactory
import aws.sdk.kotlin.runtime.config.endpoints.resolveEndpointUrl
import aws.sdk.kotlin.runtime.config.profile.AwsProfile
import aws.sdk.kotlin.runtime.config.profile.AwsSharedConfig
import aws.sdk.kotlin.runtime.http.retries.AwsRetryPolicy
import aws.sdk.kotlin.services.iottwinmaker.auth.DefaultIotTwinMakerAuthSchemeProvider
import aws.sdk.kotlin.services.iottwinmaker.auth.IotTwinMakerAuthSchemeProvider
import aws.sdk.kotlin.services.iottwinmaker.endpoints.DefaultIotTwinMakerEndpointProvider
import aws.sdk.kotlin.services.iottwinmaker.endpoints.IotTwinMakerEndpointParameters
import aws.sdk.kotlin.services.iottwinmaker.endpoints.IotTwinMakerEndpointProvider
import aws.sdk.kotlin.services.iottwinmaker.model.BatchPutPropertyValuesRequest
import aws.sdk.kotlin.services.iottwinmaker.model.BatchPutPropertyValuesResponse
import aws.sdk.kotlin.services.iottwinmaker.model.CancelMetadataTransferJobRequest
import aws.sdk.kotlin.services.iottwinmaker.model.CancelMetadataTransferJobResponse
import aws.sdk.kotlin.services.iottwinmaker.model.CreateComponentTypeRequest
import aws.sdk.kotlin.services.iottwinmaker.model.CreateComponentTypeResponse
import aws.sdk.kotlin.services.iottwinmaker.model.CreateEntityRequest
import aws.sdk.kotlin.services.iottwinmaker.model.CreateEntityResponse
import aws.sdk.kotlin.services.iottwinmaker.model.CreateMetadataTransferJobRequest
import aws.sdk.kotlin.services.iottwinmaker.model.CreateMetadataTransferJobResponse
import aws.sdk.kotlin.services.iottwinmaker.model.CreateSceneRequest
import aws.sdk.kotlin.services.iottwinmaker.model.CreateSceneResponse
import aws.sdk.kotlin.services.iottwinmaker.model.CreateSyncJobRequest
import aws.sdk.kotlin.services.iottwinmaker.model.CreateSyncJobResponse
import aws.sdk.kotlin.services.iottwinmaker.model.CreateWorkspaceRequest
import aws.sdk.kotlin.services.iottwinmaker.model.CreateWorkspaceResponse
import aws.sdk.kotlin.services.iottwinmaker.model.DeleteComponentTypeRequest
import aws.sdk.kotlin.services.iottwinmaker.model.DeleteComponentTypeResponse
import aws.sdk.kotlin.services.iottwinmaker.model.DeleteEntityRequest
import aws.sdk.kotlin.services.iottwinmaker.model.DeleteEntityResponse
import aws.sdk.kotlin.services.iottwinmaker.model.DeleteSceneRequest
import aws.sdk.kotlin.services.iottwinmaker.model.DeleteSceneResponse
import aws.sdk.kotlin.services.iottwinmaker.model.DeleteSyncJobRequest
import aws.sdk.kotlin.services.iottwinmaker.model.DeleteSyncJobResponse
import aws.sdk.kotlin.services.iottwinmaker.model.DeleteWorkspaceRequest
import aws.sdk.kotlin.services.iottwinmaker.model.DeleteWorkspaceResponse
import aws.sdk.kotlin.services.iottwinmaker.model.ExecuteQueryRequest
import aws.sdk.kotlin.services.iottwinmaker.model.ExecuteQueryResponse
import aws.sdk.kotlin.services.iottwinmaker.model.GetComponentTypeRequest
import aws.sdk.kotlin.services.iottwinmaker.model.GetComponentTypeResponse
import aws.sdk.kotlin.services.iottwinmaker.model.GetEntityRequest
import aws.sdk.kotlin.services.iottwinmaker.model.GetEntityResponse
import aws.sdk.kotlin.services.iottwinmaker.model.GetMetadataTransferJobRequest
import aws.sdk.kotlin.services.iottwinmaker.model.GetMetadataTransferJobResponse
import aws.sdk.kotlin.services.iottwinmaker.model.GetPricingPlanRequest
import aws.sdk.kotlin.services.iottwinmaker.model.GetPricingPlanResponse
import aws.sdk.kotlin.services.iottwinmaker.model.GetPropertyValueHistoryRequest
import aws.sdk.kotlin.services.iottwinmaker.model.GetPropertyValueHistoryResponse
import aws.sdk.kotlin.services.iottwinmaker.model.GetPropertyValueRequest
import aws.sdk.kotlin.services.iottwinmaker.model.GetPropertyValueResponse
import aws.sdk.kotlin.services.iottwinmaker.model.GetSceneRequest
import aws.sdk.kotlin.services.iottwinmaker.model.GetSceneResponse
import aws.sdk.kotlin.services.iottwinmaker.model.GetSyncJobRequest
import aws.sdk.kotlin.services.iottwinmaker.model.GetSyncJobResponse
import aws.sdk.kotlin.services.iottwinmaker.model.GetWorkspaceRequest
import aws.sdk.kotlin.services.iottwinmaker.model.GetWorkspaceResponse
import aws.sdk.kotlin.services.iottwinmaker.model.ListComponentTypesRequest
import aws.sdk.kotlin.services.iottwinmaker.model.ListComponentTypesResponse
import aws.sdk.kotlin.services.iottwinmaker.model.ListComponentsRequest
import aws.sdk.kotlin.services.iottwinmaker.model.ListComponentsResponse
import aws.sdk.kotlin.services.iottwinmaker.model.ListEntitiesRequest
import aws.sdk.kotlin.services.iottwinmaker.model.ListEntitiesResponse
import aws.sdk.kotlin.services.iottwinmaker.model.ListMetadataTransferJobsRequest
import aws.sdk.kotlin.services.iottwinmaker.model.ListMetadataTransferJobsResponse
import aws.sdk.kotlin.services.iottwinmaker.model.ListPropertiesRequest
import aws.sdk.kotlin.services.iottwinmaker.model.ListPropertiesResponse
import aws.sdk.kotlin.services.iottwinmaker.model.ListScenesRequest
import aws.sdk.kotlin.services.iottwinmaker.model.ListScenesResponse
import aws.sdk.kotlin.services.iottwinmaker.model.ListSyncJobsRequest
import aws.sdk.kotlin.services.iottwinmaker.model.ListSyncJobsResponse
import aws.sdk.kotlin.services.iottwinmaker.model.ListSyncResourcesRequest
import aws.sdk.kotlin.services.iottwinmaker.model.ListSyncResourcesResponse
import aws.sdk.kotlin.services.iottwinmaker.model.ListTagsForResourceRequest
import aws.sdk.kotlin.services.iottwinmaker.model.ListTagsForResourceResponse
import aws.sdk.kotlin.services.iottwinmaker.model.ListWorkspacesRequest
import aws.sdk.kotlin.services.iottwinmaker.model.ListWorkspacesResponse
import aws.sdk.kotlin.services.iottwinmaker.model.TagResourceRequest
import aws.sdk.kotlin.services.iottwinmaker.model.TagResourceResponse
import aws.sdk.kotlin.services.iottwinmaker.model.UntagResourceRequest
import aws.sdk.kotlin.services.iottwinmaker.model.UntagResourceResponse
import aws.sdk.kotlin.services.iottwinmaker.model.UpdateComponentTypeRequest
import aws.sdk.kotlin.services.iottwinmaker.model.UpdateComponentTypeResponse
import aws.sdk.kotlin.services.iottwinmaker.model.UpdateEntityRequest
import aws.sdk.kotlin.services.iottwinmaker.model.UpdateEntityResponse
import aws.sdk.kotlin.services.iottwinmaker.model.UpdatePricingPlanRequest
import aws.sdk.kotlin.services.iottwinmaker.model.UpdatePricingPlanResponse
import aws.sdk.kotlin.services.iottwinmaker.model.UpdateSceneRequest
import aws.sdk.kotlin.services.iottwinmaker.model.UpdateSceneResponse
import aws.sdk.kotlin.services.iottwinmaker.model.UpdateWorkspaceRequest
import aws.sdk.kotlin.services.iottwinmaker.model.UpdateWorkspaceResponse
import aws.smithy.kotlin.runtime.auth.awscredentials.CredentialsProvider
import aws.smithy.kotlin.runtime.auth.awscredentials.CredentialsProviderConfig
import aws.smithy.kotlin.runtime.awsprotocol.ClockSkewInterceptor
import aws.smithy.kotlin.runtime.client.AbstractSdkClientBuilder
import aws.smithy.kotlin.runtime.client.LogMode
import aws.smithy.kotlin.runtime.client.RetryClientConfig
import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfig
import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfigImpl
import aws.smithy.kotlin.runtime.client.SdkClient
import aws.smithy.kotlin.runtime.client.SdkClientConfig
import aws.smithy.kotlin.runtime.client.SdkClientFactory
import aws.smithy.kotlin.runtime.http.auth.AuthScheme
import aws.smithy.kotlin.runtime.http.auth.HttpAuthConfig
import aws.smithy.kotlin.runtime.http.config.HttpClientConfig
import aws.smithy.kotlin.runtime.http.config.HttpEngineConfig
import aws.smithy.kotlin.runtime.http.engine.HttpClientEngine
import aws.smithy.kotlin.runtime.http.engine.HttpEngineConfigImpl
import aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor
import aws.smithy.kotlin.runtime.net.url.Url
import aws.smithy.kotlin.runtime.retries.RetryStrategy
import aws.smithy.kotlin.runtime.retries.policy.RetryPolicy
import aws.smithy.kotlin.runtime.telemetry.Global
import aws.smithy.kotlin.runtime.telemetry.TelemetryConfig
import aws.smithy.kotlin.runtime.telemetry.TelemetryProvider
import aws.smithy.kotlin.runtime.util.LazyAsyncValue
import kotlin.collections.List
import kotlin.jvm.JvmStatic


public const val ServiceId: String = "IoTTwinMaker"
public const val SdkVersion: String = "1.1.3"
public const val ServiceApiVersion: String = "2021-11-29"

/**
 * IoT TwinMaker is a service with which you can build operational digital twins of physical systems. IoT TwinMaker overlays measurements and analysis from real-world sensors, cameras, and enterprise applications so you can create data visualizations to monitor your physical factory, building, or industrial plant. You can use this real-world data to monitor operations and diagnose and repair errors.
 */
public interface IotTwinMakerClient : SdkClient {
    /**
     * IotTwinMakerClient's configuration
     */
    public override val config: Config

    public companion object : AbstractAwsSdkClientFactory() {
        @JvmStatic
        override fun builder(): Builder = Builder()

        override suspend fun finalizeConfig(builder: Builder, sharedConfig: LazyAsyncValue, activeProfile: LazyAsyncValue) {
            builder.config.endpointUrl = builder.config.endpointUrl ?: resolveEndpointUrl(
                sharedConfig,
                "IotTwinMaker",
                "IOTTWINMAKER",
                "iottwinmaker",
            )
            builder.config.interceptors.add(0, ClockSkewInterceptor())
        }
    }

    public class Builder internal constructor(): AbstractSdkClientBuilder() {
        override val config: Config.Builder = Config.Builder()
        override fun newClient(config: Config): IotTwinMakerClient = DefaultIotTwinMakerClient(config)
    }

    public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, TelemetryConfig {
        override val clientName: String = builder.clientName
        override val region: String? = builder.region
        override val authSchemes: kotlin.collections.List = builder.authSchemes
        override val credentialsProvider: CredentialsProvider = builder.credentialsProvider ?: DefaultChainCredentialsProvider(httpClient = httpClient, region = region).manage()
        public val endpointProvider: IotTwinMakerEndpointProvider = builder.endpointProvider ?: DefaultIotTwinMakerEndpointProvider()
        public val endpointUrl: Url? = builder.endpointUrl
        override val interceptors: kotlin.collections.List = builder.interceptors
        override val logMode: LogMode = builder.logMode ?: LogMode.Default
        override val retryPolicy: RetryPolicy = builder.retryPolicy ?: AwsRetryPolicy.Default
        override val telemetryProvider: TelemetryProvider = builder.telemetryProvider ?: TelemetryProvider.Global
        override val useDualStack: Boolean = builder.useDualStack ?: false
        override val useFips: Boolean = builder.useFips ?: false
        override val applicationId: String? = builder.applicationId
        public val authSchemeProvider: IotTwinMakerAuthSchemeProvider = builder.authSchemeProvider ?: DefaultIotTwinMakerAuthSchemeProvider()
        public companion object {
            public inline operator fun invoke(block: Builder.() -> kotlin.Unit): Config = Builder().apply(block).build()
        }

        public fun toBuilder(): Builder = Builder().apply {
            clientName = [email protected]
            region = [email protected]
            authSchemes = [email protected]
            credentialsProvider = [email protected]
            endpointProvider = [email protected]
            endpointUrl = [email protected]
            httpClient = [email protected]
            interceptors = [email protected]()
            logMode = [email protected]
            retryPolicy = [email protected]
            retryStrategy = [email protected]
            telemetryProvider = [email protected]
            useDualStack = [email protected]
            useFips = [email protected]
            applicationId = [email protected]
            authSchemeProvider = [email protected]
        }

        public class Builder : AwsSdkClientConfig.Builder, CredentialsProviderConfig.Builder, HttpAuthConfig.Builder, HttpClientConfig.Builder, HttpEngineConfig.Builder by HttpEngineConfigImpl.BuilderImpl(), RetryClientConfig.Builder, RetryStrategyClientConfig.Builder by RetryStrategyClientConfigImpl.BuilderImpl(), SdkClientConfig.Builder, TelemetryConfig.Builder {
            /**
             * A reader-friendly name for the client.
             */
            override var clientName: String = "IoTTwinMaker"

            /**
             * The AWS region (e.g. `us-west-2`) to make requests to. See about AWS
             * [global infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) for more
             * information
             */
            override var region: String? = null

            /**
             * Register new or override default [AuthScheme]s configured for this client. By default, the set
             * of auth schemes configured comes from the service model. An auth scheme configured explicitly takes
             * precedence over the defaults and can be used to customize identity resolution and signing for specific
             * authentication schemes.
             */
            override var authSchemes: kotlin.collections.List = emptyList()

            /**
             * The AWS credentials provider to use for authenticating requests. If not provided a
             * [aws.sdk.kotlin.runtime.auth.credentials.DefaultChainCredentialsProvider] instance will be used.
             * NOTE: The caller is responsible for managing the lifetime of the provider when set. The SDK
             * client will not close it when the client is closed.
             */
            override var credentialsProvider: CredentialsProvider? = null

            /**
             * The endpoint provider used to determine where to make service requests. **This is an advanced config
             * option.**
             *
             * Endpoint resolution occurs as part of the workflow for every request made via the service client.
             *
             * The inputs to endpoint resolution are defined on a per-service basis (see [EndpointParameters]).
             */
            public var endpointProvider: IotTwinMakerEndpointProvider? = null

            /**
             * A custom endpoint to route requests to. The endpoint set here is passed to the configured
             * [endpointProvider], which may inspect and modify it as needed.
             *
             * Setting a custom endpointUrl should generally be preferred to overriding the [endpointProvider] and is
             * the recommended way to route requests to development or preview instances of a service.
             *
             * **This is an advanced config option.**
             */
            public var endpointUrl: Url? = null

            /**
             * Add an [aws.smithy.kotlin.runtime.client.Interceptor] that will have access to read and modify
             * the request and response objects as they are processed by the SDK.
             * Interceptors added using this method are executed in the order they are configured and are always
             * later than any added automatically by the SDK.
             */
            override var interceptors: kotlin.collections.MutableList = kotlin.collections.mutableListOf()

            /**
             * Configure events that will be logged. By default clients will not output
             * raw requests or responses. Use this setting to opt-in to additional debug logging.
             *
             * This can be used to configure logging of requests, responses, retries, etc of SDK clients.
             *
             * **NOTE**: Logging of raw requests or responses may leak sensitive information! It may also have
             * performance considerations when dumping the request/response body. This is primarily a tool for
             * debug purposes.
             */
            override var logMode: LogMode? = null

            /**
             * The policy to use for evaluating operation results and determining whether/how to retry.
             */
            override var retryPolicy: RetryPolicy? = null

            /**
             * The telemetry provider used to instrument the SDK operations with. By default, the global telemetry
             * provider will be used.
             */
            override var telemetryProvider: TelemetryProvider? = null

            /**
             *            Flag to toggle whether to use dual-stack endpoints when making requests.
             *            See [https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html] for more information.
             * `          Disabled by default.
             */
            override var useDualStack: Boolean? = null

            /**
             *            Flag to toggle whether to use [FIPS](https://aws.amazon.com/compliance/fips/) endpoints when making requests.
             * `          Disabled by default.
             */
            override var useFips: Boolean? = null

            /**
             * An optional application specific identifier.
             * When set it will be appended to the User-Agent header of every request in the form of: `app/{applicationId}`.
             * When not explicitly set, the value will be loaded from the following locations:
             *
             * - JVM System Property: `aws.userAgentAppId`
             * - Environment variable: `AWS_SDK_UA_APP_ID`
             * - Shared configuration profile attribute: `sdk_ua_app_id`
             *
             * See [shared configuration settings](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html)
             * reference for more information on environment variables and shared config settings.
             */
            override var applicationId: String? = null

            /**
             * Configure the provider used to resolve the authentication scheme to use for a particular operation.
             */
            public var authSchemeProvider: IotTwinMakerAuthSchemeProvider? = null

            override fun build(): Config = Config(this)
        }
    }

    /**
     * Sets values for multiple time series properties.
     */
    public suspend fun batchPutPropertyValues(input: BatchPutPropertyValuesRequest): BatchPutPropertyValuesResponse

    /**
     * Cancels the metadata transfer job.
     */
    public suspend fun cancelMetadataTransferJob(input: CancelMetadataTransferJobRequest): CancelMetadataTransferJobResponse

    /**
     * Creates a component type.
     */
    public suspend fun createComponentType(input: CreateComponentTypeRequest): CreateComponentTypeResponse

    /**
     * Creates an entity.
     */
    public suspend fun createEntity(input: CreateEntityRequest): CreateEntityResponse

    /**
     * Creates a new metadata transfer job.
     */
    public suspend fun createMetadataTransferJob(input: CreateMetadataTransferJobRequest): CreateMetadataTransferJobResponse

    /**
     * Creates a scene.
     */
    public suspend fun createScene(input: CreateSceneRequest): CreateSceneResponse

    /**
     * This action creates a SyncJob.
     */
    public suspend fun createSyncJob(input: CreateSyncJobRequest): CreateSyncJobResponse

    /**
     * Creates a workplace.
     */
    public suspend fun createWorkspace(input: CreateWorkspaceRequest): CreateWorkspaceResponse

    /**
     * Deletes a component type.
     */
    public suspend fun deleteComponentType(input: DeleteComponentTypeRequest): DeleteComponentTypeResponse

    /**
     * Deletes an entity.
     */
    public suspend fun deleteEntity(input: DeleteEntityRequest): DeleteEntityResponse

    /**
     * Deletes a scene.
     */
    public suspend fun deleteScene(input: DeleteSceneRequest): DeleteSceneResponse

    /**
     * Delete the SyncJob.
     */
    public suspend fun deleteSyncJob(input: DeleteSyncJobRequest): DeleteSyncJobResponse

    /**
     * Deletes a workspace.
     */
    public suspend fun deleteWorkspace(input: DeleteWorkspaceRequest): DeleteWorkspaceResponse

    /**
     * Run queries to access information from your knowledge graph of entities within individual workspaces.
     *
     * The ExecuteQuery action only works with [Amazon Web Services Java SDK2](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html). ExecuteQuery will not work with any Amazon Web Services Java SDK version < 2.x.
     */
    public suspend fun executeQuery(input: ExecuteQueryRequest): ExecuteQueryResponse

    /**
     * Retrieves information about a component type.
     */
    public suspend fun getComponentType(input: GetComponentTypeRequest): GetComponentTypeResponse

    /**
     * Retrieves information about an entity.
     */
    public suspend fun getEntity(input: GetEntityRequest): GetEntityResponse

    /**
     * Gets a nmetadata transfer job.
     */
    public suspend fun getMetadataTransferJob(input: GetMetadataTransferJobRequest): GetMetadataTransferJobResponse

    /**
     * Gets the pricing plan.
     */
    public suspend fun getPricingPlan(input: GetPricingPlanRequest = GetPricingPlanRequest { }): GetPricingPlanResponse

    /**
     * Gets the property values for a component, component type, entity, or workspace.
     *
     * You must specify a value for either `componentName`, `componentTypeId`, `entityId`, or `workspaceId`.
     */
    public suspend fun getPropertyValue(input: GetPropertyValueRequest): GetPropertyValueResponse

    /**
     * Retrieves information about the history of a time series property value for a component, component type, entity, or workspace.
     *
     * You must specify a value for `workspaceId`. For entity-specific queries, specify values for `componentName` and `entityId`. For cross-entity quries, specify a value for `componentTypeId`.
     */
    public suspend fun getPropertyValueHistory(input: GetPropertyValueHistoryRequest): GetPropertyValueHistoryResponse

    /**
     * Retrieves information about a scene.
     */
    public suspend fun getScene(input: GetSceneRequest): GetSceneResponse

    /**
     * Gets the SyncJob.
     */
    public suspend fun getSyncJob(input: GetSyncJobRequest): GetSyncJobResponse

    /**
     * Retrieves information about a workspace.
     */
    public suspend fun getWorkspace(input: GetWorkspaceRequest): GetWorkspaceResponse

    /**
     * Lists all component types in a workspace.
     */
    public suspend fun listComponentTypes(input: ListComponentTypesRequest): ListComponentTypesResponse

    /**
     * This API lists the components of an entity.
     */
    public suspend fun listComponents(input: ListComponentsRequest): ListComponentsResponse

    /**
     * Lists all entities in a workspace.
     */
    public suspend fun listEntities(input: ListEntitiesRequest): ListEntitiesResponse

    /**
     * Lists the metadata transfer jobs.
     */
    public suspend fun listMetadataTransferJobs(input: ListMetadataTransferJobsRequest): ListMetadataTransferJobsResponse

    /**
     * This API lists the properties of a component.
     */
    public suspend fun listProperties(input: ListPropertiesRequest): ListPropertiesResponse

    /**
     * Lists all scenes in a workspace.
     */
    public suspend fun listScenes(input: ListScenesRequest): ListScenesResponse

    /**
     * List all SyncJobs.
     */
    public suspend fun listSyncJobs(input: ListSyncJobsRequest): ListSyncJobsResponse

    /**
     * Lists the sync resources.
     */
    public suspend fun listSyncResources(input: ListSyncResourcesRequest): ListSyncResourcesResponse

    /**
     * Lists all tags associated with a resource.
     */
    public suspend fun listTagsForResource(input: ListTagsForResourceRequest): ListTagsForResourceResponse

    /**
     * Retrieves information about workspaces in the current account.
     */
    public suspend fun listWorkspaces(input: ListWorkspacesRequest = ListWorkspacesRequest { }): ListWorkspacesResponse

    /**
     * Adds tags to a resource.
     */
    public suspend fun tagResource(input: TagResourceRequest): TagResourceResponse

    /**
     * Removes tags from a resource.
     */
    public suspend fun untagResource(input: UntagResourceRequest): UntagResourceResponse

    /**
     * Updates information in a component type.
     */
    public suspend fun updateComponentType(input: UpdateComponentTypeRequest): UpdateComponentTypeResponse

    /**
     * Updates an entity.
     */
    public suspend fun updateEntity(input: UpdateEntityRequest): UpdateEntityResponse

    /**
     * Update the pricing plan.
     */
    public suspend fun updatePricingPlan(input: UpdatePricingPlanRequest): UpdatePricingPlanResponse

    /**
     * Updates a scene.
     */
    public suspend fun updateScene(input: UpdateSceneRequest): UpdateSceneResponse

    /**
     * Updates a workspace.
     */
    public suspend fun updateWorkspace(input: UpdateWorkspaceRequest): UpdateWorkspaceResponse
}

/**
 * Create a copy of the client with one or more configuration values overridden.
 * This method allows the caller to perform scoped config overrides for one or more client operations.
 *
 * Any resources created on your behalf will be shared between clients, and will only be closed when ALL clients using them are closed.
 * If you provide a resource (e.g. [HttpClientEngine]) to the SDK, you are responsible for managing the lifetime of that resource.
 */
public fun IotTwinMakerClient.withConfig(block: IotTwinMakerClient.Config.Builder.() -> Unit): IotTwinMakerClient {
    val newConfig = config.toBuilder().apply(block).build()
    return DefaultIotTwinMakerClient(newConfig)
}

/**
 * Sets values for multiple time series properties.
 */
public suspend inline fun IotTwinMakerClient.batchPutPropertyValues(crossinline block: BatchPutPropertyValuesRequest.Builder.() -> Unit): BatchPutPropertyValuesResponse = batchPutPropertyValues(BatchPutPropertyValuesRequest.Builder().apply(block).build())

/**
 * Cancels the metadata transfer job.
 */
public suspend inline fun IotTwinMakerClient.cancelMetadataTransferJob(crossinline block: CancelMetadataTransferJobRequest.Builder.() -> Unit): CancelMetadataTransferJobResponse = cancelMetadataTransferJob(CancelMetadataTransferJobRequest.Builder().apply(block).build())

/**
 * Creates a component type.
 */
public suspend inline fun IotTwinMakerClient.createComponentType(crossinline block: CreateComponentTypeRequest.Builder.() -> Unit): CreateComponentTypeResponse = createComponentType(CreateComponentTypeRequest.Builder().apply(block).build())

/**
 * Creates an entity.
 */
public suspend inline fun IotTwinMakerClient.createEntity(crossinline block: CreateEntityRequest.Builder.() -> Unit): CreateEntityResponse = createEntity(CreateEntityRequest.Builder().apply(block).build())

/**
 * Creates a new metadata transfer job.
 */
public suspend inline fun IotTwinMakerClient.createMetadataTransferJob(crossinline block: CreateMetadataTransferJobRequest.Builder.() -> Unit): CreateMetadataTransferJobResponse = createMetadataTransferJob(CreateMetadataTransferJobRequest.Builder().apply(block).build())

/**
 * Creates a scene.
 */
public suspend inline fun IotTwinMakerClient.createScene(crossinline block: CreateSceneRequest.Builder.() -> Unit): CreateSceneResponse = createScene(CreateSceneRequest.Builder().apply(block).build())

/**
 * This action creates a SyncJob.
 */
public suspend inline fun IotTwinMakerClient.createSyncJob(crossinline block: CreateSyncJobRequest.Builder.() -> Unit): CreateSyncJobResponse = createSyncJob(CreateSyncJobRequest.Builder().apply(block).build())

/**
 * Creates a workplace.
 */
public suspend inline fun IotTwinMakerClient.createWorkspace(crossinline block: CreateWorkspaceRequest.Builder.() -> Unit): CreateWorkspaceResponse = createWorkspace(CreateWorkspaceRequest.Builder().apply(block).build())

/**
 * Deletes a component type.
 */
public suspend inline fun IotTwinMakerClient.deleteComponentType(crossinline block: DeleteComponentTypeRequest.Builder.() -> Unit): DeleteComponentTypeResponse = deleteComponentType(DeleteComponentTypeRequest.Builder().apply(block).build())

/**
 * Deletes an entity.
 */
public suspend inline fun IotTwinMakerClient.deleteEntity(crossinline block: DeleteEntityRequest.Builder.() -> Unit): DeleteEntityResponse = deleteEntity(DeleteEntityRequest.Builder().apply(block).build())

/**
 * Deletes a scene.
 */
public suspend inline fun IotTwinMakerClient.deleteScene(crossinline block: DeleteSceneRequest.Builder.() -> Unit): DeleteSceneResponse = deleteScene(DeleteSceneRequest.Builder().apply(block).build())

/**
 * Delete the SyncJob.
 */
public suspend inline fun IotTwinMakerClient.deleteSyncJob(crossinline block: DeleteSyncJobRequest.Builder.() -> Unit): DeleteSyncJobResponse = deleteSyncJob(DeleteSyncJobRequest.Builder().apply(block).build())

/**
 * Deletes a workspace.
 */
public suspend inline fun IotTwinMakerClient.deleteWorkspace(crossinline block: DeleteWorkspaceRequest.Builder.() -> Unit): DeleteWorkspaceResponse = deleteWorkspace(DeleteWorkspaceRequest.Builder().apply(block).build())

/**
 * Run queries to access information from your knowledge graph of entities within individual workspaces.
 *
 * The ExecuteQuery action only works with [Amazon Web Services Java SDK2](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html). ExecuteQuery will not work with any Amazon Web Services Java SDK version < 2.x.
 */
public suspend inline fun IotTwinMakerClient.executeQuery(crossinline block: ExecuteQueryRequest.Builder.() -> Unit): ExecuteQueryResponse = executeQuery(ExecuteQueryRequest.Builder().apply(block).build())

/**
 * Retrieves information about a component type.
 */
public suspend inline fun IotTwinMakerClient.getComponentType(crossinline block: GetComponentTypeRequest.Builder.() -> Unit): GetComponentTypeResponse = getComponentType(GetComponentTypeRequest.Builder().apply(block).build())

/**
 * Retrieves information about an entity.
 */
public suspend inline fun IotTwinMakerClient.getEntity(crossinline block: GetEntityRequest.Builder.() -> Unit): GetEntityResponse = getEntity(GetEntityRequest.Builder().apply(block).build())

/**
 * Gets a nmetadata transfer job.
 */
public suspend inline fun IotTwinMakerClient.getMetadataTransferJob(crossinline block: GetMetadataTransferJobRequest.Builder.() -> Unit): GetMetadataTransferJobResponse = getMetadataTransferJob(GetMetadataTransferJobRequest.Builder().apply(block).build())

/**
 * Gets the pricing plan.
 */
public suspend inline fun IotTwinMakerClient.getPricingPlan(crossinline block: GetPricingPlanRequest.Builder.() -> Unit): GetPricingPlanResponse = getPricingPlan(GetPricingPlanRequest.Builder().apply(block).build())

/**
 * Gets the property values for a component, component type, entity, or workspace.
 *
 * You must specify a value for either `componentName`, `componentTypeId`, `entityId`, or `workspaceId`.
 */
public suspend inline fun IotTwinMakerClient.getPropertyValue(crossinline block: GetPropertyValueRequest.Builder.() -> Unit): GetPropertyValueResponse = getPropertyValue(GetPropertyValueRequest.Builder().apply(block).build())

/**
 * Retrieves information about the history of a time series property value for a component, component type, entity, or workspace.
 *
 * You must specify a value for `workspaceId`. For entity-specific queries, specify values for `componentName` and `entityId`. For cross-entity quries, specify a value for `componentTypeId`.
 */
public suspend inline fun IotTwinMakerClient.getPropertyValueHistory(crossinline block: GetPropertyValueHistoryRequest.Builder.() -> Unit): GetPropertyValueHistoryResponse = getPropertyValueHistory(GetPropertyValueHistoryRequest.Builder().apply(block).build())

/**
 * Retrieves information about a scene.
 */
public suspend inline fun IotTwinMakerClient.getScene(crossinline block: GetSceneRequest.Builder.() -> Unit): GetSceneResponse = getScene(GetSceneRequest.Builder().apply(block).build())

/**
 * Gets the SyncJob.
 */
public suspend inline fun IotTwinMakerClient.getSyncJob(crossinline block: GetSyncJobRequest.Builder.() -> Unit): GetSyncJobResponse = getSyncJob(GetSyncJobRequest.Builder().apply(block).build())

/**
 * Retrieves information about a workspace.
 */
public suspend inline fun IotTwinMakerClient.getWorkspace(crossinline block: GetWorkspaceRequest.Builder.() -> Unit): GetWorkspaceResponse = getWorkspace(GetWorkspaceRequest.Builder().apply(block).build())

/**
 * Lists all component types in a workspace.
 */
public suspend inline fun IotTwinMakerClient.listComponentTypes(crossinline block: ListComponentTypesRequest.Builder.() -> Unit): ListComponentTypesResponse = listComponentTypes(ListComponentTypesRequest.Builder().apply(block).build())

/**
 * This API lists the components of an entity.
 */
public suspend inline fun IotTwinMakerClient.listComponents(crossinline block: ListComponentsRequest.Builder.() -> Unit): ListComponentsResponse = listComponents(ListComponentsRequest.Builder().apply(block).build())

/**
 * Lists all entities in a workspace.
 */
public suspend inline fun IotTwinMakerClient.listEntities(crossinline block: ListEntitiesRequest.Builder.() -> Unit): ListEntitiesResponse = listEntities(ListEntitiesRequest.Builder().apply(block).build())

/**
 * Lists the metadata transfer jobs.
 */
public suspend inline fun IotTwinMakerClient.listMetadataTransferJobs(crossinline block: ListMetadataTransferJobsRequest.Builder.() -> Unit): ListMetadataTransferJobsResponse = listMetadataTransferJobs(ListMetadataTransferJobsRequest.Builder().apply(block).build())

/**
 * This API lists the properties of a component.
 */
public suspend inline fun IotTwinMakerClient.listProperties(crossinline block: ListPropertiesRequest.Builder.() -> Unit): ListPropertiesResponse = listProperties(ListPropertiesRequest.Builder().apply(block).build())

/**
 * Lists all scenes in a workspace.
 */
public suspend inline fun IotTwinMakerClient.listScenes(crossinline block: ListScenesRequest.Builder.() -> Unit): ListScenesResponse = listScenes(ListScenesRequest.Builder().apply(block).build())

/**
 * List all SyncJobs.
 */
public suspend inline fun IotTwinMakerClient.listSyncJobs(crossinline block: ListSyncJobsRequest.Builder.() -> Unit): ListSyncJobsResponse = listSyncJobs(ListSyncJobsRequest.Builder().apply(block).build())

/**
 * Lists the sync resources.
 */
public suspend inline fun IotTwinMakerClient.listSyncResources(crossinline block: ListSyncResourcesRequest.Builder.() -> Unit): ListSyncResourcesResponse = listSyncResources(ListSyncResourcesRequest.Builder().apply(block).build())

/**
 * Lists all tags associated with a resource.
 */
public suspend inline fun IotTwinMakerClient.listTagsForResource(crossinline block: ListTagsForResourceRequest.Builder.() -> Unit): ListTagsForResourceResponse = listTagsForResource(ListTagsForResourceRequest.Builder().apply(block).build())

/**
 * Retrieves information about workspaces in the current account.
 */
public suspend inline fun IotTwinMakerClient.listWorkspaces(crossinline block: ListWorkspacesRequest.Builder.() -> Unit): ListWorkspacesResponse = listWorkspaces(ListWorkspacesRequest.Builder().apply(block).build())

/**
 * Adds tags to a resource.
 */
public suspend inline fun IotTwinMakerClient.tagResource(crossinline block: TagResourceRequest.Builder.() -> Unit): TagResourceResponse = tagResource(TagResourceRequest.Builder().apply(block).build())

/**
 * Removes tags from a resource.
 */
public suspend inline fun IotTwinMakerClient.untagResource(crossinline block: UntagResourceRequest.Builder.() -> Unit): UntagResourceResponse = untagResource(UntagResourceRequest.Builder().apply(block).build())

/**
 * Updates information in a component type.
 */
public suspend inline fun IotTwinMakerClient.updateComponentType(crossinline block: UpdateComponentTypeRequest.Builder.() -> Unit): UpdateComponentTypeResponse = updateComponentType(UpdateComponentTypeRequest.Builder().apply(block).build())

/**
 * Updates an entity.
 */
public suspend inline fun IotTwinMakerClient.updateEntity(crossinline block: UpdateEntityRequest.Builder.() -> Unit): UpdateEntityResponse = updateEntity(UpdateEntityRequest.Builder().apply(block).build())

/**
 * Update the pricing plan.
 */
public suspend inline fun IotTwinMakerClient.updatePricingPlan(crossinline block: UpdatePricingPlanRequest.Builder.() -> Unit): UpdatePricingPlanResponse = updatePricingPlan(UpdatePricingPlanRequest.Builder().apply(block).build())

/**
 * Updates a scene.
 */
public suspend inline fun IotTwinMakerClient.updateScene(crossinline block: UpdateSceneRequest.Builder.() -> Unit): UpdateSceneResponse = updateScene(UpdateSceneRequest.Builder().apply(block).build())

/**
 * Updates a workspace.
 */
public suspend inline fun IotTwinMakerClient.updateWorkspace(crossinline block: UpdateWorkspaceRequest.Builder.() -> Unit): UpdateWorkspaceResponse = updateWorkspace(UpdateWorkspaceRequest.Builder().apply(block).build())




© 2015 - 2025 Weber Informatics LLC | Privacy Policy