software.amazon.awssdk.services.supplychain.SupplyChainAsyncClient Maven / Gradle / Ivy
Show all versions of supplychain Show documentation
/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package software.amazon.awssdk.services.supplychain;
import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.annotations.SdkPublicApi;
import software.amazon.awssdk.annotations.ThreadSafe;
import software.amazon.awssdk.awscore.AwsClient;
import software.amazon.awssdk.services.supplychain.model.CreateBillOfMaterialsImportJobRequest;
import software.amazon.awssdk.services.supplychain.model.CreateBillOfMaterialsImportJobResponse;
import software.amazon.awssdk.services.supplychain.model.GetBillOfMaterialsImportJobRequest;
import software.amazon.awssdk.services.supplychain.model.GetBillOfMaterialsImportJobResponse;
import software.amazon.awssdk.services.supplychain.model.SendDataIntegrationEventRequest;
import software.amazon.awssdk.services.supplychain.model.SendDataIntegrationEventResponse;
/**
* Service client for accessing AWS Supply Chain asynchronously. This can be created using the static {@link #builder()}
* method.The asynchronous client performs non-blocking I/O when configured with any {@code SdkAsyncHttpClient}
* supported in the SDK. However, full non-blocking is not guaranteed as the async client may perform blocking calls in
* some cases such as credentials retrieval and endpoint discovery as part of the async API call.
*
*
* AWS Supply Chain is a cloud-based application that works with your enterprise resource planning (ERP) and supply
* chain management systems. Using AWS Supply Chain, you can connect and extract your inventory, supply, and demand
* related data from existing ERP or supply chain systems into a single data model.
*
*
* The AWS Supply Chain API supports configuration data import for Supply Planning.
*
*
* All AWS Supply chain API operations are Amazon-authenticated and certificate-signed. They not only require the use of
* the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management users and roles to help
* facilitate access, trust, and permission policies.
*
*/
@Generated("software.amazon.awssdk:codegen")
@SdkPublicApi
@ThreadSafe
public interface SupplyChainAsyncClient extends AwsClient {
String SERVICE_NAME = "scn";
/**
* Value for looking up the service's metadata from the
* {@link software.amazon.awssdk.regions.ServiceMetadataProvider}.
*/
String SERVICE_METADATA_ID = "scn";
/**
*
* CreateBillOfMaterialsImportJob creates an import job for the Product Bill Of Materials (BOM) entity. For
* information on the product_bom entity, see the AWS Supply Chain User Guide.
*
*
* The CSV file must be located in an Amazon S3 location accessible to AWS Supply Chain. It is recommended to use
* the same Amazon S3 bucket created during your AWS Supply Chain instance creation.
*
*
* @param createBillOfMaterialsImportJobRequest
* The request parameters for CreateBillOfMaterialsImportJob.
* @return A Java Future containing the result of the CreateBillOfMaterialsImportJob operation returned by the
* service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions. The exception returned is wrapped with CompletionException, so you need to invoke
* {@link Throwable#getCause} to retrieve the underlying exception.
*
* - ServiceQuotaExceededException Request would cause a service quota to be exceeded.
* - ThrottlingException Request was denied due to request throttling.
* - ResourceNotFoundException Request references a resource which does not exist.
* - AccessDeniedException You do not have the required privileges to perform this action.
* - ValidationException The input does not satisfy the constraints specified by an AWS service.
* - InternalServerException Unexpected error during processing of request.
* - ConflictException Updating or deleting a resource can cause an inconsistent state.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - SupplyChainException Base class for all service exceptions. Unknown exceptions will be thrown as an
* instance of this type.
*
* @sample SupplyChainAsyncClient.CreateBillOfMaterialsImportJob
* @see AWS API Documentation
*/
default CompletableFuture createBillOfMaterialsImportJob(
CreateBillOfMaterialsImportJobRequest createBillOfMaterialsImportJobRequest) {
throw new UnsupportedOperationException();
}
/**
*
* CreateBillOfMaterialsImportJob creates an import job for the Product Bill Of Materials (BOM) entity. For
* information on the product_bom entity, see the AWS Supply Chain User Guide.
*
*
* The CSV file must be located in an Amazon S3 location accessible to AWS Supply Chain. It is recommended to use
* the same Amazon S3 bucket created during your AWS Supply Chain instance creation.
*
*
*
* This is a convenience which creates an instance of the {@link CreateBillOfMaterialsImportJobRequest.Builder}
* avoiding the need to create one manually via {@link CreateBillOfMaterialsImportJobRequest#builder()}
*
*
* @param createBillOfMaterialsImportJobRequest
* A {@link Consumer} that will call methods on
* {@link software.amazon.awssdk.services.supplychain.model.CreateBillOfMaterialsImportJobRequest.Builder} to
* create a request. The request parameters for CreateBillOfMaterialsImportJob.
* @return A Java Future containing the result of the CreateBillOfMaterialsImportJob operation returned by the
* service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions. The exception returned is wrapped with CompletionException, so you need to invoke
* {@link Throwable#getCause} to retrieve the underlying exception.
*
* - ServiceQuotaExceededException Request would cause a service quota to be exceeded.
* - ThrottlingException Request was denied due to request throttling.
* - ResourceNotFoundException Request references a resource which does not exist.
* - AccessDeniedException You do not have the required privileges to perform this action.
* - ValidationException The input does not satisfy the constraints specified by an AWS service.
* - InternalServerException Unexpected error during processing of request.
* - ConflictException Updating or deleting a resource can cause an inconsistent state.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - SupplyChainException Base class for all service exceptions. Unknown exceptions will be thrown as an
* instance of this type.
*
* @sample SupplyChainAsyncClient.CreateBillOfMaterialsImportJob
* @see AWS API Documentation
*/
default CompletableFuture createBillOfMaterialsImportJob(
Consumer createBillOfMaterialsImportJobRequest) {
return createBillOfMaterialsImportJob(CreateBillOfMaterialsImportJobRequest.builder()
.applyMutation(createBillOfMaterialsImportJobRequest).build());
}
/**
*
* Get status and details of a BillOfMaterialsImportJob.
*
*
* @param getBillOfMaterialsImportJobRequest
* The request parameters for GetBillOfMaterialsImportJob.
* @return A Java Future containing the result of the GetBillOfMaterialsImportJob operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions. The exception returned is wrapped with CompletionException, so you need to invoke
* {@link Throwable#getCause} to retrieve the underlying exception.
*
* - ServiceQuotaExceededException Request would cause a service quota to be exceeded.
* - ResourceNotFoundException Request references a resource which does not exist.
* - ThrottlingException Request was denied due to request throttling.
* - AccessDeniedException You do not have the required privileges to perform this action.
* - ValidationException The input does not satisfy the constraints specified by an AWS service.
* - InternalServerException Unexpected error during processing of request.
* - ConflictException Updating or deleting a resource can cause an inconsistent state.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - SupplyChainException Base class for all service exceptions. Unknown exceptions will be thrown as an
* instance of this type.
*
* @sample SupplyChainAsyncClient.GetBillOfMaterialsImportJob
* @see AWS API Documentation
*/
default CompletableFuture getBillOfMaterialsImportJob(
GetBillOfMaterialsImportJobRequest getBillOfMaterialsImportJobRequest) {
throw new UnsupportedOperationException();
}
/**
*
* Get status and details of a BillOfMaterialsImportJob.
*
*
*
* This is a convenience which creates an instance of the {@link GetBillOfMaterialsImportJobRequest.Builder}
* avoiding the need to create one manually via {@link GetBillOfMaterialsImportJobRequest#builder()}
*
*
* @param getBillOfMaterialsImportJobRequest
* A {@link Consumer} that will call methods on
* {@link software.amazon.awssdk.services.supplychain.model.GetBillOfMaterialsImportJobRequest.Builder} to
* create a request. The request parameters for GetBillOfMaterialsImportJob.
* @return A Java Future containing the result of the GetBillOfMaterialsImportJob operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions. The exception returned is wrapped with CompletionException, so you need to invoke
* {@link Throwable#getCause} to retrieve the underlying exception.
*
* - ServiceQuotaExceededException Request would cause a service quota to be exceeded.
* - ResourceNotFoundException Request references a resource which does not exist.
* - ThrottlingException Request was denied due to request throttling.
* - AccessDeniedException You do not have the required privileges to perform this action.
* - ValidationException The input does not satisfy the constraints specified by an AWS service.
* - InternalServerException Unexpected error during processing of request.
* - ConflictException Updating or deleting a resource can cause an inconsistent state.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - SupplyChainException Base class for all service exceptions. Unknown exceptions will be thrown as an
* instance of this type.
*
* @sample SupplyChainAsyncClient.GetBillOfMaterialsImportJob
* @see AWS API Documentation
*/
default CompletableFuture getBillOfMaterialsImportJob(
Consumer getBillOfMaterialsImportJobRequest) {
return getBillOfMaterialsImportJob(GetBillOfMaterialsImportJobRequest.builder()
.applyMutation(getBillOfMaterialsImportJobRequest).build());
}
/**
*
* Send the transactional data payload for the event with real-time data for analysis or monitoring. The real-time
* data events are stored in an Amazon Web Services service before being processed and stored in data lake. New data
* events are synced with data lake at 5 PM GMT everyday. The updated transactional data is available in data lake
* after ingestion.
*
*
* @param sendDataIntegrationEventRequest
* The request parameters for SendDataIntegrationEvent.
* @return A Java Future containing the result of the SendDataIntegrationEvent operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions. The exception returned is wrapped with CompletionException, so you need to invoke
* {@link Throwable#getCause} to retrieve the underlying exception.
*
* - ServiceQuotaExceededException Request would cause a service quota to be exceeded.
* - ResourceNotFoundException Request references a resource which does not exist.
* - ThrottlingException Request was denied due to request throttling.
* - AccessDeniedException You do not have the required privileges to perform this action.
* - ValidationException The input does not satisfy the constraints specified by an AWS service.
* - InternalServerException Unexpected error during processing of request.
* - ConflictException Updating or deleting a resource can cause an inconsistent state.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - SupplyChainException Base class for all service exceptions. Unknown exceptions will be thrown as an
* instance of this type.
*
* @sample SupplyChainAsyncClient.SendDataIntegrationEvent
* @see AWS API Documentation
*/
default CompletableFuture sendDataIntegrationEvent(
SendDataIntegrationEventRequest sendDataIntegrationEventRequest) {
throw new UnsupportedOperationException();
}
/**
*
* Send the transactional data payload for the event with real-time data for analysis or monitoring. The real-time
* data events are stored in an Amazon Web Services service before being processed and stored in data lake. New data
* events are synced with data lake at 5 PM GMT everyday. The updated transactional data is available in data lake
* after ingestion.
*
*
*
* This is a convenience which creates an instance of the {@link SendDataIntegrationEventRequest.Builder} avoiding
* the need to create one manually via {@link SendDataIntegrationEventRequest#builder()}
*
*
* @param sendDataIntegrationEventRequest
* A {@link Consumer} that will call methods on
* {@link software.amazon.awssdk.services.supplychain.model.SendDataIntegrationEventRequest.Builder} to
* create a request. The request parameters for SendDataIntegrationEvent.
* @return A Java Future containing the result of the SendDataIntegrationEvent operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions. The exception returned is wrapped with CompletionException, so you need to invoke
* {@link Throwable#getCause} to retrieve the underlying exception.
*
* - ServiceQuotaExceededException Request would cause a service quota to be exceeded.
* - ResourceNotFoundException Request references a resource which does not exist.
* - ThrottlingException Request was denied due to request throttling.
* - AccessDeniedException You do not have the required privileges to perform this action.
* - ValidationException The input does not satisfy the constraints specified by an AWS service.
* - InternalServerException Unexpected error during processing of request.
* - ConflictException Updating or deleting a resource can cause an inconsistent state.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - SupplyChainException Base class for all service exceptions. Unknown exceptions will be thrown as an
* instance of this type.
*
* @sample SupplyChainAsyncClient.SendDataIntegrationEvent
* @see AWS API Documentation
*/
default CompletableFuture sendDataIntegrationEvent(
Consumer sendDataIntegrationEventRequest) {
return sendDataIntegrationEvent(SendDataIntegrationEventRequest.builder().applyMutation(sendDataIntegrationEventRequest)
.build());
}
@Override
default SupplyChainServiceClientConfiguration serviceClientConfiguration() {
throw new UnsupportedOperationException();
}
/**
* Create a {@link SupplyChainAsyncClient} with the region loaded from the
* {@link software.amazon.awssdk.regions.providers.DefaultAwsRegionProviderChain} and credentials loaded from the
* {@link software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider}.
*/
static SupplyChainAsyncClient create() {
return builder().build();
}
/**
* Create a builder that can be used to configure and create a {@link SupplyChainAsyncClient}.
*/
static SupplyChainAsyncClientBuilder builder() {
return new DefaultSupplyChainAsyncClientBuilder();
}
}