/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents the data binding configuration for a specific property using data
* stored in Amazon Web Services. For Amazon Web Services connected properties, you
* can bind a property to data stored in an Amazon S3 bucket, an Amplify DataStore
* model or an authenticated user attribute.See Also:
AWS
* API Reference
An Amplify DataStore model.
*/ inline const Aws::String& GetModel() const{ return m_model; } /** *An Amplify DataStore model.
*/ inline bool ModelHasBeenSet() const { return m_modelHasBeenSet; } /** *An Amplify DataStore model.
*/ inline void SetModel(const Aws::String& value) { m_modelHasBeenSet = true; m_model = value; } /** *An Amplify DataStore model.
*/ inline void SetModel(Aws::String&& value) { m_modelHasBeenSet = true; m_model = std::move(value); } /** *An Amplify DataStore model.
*/ inline void SetModel(const char* value) { m_modelHasBeenSet = true; m_model.assign(value); } /** *An Amplify DataStore model.
*/ inline ComponentBindingPropertiesValueProperties& WithModel(const Aws::String& value) { SetModel(value); return *this;} /** *An Amplify DataStore model.
*/ inline ComponentBindingPropertiesValueProperties& WithModel(Aws::String&& value) { SetModel(std::move(value)); return *this;} /** *An Amplify DataStore model.
*/ inline ComponentBindingPropertiesValueProperties& WithModel(const char* value) { SetModel(value); return *this;} /** *The field to bind the data to.
*/ inline const Aws::String& GetField() const{ return m_field; } /** *The field to bind the data to.
*/ inline bool FieldHasBeenSet() const { return m_fieldHasBeenSet; } /** *The field to bind the data to.
*/ inline void SetField(const Aws::String& value) { m_fieldHasBeenSet = true; m_field = value; } /** *The field to bind the data to.
*/ inline void SetField(Aws::String&& value) { m_fieldHasBeenSet = true; m_field = std::move(value); } /** *The field to bind the data to.
*/ inline void SetField(const char* value) { m_fieldHasBeenSet = true; m_field.assign(value); } /** *The field to bind the data to.
*/ inline ComponentBindingPropertiesValueProperties& WithField(const Aws::String& value) { SetField(value); return *this;} /** *The field to bind the data to.
*/ inline ComponentBindingPropertiesValueProperties& WithField(Aws::String&& value) { SetField(std::move(value)); return *this;} /** *The field to bind the data to.
*/ inline ComponentBindingPropertiesValueProperties& WithField(const char* value) { SetField(value); return *this;} /** *A list of predicates for binding a component's properties to data.
*/ inline const Aws::VectorA list of predicates for binding a component's properties to data.
*/ inline bool PredicatesHasBeenSet() const { return m_predicatesHasBeenSet; } /** *A list of predicates for binding a component's properties to data.
*/ inline void SetPredicates(const Aws::VectorA list of predicates for binding a component's properties to data.
*/ inline void SetPredicates(Aws::VectorA list of predicates for binding a component's properties to data.
*/ inline ComponentBindingPropertiesValueProperties& WithPredicates(const Aws::VectorA list of predicates for binding a component's properties to data.
*/ inline ComponentBindingPropertiesValueProperties& WithPredicates(Aws::VectorA list of predicates for binding a component's properties to data.
*/ inline ComponentBindingPropertiesValueProperties& AddPredicates(const Predicate& value) { m_predicatesHasBeenSet = true; m_predicates.push_back(value); return *this; } /** *A list of predicates for binding a component's properties to data.
*/ inline ComponentBindingPropertiesValueProperties& AddPredicates(Predicate&& value) { m_predicatesHasBeenSet = true; m_predicates.push_back(std::move(value)); return *this; } /** *An authenticated user attribute.
*/ inline const Aws::String& GetUserAttribute() const{ return m_userAttribute; } /** *An authenticated user attribute.
*/ inline bool UserAttributeHasBeenSet() const { return m_userAttributeHasBeenSet; } /** *An authenticated user attribute.
*/ inline void SetUserAttribute(const Aws::String& value) { m_userAttributeHasBeenSet = true; m_userAttribute = value; } /** *An authenticated user attribute.
*/ inline void SetUserAttribute(Aws::String&& value) { m_userAttributeHasBeenSet = true; m_userAttribute = std::move(value); } /** *An authenticated user attribute.
*/ inline void SetUserAttribute(const char* value) { m_userAttributeHasBeenSet = true; m_userAttribute.assign(value); } /** *An authenticated user attribute.
*/ inline ComponentBindingPropertiesValueProperties& WithUserAttribute(const Aws::String& value) { SetUserAttribute(value); return *this;} /** *An authenticated user attribute.
*/ inline ComponentBindingPropertiesValueProperties& WithUserAttribute(Aws::String&& value) { SetUserAttribute(std::move(value)); return *this;} /** *An authenticated user attribute.
*/ inline ComponentBindingPropertiesValueProperties& WithUserAttribute(const char* value) { SetUserAttribute(value); return *this;} /** *An Amazon S3 bucket.
*/ inline const Aws::String& GetBucket() const{ return m_bucket; } /** *An Amazon S3 bucket.
*/ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } /** *An Amazon S3 bucket.
*/ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } /** *An Amazon S3 bucket.
*/ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } /** *An Amazon S3 bucket.
*/ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } /** *An Amazon S3 bucket.
*/ inline ComponentBindingPropertiesValueProperties& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} /** *An Amazon S3 bucket.
*/ inline ComponentBindingPropertiesValueProperties& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} /** *An Amazon S3 bucket.
*/ inline ComponentBindingPropertiesValueProperties& WithBucket(const char* value) { SetBucket(value); return *this;} /** *The storage key for an Amazon S3 bucket.
*/ inline const Aws::String& GetKey() const{ return m_key; } /** *The storage key for an Amazon S3 bucket.
*/ inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } /** *The storage key for an Amazon S3 bucket.
*/ inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } /** *The storage key for an Amazon S3 bucket.
*/ inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } /** *The storage key for an Amazon S3 bucket.
*/ inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } /** *The storage key for an Amazon S3 bucket.
*/ inline ComponentBindingPropertiesValueProperties& WithKey(const Aws::String& value) { SetKey(value); return *this;} /** *The storage key for an Amazon S3 bucket.
*/ inline ComponentBindingPropertiesValueProperties& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} /** *The storage key for an Amazon S3 bucket.
*/ inline ComponentBindingPropertiesValueProperties& WithKey(const char* value) { SetKey(value); return *this;} /** *The default value to assign to the property.
*/ inline const Aws::String& GetDefaultValue() const{ return m_defaultValue; } /** *The default value to assign to the property.
*/ inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; } /** *The default value to assign to the property.
*/ inline void SetDefaultValue(const Aws::String& value) { m_defaultValueHasBeenSet = true; m_defaultValue = value; } /** *The default value to assign to the property.
*/ inline void SetDefaultValue(Aws::String&& value) { m_defaultValueHasBeenSet = true; m_defaultValue = std::move(value); } /** *The default value to assign to the property.
*/ inline void SetDefaultValue(const char* value) { m_defaultValueHasBeenSet = true; m_defaultValue.assign(value); } /** *The default value to assign to the property.
*/ inline ComponentBindingPropertiesValueProperties& WithDefaultValue(const Aws::String& value) { SetDefaultValue(value); return *this;} /** *The default value to assign to the property.
*/ inline ComponentBindingPropertiesValueProperties& WithDefaultValue(Aws::String&& value) { SetDefaultValue(std::move(value)); return *this;} /** *The default value to assign to the property.
*/ inline ComponentBindingPropertiesValueProperties& WithDefaultValue(const char* value) { SetDefaultValue(value); return *this;} /** *The name of a component slot.
*/ inline const Aws::String& GetSlotName() const{ return m_slotName; } /** *The name of a component slot.
*/ inline bool SlotNameHasBeenSet() const { return m_slotNameHasBeenSet; } /** *The name of a component slot.
*/ inline void SetSlotName(const Aws::String& value) { m_slotNameHasBeenSet = true; m_slotName = value; } /** *The name of a component slot.
*/ inline void SetSlotName(Aws::String&& value) { m_slotNameHasBeenSet = true; m_slotName = std::move(value); } /** *The name of a component slot.
*/ inline void SetSlotName(const char* value) { m_slotNameHasBeenSet = true; m_slotName.assign(value); } /** *The name of a component slot.
*/ inline ComponentBindingPropertiesValueProperties& WithSlotName(const Aws::String& value) { SetSlotName(value); return *this;} /** *The name of a component slot.
*/ inline ComponentBindingPropertiesValueProperties& WithSlotName(Aws::String&& value) { SetSlotName(std::move(value)); return *this;} /** *The name of a component slot.
*/ inline ComponentBindingPropertiesValueProperties& WithSlotName(const char* value) { SetSlotName(value); return *this;} private: Aws::String m_model; bool m_modelHasBeenSet = false; Aws::String m_field; bool m_fieldHasBeenSet = false; Aws::Vector