/** * 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 CustomerProfiles { namespace Model { /** */ class PutIntegrationRequest : public CustomerProfilesRequest { public: AWS_CUSTOMERPROFILES_API PutIntegrationRequest(); // 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 "PutIntegration"; } AWS_CUSTOMERPROFILES_API Aws::String SerializePayload() const override; /** *

The unique name of the domain.

*/ inline const Aws::String& GetDomainName() const{ return m_domainName; } /** *

The unique name of the domain.

*/ inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } /** *

The unique name of the domain.

*/ inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } /** *

The unique name of the domain.

*/ inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } /** *

The unique name of the domain.

*/ inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } /** *

The unique name of the domain.

*/ inline PutIntegrationRequest& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} /** *

The unique name of the domain.

*/ inline PutIntegrationRequest& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} /** *

The unique name of the domain.

*/ inline PutIntegrationRequest& WithDomainName(const char* value) { SetDomainName(value); return *this;} /** *

The URI of the S3 bucket or any other type of data source.

*/ inline const Aws::String& GetUri() const{ return m_uri; } /** *

The URI of the S3 bucket or any other type of data source.

*/ inline bool UriHasBeenSet() const { return m_uriHasBeenSet; } /** *

The URI of the S3 bucket or any other type of data source.

*/ inline void SetUri(const Aws::String& value) { m_uriHasBeenSet = true; m_uri = value; } /** *

The URI of the S3 bucket or any other type of data source.

*/ inline void SetUri(Aws::String&& value) { m_uriHasBeenSet = true; m_uri = std::move(value); } /** *

The URI of the S3 bucket or any other type of data source.

*/ inline void SetUri(const char* value) { m_uriHasBeenSet = true; m_uri.assign(value); } /** *

The URI of the S3 bucket or any other type of data source.

*/ inline PutIntegrationRequest& WithUri(const Aws::String& value) { SetUri(value); return *this;} /** *

The URI of the S3 bucket or any other type of data source.

*/ inline PutIntegrationRequest& WithUri(Aws::String&& value) { SetUri(std::move(value)); return *this;} /** *

The URI of the S3 bucket or any other type of data source.

*/ inline PutIntegrationRequest& WithUri(const char* value) { SetUri(value); return *this;} /** *

The name of the profile object type.

*/ inline const Aws::String& GetObjectTypeName() const{ return m_objectTypeName; } /** *

The name of the profile object type.

*/ inline bool ObjectTypeNameHasBeenSet() const { return m_objectTypeNameHasBeenSet; } /** *

The name of the profile object type.

*/ inline void SetObjectTypeName(const Aws::String& value) { m_objectTypeNameHasBeenSet = true; m_objectTypeName = value; } /** *

The name of the profile object type.

*/ inline void SetObjectTypeName(Aws::String&& value) { m_objectTypeNameHasBeenSet = true; m_objectTypeName = std::move(value); } /** *

The name of the profile object type.

*/ inline void SetObjectTypeName(const char* value) { m_objectTypeNameHasBeenSet = true; m_objectTypeName.assign(value); } /** *

The name of the profile object type.

*/ inline PutIntegrationRequest& WithObjectTypeName(const Aws::String& value) { SetObjectTypeName(value); return *this;} /** *

The name of the profile object type.

*/ inline PutIntegrationRequest& WithObjectTypeName(Aws::String&& value) { SetObjectTypeName(std::move(value)); return *this;} /** *

The name of the profile object type.

*/ inline PutIntegrationRequest& WithObjectTypeName(const char* value) { SetObjectTypeName(value); return *this;} /** *

The tags used to organize, track, or control access for this resource.

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

The tags used to organize, track, or control access for this resource.

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

The tags used to organize, track, or control access for this resource.

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

The tags used to organize, track, or control access for this resource.

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

The tags used to organize, track, or control access for this resource.

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

The tags used to organize, track, or control access for this resource.

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

The tags used to organize, track, or control access for this resource.

*/ inline PutIntegrationRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The tags used to organize, track, or control access for this resource.

*/ inline PutIntegrationRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The tags used to organize, track, or control access for this resource.

*/ inline PutIntegrationRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags used to organize, track, or control access for this resource.

*/ inline PutIntegrationRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

The tags used to organize, track, or control access for this resource.

*/ inline PutIntegrationRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags used to organize, track, or control access for this resource.

*/ inline PutIntegrationRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The tags used to organize, track, or control access for this resource.

*/ inline PutIntegrationRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The configuration that controls how Customer Profiles retrieves data from the * source.

*/ inline const FlowDefinition& GetFlowDefinition() const{ return m_flowDefinition; } /** *

The configuration that controls how Customer Profiles retrieves data from the * source.

*/ inline bool FlowDefinitionHasBeenSet() const { return m_flowDefinitionHasBeenSet; } /** *

The configuration that controls how Customer Profiles retrieves data from the * source.

*/ inline void SetFlowDefinition(const FlowDefinition& value) { m_flowDefinitionHasBeenSet = true; m_flowDefinition = value; } /** *

The configuration that controls how Customer Profiles retrieves data from the * source.

*/ inline void SetFlowDefinition(FlowDefinition&& value) { m_flowDefinitionHasBeenSet = true; m_flowDefinition = std::move(value); } /** *

The configuration that controls how Customer Profiles retrieves data from the * source.

*/ inline PutIntegrationRequest& WithFlowDefinition(const FlowDefinition& value) { SetFlowDefinition(value); return *this;} /** *

The configuration that controls how Customer Profiles retrieves data from the * source.

*/ inline PutIntegrationRequest& WithFlowDefinition(FlowDefinition&& value) { SetFlowDefinition(std::move(value)); return *this;} /** *

A map in which each key is an event type from an external application such as * Segment or Shopify, and each value is an ObjectTypeName (template) * used to ingest the event. It supports the following event types: * SegmentIdentify, ShopifyCreateCustomers, * ShopifyUpdateCustomers, ShopifyCreateDraftOrders, * ShopifyUpdateDraftOrders, ShopifyCreateOrders, and * ShopifyUpdatedOrders.

*/ inline const Aws::Map& GetObjectTypeNames() const{ return m_objectTypeNames; } /** *

A map in which each key is an event type from an external application such as * Segment or Shopify, and each value is an ObjectTypeName (template) * used to ingest the event. It supports the following event types: * SegmentIdentify, ShopifyCreateCustomers, * ShopifyUpdateCustomers, ShopifyCreateDraftOrders, * ShopifyUpdateDraftOrders, ShopifyCreateOrders, and * ShopifyUpdatedOrders.

*/ inline bool ObjectTypeNamesHasBeenSet() const { return m_objectTypeNamesHasBeenSet; } /** *

A map in which each key is an event type from an external application such as * Segment or Shopify, and each value is an ObjectTypeName (template) * used to ingest the event. It supports the following event types: * SegmentIdentify, ShopifyCreateCustomers, * ShopifyUpdateCustomers, ShopifyCreateDraftOrders, * ShopifyUpdateDraftOrders, ShopifyCreateOrders, and * ShopifyUpdatedOrders.

*/ inline void SetObjectTypeNames(const Aws::Map& value) { m_objectTypeNamesHasBeenSet = true; m_objectTypeNames = value; } /** *

A map in which each key is an event type from an external application such as * Segment or Shopify, and each value is an ObjectTypeName (template) * used to ingest the event. It supports the following event types: * SegmentIdentify, ShopifyCreateCustomers, * ShopifyUpdateCustomers, ShopifyCreateDraftOrders, * ShopifyUpdateDraftOrders, ShopifyCreateOrders, and * ShopifyUpdatedOrders.

*/ inline void SetObjectTypeNames(Aws::Map&& value) { m_objectTypeNamesHasBeenSet = true; m_objectTypeNames = std::move(value); } /** *

A map in which each key is an event type from an external application such as * Segment or Shopify, and each value is an ObjectTypeName (template) * used to ingest the event. It supports the following event types: * SegmentIdentify, ShopifyCreateCustomers, * ShopifyUpdateCustomers, ShopifyCreateDraftOrders, * ShopifyUpdateDraftOrders, ShopifyCreateOrders, and * ShopifyUpdatedOrders.

*/ inline PutIntegrationRequest& WithObjectTypeNames(const Aws::Map& value) { SetObjectTypeNames(value); return *this;} /** *

A map in which each key is an event type from an external application such as * Segment or Shopify, and each value is an ObjectTypeName (template) * used to ingest the event. It supports the following event types: * SegmentIdentify, ShopifyCreateCustomers, * ShopifyUpdateCustomers, ShopifyCreateDraftOrders, * ShopifyUpdateDraftOrders, ShopifyCreateOrders, and * ShopifyUpdatedOrders.

*/ inline PutIntegrationRequest& WithObjectTypeNames(Aws::Map&& value) { SetObjectTypeNames(std::move(value)); return *this;} /** *

A map in which each key is an event type from an external application such as * Segment or Shopify, and each value is an ObjectTypeName (template) * used to ingest the event. It supports the following event types: * SegmentIdentify, ShopifyCreateCustomers, * ShopifyUpdateCustomers, ShopifyCreateDraftOrders, * ShopifyUpdateDraftOrders, ShopifyCreateOrders, and * ShopifyUpdatedOrders.

*/ inline PutIntegrationRequest& AddObjectTypeNames(const Aws::String& key, const Aws::String& value) { m_objectTypeNamesHasBeenSet = true; m_objectTypeNames.emplace(key, value); return *this; } /** *

A map in which each key is an event type from an external application such as * Segment or Shopify, and each value is an ObjectTypeName (template) * used to ingest the event. It supports the following event types: * SegmentIdentify, ShopifyCreateCustomers, * ShopifyUpdateCustomers, ShopifyCreateDraftOrders, * ShopifyUpdateDraftOrders, ShopifyCreateOrders, and * ShopifyUpdatedOrders.

*/ inline PutIntegrationRequest& AddObjectTypeNames(Aws::String&& key, const Aws::String& value) { m_objectTypeNamesHasBeenSet = true; m_objectTypeNames.emplace(std::move(key), value); return *this; } /** *

A map in which each key is an event type from an external application such as * Segment or Shopify, and each value is an ObjectTypeName (template) * used to ingest the event. It supports the following event types: * SegmentIdentify, ShopifyCreateCustomers, * ShopifyUpdateCustomers, ShopifyCreateDraftOrders, * ShopifyUpdateDraftOrders, ShopifyCreateOrders, and * ShopifyUpdatedOrders.

*/ inline PutIntegrationRequest& AddObjectTypeNames(const Aws::String& key, Aws::String&& value) { m_objectTypeNamesHasBeenSet = true; m_objectTypeNames.emplace(key, std::move(value)); return *this; } /** *

A map in which each key is an event type from an external application such as * Segment or Shopify, and each value is an ObjectTypeName (template) * used to ingest the event. It supports the following event types: * SegmentIdentify, ShopifyCreateCustomers, * ShopifyUpdateCustomers, ShopifyCreateDraftOrders, * ShopifyUpdateDraftOrders, ShopifyCreateOrders, and * ShopifyUpdatedOrders.

*/ inline PutIntegrationRequest& AddObjectTypeNames(Aws::String&& key, Aws::String&& value) { m_objectTypeNamesHasBeenSet = true; m_objectTypeNames.emplace(std::move(key), std::move(value)); return *this; } /** *

A map in which each key is an event type from an external application such as * Segment or Shopify, and each value is an ObjectTypeName (template) * used to ingest the event. It supports the following event types: * SegmentIdentify, ShopifyCreateCustomers, * ShopifyUpdateCustomers, ShopifyCreateDraftOrders, * ShopifyUpdateDraftOrders, ShopifyCreateOrders, and * ShopifyUpdatedOrders.

*/ inline PutIntegrationRequest& AddObjectTypeNames(const char* key, Aws::String&& value) { m_objectTypeNamesHasBeenSet = true; m_objectTypeNames.emplace(key, std::move(value)); return *this; } /** *

A map in which each key is an event type from an external application such as * Segment or Shopify, and each value is an ObjectTypeName (template) * used to ingest the event. It supports the following event types: * SegmentIdentify, ShopifyCreateCustomers, * ShopifyUpdateCustomers, ShopifyCreateDraftOrders, * ShopifyUpdateDraftOrders, ShopifyCreateOrders, and * ShopifyUpdatedOrders.

*/ inline PutIntegrationRequest& AddObjectTypeNames(Aws::String&& key, const char* value) { m_objectTypeNamesHasBeenSet = true; m_objectTypeNames.emplace(std::move(key), value); return *this; } /** *

A map in which each key is an event type from an external application such as * Segment or Shopify, and each value is an ObjectTypeName (template) * used to ingest the event. It supports the following event types: * SegmentIdentify, ShopifyCreateCustomers, * ShopifyUpdateCustomers, ShopifyCreateDraftOrders, * ShopifyUpdateDraftOrders, ShopifyCreateOrders, and * ShopifyUpdatedOrders.

*/ inline PutIntegrationRequest& AddObjectTypeNames(const char* key, const char* value) { m_objectTypeNamesHasBeenSet = true; m_objectTypeNames.emplace(key, value); return *this; } private: Aws::String m_domainName; bool m_domainNameHasBeenSet = false; Aws::String m_uri; bool m_uriHasBeenSet = false; Aws::String m_objectTypeName; bool m_objectTypeNameHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; FlowDefinition m_flowDefinition; bool m_flowDefinitionHasBeenSet = false; Aws::Map m_objectTypeNames; bool m_objectTypeNamesHasBeenSet = false; }; } // namespace Model } // namespace CustomerProfiles } // namespace Aws