/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace LookoutEquipment { namespace Model { /** */ class CreateInferenceSchedulerRequest : public LookoutEquipmentRequest { public: AWS_LOOKOUTEQUIPMENT_API CreateInferenceSchedulerRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateInferenceScheduler"; } AWS_LOOKOUTEQUIPMENT_API Aws::String SerializePayload() const override; AWS_LOOKOUTEQUIPMENT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the previously trained ML model being used to create the * inference scheduler.

*/ inline const Aws::String& GetModelName() const{ return m_modelName; } /** *

The name of the previously trained ML model being used to create the * inference scheduler.

*/ inline bool ModelNameHasBeenSet() const { return m_modelNameHasBeenSet; } /** *

The name of the previously trained ML model being used to create the * inference scheduler.

*/ inline void SetModelName(const Aws::String& value) { m_modelNameHasBeenSet = true; m_modelName = value; } /** *

The name of the previously trained ML model being used to create the * inference scheduler.

*/ inline void SetModelName(Aws::String&& value) { m_modelNameHasBeenSet = true; m_modelName = std::move(value); } /** *

The name of the previously trained ML model being used to create the * inference scheduler.

*/ inline void SetModelName(const char* value) { m_modelNameHasBeenSet = true; m_modelName.assign(value); } /** *

The name of the previously trained ML model being used to create the * inference scheduler.

*/ inline CreateInferenceSchedulerRequest& WithModelName(const Aws::String& value) { SetModelName(value); return *this;} /** *

The name of the previously trained ML model being used to create the * inference scheduler.

*/ inline CreateInferenceSchedulerRequest& WithModelName(Aws::String&& value) { SetModelName(std::move(value)); return *this;} /** *

The name of the previously trained ML model being used to create the * inference scheduler.

*/ inline CreateInferenceSchedulerRequest& WithModelName(const char* value) { SetModelName(value); return *this;} /** *

The name of the inference scheduler being created.

*/ inline const Aws::String& GetInferenceSchedulerName() const{ return m_inferenceSchedulerName; } /** *

The name of the inference scheduler being created.

*/ inline bool InferenceSchedulerNameHasBeenSet() const { return m_inferenceSchedulerNameHasBeenSet; } /** *

The name of the inference scheduler being created.

*/ inline void SetInferenceSchedulerName(const Aws::String& value) { m_inferenceSchedulerNameHasBeenSet = true; m_inferenceSchedulerName = value; } /** *

The name of the inference scheduler being created.

*/ inline void SetInferenceSchedulerName(Aws::String&& value) { m_inferenceSchedulerNameHasBeenSet = true; m_inferenceSchedulerName = std::move(value); } /** *

The name of the inference scheduler being created.

*/ inline void SetInferenceSchedulerName(const char* value) { m_inferenceSchedulerNameHasBeenSet = true; m_inferenceSchedulerName.assign(value); } /** *

The name of the inference scheduler being created.

*/ inline CreateInferenceSchedulerRequest& WithInferenceSchedulerName(const Aws::String& value) { SetInferenceSchedulerName(value); return *this;} /** *

The name of the inference scheduler being created.

*/ inline CreateInferenceSchedulerRequest& WithInferenceSchedulerName(Aws::String&& value) { SetInferenceSchedulerName(std::move(value)); return *this;} /** *

The name of the inference scheduler being created.

*/ inline CreateInferenceSchedulerRequest& WithInferenceSchedulerName(const char* value) { SetInferenceSchedulerName(value); return *this;} /** *

The interval (in minutes) of planned delay at the start of each inference * segment. For example, if inference is set to run every ten minutes, the delay is * set to five minutes and the time is 09:08. The inference scheduler will wake up * at the configured interval (which, without a delay configured, would be 09:10) * plus the additional five minute delay time (so 09:15) to check your Amazon S3 * bucket. The delay provides a buffer for you to upload data at the same * frequency, so that you don't have to stop and restart the scheduler when * uploading new data.

For more information, see Understanding * the inference process.

*/ inline long long GetDataDelayOffsetInMinutes() const{ return m_dataDelayOffsetInMinutes; } /** *

The interval (in minutes) of planned delay at the start of each inference * segment. For example, if inference is set to run every ten minutes, the delay is * set to five minutes and the time is 09:08. The inference scheduler will wake up * at the configured interval (which, without a delay configured, would be 09:10) * plus the additional five minute delay time (so 09:15) to check your Amazon S3 * bucket. The delay provides a buffer for you to upload data at the same * frequency, so that you don't have to stop and restart the scheduler when * uploading new data.

For more information, see Understanding * the inference process.

*/ inline bool DataDelayOffsetInMinutesHasBeenSet() const { return m_dataDelayOffsetInMinutesHasBeenSet; } /** *

The interval (in minutes) of planned delay at the start of each inference * segment. For example, if inference is set to run every ten minutes, the delay is * set to five minutes and the time is 09:08. The inference scheduler will wake up * at the configured interval (which, without a delay configured, would be 09:10) * plus the additional five minute delay time (so 09:15) to check your Amazon S3 * bucket. The delay provides a buffer for you to upload data at the same * frequency, so that you don't have to stop and restart the scheduler when * uploading new data.

For more information, see Understanding * the inference process.

*/ inline void SetDataDelayOffsetInMinutes(long long value) { m_dataDelayOffsetInMinutesHasBeenSet = true; m_dataDelayOffsetInMinutes = value; } /** *

The interval (in minutes) of planned delay at the start of each inference * segment. For example, if inference is set to run every ten minutes, the delay is * set to five minutes and the time is 09:08. The inference scheduler will wake up * at the configured interval (which, without a delay configured, would be 09:10) * plus the additional five minute delay time (so 09:15) to check your Amazon S3 * bucket. The delay provides a buffer for you to upload data at the same * frequency, so that you don't have to stop and restart the scheduler when * uploading new data.

For more information, see Understanding * the inference process.

*/ inline CreateInferenceSchedulerRequest& WithDataDelayOffsetInMinutes(long long value) { SetDataDelayOffsetInMinutes(value); return *this;} /** *

How often data is uploaded to the source Amazon S3 bucket for the input * data. The value chosen is the length of time between data uploads. For instance, * if you select 5 minutes, Amazon Lookout for Equipment will upload the real-time * data to the source bucket once every 5 minutes. This frequency also determines * how often Amazon Lookout for Equipment runs inference on your data.

For * more information, see Understanding * the inference process.

*/ inline const DataUploadFrequency& GetDataUploadFrequency() const{ return m_dataUploadFrequency; } /** *

How often data is uploaded to the source Amazon S3 bucket for the input * data. The value chosen is the length of time between data uploads. For instance, * if you select 5 minutes, Amazon Lookout for Equipment will upload the real-time * data to the source bucket once every 5 minutes. This frequency also determines * how often Amazon Lookout for Equipment runs inference on your data.

For * more information, see Understanding * the inference process.

*/ inline bool DataUploadFrequencyHasBeenSet() const { return m_dataUploadFrequencyHasBeenSet; } /** *

How often data is uploaded to the source Amazon S3 bucket for the input * data. The value chosen is the length of time between data uploads. For instance, * if you select 5 minutes, Amazon Lookout for Equipment will upload the real-time * data to the source bucket once every 5 minutes. This frequency also determines * how often Amazon Lookout for Equipment runs inference on your data.

For * more information, see Understanding * the inference process.

*/ inline void SetDataUploadFrequency(const DataUploadFrequency& value) { m_dataUploadFrequencyHasBeenSet = true; m_dataUploadFrequency = value; } /** *

How often data is uploaded to the source Amazon S3 bucket for the input * data. The value chosen is the length of time between data uploads. For instance, * if you select 5 minutes, Amazon Lookout for Equipment will upload the real-time * data to the source bucket once every 5 minutes. This frequency also determines * how often Amazon Lookout for Equipment runs inference on your data.

For * more information, see Understanding * the inference process.

*/ inline void SetDataUploadFrequency(DataUploadFrequency&& value) { m_dataUploadFrequencyHasBeenSet = true; m_dataUploadFrequency = std::move(value); } /** *

How often data is uploaded to the source Amazon S3 bucket for the input * data. The value chosen is the length of time between data uploads. For instance, * if you select 5 minutes, Amazon Lookout for Equipment will upload the real-time * data to the source bucket once every 5 minutes. This frequency also determines * how often Amazon Lookout for Equipment runs inference on your data.

For * more information, see Understanding * the inference process.

*/ inline CreateInferenceSchedulerRequest& WithDataUploadFrequency(const DataUploadFrequency& value) { SetDataUploadFrequency(value); return *this;} /** *

How often data is uploaded to the source Amazon S3 bucket for the input * data. The value chosen is the length of time between data uploads. For instance, * if you select 5 minutes, Amazon Lookout for Equipment will upload the real-time * data to the source bucket once every 5 minutes. This frequency also determines * how often Amazon Lookout for Equipment runs inference on your data.

For * more information, see Understanding * the inference process.

*/ inline CreateInferenceSchedulerRequest& WithDataUploadFrequency(DataUploadFrequency&& value) { SetDataUploadFrequency(std::move(value)); return *this;} /** *

Specifies configuration information for the input data for the inference * scheduler, including delimiter, format, and dataset location.

*/ inline const InferenceInputConfiguration& GetDataInputConfiguration() const{ return m_dataInputConfiguration; } /** *

Specifies configuration information for the input data for the inference * scheduler, including delimiter, format, and dataset location.

*/ inline bool DataInputConfigurationHasBeenSet() const { return m_dataInputConfigurationHasBeenSet; } /** *

Specifies configuration information for the input data for the inference * scheduler, including delimiter, format, and dataset location.

*/ inline void SetDataInputConfiguration(const InferenceInputConfiguration& value) { m_dataInputConfigurationHasBeenSet = true; m_dataInputConfiguration = value; } /** *

Specifies configuration information for the input data for the inference * scheduler, including delimiter, format, and dataset location.

*/ inline void SetDataInputConfiguration(InferenceInputConfiguration&& value) { m_dataInputConfigurationHasBeenSet = true; m_dataInputConfiguration = std::move(value); } /** *

Specifies configuration information for the input data for the inference * scheduler, including delimiter, format, and dataset location.

*/ inline CreateInferenceSchedulerRequest& WithDataInputConfiguration(const InferenceInputConfiguration& value) { SetDataInputConfiguration(value); return *this;} /** *

Specifies configuration information for the input data for the inference * scheduler, including delimiter, format, and dataset location.

*/ inline CreateInferenceSchedulerRequest& WithDataInputConfiguration(InferenceInputConfiguration&& value) { SetDataInputConfiguration(std::move(value)); return *this;} /** *

Specifies configuration information for the output results for the inference * scheduler, including the S3 location for the output.

*/ inline const InferenceOutputConfiguration& GetDataOutputConfiguration() const{ return m_dataOutputConfiguration; } /** *

Specifies configuration information for the output results for the inference * scheduler, including the S3 location for the output.

*/ inline bool DataOutputConfigurationHasBeenSet() const { return m_dataOutputConfigurationHasBeenSet; } /** *

Specifies configuration information for the output results for the inference * scheduler, including the S3 location for the output.

*/ inline void SetDataOutputConfiguration(const InferenceOutputConfiguration& value) { m_dataOutputConfigurationHasBeenSet = true; m_dataOutputConfiguration = value; } /** *

Specifies configuration information for the output results for the inference * scheduler, including the S3 location for the output.

*/ inline void SetDataOutputConfiguration(InferenceOutputConfiguration&& value) { m_dataOutputConfigurationHasBeenSet = true; m_dataOutputConfiguration = std::move(value); } /** *

Specifies configuration information for the output results for the inference * scheduler, including the S3 location for the output.

*/ inline CreateInferenceSchedulerRequest& WithDataOutputConfiguration(const InferenceOutputConfiguration& value) { SetDataOutputConfiguration(value); return *this;} /** *

Specifies configuration information for the output results for the inference * scheduler, including the S3 location for the output.

*/ inline CreateInferenceSchedulerRequest& WithDataOutputConfiguration(InferenceOutputConfiguration&& value) { SetDataOutputConfiguration(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of a role with permission to access the data * source being used for the inference.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The Amazon Resource Name (ARN) of a role with permission to access the data * source being used for the inference.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of a role with permission to access the data * source being used for the inference.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The Amazon Resource Name (ARN) of a role with permission to access the data * source being used for the inference.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of a role with permission to access the data * source being used for the inference.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of a role with permission to access the data * source being used for the inference.

*/ inline CreateInferenceSchedulerRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of a role with permission to access the data * source being used for the inference.

*/ inline CreateInferenceSchedulerRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of a role with permission to access the data * source being used for the inference.

*/ inline CreateInferenceSchedulerRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

Provides the identifier of the KMS key used to encrypt inference scheduler * data by Amazon Lookout for Equipment.

*/ inline const Aws::String& GetServerSideKmsKeyId() const{ return m_serverSideKmsKeyId; } /** *

Provides the identifier of the KMS key used to encrypt inference scheduler * data by Amazon Lookout for Equipment.

*/ inline bool ServerSideKmsKeyIdHasBeenSet() const { return m_serverSideKmsKeyIdHasBeenSet; } /** *

Provides the identifier of the KMS key used to encrypt inference scheduler * data by Amazon Lookout for Equipment.

*/ inline void SetServerSideKmsKeyId(const Aws::String& value) { m_serverSideKmsKeyIdHasBeenSet = true; m_serverSideKmsKeyId = value; } /** *

Provides the identifier of the KMS key used to encrypt inference scheduler * data by Amazon Lookout for Equipment.

*/ inline void SetServerSideKmsKeyId(Aws::String&& value) { m_serverSideKmsKeyIdHasBeenSet = true; m_serverSideKmsKeyId = std::move(value); } /** *

Provides the identifier of the KMS key used to encrypt inference scheduler * data by Amazon Lookout for Equipment.

*/ inline void SetServerSideKmsKeyId(const char* value) { m_serverSideKmsKeyIdHasBeenSet = true; m_serverSideKmsKeyId.assign(value); } /** *

Provides the identifier of the KMS key used to encrypt inference scheduler * data by Amazon Lookout for Equipment.

*/ inline CreateInferenceSchedulerRequest& WithServerSideKmsKeyId(const Aws::String& value) { SetServerSideKmsKeyId(value); return *this;} /** *

Provides the identifier of the KMS key used to encrypt inference scheduler * data by Amazon Lookout for Equipment.

*/ inline CreateInferenceSchedulerRequest& WithServerSideKmsKeyId(Aws::String&& value) { SetServerSideKmsKeyId(std::move(value)); return *this;} /** *

Provides the identifier of the KMS key used to encrypt inference scheduler * data by Amazon Lookout for Equipment.

*/ inline CreateInferenceSchedulerRequest& WithServerSideKmsKeyId(const char* value) { SetServerSideKmsKeyId(value); return *this;} /** *

A unique identifier for the request. If you do not set the client request * token, Amazon Lookout for Equipment generates one.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

A unique identifier for the request. If you do not set the client request * token, Amazon Lookout for Equipment generates one.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

A unique identifier for the request. If you do not set the client request * token, Amazon Lookout for Equipment generates one.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

A unique identifier for the request. If you do not set the client request * token, Amazon Lookout for Equipment generates one.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

A unique identifier for the request. If you do not set the client request * token, Amazon Lookout for Equipment generates one.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

A unique identifier for the request. If you do not set the client request * token, Amazon Lookout for Equipment generates one.

*/ inline CreateInferenceSchedulerRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

A unique identifier for the request. If you do not set the client request * token, Amazon Lookout for Equipment generates one.

*/ inline CreateInferenceSchedulerRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

A unique identifier for the request. If you do not set the client request * token, Amazon Lookout for Equipment generates one.

*/ inline CreateInferenceSchedulerRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

Any tags associated with the inference scheduler.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

Any tags associated with the inference scheduler.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

Any tags associated with the inference scheduler.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

Any tags associated with the inference scheduler.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

Any tags associated with the inference scheduler.

*/ inline CreateInferenceSchedulerRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

Any tags associated with the inference scheduler.

*/ inline CreateInferenceSchedulerRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

Any tags associated with the inference scheduler.

*/ inline CreateInferenceSchedulerRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

Any tags associated with the inference scheduler.

*/ inline CreateInferenceSchedulerRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_modelName; bool m_modelNameHasBeenSet = false; Aws::String m_inferenceSchedulerName; bool m_inferenceSchedulerNameHasBeenSet = false; long long m_dataDelayOffsetInMinutes; bool m_dataDelayOffsetInMinutesHasBeenSet = false; DataUploadFrequency m_dataUploadFrequency; bool m_dataUploadFrequencyHasBeenSet = false; InferenceInputConfiguration m_dataInputConfiguration; bool m_dataInputConfigurationHasBeenSet = false; InferenceOutputConfiguration m_dataOutputConfiguration; bool m_dataOutputConfigurationHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::String m_serverSideKmsKeyId; bool m_serverSideKmsKeyIdHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace LookoutEquipment } // namespace Aws