/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace AmplifyUIBuilder { namespace Model { /** *

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

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

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::Vector& GetPredicates() const{ return m_predicates; } /** *

A 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::Vector& value) { m_predicatesHasBeenSet = true; m_predicates = value; } /** *

A list of predicates for binding a component's properties to data.

*/ inline void SetPredicates(Aws::Vector&& value) { m_predicatesHasBeenSet = true; m_predicates = std::move(value); } /** *

A list of predicates for binding a component's properties to data.

*/ inline ComponentBindingPropertiesValueProperties& WithPredicates(const Aws::Vector& value) { SetPredicates(value); return *this;} /** *

A list of predicates for binding a component's properties to data.

*/ inline ComponentBindingPropertiesValueProperties& WithPredicates(Aws::Vector&& value) { SetPredicates(std::move(value)); return *this;} /** *

A 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 m_predicates; bool m_predicatesHasBeenSet = false; Aws::String m_userAttribute; bool m_userAttributeHasBeenSet = false; Aws::String m_bucket; bool m_bucketHasBeenSet = false; Aws::String m_key; bool m_keyHasBeenSet = false; Aws::String m_defaultValue; bool m_defaultValueHasBeenSet = false; Aws::String m_slotName; bool m_slotNameHasBeenSet = false; }; } // namespace Model } // namespace AmplifyUIBuilder } // namespace Aws