Skip to content
This repository has been archived by the owner on Feb 28, 2024. It is now read-only.

Commit

Permalink
feat: add AnalyzeIamPolicy and ExportIamPolicyAnalysis; support OSInv…
Browse files Browse the repository at this point in the history
…entory; add common resource helper methods; expose client transport (#113)

* changes without context

        autosynth cannot find the source of changes triggered by earlier changes in this
        repository, or by version upgrades to tools such as linters.

* chore: upgrade to gapic-generator-python 0.35.6

PiperOrigin-RevId: 338157137

Source-Author: Google APIs <noreply@google.com>
Source-Date: Tue Oct 20 16:08:47 2020 -0700
Source-Repo: googleapis/googleapis
Source-Sha: c7331b75b0b7bbd614373b7d37085db1c80dd4be
Source-Link: googleapis/googleapis@c7331b7

* chore: upgrade to gapic-generator-python 0.35.6

PiperOrigin-RevId: 338489505

Source-Author: Google APIs <noreply@google.com>
Source-Date: Thu Oct 22 09:36:18 2020 -0700
Source-Repo: googleapis/googleapis
Source-Sha: 4b34a0869404af9d83ae89952d28712a4d29eba6
Source-Link: googleapis/googleapis@4b34a08

* fix: switch firestore/v1 to grpc_service_config

PiperOrigin-RevId: 338520351

Source-Author: Google APIs <noreply@google.com>
Source-Date: Thu Oct 22 12:01:06 2020 -0700
Source-Repo: googleapis/googleapis
Source-Sha: b448d7dce89eebc3a4066a9e979a0b96bdb66b62
Source-Link: googleapis/googleapis@b448d7d

* docs: renamed App + Web to Google Analytics 4 (GA4) in public documentation

PiperOrigin-RevId: 338527875

Source-Author: Google APIs <noreply@google.com>
Source-Date: Thu Oct 22 12:36:23 2020 -0700
Source-Repo: googleapis/googleapis
Source-Sha: 2131e2f755b3c2604e2d08de81a299fd7e377dcd
Source-Link: googleapis/googleapis@2131e2f

* chore: update grpc dependency to v1.33.1

PiperOrigin-RevId: 338646463

Source-Author: Google APIs <noreply@google.com>
Source-Date: Fri Oct 23 03:57:15 2020 -0700
Source-Repo: googleapis/googleapis
Source-Sha: 20b11dfe4538cd5da7b4c3dd7d2bf5b9922ff3ed
Source-Link: googleapis/googleapis@20b11df

* fix!: update package names to avoid conflict with google-cloud-bigquery

BREAKING CHANGE: update package names to avoid conflict with google-cloud-bigquery

The google-cloud-bigquery package uses the `google.cloud.bigquery` path as a
plain Python module, not a namespace package. When this package and
google-cloud-bigquery are installed in the same environment, conflicts can
result.

PiperOrigin-RevId: 339048690

Source-Author: Google APIs <noreply@google.com>
Source-Date: Mon Oct 26 09:00:37 2020 -0700
Source-Repo: googleapis/googleapis
Source-Sha: 3c8c2d81369c4665824b20706426b018507415f7
Source-Link: googleapis/googleapis@3c8c2d8

* chore: upgrade to gapic-generator 0.35.9

PiperOrigin-RevId: 339292950

Source-Author: Google APIs <noreply@google.com>
Source-Date: Tue Oct 27 11:32:46 2020 -0700
Source-Repo: googleapis/googleapis
Source-Sha: 07d41a7e5cade45aba6f0d277c89722b48f2c956
Source-Link: googleapis/googleapis@07d41a7

* feat: add AnalyzeIamPolicy and AnalyzeIamPolicyLongrunning RPCs

PiperOrigin-RevId: 339708980

Source-Author: Google APIs <noreply@google.com>
Source-Date: Thu Oct 29 11:23:44 2020 -0700
Source-Repo: googleapis/googleapis
Source-Sha: 00bbad4dfd6633cf4b5f9596c1f93b756bb5c776
Source-Link: googleapis/googleapis@00bbad4

* feat: added support OSInventory in Assets. docs: updated existing docs.

Clients receive detailed OSInventory in Assets.

PiperOrigin-RevId: 342689216

Source-Author: Google APIs <noreply@google.com>
Source-Date: Mon Nov 16 12:04:29 2020 -0800
Source-Repo: googleapis/googleapis
Source-Sha: 1f8a5144b52f7677dc43c55b21ccaf9e1b425ceb
Source-Link: googleapis/googleapis@1f8a514

* fix: remove parse_asset_path, regen

* build: fix sync-repo-settings

* chore: fix coverage

Co-authored-by: Bu Sun Kim <busunkim@google.com>
  • Loading branch information
yoshi-automation and busunkim96 committed Nov 19, 2020
1 parent cf6072a commit 3bf4c0a
Show file tree
Hide file tree
Showing 66 changed files with 3,537 additions and 679 deletions.
12 changes: 9 additions & 3 deletions .github/sync-repo-settings.yml
@@ -1,7 +1,13 @@
# https://github.com/googleapis/repo-automation-bots/tree/master/packages/sync-repo-settings
# Rules for master branch protection
branchProtectionRules:
# List of required status check contexts that must pass for commits to be accepted to matching branches.
# Identifies the protection rule pattern. Name of the branch to be protected.
# Defaults to `master`
- pattern: master
requiredStatusCheckContexts:
- 'Kokoro'
- 'cla/google'
- 'Samples - Lint'
- 'Samples - Python 3.6'
- 'Samples - Python 3.7'
- 'Samples - Python 3.8'
- 'Samples - Lint'
- 'Samples - Python 3.8'
2 changes: 1 addition & 1 deletion .kokoro/docs/common.cfg
Expand Up @@ -30,7 +30,7 @@ env_vars: {

env_vars: {
key: "V2_STAGING_BUCKET"
value: "docs-staging-v2-staging"
value: "docs-staging-v2"
}

# It will upload the docker image after successful builds.
Expand Down
6 changes: 6 additions & 0 deletions .kokoro/samples/python3.6/common.cfg
Expand Up @@ -13,6 +13,12 @@ env_vars: {
value: "py-3.6"
}

# Declare build specific Cloud project.
env_vars: {
key: "BUILD_SPECIFIC_GCLOUD_PROJECT"
value: "python-docs-samples-tests-py36"
}

env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/python-asset/.kokoro/test-samples.sh"
Expand Down
6 changes: 6 additions & 0 deletions .kokoro/samples/python3.7/common.cfg
Expand Up @@ -13,6 +13,12 @@ env_vars: {
value: "py-3.7"
}

# Declare build specific Cloud project.
env_vars: {
key: "BUILD_SPECIFIC_GCLOUD_PROJECT"
value: "python-docs-samples-tests-py37"
}

env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/python-asset/.kokoro/test-samples.sh"
Expand Down
6 changes: 6 additions & 0 deletions .kokoro/samples/python3.8/common.cfg
Expand Up @@ -13,6 +13,12 @@ env_vars: {
value: "py-3.8"
}

# Declare build specific Cloud project.
env_vars: {
key: "BUILD_SPECIFIC_GCLOUD_PROJECT"
value: "python-docs-samples-tests-py38"
}

env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/python-asset/.kokoro/test-samples.sh"
Expand Down
8 changes: 7 additions & 1 deletion .kokoro/test-samples.sh
Expand Up @@ -28,6 +28,12 @@ if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"periodic"* ]]; then
git checkout $LATEST_RELEASE
fi

# Exit early if samples directory doesn't exist
if [ ! -d "./samples" ]; then
echo "No tests run. `./samples` not found"
exit 0
fi

# Disable buffering, so that the logs stream through.
export PYTHONUNBUFFERED=1

Expand Down Expand Up @@ -101,4 +107,4 @@ cd "$ROOT"
# Workaround for Kokoro permissions issue: delete secrets
rm testing/{test-env.sh,client-secrets.json,service-account.json}

exit "$RTN"
exit "$RTN"
123 changes: 87 additions & 36 deletions CODE_OF_CONDUCT.md
@@ -1,44 +1,95 @@
<!-- # Generated by synthtool. DO NOT EDIT! !-->
# Contributor Code of Conduct
# Code of Conduct

As contributors and maintainers of this project,
and in the interest of fostering an open and welcoming community,
we pledge to respect all people who contribute through reporting issues,
posting feature requests, updating documentation,
submitting pull requests or patches, and other activities.
## Our Pledge

We are committed to making participation in this project
a harassment-free experience for everyone,
regardless of level of experience, gender, gender identity and expression,
sexual orientation, disability, personal appearance,
body size, race, ethnicity, age, religion, or nationality.
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of
experience, education, socio-economic status, nationality, personal appearance,
race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery
* Personal attacks
* Trolling or insulting/derogatory comments
* Public or private harassment
* Publishing other's private information,
such as physical or electronic
addresses, without explicit permission
* Other unethical or unprofessional conduct.
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct.
By adopting this Code of Conduct,
project maintainers commit themselves to fairly and consistently
applying these principles to every aspect of managing this project.
Project maintainers who do not follow or enforce the Code of Conduct
may be permanently removed from the project team.

This code of conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community.

Instances of abusive, harassing, or otherwise unacceptable behavior
may be reported by opening an issue
or contacting one or more of the project maintainers.

This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0,
available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/)
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, or to ban temporarily or permanently any
contributor for other behaviors that they deem inappropriate, threatening,
offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

This Code of Conduct also applies outside the project spaces when the Project
Steward has a reasonable belief that an individual's behavior may have a
negative impact on the project or its community.

## Conflict Resolution

We do not believe that all conflict is bad; healthy debate and disagreement
often yield positive results. However, it is never okay to be disrespectful or
to engage in behavior that violates the project’s code of conduct.

If you see someone violating the code of conduct, you are encouraged to address
the behavior directly with those involved. Many issues can be resolved quickly
and easily, and this gives people more control over the outcome of their
dispute. If you are unable to resolve the matter for any reason, or if the
behavior is threatening or harassing, report it. We are dedicated to providing
an environment where participants feel welcome and safe.


Reports should be directed to *googleapis-stewards@google.com*, the
Project Steward(s) for *Google Cloud Client Libraries*. It is the Project Steward’s duty to
receive and address reported violations of the code of conduct. They will then
work with a committee consisting of representatives from the Open Source
Programs Office and the Google Open Source Strategy team. If for any reason you
are uncomfortable reaching out to the Project Steward, please email
opensource@google.com.

We will investigate every complaint, but you may not receive a direct response.
We will use our discretion in determining when and how to follow up on reported
incidents, which may range from not taking action to permanent expulsion from
the project and project-sponsored spaces. We will notify the accused of the
report and provide them an opportunity to discuss it before any action is taken.
The identity of the reporter will be omitted from the details of the report
supplied to the accused. In potentially harmful situations, such as ongoing
harassment or threats to anyone's safety, we may take action without notice.

## Attribution

This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
available at
https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
1 change: 1 addition & 0 deletions docs/asset_v1/types.rst
Expand Up @@ -3,3 +3,4 @@ Types for Google Cloud Asset v1 API

.. automodule:: google.cloud.asset_v1.types
:members:
:show-inheritance:
1 change: 1 addition & 0 deletions docs/asset_v1beta1/types.rst
Expand Up @@ -3,3 +3,4 @@ Types for Google Cloud Asset v1beta1 API

.. automodule:: google.cloud.asset_v1beta1.types
:members:
:show-inheritance:
1 change: 1 addition & 0 deletions docs/asset_v1p1beta1/types.rst
Expand Up @@ -3,3 +3,4 @@ Types for Google Cloud Asset v1p1beta1 API

.. automodule:: google.cloud.asset_v1p1beta1.types
:members:
:show-inheritance:
1 change: 1 addition & 0 deletions docs/asset_v1p2beta1/types.rst
Expand Up @@ -3,3 +3,4 @@ Types for Google Cloud Asset v1p2beta1 API

.. automodule:: google.cloud.asset_v1p2beta1.types
:members:
:show-inheritance:
1 change: 1 addition & 0 deletions docs/asset_v1p4beta1/types.rst
Expand Up @@ -3,3 +3,4 @@ Types for Google Cloud Asset v1p4beta1 API

.. automodule:: google.cloud.asset_v1p4beta1.types
:members:
:show-inheritance:
1 change: 1 addition & 0 deletions docs/asset_v1p5beta1/types.rst
Expand Up @@ -3,3 +3,4 @@ Types for Google Cloud Asset v1p5beta1 API

.. automodule:: google.cloud.asset_v1p5beta1.types
:members:
:show-inheritance:
10 changes: 7 additions & 3 deletions docs/conf.py
Expand Up @@ -345,10 +345,14 @@

# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {
"python": ("http://python.readthedocs.org/en/latest/", None),
"google-auth": ("https://google-auth.readthedocs.io/en/stable", None),
"python": ("https://python.readthedocs.org/en/latest/", None),
"google-auth": (
"https://googleapis.dev/python/google-auth/latest/index.html",
None,
),
"google.api_core": ("https://googleapis.dev/python/google-api-core/latest/", None,),
"grpc": ("https://grpc.io/grpc/python/", None),
"grpc": ("https://grpc.github.io/grpc/python/", None),
"proto-plus": ("https://proto-plus-python.readthedocs.io/en/latest/", None),
}


Expand Down
18 changes: 18 additions & 0 deletions google/cloud/asset/__init__.py
Expand Up @@ -19,6 +19,12 @@
AssetServiceAsyncClient,
)
from google.cloud.asset_v1.services.asset_service.client import AssetServiceClient
from google.cloud.asset_v1.types.asset_service import AnalyzeIamPolicyLongrunningRequest
from google.cloud.asset_v1.types.asset_service import (
AnalyzeIamPolicyLongrunningResponse,
)
from google.cloud.asset_v1.types.asset_service import AnalyzeIamPolicyRequest
from google.cloud.asset_v1.types.asset_service import AnalyzeIamPolicyResponse
from google.cloud.asset_v1.types.asset_service import BatchGetAssetsHistoryRequest
from google.cloud.asset_v1.types.asset_service import BatchGetAssetsHistoryResponse
from google.cloud.asset_v1.types.asset_service import BigQueryDestination
Expand All @@ -32,6 +38,8 @@
from google.cloud.asset_v1.types.asset_service import GcsDestination
from google.cloud.asset_v1.types.asset_service import GcsOutputResult
from google.cloud.asset_v1.types.asset_service import GetFeedRequest
from google.cloud.asset_v1.types.asset_service import IamPolicyAnalysisOutputConfig
from google.cloud.asset_v1.types.asset_service import IamPolicyAnalysisQuery
from google.cloud.asset_v1.types.asset_service import ListFeedsRequest
from google.cloud.asset_v1.types.asset_service import ListFeedsResponse
from google.cloud.asset_v1.types.asset_service import OutputConfig
Expand All @@ -44,13 +52,19 @@
from google.cloud.asset_v1.types.asset_service import SearchAllResourcesResponse
from google.cloud.asset_v1.types.asset_service import UpdateFeedRequest
from google.cloud.asset_v1.types.assets import Asset
from google.cloud.asset_v1.types.assets import IamPolicyAnalysisResult
from google.cloud.asset_v1.types.assets import IamPolicyAnalysisState
from google.cloud.asset_v1.types.assets import IamPolicySearchResult
from google.cloud.asset_v1.types.assets import Resource
from google.cloud.asset_v1.types.assets import ResourceSearchResult
from google.cloud.asset_v1.types.assets import TemporalAsset
from google.cloud.asset_v1.types.assets import TimeWindow

__all__ = (
"AnalyzeIamPolicyLongrunningRequest",
"AnalyzeIamPolicyLongrunningResponse",
"AnalyzeIamPolicyRequest",
"AnalyzeIamPolicyResponse",
"Asset",
"AssetServiceAsyncClient",
"AssetServiceClient",
Expand All @@ -67,6 +81,10 @@
"GcsDestination",
"GcsOutputResult",
"GetFeedRequest",
"IamPolicyAnalysisOutputConfig",
"IamPolicyAnalysisQuery",
"IamPolicyAnalysisResult",
"IamPolicyAnalysisState",
"IamPolicySearchResult",
"ListFeedsRequest",
"ListFeedsResponse",
Expand Down
16 changes: 16 additions & 0 deletions google/cloud/asset_v1/__init__.py
Expand Up @@ -16,6 +16,10 @@
#

from .services.asset_service import AssetServiceClient
from .types.asset_service import AnalyzeIamPolicyLongrunningRequest
from .types.asset_service import AnalyzeIamPolicyLongrunningResponse
from .types.asset_service import AnalyzeIamPolicyRequest
from .types.asset_service import AnalyzeIamPolicyResponse
from .types.asset_service import BatchGetAssetsHistoryRequest
from .types.asset_service import BatchGetAssetsHistoryResponse
from .types.asset_service import BigQueryDestination
Expand All @@ -29,6 +33,8 @@
from .types.asset_service import GcsDestination
from .types.asset_service import GcsOutputResult
from .types.asset_service import GetFeedRequest
from .types.asset_service import IamPolicyAnalysisOutputConfig
from .types.asset_service import IamPolicyAnalysisQuery
from .types.asset_service import ListFeedsRequest
from .types.asset_service import ListFeedsResponse
from .types.asset_service import OutputConfig
Expand All @@ -41,6 +47,8 @@
from .types.asset_service import SearchAllResourcesResponse
from .types.asset_service import UpdateFeedRequest
from .types.assets import Asset
from .types.assets import IamPolicyAnalysisResult
from .types.assets import IamPolicyAnalysisState
from .types.assets import IamPolicySearchResult
from .types.assets import Resource
from .types.assets import ResourceSearchResult
Expand All @@ -49,6 +57,10 @@


__all__ = (
"AnalyzeIamPolicyLongrunningRequest",
"AnalyzeIamPolicyLongrunningResponse",
"AnalyzeIamPolicyRequest",
"AnalyzeIamPolicyResponse",
"Asset",
"BatchGetAssetsHistoryRequest",
"BatchGetAssetsHistoryResponse",
Expand All @@ -63,6 +75,10 @@
"GcsDestination",
"GcsOutputResult",
"GetFeedRequest",
"IamPolicyAnalysisOutputConfig",
"IamPolicyAnalysisQuery",
"IamPolicyAnalysisResult",
"IamPolicyAnalysisState",
"IamPolicySearchResult",
"ListFeedsRequest",
"ListFeedsResponse",
Expand Down

0 comments on commit 3bf4c0a

Please sign in to comment.