/** * 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 Pinpoint { namespace Model { /** *

Provides information about the resource settings for a job that imports * endpoint definitions from one or more files. The files can be stored in an * Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from a * computer by using the Amazon Pinpoint console.

See Also:

AWS * API Reference

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

Specifies whether the import job creates a segment that contains the * endpoints, when the endpoint definitions are imported.

*/ inline bool GetDefineSegment() const{ return m_defineSegment; } /** *

Specifies whether the import job creates a segment that contains the * endpoints, when the endpoint definitions are imported.

*/ inline bool DefineSegmentHasBeenSet() const { return m_defineSegmentHasBeenSet; } /** *

Specifies whether the import job creates a segment that contains the * endpoints, when the endpoint definitions are imported.

*/ inline void SetDefineSegment(bool value) { m_defineSegmentHasBeenSet = true; m_defineSegment = value; } /** *

Specifies whether the import job creates a segment that contains the * endpoints, when the endpoint definitions are imported.

*/ inline ImportJobResource& WithDefineSegment(bool value) { SetDefineSegment(value); return *this;} /** *

(Deprecated) Your AWS account ID, which you assigned to an external ID key in * an IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM * role when importing endpoint definitions, but we removed this requirement. We * don't recommend use of external IDs for IAM roles that are assumed by Amazon * Pinpoint.

*/ inline const Aws::String& GetExternalId() const{ return m_externalId; } /** *

(Deprecated) Your AWS account ID, which you assigned to an external ID key in * an IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM * role when importing endpoint definitions, but we removed this requirement. We * don't recommend use of external IDs for IAM roles that are assumed by Amazon * Pinpoint.

*/ inline bool ExternalIdHasBeenSet() const { return m_externalIdHasBeenSet; } /** *

(Deprecated) Your AWS account ID, which you assigned to an external ID key in * an IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM * role when importing endpoint definitions, but we removed this requirement. We * don't recommend use of external IDs for IAM roles that are assumed by Amazon * Pinpoint.

*/ inline void SetExternalId(const Aws::String& value) { m_externalIdHasBeenSet = true; m_externalId = value; } /** *

(Deprecated) Your AWS account ID, which you assigned to an external ID key in * an IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM * role when importing endpoint definitions, but we removed this requirement. We * don't recommend use of external IDs for IAM roles that are assumed by Amazon * Pinpoint.

*/ inline void SetExternalId(Aws::String&& value) { m_externalIdHasBeenSet = true; m_externalId = std::move(value); } /** *

(Deprecated) Your AWS account ID, which you assigned to an external ID key in * an IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM * role when importing endpoint definitions, but we removed this requirement. We * don't recommend use of external IDs for IAM roles that are assumed by Amazon * Pinpoint.

*/ inline void SetExternalId(const char* value) { m_externalIdHasBeenSet = true; m_externalId.assign(value); } /** *

(Deprecated) Your AWS account ID, which you assigned to an external ID key in * an IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM * role when importing endpoint definitions, but we removed this requirement. We * don't recommend use of external IDs for IAM roles that are assumed by Amazon * Pinpoint.

*/ inline ImportJobResource& WithExternalId(const Aws::String& value) { SetExternalId(value); return *this;} /** *

(Deprecated) Your AWS account ID, which you assigned to an external ID key in * an IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM * role when importing endpoint definitions, but we removed this requirement. We * don't recommend use of external IDs for IAM roles that are assumed by Amazon * Pinpoint.

*/ inline ImportJobResource& WithExternalId(Aws::String&& value) { SetExternalId(std::move(value)); return *this;} /** *

(Deprecated) Your AWS account ID, which you assigned to an external ID key in * an IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM * role when importing endpoint definitions, but we removed this requirement. We * don't recommend use of external IDs for IAM roles that are assumed by Amazon * Pinpoint.

*/ inline ImportJobResource& WithExternalId(const char* value) { SetExternalId(value); return *this;} /** *

The format of the files that contain the endpoint definitions to import. * Valid values are: CSV, for comma-separated values format; and, JSON, for * newline-delimited JSON format.

If the files are stored in an Amazon S3 * location and that location contains multiple files that use different formats, * Amazon Pinpoint imports data only from the files that use the specified * format.

*/ inline const Format& GetFormat() const{ return m_format; } /** *

The format of the files that contain the endpoint definitions to import. * Valid values are: CSV, for comma-separated values format; and, JSON, for * newline-delimited JSON format.

If the files are stored in an Amazon S3 * location and that location contains multiple files that use different formats, * Amazon Pinpoint imports data only from the files that use the specified * format.

*/ inline bool FormatHasBeenSet() const { return m_formatHasBeenSet; } /** *

The format of the files that contain the endpoint definitions to import. * Valid values are: CSV, for comma-separated values format; and, JSON, for * newline-delimited JSON format.

If the files are stored in an Amazon S3 * location and that location contains multiple files that use different formats, * Amazon Pinpoint imports data only from the files that use the specified * format.

*/ inline void SetFormat(const Format& value) { m_formatHasBeenSet = true; m_format = value; } /** *

The format of the files that contain the endpoint definitions to import. * Valid values are: CSV, for comma-separated values format; and, JSON, for * newline-delimited JSON format.

If the files are stored in an Amazon S3 * location and that location contains multiple files that use different formats, * Amazon Pinpoint imports data only from the files that use the specified * format.

*/ inline void SetFormat(Format&& value) { m_formatHasBeenSet = true; m_format = std::move(value); } /** *

The format of the files that contain the endpoint definitions to import. * Valid values are: CSV, for comma-separated values format; and, JSON, for * newline-delimited JSON format.

If the files are stored in an Amazon S3 * location and that location contains multiple files that use different formats, * Amazon Pinpoint imports data only from the files that use the specified * format.

*/ inline ImportJobResource& WithFormat(const Format& value) { SetFormat(value); return *this;} /** *

The format of the files that contain the endpoint definitions to import. * Valid values are: CSV, for comma-separated values format; and, JSON, for * newline-delimited JSON format.

If the files are stored in an Amazon S3 * location and that location contains multiple files that use different formats, * Amazon Pinpoint imports data only from the files that use the specified * format.

*/ inline ImportJobResource& WithFormat(Format&& value) { SetFormat(std::move(value)); return *this;} /** *

Specifies whether the import job registers the endpoints with Amazon * Pinpoint, when the endpoint definitions are imported.

*/ inline bool GetRegisterEndpoints() const{ return m_registerEndpoints; } /** *

Specifies whether the import job registers the endpoints with Amazon * Pinpoint, when the endpoint definitions are imported.

*/ inline bool RegisterEndpointsHasBeenSet() const { return m_registerEndpointsHasBeenSet; } /** *

Specifies whether the import job registers the endpoints with Amazon * Pinpoint, when the endpoint definitions are imported.

*/ inline void SetRegisterEndpoints(bool value) { m_registerEndpointsHasBeenSet = true; m_registerEndpoints = value; } /** *

Specifies whether the import job registers the endpoints with Amazon * Pinpoint, when the endpoint definitions are imported.

*/ inline ImportJobResource& WithRegisterEndpoints(bool value) { SetRegisterEndpoints(value); return *this;} /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location to * import endpoint definitions from.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location to * import endpoint definitions from.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location to * import endpoint definitions from.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location to * import endpoint definitions from.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location to * import endpoint definitions from.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location to * import endpoint definitions from.

*/ inline ImportJobResource& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location to * import endpoint definitions from.

*/ inline ImportJobResource& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management * (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location to * import endpoint definitions from.

*/ inline ImportJobResource& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains * the endpoint definitions to import. This location can be a folder or a single * file. If the location is a folder, Amazon Pinpoint imports endpoint definitions * from the files in this location, including any subfolders that the folder * contains.

The URL should be in the following format: * s3://bucket-name/folder-name/file-name. * The location can end with the key for an individual object or a prefix that * qualifies multiple objects.

*/ inline const Aws::String& GetS3Url() const{ return m_s3Url; } /** *

The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains * the endpoint definitions to import. This location can be a folder or a single * file. If the location is a folder, Amazon Pinpoint imports endpoint definitions * from the files in this location, including any subfolders that the folder * contains.

The URL should be in the following format: * s3://bucket-name/folder-name/file-name. * The location can end with the key for an individual object or a prefix that * qualifies multiple objects.

*/ inline bool S3UrlHasBeenSet() const { return m_s3UrlHasBeenSet; } /** *

The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains * the endpoint definitions to import. This location can be a folder or a single * file. If the location is a folder, Amazon Pinpoint imports endpoint definitions * from the files in this location, including any subfolders that the folder * contains.

The URL should be in the following format: * s3://bucket-name/folder-name/file-name. * The location can end with the key for an individual object or a prefix that * qualifies multiple objects.

*/ inline void SetS3Url(const Aws::String& value) { m_s3UrlHasBeenSet = true; m_s3Url = value; } /** *

The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains * the endpoint definitions to import. This location can be a folder or a single * file. If the location is a folder, Amazon Pinpoint imports endpoint definitions * from the files in this location, including any subfolders that the folder * contains.

The URL should be in the following format: * s3://bucket-name/folder-name/file-name. * The location can end with the key for an individual object or a prefix that * qualifies multiple objects.

*/ inline void SetS3Url(Aws::String&& value) { m_s3UrlHasBeenSet = true; m_s3Url = std::move(value); } /** *

The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains * the endpoint definitions to import. This location can be a folder or a single * file. If the location is a folder, Amazon Pinpoint imports endpoint definitions * from the files in this location, including any subfolders that the folder * contains.

The URL should be in the following format: * s3://bucket-name/folder-name/file-name. * The location can end with the key for an individual object or a prefix that * qualifies multiple objects.

*/ inline void SetS3Url(const char* value) { m_s3UrlHasBeenSet = true; m_s3Url.assign(value); } /** *

The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains * the endpoint definitions to import. This location can be a folder or a single * file. If the location is a folder, Amazon Pinpoint imports endpoint definitions * from the files in this location, including any subfolders that the folder * contains.

The URL should be in the following format: * s3://bucket-name/folder-name/file-name. * The location can end with the key for an individual object or a prefix that * qualifies multiple objects.

*/ inline ImportJobResource& WithS3Url(const Aws::String& value) { SetS3Url(value); return *this;} /** *

The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains * the endpoint definitions to import. This location can be a folder or a single * file. If the location is a folder, Amazon Pinpoint imports endpoint definitions * from the files in this location, including any subfolders that the folder * contains.

The URL should be in the following format: * s3://bucket-name/folder-name/file-name. * The location can end with the key for an individual object or a prefix that * qualifies multiple objects.

*/ inline ImportJobResource& WithS3Url(Aws::String&& value) { SetS3Url(std::move(value)); return *this;} /** *

The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains * the endpoint definitions to import. This location can be a folder or a single * file. If the location is a folder, Amazon Pinpoint imports endpoint definitions * from the files in this location, including any subfolders that the folder * contains.

The URL should be in the following format: * s3://bucket-name/folder-name/file-name. * The location can end with the key for an individual object or a prefix that * qualifies multiple objects.

*/ inline ImportJobResource& WithS3Url(const char* value) { SetS3Url(value); return *this;} /** *

The identifier for the segment that the import job updates or adds endpoint * definitions to, if the import job updates an existing segment.

*/ inline const Aws::String& GetSegmentId() const{ return m_segmentId; } /** *

The identifier for the segment that the import job updates or adds endpoint * definitions to, if the import job updates an existing segment.

*/ inline bool SegmentIdHasBeenSet() const { return m_segmentIdHasBeenSet; } /** *

The identifier for the segment that the import job updates or adds endpoint * definitions to, if the import job updates an existing segment.

*/ inline void SetSegmentId(const Aws::String& value) { m_segmentIdHasBeenSet = true; m_segmentId = value; } /** *

The identifier for the segment that the import job updates or adds endpoint * definitions to, if the import job updates an existing segment.

*/ inline void SetSegmentId(Aws::String&& value) { m_segmentIdHasBeenSet = true; m_segmentId = std::move(value); } /** *

The identifier for the segment that the import job updates or adds endpoint * definitions to, if the import job updates an existing segment.

*/ inline void SetSegmentId(const char* value) { m_segmentIdHasBeenSet = true; m_segmentId.assign(value); } /** *

The identifier for the segment that the import job updates or adds endpoint * definitions to, if the import job updates an existing segment.

*/ inline ImportJobResource& WithSegmentId(const Aws::String& value) { SetSegmentId(value); return *this;} /** *

The identifier for the segment that the import job updates or adds endpoint * definitions to, if the import job updates an existing segment.

*/ inline ImportJobResource& WithSegmentId(Aws::String&& value) { SetSegmentId(std::move(value)); return *this;} /** *

The identifier for the segment that the import job updates or adds endpoint * definitions to, if the import job updates an existing segment.

*/ inline ImportJobResource& WithSegmentId(const char* value) { SetSegmentId(value); return *this;} /** *

The custom name for the segment that's created by the import job, if the * value of the DefineSegment property is true.

*/ inline const Aws::String& GetSegmentName() const{ return m_segmentName; } /** *

The custom name for the segment that's created by the import job, if the * value of the DefineSegment property is true.

*/ inline bool SegmentNameHasBeenSet() const { return m_segmentNameHasBeenSet; } /** *

The custom name for the segment that's created by the import job, if the * value of the DefineSegment property is true.

*/ inline void SetSegmentName(const Aws::String& value) { m_segmentNameHasBeenSet = true; m_segmentName = value; } /** *

The custom name for the segment that's created by the import job, if the * value of the DefineSegment property is true.

*/ inline void SetSegmentName(Aws::String&& value) { m_segmentNameHasBeenSet = true; m_segmentName = std::move(value); } /** *

The custom name for the segment that's created by the import job, if the * value of the DefineSegment property is true.

*/ inline void SetSegmentName(const char* value) { m_segmentNameHasBeenSet = true; m_segmentName.assign(value); } /** *

The custom name for the segment that's created by the import job, if the * value of the DefineSegment property is true.

*/ inline ImportJobResource& WithSegmentName(const Aws::String& value) { SetSegmentName(value); return *this;} /** *

The custom name for the segment that's created by the import job, if the * value of the DefineSegment property is true.

*/ inline ImportJobResource& WithSegmentName(Aws::String&& value) { SetSegmentName(std::move(value)); return *this;} /** *

The custom name for the segment that's created by the import job, if the * value of the DefineSegment property is true.

*/ inline ImportJobResource& WithSegmentName(const char* value) { SetSegmentName(value); return *this;} private: bool m_defineSegment; bool m_defineSegmentHasBeenSet = false; Aws::String m_externalId; bool m_externalIdHasBeenSet = false; Format m_format; bool m_formatHasBeenSet = false; bool m_registerEndpoints; bool m_registerEndpointsHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::String m_s3Url; bool m_s3UrlHasBeenSet = false; Aws::String m_segmentId; bool m_segmentIdHasBeenSet = false; Aws::String m_segmentName; bool m_segmentNameHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws