/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace CodeGuruProfiler { namespace Model { /** *

The structure representing the configureAgentRequest.

See * Also:

AWS * API Reference

*/ class ConfigureAgentRequest : public CodeGuruProfilerRequest { public: AWS_CODEGURUPROFILER_API ConfigureAgentRequest(); // 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 "ConfigureAgent"; } AWS_CODEGURUPROFILER_API Aws::String SerializePayload() const override; /** *

A universally unique identifier (UUID) for a profiling instance. For * example, if the profiling instance is an Amazon EC2 instance, it is the instance * ID. If it is an AWS Fargate container, it is the container's task ID.

*/ inline const Aws::String& GetFleetInstanceId() const{ return m_fleetInstanceId; } /** *

A universally unique identifier (UUID) for a profiling instance. For * example, if the profiling instance is an Amazon EC2 instance, it is the instance * ID. If it is an AWS Fargate container, it is the container's task ID.

*/ inline bool FleetInstanceIdHasBeenSet() const { return m_fleetInstanceIdHasBeenSet; } /** *

A universally unique identifier (UUID) for a profiling instance. For * example, if the profiling instance is an Amazon EC2 instance, it is the instance * ID. If it is an AWS Fargate container, it is the container's task ID.

*/ inline void SetFleetInstanceId(const Aws::String& value) { m_fleetInstanceIdHasBeenSet = true; m_fleetInstanceId = value; } /** *

A universally unique identifier (UUID) for a profiling instance. For * example, if the profiling instance is an Amazon EC2 instance, it is the instance * ID. If it is an AWS Fargate container, it is the container's task ID.

*/ inline void SetFleetInstanceId(Aws::String&& value) { m_fleetInstanceIdHasBeenSet = true; m_fleetInstanceId = std::move(value); } /** *

A universally unique identifier (UUID) for a profiling instance. For * example, if the profiling instance is an Amazon EC2 instance, it is the instance * ID. If it is an AWS Fargate container, it is the container's task ID.

*/ inline void SetFleetInstanceId(const char* value) { m_fleetInstanceIdHasBeenSet = true; m_fleetInstanceId.assign(value); } /** *

A universally unique identifier (UUID) for a profiling instance. For * example, if the profiling instance is an Amazon EC2 instance, it is the instance * ID. If it is an AWS Fargate container, it is the container's task ID.

*/ inline ConfigureAgentRequest& WithFleetInstanceId(const Aws::String& value) { SetFleetInstanceId(value); return *this;} /** *

A universally unique identifier (UUID) for a profiling instance. For * example, if the profiling instance is an Amazon EC2 instance, it is the instance * ID. If it is an AWS Fargate container, it is the container's task ID.

*/ inline ConfigureAgentRequest& WithFleetInstanceId(Aws::String&& value) { SetFleetInstanceId(std::move(value)); return *this;} /** *

A universally unique identifier (UUID) for a profiling instance. For * example, if the profiling instance is an Amazon EC2 instance, it is the instance * ID. If it is an AWS Fargate container, it is the container's task ID.

*/ inline ConfigureAgentRequest& WithFleetInstanceId(const char* value) { SetFleetInstanceId(value); return *this;} /** *

Metadata captured about the compute platform the agent is running on. It * includes information about sampling and reporting. The valid fields are:

*
  • COMPUTE_PLATFORM - The compute platform on which the * agent is running

  • AGENT_ID - The ID for an agent * instance.

  • AWS_REQUEST_ID - The AWS request ID * of a Lambda invocation.

  • EXECUTION_ENVIRONMENT - * The execution environment a Lambda function is running on.

  • * LAMBDA_FUNCTION_ARN - The Amazon Resource Name (ARN) that is used * to invoke a Lambda function.

  • * LAMBDA_MEMORY_LIMIT_IN_MB - The memory allocated to a Lambda * function.

  • LAMBDA_REMAINING_TIME_IN_MILLISECONDS * - The time in milliseconds before execution of a Lambda function times out.

    *
  • LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS - * The time in milliseconds between two invocations of a Lambda function.

    *
  • LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS - The * time in milliseconds for the previous Lambda invocation.

*/ inline const Aws::Map& GetMetadata() const{ return m_metadata; } /** *

Metadata captured about the compute platform the agent is running on. It * includes information about sampling and reporting. The valid fields are:

*
  • COMPUTE_PLATFORM - The compute platform on which the * agent is running

  • AGENT_ID - The ID for an agent * instance.

  • AWS_REQUEST_ID - The AWS request ID * of a Lambda invocation.

  • EXECUTION_ENVIRONMENT - * The execution environment a Lambda function is running on.

  • * LAMBDA_FUNCTION_ARN - The Amazon Resource Name (ARN) that is used * to invoke a Lambda function.

  • * LAMBDA_MEMORY_LIMIT_IN_MB - The memory allocated to a Lambda * function.

  • LAMBDA_REMAINING_TIME_IN_MILLISECONDS * - The time in milliseconds before execution of a Lambda function times out.

    *
  • LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS - * The time in milliseconds between two invocations of a Lambda function.

    *
  • LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS - The * time in milliseconds for the previous Lambda invocation.

*/ inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } /** *

Metadata captured about the compute platform the agent is running on. It * includes information about sampling and reporting. The valid fields are:

*
  • COMPUTE_PLATFORM - The compute platform on which the * agent is running

  • AGENT_ID - The ID for an agent * instance.

  • AWS_REQUEST_ID - The AWS request ID * of a Lambda invocation.

  • EXECUTION_ENVIRONMENT - * The execution environment a Lambda function is running on.

  • * LAMBDA_FUNCTION_ARN - The Amazon Resource Name (ARN) that is used * to invoke a Lambda function.

  • * LAMBDA_MEMORY_LIMIT_IN_MB - The memory allocated to a Lambda * function.

  • LAMBDA_REMAINING_TIME_IN_MILLISECONDS * - The time in milliseconds before execution of a Lambda function times out.

    *
  • LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS - * The time in milliseconds between two invocations of a Lambda function.

    *
  • LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS - The * time in milliseconds for the previous Lambda invocation.

*/ inline void SetMetadata(const Aws::Map& value) { m_metadataHasBeenSet = true; m_metadata = value; } /** *

Metadata captured about the compute platform the agent is running on. It * includes information about sampling and reporting. The valid fields are:

*
  • COMPUTE_PLATFORM - The compute platform on which the * agent is running

  • AGENT_ID - The ID for an agent * instance.

  • AWS_REQUEST_ID - The AWS request ID * of a Lambda invocation.

  • EXECUTION_ENVIRONMENT - * The execution environment a Lambda function is running on.

  • * LAMBDA_FUNCTION_ARN - The Amazon Resource Name (ARN) that is used * to invoke a Lambda function.

  • * LAMBDA_MEMORY_LIMIT_IN_MB - The memory allocated to a Lambda * function.

  • LAMBDA_REMAINING_TIME_IN_MILLISECONDS * - The time in milliseconds before execution of a Lambda function times out.

    *
  • LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS - * The time in milliseconds between two invocations of a Lambda function.

    *
  • LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS - The * time in milliseconds for the previous Lambda invocation.

*/ inline void SetMetadata(Aws::Map&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); } /** *

Metadata captured about the compute platform the agent is running on. It * includes information about sampling and reporting. The valid fields are:

*
  • COMPUTE_PLATFORM - The compute platform on which the * agent is running

  • AGENT_ID - The ID for an agent * instance.

  • AWS_REQUEST_ID - The AWS request ID * of a Lambda invocation.

  • EXECUTION_ENVIRONMENT - * The execution environment a Lambda function is running on.

  • * LAMBDA_FUNCTION_ARN - The Amazon Resource Name (ARN) that is used * to invoke a Lambda function.

  • * LAMBDA_MEMORY_LIMIT_IN_MB - The memory allocated to a Lambda * function.

  • LAMBDA_REMAINING_TIME_IN_MILLISECONDS * - The time in milliseconds before execution of a Lambda function times out.

    *
  • LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS - * The time in milliseconds between two invocations of a Lambda function.

    *
  • LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS - The * time in milliseconds for the previous Lambda invocation.

*/ inline ConfigureAgentRequest& WithMetadata(const Aws::Map& value) { SetMetadata(value); return *this;} /** *

Metadata captured about the compute platform the agent is running on. It * includes information about sampling and reporting. The valid fields are:

*
  • COMPUTE_PLATFORM - The compute platform on which the * agent is running

  • AGENT_ID - The ID for an agent * instance.

  • AWS_REQUEST_ID - The AWS request ID * of a Lambda invocation.

  • EXECUTION_ENVIRONMENT - * The execution environment a Lambda function is running on.

  • * LAMBDA_FUNCTION_ARN - The Amazon Resource Name (ARN) that is used * to invoke a Lambda function.

  • * LAMBDA_MEMORY_LIMIT_IN_MB - The memory allocated to a Lambda * function.

  • LAMBDA_REMAINING_TIME_IN_MILLISECONDS * - The time in milliseconds before execution of a Lambda function times out.

    *
  • LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS - * The time in milliseconds between two invocations of a Lambda function.

    *
  • LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS - The * time in milliseconds for the previous Lambda invocation.

*/ inline ConfigureAgentRequest& WithMetadata(Aws::Map&& value) { SetMetadata(std::move(value)); return *this;} /** *

Metadata captured about the compute platform the agent is running on. It * includes information about sampling and reporting. The valid fields are:

*
  • COMPUTE_PLATFORM - The compute platform on which the * agent is running

  • AGENT_ID - The ID for an agent * instance.

  • AWS_REQUEST_ID - The AWS request ID * of a Lambda invocation.

  • EXECUTION_ENVIRONMENT - * The execution environment a Lambda function is running on.

  • * LAMBDA_FUNCTION_ARN - The Amazon Resource Name (ARN) that is used * to invoke a Lambda function.

  • * LAMBDA_MEMORY_LIMIT_IN_MB - The memory allocated to a Lambda * function.

  • LAMBDA_REMAINING_TIME_IN_MILLISECONDS * - The time in milliseconds before execution of a Lambda function times out.

    *
  • LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS - * The time in milliseconds between two invocations of a Lambda function.

    *
  • LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS - The * time in milliseconds for the previous Lambda invocation.

*/ inline ConfigureAgentRequest& AddMetadata(const MetadataField& key, const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; } /** *

Metadata captured about the compute platform the agent is running on. It * includes information about sampling and reporting. The valid fields are:

*
  • COMPUTE_PLATFORM - The compute platform on which the * agent is running

  • AGENT_ID - The ID for an agent * instance.

  • AWS_REQUEST_ID - The AWS request ID * of a Lambda invocation.

  • EXECUTION_ENVIRONMENT - * The execution environment a Lambda function is running on.

  • * LAMBDA_FUNCTION_ARN - The Amazon Resource Name (ARN) that is used * to invoke a Lambda function.

  • * LAMBDA_MEMORY_LIMIT_IN_MB - The memory allocated to a Lambda * function.

  • LAMBDA_REMAINING_TIME_IN_MILLISECONDS * - The time in milliseconds before execution of a Lambda function times out.

    *
  • LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS - * The time in milliseconds between two invocations of a Lambda function.

    *
  • LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS - The * time in milliseconds for the previous Lambda invocation.

*/ inline ConfigureAgentRequest& AddMetadata(MetadataField&& key, const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; } /** *

Metadata captured about the compute platform the agent is running on. It * includes information about sampling and reporting. The valid fields are:

*
  • COMPUTE_PLATFORM - The compute platform on which the * agent is running

  • AGENT_ID - The ID for an agent * instance.

  • AWS_REQUEST_ID - The AWS request ID * of a Lambda invocation.

  • EXECUTION_ENVIRONMENT - * The execution environment a Lambda function is running on.

  • * LAMBDA_FUNCTION_ARN - The Amazon Resource Name (ARN) that is used * to invoke a Lambda function.

  • * LAMBDA_MEMORY_LIMIT_IN_MB - The memory allocated to a Lambda * function.

  • LAMBDA_REMAINING_TIME_IN_MILLISECONDS * - The time in milliseconds before execution of a Lambda function times out.

    *
  • LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS - * The time in milliseconds between two invocations of a Lambda function.

    *
  • LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS - The * time in milliseconds for the previous Lambda invocation.

*/ inline ConfigureAgentRequest& AddMetadata(const MetadataField& key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; } /** *

Metadata captured about the compute platform the agent is running on. It * includes information about sampling and reporting. The valid fields are:

*
  • COMPUTE_PLATFORM - The compute platform on which the * agent is running

  • AGENT_ID - The ID for an agent * instance.

  • AWS_REQUEST_ID - The AWS request ID * of a Lambda invocation.

  • EXECUTION_ENVIRONMENT - * The execution environment a Lambda function is running on.

  • * LAMBDA_FUNCTION_ARN - The Amazon Resource Name (ARN) that is used * to invoke a Lambda function.

  • * LAMBDA_MEMORY_LIMIT_IN_MB - The memory allocated to a Lambda * function.

  • LAMBDA_REMAINING_TIME_IN_MILLISECONDS * - The time in milliseconds before execution of a Lambda function times out.

    *
  • LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS - * The time in milliseconds between two invocations of a Lambda function.

    *
  • LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS - The * time in milliseconds for the previous Lambda invocation.

*/ inline ConfigureAgentRequest& AddMetadata(MetadataField&& key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), std::move(value)); return *this; } /** *

Metadata captured about the compute platform the agent is running on. It * includes information about sampling and reporting. The valid fields are:

*
  • COMPUTE_PLATFORM - The compute platform on which the * agent is running

  • AGENT_ID - The ID for an agent * instance.

  • AWS_REQUEST_ID - The AWS request ID * of a Lambda invocation.

  • EXECUTION_ENVIRONMENT - * The execution environment a Lambda function is running on.

  • * LAMBDA_FUNCTION_ARN - The Amazon Resource Name (ARN) that is used * to invoke a Lambda function.

  • * LAMBDA_MEMORY_LIMIT_IN_MB - The memory allocated to a Lambda * function.

  • LAMBDA_REMAINING_TIME_IN_MILLISECONDS * - The time in milliseconds before execution of a Lambda function times out.

    *
  • LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS - * The time in milliseconds between two invocations of a Lambda function.

    *
  • LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS - The * time in milliseconds for the previous Lambda invocation.

*/ inline ConfigureAgentRequest& AddMetadata(MetadataField&& key, const char* value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; } /** *

Metadata captured about the compute platform the agent is running on. It * includes information about sampling and reporting. The valid fields are:

*
  • COMPUTE_PLATFORM - The compute platform on which the * agent is running

  • AGENT_ID - The ID for an agent * instance.

  • AWS_REQUEST_ID - The AWS request ID * of a Lambda invocation.

  • EXECUTION_ENVIRONMENT - * The execution environment a Lambda function is running on.

  • * LAMBDA_FUNCTION_ARN - The Amazon Resource Name (ARN) that is used * to invoke a Lambda function.

  • * LAMBDA_MEMORY_LIMIT_IN_MB - The memory allocated to a Lambda * function.

  • LAMBDA_REMAINING_TIME_IN_MILLISECONDS * - The time in milliseconds before execution of a Lambda function times out.

    *
  • LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS - * The time in milliseconds between two invocations of a Lambda function.

    *
  • LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS - The * time in milliseconds for the previous Lambda invocation.

*/ inline ConfigureAgentRequest& AddMetadata(const MetadataField& key, const char* value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; } /** *

The name of the profiling group for which the configured agent is collecting * profiling data.

*/ inline const Aws::String& GetProfilingGroupName() const{ return m_profilingGroupName; } /** *

The name of the profiling group for which the configured agent is collecting * profiling data.

*/ inline bool ProfilingGroupNameHasBeenSet() const { return m_profilingGroupNameHasBeenSet; } /** *

The name of the profiling group for which the configured agent is collecting * profiling data.

*/ inline void SetProfilingGroupName(const Aws::String& value) { m_profilingGroupNameHasBeenSet = true; m_profilingGroupName = value; } /** *

The name of the profiling group for which the configured agent is collecting * profiling data.

*/ inline void SetProfilingGroupName(Aws::String&& value) { m_profilingGroupNameHasBeenSet = true; m_profilingGroupName = std::move(value); } /** *

The name of the profiling group for which the configured agent is collecting * profiling data.

*/ inline void SetProfilingGroupName(const char* value) { m_profilingGroupNameHasBeenSet = true; m_profilingGroupName.assign(value); } /** *

The name of the profiling group for which the configured agent is collecting * profiling data.

*/ inline ConfigureAgentRequest& WithProfilingGroupName(const Aws::String& value) { SetProfilingGroupName(value); return *this;} /** *

The name of the profiling group for which the configured agent is collecting * profiling data.

*/ inline ConfigureAgentRequest& WithProfilingGroupName(Aws::String&& value) { SetProfilingGroupName(std::move(value)); return *this;} /** *

The name of the profiling group for which the configured agent is collecting * profiling data.

*/ inline ConfigureAgentRequest& WithProfilingGroupName(const char* value) { SetProfilingGroupName(value); return *this;} private: Aws::String m_fleetInstanceId; bool m_fleetInstanceIdHasBeenSet = false; Aws::Map m_metadata; bool m_metadataHasBeenSet = false; Aws::String m_profilingGroupName; bool m_profilingGroupNameHasBeenSet = false; }; } // namespace Model } // namespace CodeGuruProfiler } // namespace Aws