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

A view is a structure that defines a set of filters that provide a view into * the information in the Amazon Web Services Resource Explorer index. The filters * specify which information from the index is visible to the users of the view. * For example, you can specify filters that include only resources that are tagged * with the key "ENV" and the value "DEVELOPMENT" in the results returned by this * view. You could also create a second view that includes only resources that are * tagged with "ENV" and "PRODUCTION".

See Also:

AWS * API Reference

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

An array of SearchFilter objects that specify which resources can be * included in the results of queries made using this view.

*/ inline const SearchFilter& GetFilters() const{ return m_filters; } /** *

An array of SearchFilter objects that specify which resources can be * included in the results of queries made using this view.

*/ inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } /** *

An array of SearchFilter objects that specify which resources can be * included in the results of queries made using this view.

*/ inline void SetFilters(const SearchFilter& value) { m_filtersHasBeenSet = true; m_filters = value; } /** *

An array of SearchFilter objects that specify which resources can be * included in the results of queries made using this view.

*/ inline void SetFilters(SearchFilter&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } /** *

An array of SearchFilter objects that specify which resources can be * included in the results of queries made using this view.

*/ inline View& WithFilters(const SearchFilter& value) { SetFilters(value); return *this;} /** *

An array of SearchFilter objects that specify which resources can be * included in the results of queries made using this view.

*/ inline View& WithFilters(SearchFilter&& value) { SetFilters(std::move(value)); return *this;} /** *

A structure that contains additional information about the view.

*/ inline const Aws::Vector& GetIncludedProperties() const{ return m_includedProperties; } /** *

A structure that contains additional information about the view.

*/ inline bool IncludedPropertiesHasBeenSet() const { return m_includedPropertiesHasBeenSet; } /** *

A structure that contains additional information about the view.

*/ inline void SetIncludedProperties(const Aws::Vector& value) { m_includedPropertiesHasBeenSet = true; m_includedProperties = value; } /** *

A structure that contains additional information about the view.

*/ inline void SetIncludedProperties(Aws::Vector&& value) { m_includedPropertiesHasBeenSet = true; m_includedProperties = std::move(value); } /** *

A structure that contains additional information about the view.

*/ inline View& WithIncludedProperties(const Aws::Vector& value) { SetIncludedProperties(value); return *this;} /** *

A structure that contains additional information about the view.

*/ inline View& WithIncludedProperties(Aws::Vector&& value) { SetIncludedProperties(std::move(value)); return *this;} /** *

A structure that contains additional information about the view.

*/ inline View& AddIncludedProperties(const IncludedProperty& value) { m_includedPropertiesHasBeenSet = true; m_includedProperties.push_back(value); return *this; } /** *

A structure that contains additional information about the view.

*/ inline View& AddIncludedProperties(IncludedProperty&& value) { m_includedPropertiesHasBeenSet = true; m_includedProperties.push_back(std::move(value)); return *this; } /** *

The date and time when this view was last modified.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } /** *

The date and time when this view was last modified.

*/ inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; } /** *

The date and time when this view was last modified.

*/ inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = value; } /** *

The date and time when this view was last modified.

*/ inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::move(value); } /** *

The date and time when this view was last modified.

*/ inline View& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;} /** *

The date and time when this view was last modified.

*/ inline View& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;} /** *

The Amazon Web Services account that owns this view.

*/ inline const Aws::String& GetOwner() const{ return m_owner; } /** *

The Amazon Web Services account that owns this view.

*/ inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; } /** *

The Amazon Web Services account that owns this view.

*/ inline void SetOwner(const Aws::String& value) { m_ownerHasBeenSet = true; m_owner = value; } /** *

The Amazon Web Services account that owns this view.

*/ inline void SetOwner(Aws::String&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); } /** *

The Amazon Web Services account that owns this view.

*/ inline void SetOwner(const char* value) { m_ownerHasBeenSet = true; m_owner.assign(value); } /** *

The Amazon Web Services account that owns this view.

*/ inline View& WithOwner(const Aws::String& value) { SetOwner(value); return *this;} /** *

The Amazon Web Services account that owns this view.

*/ inline View& WithOwner(Aws::String&& value) { SetOwner(std::move(value)); return *this;} /** *

The Amazon Web Services account that owns this view.

*/ inline View& WithOwner(const char* value) { SetOwner(value); return *this;} /** *

An Amazon * resource name (ARN) of an Amazon Web Services account, an organization, or * an organizational unit (OU) that specifies whether this view includes resources * from only the specified Amazon Web Services account, all accounts in the * specified organization, or all accounts in the specified OU.

If not * specified, the value defaults to the Amazon Web Services account used to call * this operation.

*/ inline const Aws::String& GetScope() const{ return m_scope; } /** *

An Amazon * resource name (ARN) of an Amazon Web Services account, an organization, or * an organizational unit (OU) that specifies whether this view includes resources * from only the specified Amazon Web Services account, all accounts in the * specified organization, or all accounts in the specified OU.

If not * specified, the value defaults to the Amazon Web Services account used to call * this operation.

*/ inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; } /** *

An Amazon * resource name (ARN) of an Amazon Web Services account, an organization, or * an organizational unit (OU) that specifies whether this view includes resources * from only the specified Amazon Web Services account, all accounts in the * specified organization, or all accounts in the specified OU.

If not * specified, the value defaults to the Amazon Web Services account used to call * this operation.

*/ inline void SetScope(const Aws::String& value) { m_scopeHasBeenSet = true; m_scope = value; } /** *

An Amazon * resource name (ARN) of an Amazon Web Services account, an organization, or * an organizational unit (OU) that specifies whether this view includes resources * from only the specified Amazon Web Services account, all accounts in the * specified organization, or all accounts in the specified OU.

If not * specified, the value defaults to the Amazon Web Services account used to call * this operation.

*/ inline void SetScope(Aws::String&& value) { m_scopeHasBeenSet = true; m_scope = std::move(value); } /** *

An Amazon * resource name (ARN) of an Amazon Web Services account, an organization, or * an organizational unit (OU) that specifies whether this view includes resources * from only the specified Amazon Web Services account, all accounts in the * specified organization, or all accounts in the specified OU.

If not * specified, the value defaults to the Amazon Web Services account used to call * this operation.

*/ inline void SetScope(const char* value) { m_scopeHasBeenSet = true; m_scope.assign(value); } /** *

An Amazon * resource name (ARN) of an Amazon Web Services account, an organization, or * an organizational unit (OU) that specifies whether this view includes resources * from only the specified Amazon Web Services account, all accounts in the * specified organization, or all accounts in the specified OU.

If not * specified, the value defaults to the Amazon Web Services account used to call * this operation.

*/ inline View& WithScope(const Aws::String& value) { SetScope(value); return *this;} /** *

An Amazon * resource name (ARN) of an Amazon Web Services account, an organization, or * an organizational unit (OU) that specifies whether this view includes resources * from only the specified Amazon Web Services account, all accounts in the * specified organization, or all accounts in the specified OU.

If not * specified, the value defaults to the Amazon Web Services account used to call * this operation.

*/ inline View& WithScope(Aws::String&& value) { SetScope(std::move(value)); return *this;} /** *

An Amazon * resource name (ARN) of an Amazon Web Services account, an organization, or * an organizational unit (OU) that specifies whether this view includes resources * from only the specified Amazon Web Services account, all accounts in the * specified organization, or all accounts in the specified OU.

If not * specified, the value defaults to the Amazon Web Services account used to call * this operation.

*/ inline View& WithScope(const char* value) { SetScope(value); return *this;} /** *

The Amazon * resource name (ARN) of the view.

*/ inline const Aws::String& GetViewArn() const{ return m_viewArn; } /** *

The Amazon * resource name (ARN) of the view.

*/ inline bool ViewArnHasBeenSet() const { return m_viewArnHasBeenSet; } /** *

The Amazon * resource name (ARN) of the view.

*/ inline void SetViewArn(const Aws::String& value) { m_viewArnHasBeenSet = true; m_viewArn = value; } /** *

The Amazon * resource name (ARN) of the view.

*/ inline void SetViewArn(Aws::String&& value) { m_viewArnHasBeenSet = true; m_viewArn = std::move(value); } /** *

The Amazon * resource name (ARN) of the view.

*/ inline void SetViewArn(const char* value) { m_viewArnHasBeenSet = true; m_viewArn.assign(value); } /** *

The Amazon * resource name (ARN) of the view.

*/ inline View& WithViewArn(const Aws::String& value) { SetViewArn(value); return *this;} /** *

The Amazon * resource name (ARN) of the view.

*/ inline View& WithViewArn(Aws::String&& value) { SetViewArn(std::move(value)); return *this;} /** *

The Amazon * resource name (ARN) of the view.

*/ inline View& WithViewArn(const char* value) { SetViewArn(value); return *this;} private: SearchFilter m_filters; bool m_filtersHasBeenSet = false; Aws::Vector m_includedProperties; bool m_includedPropertiesHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedAt; bool m_lastUpdatedAtHasBeenSet = false; Aws::String m_owner; bool m_ownerHasBeenSet = false; Aws::String m_scope; bool m_scopeHasBeenSet = false; Aws::String m_viewArn; bool m_viewArnHasBeenSet = false; }; } // namespace Model } // namespace ResourceExplorer2 } // namespace Aws