/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SSM { namespace Model { /** *

The parameters for a LAMBDA task type.

For information about * specifying and updating task parameters, see * RegisterTaskWithMaintenanceWindow and * UpdateMaintenanceWindowTask.

LoggingInfo has * been deprecated. To specify an S3 bucket to contain logs, instead use the * OutputS3BucketName and OutputS3KeyPrefix options in * the TaskInvocationParameters structure. For information about how * Systems Manager handles these options for the supported maintenance window task * types, see MaintenanceWindowTaskInvocationParameters.

* TaskParameters has been deprecated. To specify parameters to pass * to a task when it runs, instead use the Parameters option in the * TaskInvocationParameters structure. For information about how * Systems Manager handles these options for the supported maintenance window task * types, see MaintenanceWindowTaskInvocationParameters.

For Lambda * tasks, Systems Manager ignores any values specified for TaskParameters and * LoggingInfo.

See Also:

AWS * API Reference

*/ class AWS_SSM_API MaintenanceWindowLambdaParameters { public: MaintenanceWindowLambdaParameters(); MaintenanceWindowLambdaParameters(Aws::Utils::Json::JsonView jsonValue); MaintenanceWindowLambdaParameters& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

Pass client-specific information to the Lambda function that you are * invoking. You can then process the client information in your Lambda function as * you choose through the context variable.

*/ inline const Aws::String& GetClientContext() const{ return m_clientContext; } /** *

Pass client-specific information to the Lambda function that you are * invoking. You can then process the client information in your Lambda function as * you choose through the context variable.

*/ inline bool ClientContextHasBeenSet() const { return m_clientContextHasBeenSet; } /** *

Pass client-specific information to the Lambda function that you are * invoking. You can then process the client information in your Lambda function as * you choose through the context variable.

*/ inline void SetClientContext(const Aws::String& value) { m_clientContextHasBeenSet = true; m_clientContext = value; } /** *

Pass client-specific information to the Lambda function that you are * invoking. You can then process the client information in your Lambda function as * you choose through the context variable.

*/ inline void SetClientContext(Aws::String&& value) { m_clientContextHasBeenSet = true; m_clientContext = std::move(value); } /** *

Pass client-specific information to the Lambda function that you are * invoking. You can then process the client information in your Lambda function as * you choose through the context variable.

*/ inline void SetClientContext(const char* value) { m_clientContextHasBeenSet = true; m_clientContext.assign(value); } /** *

Pass client-specific information to the Lambda function that you are * invoking. You can then process the client information in your Lambda function as * you choose through the context variable.

*/ inline MaintenanceWindowLambdaParameters& WithClientContext(const Aws::String& value) { SetClientContext(value); return *this;} /** *

Pass client-specific information to the Lambda function that you are * invoking. You can then process the client information in your Lambda function as * you choose through the context variable.

*/ inline MaintenanceWindowLambdaParameters& WithClientContext(Aws::String&& value) { SetClientContext(std::move(value)); return *this;} /** *

Pass client-specific information to the Lambda function that you are * invoking. You can then process the client information in your Lambda function as * you choose through the context variable.

*/ inline MaintenanceWindowLambdaParameters& WithClientContext(const char* value) { SetClientContext(value); return *this;} /** *

(Optional) Specify a Lambda function version or alias name. If you specify a * function version, the action uses the qualified function ARN to invoke a * specific Lambda function. If you specify an alias name, the action uses the * alias ARN to invoke the Lambda function version to which the alias points.

*/ inline const Aws::String& GetQualifier() const{ return m_qualifier; } /** *

(Optional) Specify a Lambda function version or alias name. If you specify a * function version, the action uses the qualified function ARN to invoke a * specific Lambda function. If you specify an alias name, the action uses the * alias ARN to invoke the Lambda function version to which the alias points.

*/ inline bool QualifierHasBeenSet() const { return m_qualifierHasBeenSet; } /** *

(Optional) Specify a Lambda function version or alias name. If you specify a * function version, the action uses the qualified function ARN to invoke a * specific Lambda function. If you specify an alias name, the action uses the * alias ARN to invoke the Lambda function version to which the alias points.

*/ inline void SetQualifier(const Aws::String& value) { m_qualifierHasBeenSet = true; m_qualifier = value; } /** *

(Optional) Specify a Lambda function version or alias name. If you specify a * function version, the action uses the qualified function ARN to invoke a * specific Lambda function. If you specify an alias name, the action uses the * alias ARN to invoke the Lambda function version to which the alias points.

*/ inline void SetQualifier(Aws::String&& value) { m_qualifierHasBeenSet = true; m_qualifier = std::move(value); } /** *

(Optional) Specify a Lambda function version or alias name. If you specify a * function version, the action uses the qualified function ARN to invoke a * specific Lambda function. If you specify an alias name, the action uses the * alias ARN to invoke the Lambda function version to which the alias points.

*/ inline void SetQualifier(const char* value) { m_qualifierHasBeenSet = true; m_qualifier.assign(value); } /** *

(Optional) Specify a Lambda function version or alias name. If you specify a * function version, the action uses the qualified function ARN to invoke a * specific Lambda function. If you specify an alias name, the action uses the * alias ARN to invoke the Lambda function version to which the alias points.

*/ inline MaintenanceWindowLambdaParameters& WithQualifier(const Aws::String& value) { SetQualifier(value); return *this;} /** *

(Optional) Specify a Lambda function version or alias name. If you specify a * function version, the action uses the qualified function ARN to invoke a * specific Lambda function. If you specify an alias name, the action uses the * alias ARN to invoke the Lambda function version to which the alias points.

*/ inline MaintenanceWindowLambdaParameters& WithQualifier(Aws::String&& value) { SetQualifier(std::move(value)); return *this;} /** *

(Optional) Specify a Lambda function version or alias name. If you specify a * function version, the action uses the qualified function ARN to invoke a * specific Lambda function. If you specify an alias name, the action uses the * alias ARN to invoke the Lambda function version to which the alias points.

*/ inline MaintenanceWindowLambdaParameters& WithQualifier(const char* value) { SetQualifier(value); return *this;} /** *

JSON to provide to your Lambda function as input.

*/ inline const Aws::Utils::CryptoBuffer& GetPayload() const{ return m_payload; } /** *

JSON to provide to your Lambda function as input.

*/ inline bool PayloadHasBeenSet() const { return m_payloadHasBeenSet; } /** *

JSON to provide to your Lambda function as input.

*/ inline void SetPayload(const Aws::Utils::CryptoBuffer& value) { m_payloadHasBeenSet = true; m_payload = value; } /** *

JSON to provide to your Lambda function as input.

*/ inline void SetPayload(Aws::Utils::CryptoBuffer&& value) { m_payloadHasBeenSet = true; m_payload = std::move(value); } /** *

JSON to provide to your Lambda function as input.

*/ inline MaintenanceWindowLambdaParameters& WithPayload(const Aws::Utils::CryptoBuffer& value) { SetPayload(value); return *this;} /** *

JSON to provide to your Lambda function as input.

*/ inline MaintenanceWindowLambdaParameters& WithPayload(Aws::Utils::CryptoBuffer&& value) { SetPayload(std::move(value)); return *this;} private: Aws::String m_clientContext; bool m_clientContextHasBeenSet; Aws::String m_qualifier; bool m_qualifierHasBeenSet; Aws::Utils::CryptoBuffer m_payload; bool m_payloadHasBeenSet; }; } // namespace Model } // namespace SSM } // namespace Aws