/** * 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 Amazon Simple Storage Service (Amazon S3) bucket * to contain logs, instead use the OutputS3BucketName and * OutputS3KeyPrefix options in the * TaskInvocationParameters structure. For information about how * Amazon Web Services 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 MaintenanceWindowLambdaParameters { public: AWS_SSM_API MaintenanceWindowLambdaParameters(); AWS_SSM_API MaintenanceWindowLambdaParameters(Aws::Utils::Json::JsonView jsonValue); AWS_SSM_API MaintenanceWindowLambdaParameters& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SSM_API 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 an Lambda function version or alias name. If you specify a * function version, the operation uses the qualified function Amazon Resource Name * (ARN) to invoke a specific Lambda function. If you specify an alias name, the * operation 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 an Lambda function version or alias name. If you specify a * function version, the operation uses the qualified function Amazon Resource Name * (ARN) to invoke a specific Lambda function. If you specify an alias name, the * operation uses the alias ARN to invoke the Lambda function version to which the * alias points.

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

(Optional) Specify an Lambda function version or alias name. If you specify a * function version, the operation uses the qualified function Amazon Resource Name * (ARN) to invoke a specific Lambda function. If you specify an alias name, the * operation 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 an Lambda function version or alias name. If you specify a * function version, the operation uses the qualified function Amazon Resource Name * (ARN) to invoke a specific Lambda function. If you specify an alias name, the * operation 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 an Lambda function version or alias name. If you specify a * function version, the operation uses the qualified function Amazon Resource Name * (ARN) to invoke a specific Lambda function. If you specify an alias name, the * operation 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 an Lambda function version or alias name. If you specify a * function version, the operation uses the qualified function Amazon Resource Name * (ARN) to invoke a specific Lambda function. If you specify an alias name, the * operation 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 an Lambda function version or alias name. If you specify a * function version, the operation uses the qualified function Amazon Resource Name * (ARN) to invoke a specific Lambda function. If you specify an alias name, the * operation 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 an Lambda function version or alias name. If you specify a * function version, the operation uses the qualified function Amazon Resource Name * (ARN) to invoke a specific Lambda function. If you specify an alias name, the * operation 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 = false; Aws::String m_qualifier; bool m_qualifierHasBeenSet = false; Aws::Utils::CryptoBuffer m_payload; bool m_payloadHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws