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

The reference that identifies an object.

See Also:

AWS * API Reference

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

A path selector supports easy selection of an object by the parent/child * links leading to it from the directory root. Use the link names from each * parent/child link to construct the path. Path selectors start with a slash (/) * and link names are separated by slashes. For more information about paths, see * Access * Objects. You can identify an object in one of the following ways:

    *
  • $ObjectIdentifier - An object identifier is an opaque string * provided by Amazon Cloud Directory. When creating objects, the system will * provide you with the identifier of the created object. An object’s identifier is * immutable and no two objects will ever share the same object identifier. To * identify an object with ObjectIdentifier, the ObjectIdentifier must be wrapped * in double quotes.

  • /some/path - Identifies the object * based on path

  • #SomeBatchReference - Identifies the * object in a batch call

*/ inline const Aws::String& GetSelector() const{ return m_selector; } /** *

A path selector supports easy selection of an object by the parent/child * links leading to it from the directory root. Use the link names from each * parent/child link to construct the path. Path selectors start with a slash (/) * and link names are separated by slashes. For more information about paths, see * Access * Objects. You can identify an object in one of the following ways:

    *
  • $ObjectIdentifier - An object identifier is an opaque string * provided by Amazon Cloud Directory. When creating objects, the system will * provide you with the identifier of the created object. An object’s identifier is * immutable and no two objects will ever share the same object identifier. To * identify an object with ObjectIdentifier, the ObjectIdentifier must be wrapped * in double quotes.

  • /some/path - Identifies the object * based on path

  • #SomeBatchReference - Identifies the * object in a batch call

*/ inline bool SelectorHasBeenSet() const { return m_selectorHasBeenSet; } /** *

A path selector supports easy selection of an object by the parent/child * links leading to it from the directory root. Use the link names from each * parent/child link to construct the path. Path selectors start with a slash (/) * and link names are separated by slashes. For more information about paths, see * Access * Objects. You can identify an object in one of the following ways:

    *
  • $ObjectIdentifier - An object identifier is an opaque string * provided by Amazon Cloud Directory. When creating objects, the system will * provide you with the identifier of the created object. An object’s identifier is * immutable and no two objects will ever share the same object identifier. To * identify an object with ObjectIdentifier, the ObjectIdentifier must be wrapped * in double quotes.

  • /some/path - Identifies the object * based on path

  • #SomeBatchReference - Identifies the * object in a batch call

*/ inline void SetSelector(const Aws::String& value) { m_selectorHasBeenSet = true; m_selector = value; } /** *

A path selector supports easy selection of an object by the parent/child * links leading to it from the directory root. Use the link names from each * parent/child link to construct the path. Path selectors start with a slash (/) * and link names are separated by slashes. For more information about paths, see * Access * Objects. You can identify an object in one of the following ways:

    *
  • $ObjectIdentifier - An object identifier is an opaque string * provided by Amazon Cloud Directory. When creating objects, the system will * provide you with the identifier of the created object. An object’s identifier is * immutable and no two objects will ever share the same object identifier. To * identify an object with ObjectIdentifier, the ObjectIdentifier must be wrapped * in double quotes.

  • /some/path - Identifies the object * based on path

  • #SomeBatchReference - Identifies the * object in a batch call

*/ inline void SetSelector(Aws::String&& value) { m_selectorHasBeenSet = true; m_selector = std::move(value); } /** *

A path selector supports easy selection of an object by the parent/child * links leading to it from the directory root. Use the link names from each * parent/child link to construct the path. Path selectors start with a slash (/) * and link names are separated by slashes. For more information about paths, see * Access * Objects. You can identify an object in one of the following ways:

    *
  • $ObjectIdentifier - An object identifier is an opaque string * provided by Amazon Cloud Directory. When creating objects, the system will * provide you with the identifier of the created object. An object’s identifier is * immutable and no two objects will ever share the same object identifier. To * identify an object with ObjectIdentifier, the ObjectIdentifier must be wrapped * in double quotes.

  • /some/path - Identifies the object * based on path

  • #SomeBatchReference - Identifies the * object in a batch call

*/ inline void SetSelector(const char* value) { m_selectorHasBeenSet = true; m_selector.assign(value); } /** *

A path selector supports easy selection of an object by the parent/child * links leading to it from the directory root. Use the link names from each * parent/child link to construct the path. Path selectors start with a slash (/) * and link names are separated by slashes. For more information about paths, see * Access * Objects. You can identify an object in one of the following ways:

    *
  • $ObjectIdentifier - An object identifier is an opaque string * provided by Amazon Cloud Directory. When creating objects, the system will * provide you with the identifier of the created object. An object’s identifier is * immutable and no two objects will ever share the same object identifier. To * identify an object with ObjectIdentifier, the ObjectIdentifier must be wrapped * in double quotes.

  • /some/path - Identifies the object * based on path

  • #SomeBatchReference - Identifies the * object in a batch call

*/ inline ObjectReference& WithSelector(const Aws::String& value) { SetSelector(value); return *this;} /** *

A path selector supports easy selection of an object by the parent/child * links leading to it from the directory root. Use the link names from each * parent/child link to construct the path. Path selectors start with a slash (/) * and link names are separated by slashes. For more information about paths, see * Access * Objects. You can identify an object in one of the following ways:

    *
  • $ObjectIdentifier - An object identifier is an opaque string * provided by Amazon Cloud Directory. When creating objects, the system will * provide you with the identifier of the created object. An object’s identifier is * immutable and no two objects will ever share the same object identifier. To * identify an object with ObjectIdentifier, the ObjectIdentifier must be wrapped * in double quotes.

  • /some/path - Identifies the object * based on path

  • #SomeBatchReference - Identifies the * object in a batch call

*/ inline ObjectReference& WithSelector(Aws::String&& value) { SetSelector(std::move(value)); return *this;} /** *

A path selector supports easy selection of an object by the parent/child * links leading to it from the directory root. Use the link names from each * parent/child link to construct the path. Path selectors start with a slash (/) * and link names are separated by slashes. For more information about paths, see * Access * Objects. You can identify an object in one of the following ways:

    *
  • $ObjectIdentifier - An object identifier is an opaque string * provided by Amazon Cloud Directory. When creating objects, the system will * provide you with the identifier of the created object. An object’s identifier is * immutable and no two objects will ever share the same object identifier. To * identify an object with ObjectIdentifier, the ObjectIdentifier must be wrapped * in double quotes.

  • /some/path - Identifies the object * based on path

  • #SomeBatchReference - Identifies the * object in a batch call

*/ inline ObjectReference& WithSelector(const char* value) { SetSelector(value); return *this;} private: Aws::String m_selector; bool m_selectorHasBeenSet = false; }; } // namespace Model } // namespace CloudDirectory } // namespace Aws