Google Cloud Bigtable C++ Client  1.1.0
A C++ Client Library for Google Cloud Bigtable
Functions
google::cloud::bigtable::GOOGLE_CLOUD_CPP_NS Namespace Reference

Functions

template<class InputIt >
google::iam::v1::Policy IamPolicy (InputIt first_binding, InputIt last_binding, std::string etag="", std::int32_t version=0)
 Create a google::iam::v1::Policy. More...
 
google::iam::v1::Policy IamPolicy (std::initializer_list< google::iam::v1::Binding > bindings, std::string etag="", std::int32_t version=0)
 Create a google::iam::v1::Policy. More...
 
google::iam::v1::Policy IamPolicy (std::vector< google::iam::v1::Binding > bindings, std::string etag="", std::int32_t version=0)
 Create a google::iam::v1::Policy. More...
 
std::ostream & operator<< (std::ostream &os, google::iam::v1::Policy const &rhs)
 
template<typename Functor >
size_t RemoveBindingsFromPolicyIf (google::iam::v1::Policy &policy, Functor pred)
 Remove all bindings matching a predicate from a policy. More...
 
void RemoveBindingFromPolicy (google::iam::v1::Policy &policy, google::protobuf::RepeatedPtrField< google::iam::v1::Binding >::iterator to_remove)
 Remove a specific binding from a policy. More...
 
template<class InputIt >
google::iam::v1::Binding IamBinding (std::string role, InputIt begin, InputIt end)
 Create a google::iam::v1::Binding. More...
 
google::iam::v1::Binding IamBinding (std::string role, std::initializer_list< std::string > members)
 Create a google::iam::v1::Binding. More...
 
google::iam::v1::Binding IamBinding (std::string role, std::vector< std::string > members)
 Create a google::iam::v1::Binding. More...
 
std::ostream & operator<< (std::ostream &os, google::iam::v1::Binding const &binding)
 
template<class InputIt >
google::iam::v1::Binding IamBindingAppendMembers (google::iam::v1::Binding binding, InputIt begin, InputIt end)
 Append members to a google::iam::v1::Binding. More...
 

Function Documentation

◆ IamBinding() [1/3]

template<class InputIt >
google::iam::v1::Binding google::cloud::bigtable::GOOGLE_CLOUD_CPP_NS::IamBinding ( std::string  role,
InputIt  begin,
InputIt  end 
)

Create a google::iam::v1::Binding.

See also
https://cloud.google.com/resource-manager/reference/rest/Shared.Types/Policy for more information about a IAM policies.
Parameters
rolethe role which is assigned to members
beginiterator pointing to the first member
enditerator pointing to past last member
Returns
The binding

Definition at line 95 of file iam_binding.h.

◆ IamBinding() [2/3]

google::iam::v1::Binding google::cloud::bigtable::GOOGLE_CLOUD_CPP_NS::IamBinding ( std::string  role,
std::initializer_list< std::string >  members 
)

Create a google::iam::v1::Binding.

See also
https://cloud.google.com/resource-manager/reference/rest/Shared.Types/Policy for more information about a IAM policies.
Parameters
rolethe role which is assigned to members
membersinitializer_list of members
Returns
The binding

Definition at line 25 of file iam_binding.cc.

◆ IamBinding() [3/3]

google::iam::v1::Binding google::cloud::bigtable::GOOGLE_CLOUD_CPP_NS::IamBinding ( std::string  role,
std::vector< std::string >  members 
)

Create a google::iam::v1::Binding.

See also
https://cloud.google.com/resource-manager/reference/rest/Shared.Types/Policy for more information about a IAM policies.
Parameters
rolethe role which is assigned to members
membersvector of members
Returns
The binding

Definition at line 30 of file iam_binding.cc.

◆ IamBindingAppendMembers()

template<class InputIt >
google::iam::v1::Binding google::cloud::bigtable::GOOGLE_CLOUD_CPP_NS::IamBindingAppendMembers ( google::iam::v1::Binding  binding,
InputIt  begin,
InputIt  end 
)

Append members to a google::iam::v1::Binding.

Parameters
bindingthe role which is assigned to members
beginiterator pointing to the first member
enditerator pointing to past last member
Returns
The binding with appended members

Definition at line 86 of file iam_binding.h.

◆ IamPolicy() [1/3]

template<class InputIt >
google::iam::v1::Policy google::cloud::bigtable::GOOGLE_CLOUD_CPP_NS::IamPolicy ( InputIt  first_binding,
InputIt  last_binding,
std::string  etag = "",
std::int32_t  version = 0 
)

Create a google::iam::v1::Policy.

See also
https://cloud.google.com/resource-manager/reference/rest/Shared.Types/Policy for more information about a IAM policies.
https://tools.ietf.org/html/rfc7232#section-2.3 for more information about ETags.
Warning
ETags are currently not used by Cloud Bigtable.
Parameters
first_bindingiterator pointing to the first google::iam::v1::Binding
last_bindingiterator pointing to past last google::iam::v1::Binding
etagused for optimistic concurrency control
versioncurrently unused
Returns
The policy

Definition at line 46 of file iam_policy.h.

◆ IamPolicy() [2/3]

google::iam::v1::Policy google::cloud::bigtable::GOOGLE_CLOUD_CPP_NS::IamPolicy ( std::initializer_list< google::iam::v1::Binding >  bindings,
std::string  etag = "",
std::int32_t  version = 0 
)

Create a google::iam::v1::Policy.

See also
https://cloud.google.com/resource-manager/reference/rest/Shared.Types/Policy for more information about a IAM policies.
https://tools.ietf.org/html/rfc7232#section-2.3 for more information about ETags.
Warning
ETags are currently not used by Cloud Bigtable.
Parameters
bindingsinitializer_list of google::iam::v1::Binding
etagused for optimistic concurrency control
versioncurrently unused
Returns
The policy

Definition at line 23 of file iam_policy.cc.

◆ IamPolicy() [3/3]

google::iam::v1::Policy google::cloud::bigtable::GOOGLE_CLOUD_CPP_NS::IamPolicy ( std::vector< google::iam::v1::Binding >  bindings,
std::string  etag = "",
std::int32_t  version = 0 
)

Create a google::iam::v1::Policy.

See also
https://cloud.google.com/resource-manager/reference/rest/Shared.Types/Policy for more information about a IAM policies.
https://tools.ietf.org/html/rfc7232#section-2.3 for more information about ETags.
Warning
ETags are currently not used by Cloud Bigtable.
Parameters
bindingsvector of google::iam::v1::Binding
etagused for optimistic concurrency control
versioncurrently unused
Returns
The policy

Definition at line 29 of file iam_policy.cc.

◆ operator<<() [1/2]

std::ostream & google::cloud::bigtable::GOOGLE_CLOUD_CPP_NS::operator<< ( std::ostream &  os,
google::iam::v1::Binding const &  binding 
)

Definition at line 40 of file iam_binding.cc.

◆ operator<<() [2/2]

std::ostream & google::cloud::bigtable::GOOGLE_CLOUD_CPP_NS::operator<< ( std::ostream &  os,
google::iam::v1::Policy const &  rhs 
)

Definition at line 41 of file iam_policy.cc.

◆ RemoveBindingFromPolicy()

void google::cloud::bigtable::GOOGLE_CLOUD_CPP_NS::RemoveBindingFromPolicy ( google::iam::v1::Policy &  policy,
google::protobuf::RepeatedPtrField< google::iam::v1::Binding >::iterator  to_remove 
)

Remove a specific binding from a policy.

Parameters
policythe policy to remove from
to_removethe iterator indicating the binding; it should be retrieved from the mutable_bindings() member

Definition at line 52 of file iam_policy.cc.

◆ RemoveBindingsFromPolicyIf()

template<typename Functor >
size_t google::cloud::bigtable::GOOGLE_CLOUD_CPP_NS::RemoveBindingsFromPolicyIf ( google::iam::v1::Policy &  policy,
Functor  pred 
)

Remove all bindings matching a predicate from a policy.

Parameters
policythe policy to remove from
predpredicate indicating whether to remove a binding
Template Parameters
Functorthe type of the predicate; it should be invocable with google::iam::v1::Binding const& and return a bool.
Returns
number of bindings removed.

Definition at line 116 of file iam_policy.h.