Google Cloud Storage C++ Client  1.32.1
A C++ Client Library for Google Cloud Storage
Classes | Public Member Functions | Friends | List of all members
google::cloud::storage::v1::NativeIamBinding Class Reference

Represents a Binding which associates a member with a particular role which can be used for Identity and Access management for Cloud Platform Resources. More...

#include <google/cloud/storage/iam_policy.h>

Classes

struct  Impl
 

Public Member Functions

 NativeIamBinding (std::string role, std::vector< std::string > members)
 
 NativeIamBinding (std::string role, std::vector< std::string > members, NativeExpression condition)
 
 ~NativeIamBinding ()
 
 NativeIamBinding (NativeIamBinding const &other)
 
NativeIamBindingoperator= (NativeIamBinding const &other)
 
 NativeIamBinding (NativeIamBinding &&) noexcept
 
NativeIamBindingoperator= (NativeIamBinding &&) noexcept
 
std::string role () const
 
void set_role (std::string role)
 
std::vector< std::string > const & members () const
 
std::vector< std::string > & members ()
 
NativeExpression const & condition () const
 
NativeExpressioncondition ()
 
void set_condition (NativeExpression condition)
 
bool has_condition () const
 
void clear_condition ()
 

Friends

class NativeIamPolicy
 

Detailed Description

Represents a Binding which associates a member with a particular role which can be used for Identity and Access management for Cloud Platform Resources.

For more information about a Binding please refer to: https://cloud.google.com/resource-manager/reference/rest/Shared.Types/Binding

Compared to IamBinding, NativeIamBinding is a more future-proof solution - it gracefully tolerates changes in the underlying protocol. If IamBinding contains more fields than just a role and members, in the future, NativeIamBinding will preserve them (contrary to IamBinding).

Definition at line 94 of file iam_policy.h.

Constructor & Destructor Documentation

◆ NativeIamBinding() [1/4]

google::cloud::storage::v1::NativeIamBinding::NativeIamBinding ( std::string  role,
std::vector< std::string >  members 
)

Definition at line 262 of file iam_policy.cc.

◆ NativeIamBinding() [2/4]

google::cloud::storage::v1::NativeIamBinding::NativeIamBinding ( std::string  role,
std::vector< std::string >  members,
NativeExpression  condition 
)

Definition at line 268 of file iam_policy.cc.

◆ ~NativeIamBinding()

google::cloud::storage::v1::NativeIamBinding::~NativeIamBinding ( )
default

◆ NativeIamBinding() [3/4]

google::cloud::storage::v1::NativeIamBinding::NativeIamBinding ( NativeIamBinding const &  other)

Definition at line 274 of file iam_policy.cc.

◆ NativeIamBinding() [4/4]

google::cloud::storage::v1::NativeIamBinding::NativeIamBinding ( NativeIamBinding &&  rhs)
noexcept

Definition at line 287 of file iam_policy.cc.

Member Function Documentation

◆ clear_condition()

void google::cloud::storage::v1::NativeIamBinding::clear_condition ( )

Definition at line 325 of file iam_policy.cc.

◆ condition() [1/2]

NativeExpression & google::cloud::storage::v1::NativeIamBinding::condition ( )

Definition at line 315 of file iam_policy.cc.

◆ condition() [2/2]

NativeExpression const & google::cloud::storage::v1::NativeIamBinding::condition ( ) const

Definition at line 311 of file iam_policy.cc.

◆ has_condition()

bool google::cloud::storage::v1::NativeIamBinding::has_condition ( ) const

Definition at line 321 of file iam_policy.cc.

◆ members() [1/2]

std::vector< std::string > & google::cloud::storage::v1::NativeIamBinding::members ( )

Definition at line 307 of file iam_policy.cc.

◆ members() [2/2]

std::vector< std::string > const & google::cloud::storage::v1::NativeIamBinding::members ( ) const

Definition at line 303 of file iam_policy.cc.

◆ operator=() [1/2]

NativeIamBinding & google::cloud::storage::v1::NativeIamBinding::operator= ( NativeIamBinding &&  rhs)
noexcept

Definition at line 290 of file iam_policy.cc.

◆ operator=() [2/2]

NativeIamBinding & google::cloud::storage::v1::NativeIamBinding::operator= ( NativeIamBinding const &  other)

Definition at line 282 of file iam_policy.cc.

◆ role()

std::string google::cloud::storage::v1::NativeIamBinding::role ( ) const

Definition at line 295 of file iam_policy.cc.

◆ set_condition()

void google::cloud::storage::v1::NativeIamBinding::set_condition ( NativeExpression  condition)

Definition at line 317 of file iam_policy.cc.

◆ set_role()

void google::cloud::storage::v1::NativeIamBinding::set_role ( std::string  role)

Definition at line 299 of file iam_policy.cc.

Friends And Related Function Documentation

◆ NativeIamPolicy

friend class NativeIamPolicy
friend

Definition at line 122 of file iam_policy.h.