/** * 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 #include namespace Aws { namespace SSM { namespace Model { /** */ class CreateOpsItemRequest : public SSMRequest { public: AWS_SSM_API CreateOpsItemRequest(); // 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 "CreateOpsItem"; } AWS_SSM_API Aws::String SerializePayload() const override; AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

Information about the OpsItem.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

Information about the OpsItem.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

Information about the OpsItem.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

Information about the OpsItem.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

Information about the OpsItem.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

Information about the OpsItem.

*/ inline CreateOpsItemRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

Information about the OpsItem.

*/ inline CreateOpsItemRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

Information about the OpsItem.

*/ inline CreateOpsItemRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The type of OpsItem to create. Systems Manager supports the following types * of OpsItems:

  • /aws/issue

    This type of * OpsItem is used for default OpsItems created by OpsCenter.

  • * /aws/changerequest

    This type of OpsItem is used by Change * Manager for reviewing and approving or rejecting change requests.

  • *
  • /aws/insights

    This type of OpsItem is used by * OpsCenter for aggregating and reporting on duplicate OpsItems.

*/ inline const Aws::String& GetOpsItemType() const{ return m_opsItemType; } /** *

The type of OpsItem to create. Systems Manager supports the following types * of OpsItems:

  • /aws/issue

    This type of * OpsItem is used for default OpsItems created by OpsCenter.

  • * /aws/changerequest

    This type of OpsItem is used by Change * Manager for reviewing and approving or rejecting change requests.

  • *
  • /aws/insights

    This type of OpsItem is used by * OpsCenter for aggregating and reporting on duplicate OpsItems.

*/ inline bool OpsItemTypeHasBeenSet() const { return m_opsItemTypeHasBeenSet; } /** *

The type of OpsItem to create. Systems Manager supports the following types * of OpsItems:

  • /aws/issue

    This type of * OpsItem is used for default OpsItems created by OpsCenter.

  • * /aws/changerequest

    This type of OpsItem is used by Change * Manager for reviewing and approving or rejecting change requests.

  • *
  • /aws/insights

    This type of OpsItem is used by * OpsCenter for aggregating and reporting on duplicate OpsItems.

*/ inline void SetOpsItemType(const Aws::String& value) { m_opsItemTypeHasBeenSet = true; m_opsItemType = value; } /** *

The type of OpsItem to create. Systems Manager supports the following types * of OpsItems:

  • /aws/issue

    This type of * OpsItem is used for default OpsItems created by OpsCenter.

  • * /aws/changerequest

    This type of OpsItem is used by Change * Manager for reviewing and approving or rejecting change requests.

  • *
  • /aws/insights

    This type of OpsItem is used by * OpsCenter for aggregating and reporting on duplicate OpsItems.

*/ inline void SetOpsItemType(Aws::String&& value) { m_opsItemTypeHasBeenSet = true; m_opsItemType = std::move(value); } /** *

The type of OpsItem to create. Systems Manager supports the following types * of OpsItems:

  • /aws/issue

    This type of * OpsItem is used for default OpsItems created by OpsCenter.

  • * /aws/changerequest

    This type of OpsItem is used by Change * Manager for reviewing and approving or rejecting change requests.

  • *
  • /aws/insights

    This type of OpsItem is used by * OpsCenter for aggregating and reporting on duplicate OpsItems.

*/ inline void SetOpsItemType(const char* value) { m_opsItemTypeHasBeenSet = true; m_opsItemType.assign(value); } /** *

The type of OpsItem to create. Systems Manager supports the following types * of OpsItems:

  • /aws/issue

    This type of * OpsItem is used for default OpsItems created by OpsCenter.

  • * /aws/changerequest

    This type of OpsItem is used by Change * Manager for reviewing and approving or rejecting change requests.

  • *
  • /aws/insights

    This type of OpsItem is used by * OpsCenter for aggregating and reporting on duplicate OpsItems.

*/ inline CreateOpsItemRequest& WithOpsItemType(const Aws::String& value) { SetOpsItemType(value); return *this;} /** *

The type of OpsItem to create. Systems Manager supports the following types * of OpsItems:

  • /aws/issue

    This type of * OpsItem is used for default OpsItems created by OpsCenter.

  • * /aws/changerequest

    This type of OpsItem is used by Change * Manager for reviewing and approving or rejecting change requests.

  • *
  • /aws/insights

    This type of OpsItem is used by * OpsCenter for aggregating and reporting on duplicate OpsItems.

*/ inline CreateOpsItemRequest& WithOpsItemType(Aws::String&& value) { SetOpsItemType(std::move(value)); return *this;} /** *

The type of OpsItem to create. Systems Manager supports the following types * of OpsItems:

  • /aws/issue

    This type of * OpsItem is used for default OpsItems created by OpsCenter.

  • * /aws/changerequest

    This type of OpsItem is used by Change * Manager for reviewing and approving or rejecting change requests.

  • *
  • /aws/insights

    This type of OpsItem is used by * OpsCenter for aggregating and reporting on duplicate OpsItems.

*/ inline CreateOpsItemRequest& WithOpsItemType(const char* value) { SetOpsItemType(value); return *this;} /** *

Operational data is custom data that provides useful reference details about * the OpsItem. For example, you can specify log files, error strings, license * keys, troubleshooting tips, or other relevant data. You enter operational data * as key-value pairs. The key has a maximum length of 128 characters. The value * has a maximum size of 20 KB.

Operational data keys * can't begin with the following: amazon, aws, * amzn, ssm, /amazon, /aws, * /amzn, /ssm.

You can choose to * make the data searchable by other users in the account or you can restrict * search access. Searchable data means that all users with access to the OpsItem * Overview page (as provided by the DescribeOpsItems API operation) can * view and search on the specified data. Operational data that isn't searchable is * only viewable by users who have access to the OpsItem (as provided by the * GetOpsItem API operation).

Use the /aws/resources key * in OperationalData to specify a related resource in the request. Use the * /aws/automations key in OperationalData to associate an Automation * runbook with the OpsItem. To view Amazon Web Services CLI example commands that * use these keys, see Creating * OpsItems manually in the Amazon Web Services Systems Manager User * Guide.

*/ inline const Aws::Map& GetOperationalData() const{ return m_operationalData; } /** *

Operational data is custom data that provides useful reference details about * the OpsItem. For example, you can specify log files, error strings, license * keys, troubleshooting tips, or other relevant data. You enter operational data * as key-value pairs. The key has a maximum length of 128 characters. The value * has a maximum size of 20 KB.

Operational data keys * can't begin with the following: amazon, aws, * amzn, ssm, /amazon, /aws, * /amzn, /ssm.

You can choose to * make the data searchable by other users in the account or you can restrict * search access. Searchable data means that all users with access to the OpsItem * Overview page (as provided by the DescribeOpsItems API operation) can * view and search on the specified data. Operational data that isn't searchable is * only viewable by users who have access to the OpsItem (as provided by the * GetOpsItem API operation).

Use the /aws/resources key * in OperationalData to specify a related resource in the request. Use the * /aws/automations key in OperationalData to associate an Automation * runbook with the OpsItem. To view Amazon Web Services CLI example commands that * use these keys, see Creating * OpsItems manually in the Amazon Web Services Systems Manager User * Guide.

*/ inline bool OperationalDataHasBeenSet() const { return m_operationalDataHasBeenSet; } /** *

Operational data is custom data that provides useful reference details about * the OpsItem. For example, you can specify log files, error strings, license * keys, troubleshooting tips, or other relevant data. You enter operational data * as key-value pairs. The key has a maximum length of 128 characters. The value * has a maximum size of 20 KB.

Operational data keys * can't begin with the following: amazon, aws, * amzn, ssm, /amazon, /aws, * /amzn, /ssm.

You can choose to * make the data searchable by other users in the account or you can restrict * search access. Searchable data means that all users with access to the OpsItem * Overview page (as provided by the DescribeOpsItems API operation) can * view and search on the specified data. Operational data that isn't searchable is * only viewable by users who have access to the OpsItem (as provided by the * GetOpsItem API operation).

Use the /aws/resources key * in OperationalData to specify a related resource in the request. Use the * /aws/automations key in OperationalData to associate an Automation * runbook with the OpsItem. To view Amazon Web Services CLI example commands that * use these keys, see Creating * OpsItems manually in the Amazon Web Services Systems Manager User * Guide.

*/ inline void SetOperationalData(const Aws::Map& value) { m_operationalDataHasBeenSet = true; m_operationalData = value; } /** *

Operational data is custom data that provides useful reference details about * the OpsItem. For example, you can specify log files, error strings, license * keys, troubleshooting tips, or other relevant data. You enter operational data * as key-value pairs. The key has a maximum length of 128 characters. The value * has a maximum size of 20 KB.

Operational data keys * can't begin with the following: amazon, aws, * amzn, ssm, /amazon, /aws, * /amzn, /ssm.

You can choose to * make the data searchable by other users in the account or you can restrict * search access. Searchable data means that all users with access to the OpsItem * Overview page (as provided by the DescribeOpsItems API operation) can * view and search on the specified data. Operational data that isn't searchable is * only viewable by users who have access to the OpsItem (as provided by the * GetOpsItem API operation).

Use the /aws/resources key * in OperationalData to specify a related resource in the request. Use the * /aws/automations key in OperationalData to associate an Automation * runbook with the OpsItem. To view Amazon Web Services CLI example commands that * use these keys, see Creating * OpsItems manually in the Amazon Web Services Systems Manager User * Guide.

*/ inline void SetOperationalData(Aws::Map&& value) { m_operationalDataHasBeenSet = true; m_operationalData = std::move(value); } /** *

Operational data is custom data that provides useful reference details about * the OpsItem. For example, you can specify log files, error strings, license * keys, troubleshooting tips, or other relevant data. You enter operational data * as key-value pairs. The key has a maximum length of 128 characters. The value * has a maximum size of 20 KB.

Operational data keys * can't begin with the following: amazon, aws, * amzn, ssm, /amazon, /aws, * /amzn, /ssm.

You can choose to * make the data searchable by other users in the account or you can restrict * search access. Searchable data means that all users with access to the OpsItem * Overview page (as provided by the DescribeOpsItems API operation) can * view and search on the specified data. Operational data that isn't searchable is * only viewable by users who have access to the OpsItem (as provided by the * GetOpsItem API operation).

Use the /aws/resources key * in OperationalData to specify a related resource in the request. Use the * /aws/automations key in OperationalData to associate an Automation * runbook with the OpsItem. To view Amazon Web Services CLI example commands that * use these keys, see Creating * OpsItems manually in the Amazon Web Services Systems Manager User * Guide.

*/ inline CreateOpsItemRequest& WithOperationalData(const Aws::Map& value) { SetOperationalData(value); return *this;} /** *

Operational data is custom data that provides useful reference details about * the OpsItem. For example, you can specify log files, error strings, license * keys, troubleshooting tips, or other relevant data. You enter operational data * as key-value pairs. The key has a maximum length of 128 characters. The value * has a maximum size of 20 KB.

Operational data keys * can't begin with the following: amazon, aws, * amzn, ssm, /amazon, /aws, * /amzn, /ssm.

You can choose to * make the data searchable by other users in the account or you can restrict * search access. Searchable data means that all users with access to the OpsItem * Overview page (as provided by the DescribeOpsItems API operation) can * view and search on the specified data. Operational data that isn't searchable is * only viewable by users who have access to the OpsItem (as provided by the * GetOpsItem API operation).

Use the /aws/resources key * in OperationalData to specify a related resource in the request. Use the * /aws/automations key in OperationalData to associate an Automation * runbook with the OpsItem. To view Amazon Web Services CLI example commands that * use these keys, see Creating * OpsItems manually in the Amazon Web Services Systems Manager User * Guide.

*/ inline CreateOpsItemRequest& WithOperationalData(Aws::Map&& value) { SetOperationalData(std::move(value)); return *this;} /** *

Operational data is custom data that provides useful reference details about * the OpsItem. For example, you can specify log files, error strings, license * keys, troubleshooting tips, or other relevant data. You enter operational data * as key-value pairs. The key has a maximum length of 128 characters. The value * has a maximum size of 20 KB.

Operational data keys * can't begin with the following: amazon, aws, * amzn, ssm, /amazon, /aws, * /amzn, /ssm.

You can choose to * make the data searchable by other users in the account or you can restrict * search access. Searchable data means that all users with access to the OpsItem * Overview page (as provided by the DescribeOpsItems API operation) can * view and search on the specified data. Operational data that isn't searchable is * only viewable by users who have access to the OpsItem (as provided by the * GetOpsItem API operation).

Use the /aws/resources key * in OperationalData to specify a related resource in the request. Use the * /aws/automations key in OperationalData to associate an Automation * runbook with the OpsItem. To view Amazon Web Services CLI example commands that * use these keys, see Creating * OpsItems manually in the Amazon Web Services Systems Manager User * Guide.

*/ inline CreateOpsItemRequest& AddOperationalData(const Aws::String& key, const OpsItemDataValue& value) { m_operationalDataHasBeenSet = true; m_operationalData.emplace(key, value); return *this; } /** *

Operational data is custom data that provides useful reference details about * the OpsItem. For example, you can specify log files, error strings, license * keys, troubleshooting tips, or other relevant data. You enter operational data * as key-value pairs. The key has a maximum length of 128 characters. The value * has a maximum size of 20 KB.

Operational data keys * can't begin with the following: amazon, aws, * amzn, ssm, /amazon, /aws, * /amzn, /ssm.

You can choose to * make the data searchable by other users in the account or you can restrict * search access. Searchable data means that all users with access to the OpsItem * Overview page (as provided by the DescribeOpsItems API operation) can * view and search on the specified data. Operational data that isn't searchable is * only viewable by users who have access to the OpsItem (as provided by the * GetOpsItem API operation).

Use the /aws/resources key * in OperationalData to specify a related resource in the request. Use the * /aws/automations key in OperationalData to associate an Automation * runbook with the OpsItem. To view Amazon Web Services CLI example commands that * use these keys, see Creating * OpsItems manually in the Amazon Web Services Systems Manager User * Guide.

*/ inline CreateOpsItemRequest& AddOperationalData(Aws::String&& key, const OpsItemDataValue& value) { m_operationalDataHasBeenSet = true; m_operationalData.emplace(std::move(key), value); return *this; } /** *

Operational data is custom data that provides useful reference details about * the OpsItem. For example, you can specify log files, error strings, license * keys, troubleshooting tips, or other relevant data. You enter operational data * as key-value pairs. The key has a maximum length of 128 characters. The value * has a maximum size of 20 KB.

Operational data keys * can't begin with the following: amazon, aws, * amzn, ssm, /amazon, /aws, * /amzn, /ssm.

You can choose to * make the data searchable by other users in the account or you can restrict * search access. Searchable data means that all users with access to the OpsItem * Overview page (as provided by the DescribeOpsItems API operation) can * view and search on the specified data. Operational data that isn't searchable is * only viewable by users who have access to the OpsItem (as provided by the * GetOpsItem API operation).

Use the /aws/resources key * in OperationalData to specify a related resource in the request. Use the * /aws/automations key in OperationalData to associate an Automation * runbook with the OpsItem. To view Amazon Web Services CLI example commands that * use these keys, see Creating * OpsItems manually in the Amazon Web Services Systems Manager User * Guide.

*/ inline CreateOpsItemRequest& AddOperationalData(const Aws::String& key, OpsItemDataValue&& value) { m_operationalDataHasBeenSet = true; m_operationalData.emplace(key, std::move(value)); return *this; } /** *

Operational data is custom data that provides useful reference details about * the OpsItem. For example, you can specify log files, error strings, license * keys, troubleshooting tips, or other relevant data. You enter operational data * as key-value pairs. The key has a maximum length of 128 characters. The value * has a maximum size of 20 KB.

Operational data keys * can't begin with the following: amazon, aws, * amzn, ssm, /amazon, /aws, * /amzn, /ssm.

You can choose to * make the data searchable by other users in the account or you can restrict * search access. Searchable data means that all users with access to the OpsItem * Overview page (as provided by the DescribeOpsItems API operation) can * view and search on the specified data. Operational data that isn't searchable is * only viewable by users who have access to the OpsItem (as provided by the * GetOpsItem API operation).

Use the /aws/resources key * in OperationalData to specify a related resource in the request. Use the * /aws/automations key in OperationalData to associate an Automation * runbook with the OpsItem. To view Amazon Web Services CLI example commands that * use these keys, see Creating * OpsItems manually in the Amazon Web Services Systems Manager User * Guide.

*/ inline CreateOpsItemRequest& AddOperationalData(Aws::String&& key, OpsItemDataValue&& value) { m_operationalDataHasBeenSet = true; m_operationalData.emplace(std::move(key), std::move(value)); return *this; } /** *

Operational data is custom data that provides useful reference details about * the OpsItem. For example, you can specify log files, error strings, license * keys, troubleshooting tips, or other relevant data. You enter operational data * as key-value pairs. The key has a maximum length of 128 characters. The value * has a maximum size of 20 KB.

Operational data keys * can't begin with the following: amazon, aws, * amzn, ssm, /amazon, /aws, * /amzn, /ssm.

You can choose to * make the data searchable by other users in the account or you can restrict * search access. Searchable data means that all users with access to the OpsItem * Overview page (as provided by the DescribeOpsItems API operation) can * view and search on the specified data. Operational data that isn't searchable is * only viewable by users who have access to the OpsItem (as provided by the * GetOpsItem API operation).

Use the /aws/resources key * in OperationalData to specify a related resource in the request. Use the * /aws/automations key in OperationalData to associate an Automation * runbook with the OpsItem. To view Amazon Web Services CLI example commands that * use these keys, see Creating * OpsItems manually in the Amazon Web Services Systems Manager User * Guide.

*/ inline CreateOpsItemRequest& AddOperationalData(const char* key, OpsItemDataValue&& value) { m_operationalDataHasBeenSet = true; m_operationalData.emplace(key, std::move(value)); return *this; } /** *

Operational data is custom data that provides useful reference details about * the OpsItem. For example, you can specify log files, error strings, license * keys, troubleshooting tips, or other relevant data. You enter operational data * as key-value pairs. The key has a maximum length of 128 characters. The value * has a maximum size of 20 KB.

Operational data keys * can't begin with the following: amazon, aws, * amzn, ssm, /amazon, /aws, * /amzn, /ssm.

You can choose to * make the data searchable by other users in the account or you can restrict * search access. Searchable data means that all users with access to the OpsItem * Overview page (as provided by the DescribeOpsItems API operation) can * view and search on the specified data. Operational data that isn't searchable is * only viewable by users who have access to the OpsItem (as provided by the * GetOpsItem API operation).

Use the /aws/resources key * in OperationalData to specify a related resource in the request. Use the * /aws/automations key in OperationalData to associate an Automation * runbook with the OpsItem. To view Amazon Web Services CLI example commands that * use these keys, see Creating * OpsItems manually in the Amazon Web Services Systems Manager User * Guide.

*/ inline CreateOpsItemRequest& AddOperationalData(const char* key, const OpsItemDataValue& value) { m_operationalDataHasBeenSet = true; m_operationalData.emplace(key, value); return *this; } /** *

The Amazon Resource Name (ARN) of an SNS topic where notifications are sent * when this OpsItem is edited or changed.

*/ inline const Aws::Vector& GetNotifications() const{ return m_notifications; } /** *

The Amazon Resource Name (ARN) of an SNS topic where notifications are sent * when this OpsItem is edited or changed.

*/ inline bool NotificationsHasBeenSet() const { return m_notificationsHasBeenSet; } /** *

The Amazon Resource Name (ARN) of an SNS topic where notifications are sent * when this OpsItem is edited or changed.

*/ inline void SetNotifications(const Aws::Vector& value) { m_notificationsHasBeenSet = true; m_notifications = value; } /** *

The Amazon Resource Name (ARN) of an SNS topic where notifications are sent * when this OpsItem is edited or changed.

*/ inline void SetNotifications(Aws::Vector&& value) { m_notificationsHasBeenSet = true; m_notifications = std::move(value); } /** *

The Amazon Resource Name (ARN) of an SNS topic where notifications are sent * when this OpsItem is edited or changed.

*/ inline CreateOpsItemRequest& WithNotifications(const Aws::Vector& value) { SetNotifications(value); return *this;} /** *

The Amazon Resource Name (ARN) of an SNS topic where notifications are sent * when this OpsItem is edited or changed.

*/ inline CreateOpsItemRequest& WithNotifications(Aws::Vector&& value) { SetNotifications(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of an SNS topic where notifications are sent * when this OpsItem is edited or changed.

*/ inline CreateOpsItemRequest& AddNotifications(const OpsItemNotification& value) { m_notificationsHasBeenSet = true; m_notifications.push_back(value); return *this; } /** *

The Amazon Resource Name (ARN) of an SNS topic where notifications are sent * when this OpsItem is edited or changed.

*/ inline CreateOpsItemRequest& AddNotifications(OpsItemNotification&& value) { m_notificationsHasBeenSet = true; m_notifications.push_back(std::move(value)); return *this; } /** *

The importance of this OpsItem in relation to other OpsItems in the * system.

*/ inline int GetPriority() const{ return m_priority; } /** *

The importance of this OpsItem in relation to other OpsItems in the * system.

*/ inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; } /** *

The importance of this OpsItem in relation to other OpsItems in the * system.

*/ inline void SetPriority(int value) { m_priorityHasBeenSet = true; m_priority = value; } /** *

The importance of this OpsItem in relation to other OpsItems in the * system.

*/ inline CreateOpsItemRequest& WithPriority(int value) { SetPriority(value); return *this;} /** *

One or more OpsItems that share something in common with the current * OpsItems. For example, related OpsItems can include OpsItems with similar error * messages, impacted resources, or statuses for the impacted resource.

*/ inline const Aws::Vector& GetRelatedOpsItems() const{ return m_relatedOpsItems; } /** *

One or more OpsItems that share something in common with the current * OpsItems. For example, related OpsItems can include OpsItems with similar error * messages, impacted resources, or statuses for the impacted resource.

*/ inline bool RelatedOpsItemsHasBeenSet() const { return m_relatedOpsItemsHasBeenSet; } /** *

One or more OpsItems that share something in common with the current * OpsItems. For example, related OpsItems can include OpsItems with similar error * messages, impacted resources, or statuses for the impacted resource.

*/ inline void SetRelatedOpsItems(const Aws::Vector& value) { m_relatedOpsItemsHasBeenSet = true; m_relatedOpsItems = value; } /** *

One or more OpsItems that share something in common with the current * OpsItems. For example, related OpsItems can include OpsItems with similar error * messages, impacted resources, or statuses for the impacted resource.

*/ inline void SetRelatedOpsItems(Aws::Vector&& value) { m_relatedOpsItemsHasBeenSet = true; m_relatedOpsItems = std::move(value); } /** *

One or more OpsItems that share something in common with the current * OpsItems. For example, related OpsItems can include OpsItems with similar error * messages, impacted resources, or statuses for the impacted resource.

*/ inline CreateOpsItemRequest& WithRelatedOpsItems(const Aws::Vector& value) { SetRelatedOpsItems(value); return *this;} /** *

One or more OpsItems that share something in common with the current * OpsItems. For example, related OpsItems can include OpsItems with similar error * messages, impacted resources, or statuses for the impacted resource.

*/ inline CreateOpsItemRequest& WithRelatedOpsItems(Aws::Vector&& value) { SetRelatedOpsItems(std::move(value)); return *this;} /** *

One or more OpsItems that share something in common with the current * OpsItems. For example, related OpsItems can include OpsItems with similar error * messages, impacted resources, or statuses for the impacted resource.

*/ inline CreateOpsItemRequest& AddRelatedOpsItems(const RelatedOpsItem& value) { m_relatedOpsItemsHasBeenSet = true; m_relatedOpsItems.push_back(value); return *this; } /** *

One or more OpsItems that share something in common with the current * OpsItems. For example, related OpsItems can include OpsItems with similar error * messages, impacted resources, or statuses for the impacted resource.

*/ inline CreateOpsItemRequest& AddRelatedOpsItems(RelatedOpsItem&& value) { m_relatedOpsItemsHasBeenSet = true; m_relatedOpsItems.push_back(std::move(value)); return *this; } /** *

The origin of the OpsItem, such as Amazon EC2 or Systems Manager.

*

The source name can't contain the following strings: aws, * amazon, and amzn.

*/ inline const Aws::String& GetSource() const{ return m_source; } /** *

The origin of the OpsItem, such as Amazon EC2 or Systems Manager.

*

The source name can't contain the following strings: aws, * amazon, and amzn.

*/ inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } /** *

The origin of the OpsItem, such as Amazon EC2 or Systems Manager.

*

The source name can't contain the following strings: aws, * amazon, and amzn.

*/ inline void SetSource(const Aws::String& value) { m_sourceHasBeenSet = true; m_source = value; } /** *

The origin of the OpsItem, such as Amazon EC2 or Systems Manager.

*

The source name can't contain the following strings: aws, * amazon, and amzn.

*/ inline void SetSource(Aws::String&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } /** *

The origin of the OpsItem, such as Amazon EC2 or Systems Manager.

*

The source name can't contain the following strings: aws, * amazon, and amzn.

*/ inline void SetSource(const char* value) { m_sourceHasBeenSet = true; m_source.assign(value); } /** *

The origin of the OpsItem, such as Amazon EC2 or Systems Manager.

*

The source name can't contain the following strings: aws, * amazon, and amzn.

*/ inline CreateOpsItemRequest& WithSource(const Aws::String& value) { SetSource(value); return *this;} /** *

The origin of the OpsItem, such as Amazon EC2 or Systems Manager.

*

The source name can't contain the following strings: aws, * amazon, and amzn.

*/ inline CreateOpsItemRequest& WithSource(Aws::String&& value) { SetSource(std::move(value)); return *this;} /** *

The origin of the OpsItem, such as Amazon EC2 or Systems Manager.

*

The source name can't contain the following strings: aws, * amazon, and amzn.

*/ inline CreateOpsItemRequest& WithSource(const char* value) { SetSource(value); return *this;} /** *

A short heading that describes the nature of the OpsItem and the impacted * resource.

*/ inline const Aws::String& GetTitle() const{ return m_title; } /** *

A short heading that describes the nature of the OpsItem and the impacted * resource.

*/ inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } /** *

A short heading that describes the nature of the OpsItem and the impacted * resource.

*/ inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } /** *

A short heading that describes the nature of the OpsItem and the impacted * resource.

*/ inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } /** *

A short heading that describes the nature of the OpsItem and the impacted * resource.

*/ inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } /** *

A short heading that describes the nature of the OpsItem and the impacted * resource.

*/ inline CreateOpsItemRequest& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} /** *

A short heading that describes the nature of the OpsItem and the impacted * resource.

*/ inline CreateOpsItemRequest& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} /** *

A short heading that describes the nature of the OpsItem and the impacted * resource.

*/ inline CreateOpsItemRequest& WithTitle(const char* value) { SetTitle(value); return *this;} /** *

Optional metadata that you assign to a resource.

Tags use a key-value * pair. For example:

Key=Department,Value=Finance

*

To add tags to a new OpsItem, a user must have IAM permissions * for both the ssm:CreateOpsItems operation and the * ssm:AddTagsToResource operation. To add tags to an existing * OpsItem, use the AddTagsToResource operation.

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

Optional metadata that you assign to a resource.

Tags use a key-value * pair. For example:

Key=Department,Value=Finance

*

To add tags to a new OpsItem, a user must have IAM permissions * for both the ssm:CreateOpsItems operation and the * ssm:AddTagsToResource operation. To add tags to an existing * OpsItem, use the AddTagsToResource operation.

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

Optional metadata that you assign to a resource.

Tags use a key-value * pair. For example:

Key=Department,Value=Finance

*

To add tags to a new OpsItem, a user must have IAM permissions * for both the ssm:CreateOpsItems operation and the * ssm:AddTagsToResource operation. To add tags to an existing * OpsItem, use the AddTagsToResource operation.

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

Optional metadata that you assign to a resource.

Tags use a key-value * pair. For example:

Key=Department,Value=Finance

*

To add tags to a new OpsItem, a user must have IAM permissions * for both the ssm:CreateOpsItems operation and the * ssm:AddTagsToResource operation. To add tags to an existing * OpsItem, use the AddTagsToResource operation.

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

Optional metadata that you assign to a resource.

Tags use a key-value * pair. For example:

Key=Department,Value=Finance

*

To add tags to a new OpsItem, a user must have IAM permissions * for both the ssm:CreateOpsItems operation and the * ssm:AddTagsToResource operation. To add tags to an existing * OpsItem, use the AddTagsToResource operation.

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

Optional metadata that you assign to a resource.

Tags use a key-value * pair. For example:

Key=Department,Value=Finance

*

To add tags to a new OpsItem, a user must have IAM permissions * for both the ssm:CreateOpsItems operation and the * ssm:AddTagsToResource operation. To add tags to an existing * OpsItem, use the AddTagsToResource operation.

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

Optional metadata that you assign to a resource.

Tags use a key-value * pair. For example:

Key=Department,Value=Finance

*

To add tags to a new OpsItem, a user must have IAM permissions * for both the ssm:CreateOpsItems operation and the * ssm:AddTagsToResource operation. To add tags to an existing * OpsItem, use the AddTagsToResource operation.

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

Optional metadata that you assign to a resource.

Tags use a key-value * pair. For example:

Key=Department,Value=Finance

*

To add tags to a new OpsItem, a user must have IAM permissions * for both the ssm:CreateOpsItems operation and the * ssm:AddTagsToResource operation. To add tags to an existing * OpsItem, use the AddTagsToResource operation.

*/ inline CreateOpsItemRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

Specify a category to assign to an OpsItem.

*/ inline const Aws::String& GetCategory() const{ return m_category; } /** *

Specify a category to assign to an OpsItem.

*/ inline bool CategoryHasBeenSet() const { return m_categoryHasBeenSet; } /** *

Specify a category to assign to an OpsItem.

*/ inline void SetCategory(const Aws::String& value) { m_categoryHasBeenSet = true; m_category = value; } /** *

Specify a category to assign to an OpsItem.

*/ inline void SetCategory(Aws::String&& value) { m_categoryHasBeenSet = true; m_category = std::move(value); } /** *

Specify a category to assign to an OpsItem.

*/ inline void SetCategory(const char* value) { m_categoryHasBeenSet = true; m_category.assign(value); } /** *

Specify a category to assign to an OpsItem.

*/ inline CreateOpsItemRequest& WithCategory(const Aws::String& value) { SetCategory(value); return *this;} /** *

Specify a category to assign to an OpsItem.

*/ inline CreateOpsItemRequest& WithCategory(Aws::String&& value) { SetCategory(std::move(value)); return *this;} /** *

Specify a category to assign to an OpsItem.

*/ inline CreateOpsItemRequest& WithCategory(const char* value) { SetCategory(value); return *this;} /** *

Specify a severity to assign to an OpsItem.

*/ inline const Aws::String& GetSeverity() const{ return m_severity; } /** *

Specify a severity to assign to an OpsItem.

*/ inline bool SeverityHasBeenSet() const { return m_severityHasBeenSet; } /** *

Specify a severity to assign to an OpsItem.

*/ inline void SetSeverity(const Aws::String& value) { m_severityHasBeenSet = true; m_severity = value; } /** *

Specify a severity to assign to an OpsItem.

*/ inline void SetSeverity(Aws::String&& value) { m_severityHasBeenSet = true; m_severity = std::move(value); } /** *

Specify a severity to assign to an OpsItem.

*/ inline void SetSeverity(const char* value) { m_severityHasBeenSet = true; m_severity.assign(value); } /** *

Specify a severity to assign to an OpsItem.

*/ inline CreateOpsItemRequest& WithSeverity(const Aws::String& value) { SetSeverity(value); return *this;} /** *

Specify a severity to assign to an OpsItem.

*/ inline CreateOpsItemRequest& WithSeverity(Aws::String&& value) { SetSeverity(std::move(value)); return *this;} /** *

Specify a severity to assign to an OpsItem.

*/ inline CreateOpsItemRequest& WithSeverity(const char* value) { SetSeverity(value); return *this;} /** *

The time a runbook workflow started. Currently reported only for the OpsItem * type /aws/changerequest.

*/ inline const Aws::Utils::DateTime& GetActualStartTime() const{ return m_actualStartTime; } /** *

The time a runbook workflow started. Currently reported only for the OpsItem * type /aws/changerequest.

*/ inline bool ActualStartTimeHasBeenSet() const { return m_actualStartTimeHasBeenSet; } /** *

The time a runbook workflow started. Currently reported only for the OpsItem * type /aws/changerequest.

*/ inline void SetActualStartTime(const Aws::Utils::DateTime& value) { m_actualStartTimeHasBeenSet = true; m_actualStartTime = value; } /** *

The time a runbook workflow started. Currently reported only for the OpsItem * type /aws/changerequest.

*/ inline void SetActualStartTime(Aws::Utils::DateTime&& value) { m_actualStartTimeHasBeenSet = true; m_actualStartTime = std::move(value); } /** *

The time a runbook workflow started. Currently reported only for the OpsItem * type /aws/changerequest.

*/ inline CreateOpsItemRequest& WithActualStartTime(const Aws::Utils::DateTime& value) { SetActualStartTime(value); return *this;} /** *

The time a runbook workflow started. Currently reported only for the OpsItem * type /aws/changerequest.

*/ inline CreateOpsItemRequest& WithActualStartTime(Aws::Utils::DateTime&& value) { SetActualStartTime(std::move(value)); return *this;} /** *

The time a runbook workflow ended. Currently reported only for the OpsItem * type /aws/changerequest.

*/ inline const Aws::Utils::DateTime& GetActualEndTime() const{ return m_actualEndTime; } /** *

The time a runbook workflow ended. Currently reported only for the OpsItem * type /aws/changerequest.

*/ inline bool ActualEndTimeHasBeenSet() const { return m_actualEndTimeHasBeenSet; } /** *

The time a runbook workflow ended. Currently reported only for the OpsItem * type /aws/changerequest.

*/ inline void SetActualEndTime(const Aws::Utils::DateTime& value) { m_actualEndTimeHasBeenSet = true; m_actualEndTime = value; } /** *

The time a runbook workflow ended. Currently reported only for the OpsItem * type /aws/changerequest.

*/ inline void SetActualEndTime(Aws::Utils::DateTime&& value) { m_actualEndTimeHasBeenSet = true; m_actualEndTime = std::move(value); } /** *

The time a runbook workflow ended. Currently reported only for the OpsItem * type /aws/changerequest.

*/ inline CreateOpsItemRequest& WithActualEndTime(const Aws::Utils::DateTime& value) { SetActualEndTime(value); return *this;} /** *

The time a runbook workflow ended. Currently reported only for the OpsItem * type /aws/changerequest.

*/ inline CreateOpsItemRequest& WithActualEndTime(Aws::Utils::DateTime&& value) { SetActualEndTime(std::move(value)); return *this;} /** *

The time specified in a change request for a runbook workflow to start. * Currently supported only for the OpsItem type * /aws/changerequest.

*/ inline const Aws::Utils::DateTime& GetPlannedStartTime() const{ return m_plannedStartTime; } /** *

The time specified in a change request for a runbook workflow to start. * Currently supported only for the OpsItem type * /aws/changerequest.

*/ inline bool PlannedStartTimeHasBeenSet() const { return m_plannedStartTimeHasBeenSet; } /** *

The time specified in a change request for a runbook workflow to start. * Currently supported only for the OpsItem type * /aws/changerequest.

*/ inline void SetPlannedStartTime(const Aws::Utils::DateTime& value) { m_plannedStartTimeHasBeenSet = true; m_plannedStartTime = value; } /** *

The time specified in a change request for a runbook workflow to start. * Currently supported only for the OpsItem type * /aws/changerequest.

*/ inline void SetPlannedStartTime(Aws::Utils::DateTime&& value) { m_plannedStartTimeHasBeenSet = true; m_plannedStartTime = std::move(value); } /** *

The time specified in a change request for a runbook workflow to start. * Currently supported only for the OpsItem type * /aws/changerequest.

*/ inline CreateOpsItemRequest& WithPlannedStartTime(const Aws::Utils::DateTime& value) { SetPlannedStartTime(value); return *this;} /** *

The time specified in a change request for a runbook workflow to start. * Currently supported only for the OpsItem type * /aws/changerequest.

*/ inline CreateOpsItemRequest& WithPlannedStartTime(Aws::Utils::DateTime&& value) { SetPlannedStartTime(std::move(value)); return *this;} /** *

The time specified in a change request for a runbook workflow to end. * Currently supported only for the OpsItem type * /aws/changerequest.

*/ inline const Aws::Utils::DateTime& GetPlannedEndTime() const{ return m_plannedEndTime; } /** *

The time specified in a change request for a runbook workflow to end. * Currently supported only for the OpsItem type * /aws/changerequest.

*/ inline bool PlannedEndTimeHasBeenSet() const { return m_plannedEndTimeHasBeenSet; } /** *

The time specified in a change request for a runbook workflow to end. * Currently supported only for the OpsItem type * /aws/changerequest.

*/ inline void SetPlannedEndTime(const Aws::Utils::DateTime& value) { m_plannedEndTimeHasBeenSet = true; m_plannedEndTime = value; } /** *

The time specified in a change request for a runbook workflow to end. * Currently supported only for the OpsItem type * /aws/changerequest.

*/ inline void SetPlannedEndTime(Aws::Utils::DateTime&& value) { m_plannedEndTimeHasBeenSet = true; m_plannedEndTime = std::move(value); } /** *

The time specified in a change request for a runbook workflow to end. * Currently supported only for the OpsItem type * /aws/changerequest.

*/ inline CreateOpsItemRequest& WithPlannedEndTime(const Aws::Utils::DateTime& value) { SetPlannedEndTime(value); return *this;} /** *

The time specified in a change request for a runbook workflow to end. * Currently supported only for the OpsItem type * /aws/changerequest.

*/ inline CreateOpsItemRequest& WithPlannedEndTime(Aws::Utils::DateTime&& value) { SetPlannedEndTime(std::move(value)); return *this;} /** *

The target Amazon Web Services account where you want to create an OpsItem. * To make this call, your account must be configured to work with OpsItems across * accounts. For more information, see Set * up OpsCenter in the Amazon Web Services Systems Manager User * Guide.

*/ inline const Aws::String& GetAccountId() const{ return m_accountId; } /** *

The target Amazon Web Services account where you want to create an OpsItem. * To make this call, your account must be configured to work with OpsItems across * accounts. For more information, see Set * up OpsCenter in the Amazon Web Services Systems Manager User * Guide.

*/ inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } /** *

The target Amazon Web Services account where you want to create an OpsItem. * To make this call, your account must be configured to work with OpsItems across * accounts. For more information, see Set * up OpsCenter in the Amazon Web Services Systems Manager User * Guide.

*/ inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } /** *

The target Amazon Web Services account where you want to create an OpsItem. * To make this call, your account must be configured to work with OpsItems across * accounts. For more information, see Set * up OpsCenter in the Amazon Web Services Systems Manager User * Guide.

*/ inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } /** *

The target Amazon Web Services account where you want to create an OpsItem. * To make this call, your account must be configured to work with OpsItems across * accounts. For more information, see Set * up OpsCenter in the Amazon Web Services Systems Manager User * Guide.

*/ inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } /** *

The target Amazon Web Services account where you want to create an OpsItem. * To make this call, your account must be configured to work with OpsItems across * accounts. For more information, see Set * up OpsCenter in the Amazon Web Services Systems Manager User * Guide.

*/ inline CreateOpsItemRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** *

The target Amazon Web Services account where you want to create an OpsItem. * To make this call, your account must be configured to work with OpsItems across * accounts. For more information, see Set * up OpsCenter in the Amazon Web Services Systems Manager User * Guide.

*/ inline CreateOpsItemRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** *

The target Amazon Web Services account where you want to create an OpsItem. * To make this call, your account must be configured to work with OpsItems across * accounts. For more information, see Set * up OpsCenter in the Amazon Web Services Systems Manager User * Guide.

*/ inline CreateOpsItemRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} private: Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_opsItemType; bool m_opsItemTypeHasBeenSet = false; Aws::Map m_operationalData; bool m_operationalDataHasBeenSet = false; Aws::Vector m_notifications; bool m_notificationsHasBeenSet = false; int m_priority; bool m_priorityHasBeenSet = false; Aws::Vector m_relatedOpsItems; bool m_relatedOpsItemsHasBeenSet = false; Aws::String m_source; bool m_sourceHasBeenSet = false; Aws::String m_title; bool m_titleHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_category; bool m_categoryHasBeenSet = false; Aws::String m_severity; bool m_severityHasBeenSet = false; Aws::Utils::DateTime m_actualStartTime; bool m_actualStartTimeHasBeenSet = false; Aws::Utils::DateTime m_actualEndTime; bool m_actualEndTimeHasBeenSet = false; Aws::Utils::DateTime m_plannedStartTime; bool m_plannedStartTimeHasBeenSet = false; Aws::Utils::DateTime m_plannedEndTime; bool m_plannedEndTimeHasBeenSet = false; Aws::String m_accountId; bool m_accountIdHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws