go: cloud.google.com/go/securitycenter/apiv1 Index | Examples | Files

package securitycenter

import "cloud.google.com/go/securitycenter/apiv1"

Package securitycenter is an auto-generated package for the Cloud Security Command Center API.

NOTE: This package is in alpha. It is not stable, and is likely to change.

Cloud Security Command Center API provides access to temporal views of assets and findings within an organization.

Use of Context

The ctx passed to NewClient is used for authentication requests and for creating the underlying connection, but is not used for subsequent calls. Individual methods on the client use the ctx given to them.

To close the open connection, use the Close() method.

For information about setting deadlines, reusing contexts, and more please visit godoc.org/cloud.google.com/go.

Index

Examples

Package Files

doc.go security_center_client.go

func DefaultAuthScopes Uses

func DefaultAuthScopes() []string

DefaultAuthScopes reports the default set of authentication scopes to use with this package.

type CallOptions Uses

type CallOptions struct {
    CreateSource               []gax.CallOption
    CreateFinding              []gax.CallOption
    GetIamPolicy               []gax.CallOption
    GetOrganizationSettings    []gax.CallOption
    GetSource                  []gax.CallOption
    GroupAssets                []gax.CallOption
    GroupFindings              []gax.CallOption
    ListAssets                 []gax.CallOption
    ListFindings               []gax.CallOption
    ListSources                []gax.CallOption
    RunAssetDiscovery          []gax.CallOption
    SetFindingState            []gax.CallOption
    SetIamPolicy               []gax.CallOption
    TestIamPermissions         []gax.CallOption
    UpdateFinding              []gax.CallOption
    UpdateOrganizationSettings []gax.CallOption
    UpdateSource               []gax.CallOption
    UpdateSecurityMarks        []gax.CallOption
}

CallOptions contains the retry settings for each method of Client.

type Client Uses

type Client struct {

    // LROClient is used internally to handle longrunning operations.
    // It is exposed so that its CallOptions can be modified if required.
    // Users should not Close this client.
    LROClient *lroauto.OperationsClient

    // The call options for this service.
    CallOptions *CallOptions
    // contains filtered or unexported fields
}

Client is a client for interacting with Cloud Security Command Center API.

Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.

func NewClient Uses

func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error)

NewClient creates a new security center client.

V1 APIs for Security Center service.

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use client.
_ = c

func (*Client) Close Uses

func (c *Client) Close() error

Close closes the connection to the API service. The user should invoke this when the client is no longer required.

func (*Client) Connection Uses

func (c *Client) Connection() *grpc.ClientConn

Connection returns the client's connection to the API service.

func (*Client) CreateFinding Uses

func (c *Client) CreateFinding(ctx context.Context, req *securitycenterpb.CreateFindingRequest, opts ...gax.CallOption) (*securitycenterpb.Finding, error)

CreateFinding creates a finding. The corresponding source must exist for finding creation to succeed.

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &securitycenterpb.CreateFindingRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.CreateFinding(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*Client) CreateSource Uses

func (c *Client) CreateSource(ctx context.Context, req *securitycenterpb.CreateSourceRequest, opts ...gax.CallOption) (*securitycenterpb.Source, error)

CreateSource creates a source.

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &securitycenterpb.CreateSourceRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.CreateSource(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*Client) GetIamPolicy Uses

func (c *Client) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error)

GetIamPolicy gets the access control policy on the specified Source.

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &iampb.GetIamPolicyRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.GetIamPolicy(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*Client) GetOrganizationSettings Uses

func (c *Client) GetOrganizationSettings(ctx context.Context, req *securitycenterpb.GetOrganizationSettingsRequest, opts ...gax.CallOption) (*securitycenterpb.OrganizationSettings, error)

GetOrganizationSettings gets the settings for an organization.

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &securitycenterpb.GetOrganizationSettingsRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.GetOrganizationSettings(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*Client) GetSource Uses

func (c *Client) GetSource(ctx context.Context, req *securitycenterpb.GetSourceRequest, opts ...gax.CallOption) (*securitycenterpb.Source, error)

GetSource gets a source.

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &securitycenterpb.GetSourceRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.GetSource(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*Client) GroupAssets Uses

func (c *Client) GroupAssets(ctx context.Context, req *securitycenterpb.GroupAssetsRequest, opts ...gax.CallOption) *GroupResultIterator

GroupAssets filters an organization's assets and groups them by their specified properties.

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &securitycenterpb.GroupAssetsRequest{
    // TODO: Fill request struct fields.
}
it := c.GroupAssets(ctx, req)
for {
    resp, err := it.Next()
    if err == iterator.Done {
        break
    }
    if err != nil {
        // TODO: Handle error.
    }
    // TODO: Use resp.
    _ = resp
}

func (*Client) GroupFindings Uses

func (c *Client) GroupFindings(ctx context.Context, req *securitycenterpb.GroupFindingsRequest, opts ...gax.CallOption) *GroupResultIterator

GroupFindings filters an organization or source's findings and groups them by their specified properties.

To group across all sources provide a - as the source id. Example: /v1/organizations/123/sources/-/findings

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &securitycenterpb.GroupFindingsRequest{
    // TODO: Fill request struct fields.
}
it := c.GroupFindings(ctx, req)
for {
    resp, err := it.Next()
    if err == iterator.Done {
        break
    }
    if err != nil {
        // TODO: Handle error.
    }
    // TODO: Use resp.
    _ = resp
}

func (*Client) ListAssets Uses

func (c *Client) ListAssets(ctx context.Context, req *securitycenterpb.ListAssetsRequest, opts ...gax.CallOption) *ListAssetsResponse_ListAssetsResultIterator

ListAssets lists an organization's assets.

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &securitycenterpb.ListAssetsRequest{
    // TODO: Fill request struct fields.
}
it := c.ListAssets(ctx, req)
for {
    resp, err := it.Next()
    if err == iterator.Done {
        break
    }
    if err != nil {
        // TODO: Handle error.
    }
    // TODO: Use resp.
    _ = resp
}

func (*Client) ListFindings Uses

func (c *Client) ListFindings(ctx context.Context, req *securitycenterpb.ListFindingsRequest, opts ...gax.CallOption) *ListFindingsResponse_ListFindingsResultIterator

ListFindings lists an organization or source's findings.

To list across all sources provide a - as the source id. Example: /v1/organizations/123/sources/-/findings

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &securitycenterpb.ListFindingsRequest{
    // TODO: Fill request struct fields.
}
it := c.ListFindings(ctx, req)
for {
    resp, err := it.Next()
    if err == iterator.Done {
        break
    }
    if err != nil {
        // TODO: Handle error.
    }
    // TODO: Use resp.
    _ = resp
}

func (*Client) ListSources Uses

func (c *Client) ListSources(ctx context.Context, req *securitycenterpb.ListSourcesRequest, opts ...gax.CallOption) *SourceIterator

ListSources lists all sources belonging to an organization.

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &securitycenterpb.ListSourcesRequest{
    // TODO: Fill request struct fields.
}
it := c.ListSources(ctx, req)
for {
    resp, err := it.Next()
    if err == iterator.Done {
        break
    }
    if err != nil {
        // TODO: Handle error.
    }
    // TODO: Use resp.
    _ = resp
}

func (*Client) RunAssetDiscovery Uses

func (c *Client) RunAssetDiscovery(ctx context.Context, req *securitycenterpb.RunAssetDiscoveryRequest, opts ...gax.CallOption) (*RunAssetDiscoveryOperation, error)

RunAssetDiscovery runs asset discovery. The discovery is tracked with a long-running operation.

This API can only be called with limited frequency for an organization. If it is called too frequently the caller will receive a TOO_MANY_REQUESTS error.

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &securitycenterpb.RunAssetDiscoveryRequest{
    // TODO: Fill request struct fields.
}
op, err := c.RunAssetDiscovery(ctx, req)
if err != nil {
    // TODO: Handle error.
}

resp, err := op.Wait(ctx)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*Client) RunAssetDiscoveryOperation Uses

func (c *Client) RunAssetDiscoveryOperation(name string) *RunAssetDiscoveryOperation

RunAssetDiscoveryOperation returns a new RunAssetDiscoveryOperation from a given name. The name must be that of a previously created RunAssetDiscoveryOperation, possibly from a different process.

func (*Client) SetFindingState Uses

func (c *Client) SetFindingState(ctx context.Context, req *securitycenterpb.SetFindingStateRequest, opts ...gax.CallOption) (*securitycenterpb.Finding, error)

SetFindingState updates the state of a finding.

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &securitycenterpb.SetFindingStateRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.SetFindingState(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*Client) SetIamPolicy Uses

func (c *Client) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error)

SetIamPolicy sets the access control policy on the specified Source.

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &iampb.SetIamPolicyRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.SetIamPolicy(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*Client) TestIamPermissions Uses

func (c *Client) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error)

TestIamPermissions returns the permissions that a caller has on the specified source.

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &iampb.TestIamPermissionsRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.TestIamPermissions(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*Client) UpdateFinding Uses

func (c *Client) UpdateFinding(ctx context.Context, req *securitycenterpb.UpdateFindingRequest, opts ...gax.CallOption) (*securitycenterpb.Finding, error)

UpdateFinding creates or updates a finding. The corresponding source must exist for a finding creation to succeed.

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &securitycenterpb.UpdateFindingRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.UpdateFinding(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*Client) UpdateOrganizationSettings Uses

func (c *Client) UpdateOrganizationSettings(ctx context.Context, req *securitycenterpb.UpdateOrganizationSettingsRequest, opts ...gax.CallOption) (*securitycenterpb.OrganizationSettings, error)

UpdateOrganizationSettings updates an organization's settings.

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &securitycenterpb.UpdateOrganizationSettingsRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.UpdateOrganizationSettings(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*Client) UpdateSecurityMarks Uses

func (c *Client) UpdateSecurityMarks(ctx context.Context, req *securitycenterpb.UpdateSecurityMarksRequest, opts ...gax.CallOption) (*securitycenterpb.SecurityMarks, error)

UpdateSecurityMarks updates security marks.

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &securitycenterpb.UpdateSecurityMarksRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.UpdateSecurityMarks(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*Client) UpdateSource Uses

func (c *Client) UpdateSource(ctx context.Context, req *securitycenterpb.UpdateSourceRequest, opts ...gax.CallOption) (*securitycenterpb.Source, error)

UpdateSource updates a source.

Code:

ctx := context.Background()
c, err := securitycenter.NewClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &securitycenterpb.UpdateSourceRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.UpdateSource(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

type GroupResultIterator Uses

type GroupResultIterator struct {

    // InternalFetch is for use by the Google Cloud Libraries only.
    // It is not part of the stable interface of this package.
    //
    // InternalFetch returns results from a single call to the underlying RPC.
    // The number of results is no greater than pageSize.
    // If there are no more results, nextPageToken is empty and err is nil.
    InternalFetch func(pageSize int, pageToken string) (results []*securitycenterpb.GroupResult, nextPageToken string, err error)
    // contains filtered or unexported fields
}

GroupResultIterator manages a stream of *securitycenterpb.GroupResult.

func (*GroupResultIterator) Next Uses

func (it *GroupResultIterator) Next() (*securitycenterpb.GroupResult, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*GroupResultIterator) PageInfo Uses

func (it *GroupResultIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type ListAssetsResponse_ListAssetsResultIterator Uses

type ListAssetsResponse_ListAssetsResultIterator struct {

    // InternalFetch is for use by the Google Cloud Libraries only.
    // It is not part of the stable interface of this package.
    //
    // InternalFetch returns results from a single call to the underlying RPC.
    // The number of results is no greater than pageSize.
    // If there are no more results, nextPageToken is empty and err is nil.
    InternalFetch func(pageSize int, pageToken string) (results []*securitycenterpb.ListAssetsResponse_ListAssetsResult, nextPageToken string, err error)
    // contains filtered or unexported fields
}

ListAssetsResponse_ListAssetsResultIterator manages a stream of *securitycenterpb.ListAssetsResponse_ListAssetsResult.

func (*ListAssetsResponse_ListAssetsResultIterator) Next Uses

func (it *ListAssetsResponse_ListAssetsResultIterator) Next() (*securitycenterpb.ListAssetsResponse_ListAssetsResult, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*ListAssetsResponse_ListAssetsResultIterator) PageInfo Uses

func (it *ListAssetsResponse_ListAssetsResultIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type ListFindingsResponse_ListFindingsResultIterator Uses

type ListFindingsResponse_ListFindingsResultIterator struct {

    // InternalFetch is for use by the Google Cloud Libraries only.
    // It is not part of the stable interface of this package.
    //
    // InternalFetch returns results from a single call to the underlying RPC.
    // The number of results is no greater than pageSize.
    // If there are no more results, nextPageToken is empty and err is nil.
    InternalFetch func(pageSize int, pageToken string) (results []*securitycenterpb.ListFindingsResponse_ListFindingsResult, nextPageToken string, err error)
    // contains filtered or unexported fields
}

ListFindingsResponse_ListFindingsResultIterator manages a stream of *securitycenterpb.ListFindingsResponse_ListFindingsResult.

func (*ListFindingsResponse_ListFindingsResultIterator) Next Uses

func (it *ListFindingsResponse_ListFindingsResultIterator) Next() (*securitycenterpb.ListFindingsResponse_ListFindingsResult, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*ListFindingsResponse_ListFindingsResultIterator) PageInfo Uses

func (it *ListFindingsResponse_ListFindingsResultIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type RunAssetDiscoveryOperation Uses

type RunAssetDiscoveryOperation struct {
    // contains filtered or unexported fields
}

RunAssetDiscoveryOperation manages a long-running operation from RunAssetDiscovery.

func (*RunAssetDiscoveryOperation) Done Uses

func (op *RunAssetDiscoveryOperation) Done() bool

Done reports whether the long-running operation has completed.

func (*RunAssetDiscoveryOperation) Name Uses

func (op *RunAssetDiscoveryOperation) Name() string

Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.

func (*RunAssetDiscoveryOperation) Poll Uses

func (op *RunAssetDiscoveryOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*securitycenterpb.RunAssetDiscoveryResponse, error)

Poll fetches the latest state of the long-running operation.

If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.

func (*RunAssetDiscoveryOperation) Wait Uses

func (op *RunAssetDiscoveryOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*securitycenterpb.RunAssetDiscoveryResponse, error)

Wait blocks until the long-running operation is completed, returning the response and any errors encountered.

See documentation of Poll for error-handling information.

type SourceIterator Uses

type SourceIterator struct {

    // InternalFetch is for use by the Google Cloud Libraries only.
    // It is not part of the stable interface of this package.
    //
    // InternalFetch returns results from a single call to the underlying RPC.
    // The number of results is no greater than pageSize.
    // If there are no more results, nextPageToken is empty and err is nil.
    InternalFetch func(pageSize int, pageToken string) (results []*securitycenterpb.Source, nextPageToken string, err error)
    // contains filtered or unexported fields
}

SourceIterator manages a stream of *securitycenterpb.Source.

func (*SourceIterator) Next Uses

func (it *SourceIterator) Next() (*securitycenterpb.Source, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*SourceIterator) PageInfo Uses

func (it *SourceIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

Package securitycenter imports 21 packages (graph). Updated 2019-12-14. Refresh now. Tools for package owners.