google-apis-apigee_v1 0.48.0 → 0.49.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -257,6 +257,11 @@ module Google
257
257
  # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1AdvancedApiOpsConfig]
258
258
  attr_accessor :advanced_api_ops_config
259
259
 
260
+ # Configurations of the API Security add-on.
261
+ # Corresponds to the JSON property `apiSecurityConfig`
262
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiSecurityConfig]
263
+ attr_accessor :api_security_config
264
+
260
265
  # Configuration for the Connectors Platform add-on.
261
266
  # Corresponds to the JSON property `connectorsPlatformConfig`
262
267
  # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ConnectorsPlatformConfig]
@@ -279,6 +284,7 @@ module Google
279
284
  # Update properties of this object
280
285
  def update!(**args)
281
286
  @advanced_api_ops_config = args[:advanced_api_ops_config] if args.key?(:advanced_api_ops_config)
287
+ @api_security_config = args[:api_security_config] if args.key?(:api_security_config)
282
288
  @connectors_platform_config = args[:connectors_platform_config] if args.key?(:connectors_platform_config)
283
289
  @integration_config = args[:integration_config] if args.key?(:integration_config)
284
290
  @monetization_config = args[:monetization_config] if args.key?(:monetization_config)
@@ -925,6 +931,33 @@ module Google
925
931
  end
926
932
  end
927
933
 
934
+ # Configurations of the API Security add-on.
935
+ class GoogleCloudApigeeV1ApiSecurityConfig
936
+ include Google::Apis::Core::Hashable
937
+
938
+ # Flag that specifies whether the API security add-on is enabled.
939
+ # Corresponds to the JSON property `enabled`
940
+ # @return [Boolean]
941
+ attr_accessor :enabled
942
+ alias_method :enabled?, :enabled
943
+
944
+ # Output only. Time at which the API Security add-on expires in in milliseconds
945
+ # since epoch. If unspecified, the add-on will never expire.
946
+ # Corresponds to the JSON property `expiresAt`
947
+ # @return [Fixnum]
948
+ attr_accessor :expires_at
949
+
950
+ def initialize(**args)
951
+ update!(**args)
952
+ end
953
+
954
+ # Update properties of this object
955
+ def update!(**args)
956
+ @enabled = args[:enabled] if args.key?(:enabled)
957
+ @expires_at = args[:expires_at] if args.key?(:expires_at)
958
+ end
959
+ end
960
+
928
961
  #
929
962
  class GoogleCloudApigeeV1App
930
963
  include Google::Apis::Core::Hashable
@@ -1517,6 +1550,102 @@ module Google
1517
1550
  end
1518
1551
  end
1519
1552
 
1553
+ # Request for ComputeEnvironmentScores.
1554
+ class GoogleCloudApigeeV1ComputeEnvironmentScoresRequest
1555
+ include Google::Apis::Core::Hashable
1556
+
1557
+ # Optional. Filters are used to filter scored components. Return all the
1558
+ # components if no filter is mentioned. Example: [` "scorePath": "/org@myorg/
1559
+ # envgroup@myenvgroup/env@myenv/proxies/proxy@myproxy/source" `, ` "scorePath": "
1560
+ # /org@myorg/envgroup@myenvgroup/env@myenv/proxies/proxy@myproxy/target", `]
1561
+ # This will return components with path: "/org@myorg/envgroup@myenvgroup/env@
1562
+ # myenv/proxies/proxy@myproxy/source" OR "/org@myorg/envgroup@myenvgroup/env@
1563
+ # myenv/proxies/proxy@myproxy/target"
1564
+ # Corresponds to the JSON property `filters`
1565
+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1ComputeEnvironmentScoresRequestFilter>]
1566
+ attr_accessor :filters
1567
+
1568
+ # Optional. The maximum number of subcomponents to be returned in a single page.
1569
+ # The service may return fewer than this value. If unspecified, at most 100
1570
+ # subcomponents will be returned in a single page.
1571
+ # Corresponds to the JSON property `pageSize`
1572
+ # @return [Fixnum]
1573
+ attr_accessor :page_size
1574
+
1575
+ # Optional. A token that can be sent as `page_token` to retrieve the next page.
1576
+ # If this field is omitted, there are no subsequent pages.
1577
+ # Corresponds to the JSON property `pageToken`
1578
+ # @return [String]
1579
+ attr_accessor :page_token
1580
+
1581
+ # Represents a time interval, encoded as a Timestamp start (inclusive) and a
1582
+ # Timestamp end (exclusive). The start must be less than or equal to the end.
1583
+ # When the start equals the end, the interval is empty (matches no time). When
1584
+ # both start and end are unspecified, the interval matches any time.
1585
+ # Corresponds to the JSON property `timeRange`
1586
+ # @return [Google::Apis::ApigeeV1::GoogleTypeInterval]
1587
+ attr_accessor :time_range
1588
+
1589
+ def initialize(**args)
1590
+ update!(**args)
1591
+ end
1592
+
1593
+ # Update properties of this object
1594
+ def update!(**args)
1595
+ @filters = args[:filters] if args.key?(:filters)
1596
+ @page_size = args[:page_size] if args.key?(:page_size)
1597
+ @page_token = args[:page_token] if args.key?(:page_token)
1598
+ @time_range = args[:time_range] if args.key?(:time_range)
1599
+ end
1600
+ end
1601
+
1602
+ # Filter scores by component path. Used custom filter instead of AIP-160 as the
1603
+ # use cases are highly constrained and predictable.
1604
+ class GoogleCloudApigeeV1ComputeEnvironmentScoresRequestFilter
1605
+ include Google::Apis::Core::Hashable
1606
+
1607
+ # Optional. Return scores for this component. Example: "/org@myorg/envgroup@
1608
+ # myenvgroup/env@myenv/proxies/proxy@myproxy/source"
1609
+ # Corresponds to the JSON property `scorePath`
1610
+ # @return [String]
1611
+ attr_accessor :score_path
1612
+
1613
+ def initialize(**args)
1614
+ update!(**args)
1615
+ end
1616
+
1617
+ # Update properties of this object
1618
+ def update!(**args)
1619
+ @score_path = args[:score_path] if args.key?(:score_path)
1620
+ end
1621
+ end
1622
+
1623
+ # Response for ComputeEnvironmentScores.
1624
+ class GoogleCloudApigeeV1ComputeEnvironmentScoresResponse
1625
+ include Google::Apis::Core::Hashable
1626
+
1627
+ # A page token, received from a previous `ComputeScore` call. Provide this to
1628
+ # retrieve the subsequent page.
1629
+ # Corresponds to the JSON property `nextPageToken`
1630
+ # @return [String]
1631
+ attr_accessor :next_page_token
1632
+
1633
+ # List of scores. One score per day.
1634
+ # Corresponds to the JSON property `scores`
1635
+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1Score>]
1636
+ attr_accessor :scores
1637
+
1638
+ def initialize(**args)
1639
+ update!(**args)
1640
+ end
1641
+
1642
+ # Update properties of this object
1643
+ def update!(**args)
1644
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1645
+ @scores = args[:scores] if args.key?(:scores)
1646
+ end
1647
+ end
1648
+
1520
1649
  # Version of the API proxy configuration schema. Currently, only 4.0 is
1521
1650
  # supported.
1522
1651
  class GoogleCloudApigeeV1ConfigVersion
@@ -4898,6 +5027,88 @@ module Google
4898
5027
  end
4899
5028
  end
4900
5029
 
5030
+ # Response for ListSecurityProfileRevisions.
5031
+ class GoogleCloudApigeeV1ListSecurityProfileRevisionsResponse
5032
+ include Google::Apis::Core::Hashable
5033
+
5034
+ # A token that can be sent as `page_token` to retrieve the next page. If this
5035
+ # field is omitted, there are no subsequent pages.
5036
+ # Corresponds to the JSON property `nextPageToken`
5037
+ # @return [String]
5038
+ attr_accessor :next_page_token
5039
+
5040
+ # List of security profile revisions. The revisions may be attached or
5041
+ # unattached to any environment.
5042
+ # Corresponds to the JSON property `securityProfiles`
5043
+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityProfile>]
5044
+ attr_accessor :security_profiles
5045
+
5046
+ def initialize(**args)
5047
+ update!(**args)
5048
+ end
5049
+
5050
+ # Update properties of this object
5051
+ def update!(**args)
5052
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
5053
+ @security_profiles = args[:security_profiles] if args.key?(:security_profiles)
5054
+ end
5055
+ end
5056
+
5057
+ # Response for ListSecurityProfiles.
5058
+ class GoogleCloudApigeeV1ListSecurityProfilesResponse
5059
+ include Google::Apis::Core::Hashable
5060
+
5061
+ # A token that can be sent as `page_token` to retrieve the next page. If this
5062
+ # field is omitted, there are no subsequent pages.
5063
+ # Corresponds to the JSON property `nextPageToken`
5064
+ # @return [String]
5065
+ attr_accessor :next_page_token
5066
+
5067
+ # List of security profiles in the organization. The profiles may be attached or
5068
+ # unattached to any environment. This will return latest revision of each
5069
+ # profile.
5070
+ # Corresponds to the JSON property `securityProfiles`
5071
+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityProfile>]
5072
+ attr_accessor :security_profiles
5073
+
5074
+ def initialize(**args)
5075
+ update!(**args)
5076
+ end
5077
+
5078
+ # Update properties of this object
5079
+ def update!(**args)
5080
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
5081
+ @security_profiles = args[:security_profiles] if args.key?(:security_profiles)
5082
+ end
5083
+ end
5084
+
5085
+ # The response for SecurityReports.
5086
+ class GoogleCloudApigeeV1ListSecurityReportsResponse
5087
+ include Google::Apis::Core::Hashable
5088
+
5089
+ # If the number of security reports exceeded the page size requested, the token
5090
+ # can be used to fetch the next page in a subsequent call. If the response is
5091
+ # the last page and there are no more reports to return this field is left empty.
5092
+ # Corresponds to the JSON property `nextPageToken`
5093
+ # @return [String]
5094
+ attr_accessor :next_page_token
5095
+
5096
+ # The security reports belong to requested resource name.
5097
+ # Corresponds to the JSON property `securityReports`
5098
+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityReport>]
5099
+ attr_accessor :security_reports
5100
+
5101
+ def initialize(**args)
5102
+ update!(**args)
5103
+ end
5104
+
5105
+ # Update properties of this object
5106
+ def update!(**args)
5107
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
5108
+ @security_reports = args[:security_reports] if args.key?(:security_reports)
5109
+ end
5110
+ end
5111
+
4901
5112
  # To change this message, in the same CL add a change log in go/changing-api-
4902
5113
  # proto-breaks-ui
4903
5114
  class GoogleCloudApigeeV1ListSharedFlowsResponse
@@ -6895,19 +7106,27 @@ module Google
6895
7106
  end
6896
7107
  end
6897
7108
 
6898
- #
6899
- class GoogleCloudApigeeV1ServiceIssuersMapping
7109
+ # Represents Security Score.
7110
+ class GoogleCloudApigeeV1Score
6900
7111
  include Google::Apis::Core::Hashable
6901
7112
 
6902
- # List of trusted issuer email ids.
6903
- # Corresponds to the JSON property `emailIds`
6904
- # @return [Array<String>]
6905
- attr_accessor :email_ids
7113
+ # Component is an individual security element that is scored.
7114
+ # Corresponds to the JSON property `component`
7115
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ScoreComponent]
7116
+ attr_accessor :component
6906
7117
 
6907
- # String indicating the Apigee service name.
6908
- # Corresponds to the JSON property `service`
6909
- # @return [String]
6910
- attr_accessor :service
7118
+ # List of all the drilldown score components.
7119
+ # Corresponds to the JSON property `subcomponents`
7120
+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1ScoreComponent>]
7121
+ attr_accessor :subcomponents
7122
+
7123
+ # Represents a time interval, encoded as a Timestamp start (inclusive) and a
7124
+ # Timestamp end (exclusive). The start must be less than or equal to the end.
7125
+ # When the start equals the end, the interval is empty (matches no time). When
7126
+ # both start and end are unspecified, the interval matches any time.
7127
+ # Corresponds to the JSON property `timeRange`
7128
+ # @return [Google::Apis::ApigeeV1::GoogleTypeInterval]
7129
+ attr_accessor :time_range
6911
7130
 
6912
7131
  def initialize(**args)
6913
7132
  update!(**args)
@@ -6915,24 +7134,47 @@ module Google
6915
7134
 
6916
7135
  # Update properties of this object
6917
7136
  def update!(**args)
6918
- @email_ids = args[:email_ids] if args.key?(:email_ids)
6919
- @service = args[:service] if args.key?(:service)
7137
+ @component = args[:component] if args.key?(:component)
7138
+ @subcomponents = args[:subcomponents] if args.key?(:subcomponents)
7139
+ @time_range = args[:time_range] if args.key?(:time_range)
6920
7140
  end
6921
7141
  end
6922
7142
 
6923
- # Session carries the debug session id and its creation time.
6924
- class GoogleCloudApigeeV1Session
7143
+ # Component is an individual security element that is scored.
7144
+ class GoogleCloudApigeeV1ScoreComponent
6925
7145
  include Google::Apis::Core::Hashable
6926
7146
 
6927
- # The debug session ID.
6928
- # Corresponds to the JSON property `id`
7147
+ # Time when score was calculated.
7148
+ # Corresponds to the JSON property `calculateTime`
6929
7149
  # @return [String]
6930
- attr_accessor :id
7150
+ attr_accessor :calculate_time
6931
7151
 
6932
- # The first transaction creation timestamp in millisecond, recorded by UAP.
6933
- # Corresponds to the JSON property `timestampMs`
7152
+ # Time in the requested time period when data was last captured to compute the
7153
+ # score.
7154
+ # Corresponds to the JSON property `dataCaptureTime`
7155
+ # @return [String]
7156
+ attr_accessor :data_capture_time
7157
+
7158
+ # List of paths for next components.
7159
+ # Corresponds to the JSON property `drilldownPaths`
7160
+ # @return [Array<String>]
7161
+ attr_accessor :drilldown_paths
7162
+
7163
+ # List of recommendations to improve API security.
7164
+ # Corresponds to the JSON property `recommendations`
7165
+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1ScoreComponentRecommendation>]
7166
+ attr_accessor :recommendations
7167
+
7168
+ # Score for the component.
7169
+ # Corresponds to the JSON property `score`
6934
7170
  # @return [Fixnum]
6935
- attr_accessor :timestamp_ms
7171
+ attr_accessor :score
7172
+
7173
+ # Path of the component. Example: /org@myorg/envgroup@myenvgroup/proxies/proxy@
7174
+ # myproxy
7175
+ # Corresponds to the JSON property `scorePath`
7176
+ # @return [String]
7177
+ attr_accessor :score_path
6936
7178
 
6937
7179
  def initialize(**args)
6938
7180
  update!(**args)
@@ -6940,19 +7182,39 @@ module Google
6940
7182
 
6941
7183
  # Update properties of this object
6942
7184
  def update!(**args)
6943
- @id = args[:id] if args.key?(:id)
6944
- @timestamp_ms = args[:timestamp_ms] if args.key?(:timestamp_ms)
7185
+ @calculate_time = args[:calculate_time] if args.key?(:calculate_time)
7186
+ @data_capture_time = args[:data_capture_time] if args.key?(:data_capture_time)
7187
+ @drilldown_paths = args[:drilldown_paths] if args.key?(:drilldown_paths)
7188
+ @recommendations = args[:recommendations] if args.key?(:recommendations)
7189
+ @score = args[:score] if args.key?(:score)
7190
+ @score_path = args[:score_path] if args.key?(:score_path)
6945
7191
  end
6946
7192
  end
6947
7193
 
6948
- # Request for SetAddons.
6949
- class GoogleCloudApigeeV1SetAddonsRequest
7194
+ # Recommendation based on security concerns and score.
7195
+ class GoogleCloudApigeeV1ScoreComponentRecommendation
6950
7196
  include Google::Apis::Core::Hashable
6951
7197
 
6952
- # Add-on configurations for the Apigee organization.
6953
- # Corresponds to the JSON property `addonsConfig`
6954
- # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1AddonsConfig]
6955
- attr_accessor :addons_config
7198
+ # Actions for the recommendation to improve the security score.
7199
+ # Corresponds to the JSON property `actions`
7200
+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1ScoreComponentRecommendationAction>]
7201
+ attr_accessor :actions
7202
+
7203
+ # Description of the recommendation.
7204
+ # Corresponds to the JSON property `description`
7205
+ # @return [String]
7206
+ attr_accessor :description
7207
+
7208
+ # Potential impact of this recommendation on the overall score. This denotes how
7209
+ # important this recommendation is to improve the score.
7210
+ # Corresponds to the JSON property `impact`
7211
+ # @return [Fixnum]
7212
+ attr_accessor :impact
7213
+
7214
+ # Title represents recommendation title.
7215
+ # Corresponds to the JSON property `title`
7216
+ # @return [String]
7217
+ attr_accessor :title
6956
7218
 
6957
7219
  def initialize(**args)
6958
7220
  update!(**args)
@@ -6960,33 +7222,26 @@ module Google
6960
7222
 
6961
7223
  # Update properties of this object
6962
7224
  def update!(**args)
6963
- @addons_config = args[:addons_config] if args.key?(:addons_config)
7225
+ @actions = args[:actions] if args.key?(:actions)
7226
+ @description = args[:description] if args.key?(:description)
7227
+ @impact = args[:impact] if args.key?(:impact)
7228
+ @title = args[:title] if args.key?(:title)
6964
7229
  end
6965
7230
  end
6966
7231
 
6967
- # The metadata describing a shared flow
6968
- class GoogleCloudApigeeV1SharedFlow
7232
+ # Action to improve security score.
7233
+ class GoogleCloudApigeeV1ScoreComponentRecommendationAction
6969
7234
  include Google::Apis::Core::Hashable
6970
7235
 
6971
- # The id of the most recently created revision for this shared flow.
6972
- # Corresponds to the JSON property `latestRevisionId`
6973
- # @return [String]
6974
- attr_accessor :latest_revision_id
6975
-
6976
- # Metadata common to many entities in this API.
6977
- # Corresponds to the JSON property `metaData`
6978
- # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1EntityMetadata]
6979
- attr_accessor :meta_data
7236
+ # Action context are all the relevant details for the action.
7237
+ # Corresponds to the JSON property `actionContext`
7238
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ScoreComponentRecommendationActionActionContext]
7239
+ attr_accessor :action_context
6980
7240
 
6981
- # The ID of the shared flow.
6982
- # Corresponds to the JSON property `name`
7241
+ # Description of the action.
7242
+ # Corresponds to the JSON property `description`
6983
7243
  # @return [String]
6984
- attr_accessor :name
6985
-
6986
- # A list of revisions of this shared flow.
6987
- # Corresponds to the JSON property `revision`
6988
- # @return [Array<String>]
6989
- attr_accessor :revision
7244
+ attr_accessor :description
6990
7245
 
6991
7246
  def initialize(**args)
6992
7247
  update!(**args)
@@ -6994,67 +7249,716 @@ module Google
6994
7249
 
6995
7250
  # Update properties of this object
6996
7251
  def update!(**args)
6997
- @latest_revision_id = args[:latest_revision_id] if args.key?(:latest_revision_id)
6998
- @meta_data = args[:meta_data] if args.key?(:meta_data)
6999
- @name = args[:name] if args.key?(:name)
7000
- @revision = args[:revision] if args.key?(:revision)
7252
+ @action_context = args[:action_context] if args.key?(:action_context)
7253
+ @description = args[:description] if args.key?(:description)
7001
7254
  end
7002
7255
  end
7003
7256
 
7004
- # The metadata describing a shared flow revision.
7005
- class GoogleCloudApigeeV1SharedFlowRevision
7257
+ # Action context are all the relevant details for the action.
7258
+ class GoogleCloudApigeeV1ScoreComponentRecommendationActionActionContext
7006
7259
  include Google::Apis::Core::Hashable
7007
7260
 
7008
- # Version of the API proxy configuration schema. Currently, only 4.0 is
7009
- # supported.
7010
- # Corresponds to the JSON property `configurationVersion`
7011
- # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ConfigVersion]
7012
- attr_accessor :configuration_version
7013
-
7014
- # A textual description of the shared flow revision.
7015
- # Corresponds to the JSON property `contextInfo`
7261
+ # Documentation link for the action.
7262
+ # Corresponds to the JSON property `documentationLink`
7016
7263
  # @return [String]
7017
- attr_accessor :context_info
7264
+ attr_accessor :documentation_link
7018
7265
 
7019
- # Time at which this shared flow revision was created, in milliseconds since
7020
- # epoch.
7021
- # Corresponds to the JSON property `createdAt`
7022
- # @return [Fixnum]
7023
- attr_accessor :created_at
7266
+ def initialize(**args)
7267
+ update!(**args)
7268
+ end
7024
7269
 
7025
- # Description of the shared flow revision.
7026
- # Corresponds to the JSON property `description`
7027
- # @return [String]
7028
- attr_accessor :description
7270
+ # Update properties of this object
7271
+ def update!(**args)
7272
+ @documentation_link = args[:documentation_link] if args.key?(:documentation_link)
7273
+ end
7274
+ end
7029
7275
 
7030
- # The human readable name of this shared flow.
7276
+ # Represents a SecurityProfile resource.
7277
+ class GoogleCloudApigeeV1SecurityProfile
7278
+ include Google::Apis::Core::Hashable
7279
+
7280
+ # Display name of the security profile.
7031
7281
  # Corresponds to the JSON property `displayName`
7032
7282
  # @return [String]
7033
7283
  attr_accessor :display_name
7034
7284
 
7035
- # A Key-Value map of metadata about this shared flow revision.
7036
- # Corresponds to the JSON property `entityMetaDataAsProperties`
7037
- # @return [Hash<String,String>]
7038
- attr_accessor :entity_meta_data_as_properties
7285
+ # List of environments attached to security profile.
7286
+ # Corresponds to the JSON property `environments`
7287
+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityProfileEnvironment>]
7288
+ attr_accessor :environments
7039
7289
 
7040
- # Time at which this shared flow revision was most recently modified, in
7041
- # milliseconds since epoch.
7042
- # Corresponds to the JSON property `lastModifiedAt`
7290
+ # Output only. Maximum security score that can be generated by this profile.
7291
+ # Corresponds to the JSON property `maxScore`
7043
7292
  # @return [Fixnum]
7044
- attr_accessor :last_modified_at
7293
+ attr_accessor :max_score
7045
7294
 
7046
- # The resource ID of the parent shared flow.
7295
+ # Output only. Minimum security score that can be generated by this profile.
7296
+ # Corresponds to the JSON property `minScore`
7297
+ # @return [Fixnum]
7298
+ attr_accessor :min_score
7299
+
7300
+ # Immutable. Name of the security profile resource. Format: organizations/`org`/
7301
+ # securityProfiles/`profile`
7047
7302
  # Corresponds to the JSON property `name`
7048
7303
  # @return [String]
7049
7304
  attr_accessor :name
7050
7305
 
7051
- # A list of policy names included in this shared flow revision.
7052
- # Corresponds to the JSON property `policies`
7053
- # @return [Array<String>]
7054
- attr_accessor :policies
7306
+ # Output only. The time when revision was created.
7307
+ # Corresponds to the JSON property `revisionCreateTime`
7308
+ # @return [String]
7309
+ attr_accessor :revision_create_time
7055
7310
 
7056
- # List of resource files.
7057
- # Corresponds to the JSON property `resourceFiles`
7311
+ # Output only. Revision ID of the security profile.
7312
+ # Corresponds to the JSON property `revisionId`
7313
+ # @return [Fixnum]
7314
+ attr_accessor :revision_id
7315
+
7316
+ # Output only. The time when revision was published. Once published, the
7317
+ # security profile revision cannot be updated further and can be attached to
7318
+ # environments.
7319
+ # Corresponds to the JSON property `revisionPublishTime`
7320
+ # @return [String]
7321
+ attr_accessor :revision_publish_time
7322
+
7323
+ # Output only. The time when revision was updated.
7324
+ # Corresponds to the JSON property `revisionUpdateTime`
7325
+ # @return [String]
7326
+ attr_accessor :revision_update_time
7327
+
7328
+ # List of profile scoring configs in this revision.
7329
+ # Corresponds to the JSON property `scoringConfigs`
7330
+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityProfileScoringConfig>]
7331
+ attr_accessor :scoring_configs
7332
+
7333
+ def initialize(**args)
7334
+ update!(**args)
7335
+ end
7336
+
7337
+ # Update properties of this object
7338
+ def update!(**args)
7339
+ @display_name = args[:display_name] if args.key?(:display_name)
7340
+ @environments = args[:environments] if args.key?(:environments)
7341
+ @max_score = args[:max_score] if args.key?(:max_score)
7342
+ @min_score = args[:min_score] if args.key?(:min_score)
7343
+ @name = args[:name] if args.key?(:name)
7344
+ @revision_create_time = args[:revision_create_time] if args.key?(:revision_create_time)
7345
+ @revision_id = args[:revision_id] if args.key?(:revision_id)
7346
+ @revision_publish_time = args[:revision_publish_time] if args.key?(:revision_publish_time)
7347
+ @revision_update_time = args[:revision_update_time] if args.key?(:revision_update_time)
7348
+ @scoring_configs = args[:scoring_configs] if args.key?(:scoring_configs)
7349
+ end
7350
+ end
7351
+
7352
+ # Environment information of attached environments. Scoring an environment is
7353
+ # enabled only if it is attached to a security profile.
7354
+ class GoogleCloudApigeeV1SecurityProfileEnvironment
7355
+ include Google::Apis::Core::Hashable
7356
+
7357
+ # Output only. Time at which environment was attached to the security profile.
7358
+ # Corresponds to the JSON property `attachTime`
7359
+ # @return [String]
7360
+ attr_accessor :attach_time
7361
+
7362
+ # Output only. Name of the environment.
7363
+ # Corresponds to the JSON property `environment`
7364
+ # @return [String]
7365
+ attr_accessor :environment
7366
+
7367
+ def initialize(**args)
7368
+ update!(**args)
7369
+ end
7370
+
7371
+ # Update properties of this object
7372
+ def update!(**args)
7373
+ @attach_time = args[:attach_time] if args.key?(:attach_time)
7374
+ @environment = args[:environment] if args.key?(:environment)
7375
+ end
7376
+ end
7377
+
7378
+ # Represents a SecurityProfileEnvironmentAssociation resource.
7379
+ class GoogleCloudApigeeV1SecurityProfileEnvironmentAssociation
7380
+ include Google::Apis::Core::Hashable
7381
+
7382
+ # Output only. The time when environment was attached to the security profile.
7383
+ # Corresponds to the JSON property `attachTime`
7384
+ # @return [String]
7385
+ attr_accessor :attach_time
7386
+
7387
+ # Immutable. Name of the profile-environment association resource. Format:
7388
+ # organizations/`org`/securityProfiles/`profile`/environments/`env`
7389
+ # Corresponds to the JSON property `name`
7390
+ # @return [String]
7391
+ attr_accessor :name
7392
+
7393
+ # Revision ID of the security profile.
7394
+ # Corresponds to the JSON property `securityProfileRevisionId`
7395
+ # @return [Fixnum]
7396
+ attr_accessor :security_profile_revision_id
7397
+
7398
+ def initialize(**args)
7399
+ update!(**args)
7400
+ end
7401
+
7402
+ # Update properties of this object
7403
+ def update!(**args)
7404
+ @attach_time = args[:attach_time] if args.key?(:attach_time)
7405
+ @name = args[:name] if args.key?(:name)
7406
+ @security_profile_revision_id = args[:security_profile_revision_id] if args.key?(:security_profile_revision_id)
7407
+ end
7408
+ end
7409
+
7410
+ # Security configurations to manage scoring.
7411
+ class GoogleCloudApigeeV1SecurityProfileScoringConfig
7412
+ include Google::Apis::Core::Hashable
7413
+
7414
+ # Description of the config.
7415
+ # Corresponds to the JSON property `description`
7416
+ # @return [String]
7417
+ attr_accessor :description
7418
+
7419
+ # Path of the component config used for scoring.
7420
+ # Corresponds to the JSON property `scorePath`
7421
+ # @return [String]
7422
+ attr_accessor :score_path
7423
+
7424
+ # Title of the config.
7425
+ # Corresponds to the JSON property `title`
7426
+ # @return [String]
7427
+ attr_accessor :title
7428
+
7429
+ def initialize(**args)
7430
+ update!(**args)
7431
+ end
7432
+
7433
+ # Update properties of this object
7434
+ def update!(**args)
7435
+ @description = args[:description] if args.key?(:description)
7436
+ @score_path = args[:score_path] if args.key?(:score_path)
7437
+ @title = args[:title] if args.key?(:title)
7438
+ end
7439
+ end
7440
+
7441
+ # SecurityReport saves all the information about the created security report.
7442
+ class GoogleCloudApigeeV1SecurityReport
7443
+ include Google::Apis::Core::Hashable
7444
+
7445
+ # Creation time of the query.
7446
+ # Corresponds to the JSON property `created`
7447
+ # @return [String]
7448
+ attr_accessor :created
7449
+
7450
+ # Display Name specified by the user.
7451
+ # Corresponds to the JSON property `displayName`
7452
+ # @return [String]
7453
+ attr_accessor :display_name
7454
+
7455
+ # Hostname is available only when query is executed at host level.
7456
+ # Corresponds to the JSON property `envgroupHostname`
7457
+ # @return [String]
7458
+ attr_accessor :envgroup_hostname
7459
+
7460
+ # Error is set when query fails.
7461
+ # Corresponds to the JSON property `error`
7462
+ # @return [String]
7463
+ attr_accessor :error
7464
+
7465
+ # ExecutionTime is available only after the query is completed.
7466
+ # Corresponds to the JSON property `executionTime`
7467
+ # @return [String]
7468
+ attr_accessor :execution_time
7469
+
7470
+ # Metadata for the security report.
7471
+ # Corresponds to the JSON property `queryParams`
7472
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityReportMetadata]
7473
+ attr_accessor :query_params
7474
+
7475
+ # Report Definition ID.
7476
+ # Corresponds to the JSON property `reportDefinitionId`
7477
+ # @return [String]
7478
+ attr_accessor :report_definition_id
7479
+
7480
+ # Contains informations about the security report results.
7481
+ # Corresponds to the JSON property `result`
7482
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityReportResultMetadata]
7483
+ attr_accessor :result
7484
+
7485
+ # ResultFileSize is available only after the query is completed.
7486
+ # Corresponds to the JSON property `resultFileSize`
7487
+ # @return [String]
7488
+ attr_accessor :result_file_size
7489
+
7490
+ # ResultRows is available only after the query is completed.
7491
+ # Corresponds to the JSON property `resultRows`
7492
+ # @return [Fixnum]
7493
+ attr_accessor :result_rows
7494
+
7495
+ # Self link of the query. Example: `/organizations/myorg/environments/myenv/
7496
+ # securityReports/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd` or following format if
7497
+ # query is running at host level: `/organizations/myorg/hostSecurityReports/
7498
+ # 9cfc0d85-0f30-46d6-ae6f-318d0cb961bd`
7499
+ # Corresponds to the JSON property `self`
7500
+ # @return [String]
7501
+ attr_accessor :self
7502
+
7503
+ # Query state could be "enqueued", "running", "completed", "failed".
7504
+ # Corresponds to the JSON property `state`
7505
+ # @return [String]
7506
+ attr_accessor :state
7507
+
7508
+ # Output only. Last updated timestamp for the query.
7509
+ # Corresponds to the JSON property `updated`
7510
+ # @return [String]
7511
+ attr_accessor :updated
7512
+
7513
+ def initialize(**args)
7514
+ update!(**args)
7515
+ end
7516
+
7517
+ # Update properties of this object
7518
+ def update!(**args)
7519
+ @created = args[:created] if args.key?(:created)
7520
+ @display_name = args[:display_name] if args.key?(:display_name)
7521
+ @envgroup_hostname = args[:envgroup_hostname] if args.key?(:envgroup_hostname)
7522
+ @error = args[:error] if args.key?(:error)
7523
+ @execution_time = args[:execution_time] if args.key?(:execution_time)
7524
+ @query_params = args[:query_params] if args.key?(:query_params)
7525
+ @report_definition_id = args[:report_definition_id] if args.key?(:report_definition_id)
7526
+ @result = args[:result] if args.key?(:result)
7527
+ @result_file_size = args[:result_file_size] if args.key?(:result_file_size)
7528
+ @result_rows = args[:result_rows] if args.key?(:result_rows)
7529
+ @self = args[:self] if args.key?(:self)
7530
+ @state = args[:state] if args.key?(:state)
7531
+ @updated = args[:updated] if args.key?(:updated)
7532
+ end
7533
+ end
7534
+
7535
+ # Metadata for the security report.
7536
+ class GoogleCloudApigeeV1SecurityReportMetadata
7537
+ include Google::Apis::Core::Hashable
7538
+
7539
+ # Dimensions of the SecurityReport.
7540
+ # Corresponds to the JSON property `dimensions`
7541
+ # @return [Array<String>]
7542
+ attr_accessor :dimensions
7543
+
7544
+ # End timestamp of the query range.
7545
+ # Corresponds to the JSON property `endTimestamp`
7546
+ # @return [String]
7547
+ attr_accessor :end_timestamp
7548
+
7549
+ # Metrics of the SecurityReport. Example: ["name:bot_count,func:sum,alias:
7550
+ # sum_bot_count"]
7551
+ # Corresponds to the JSON property `metrics`
7552
+ # @return [Array<String>]
7553
+ attr_accessor :metrics
7554
+
7555
+ # MIME type / Output format.
7556
+ # Corresponds to the JSON property `mimeType`
7557
+ # @return [String]
7558
+ attr_accessor :mime_type
7559
+
7560
+ # Start timestamp of the query range.
7561
+ # Corresponds to the JSON property `startTimestamp`
7562
+ # @return [String]
7563
+ attr_accessor :start_timestamp
7564
+
7565
+ # Query GroupBy time unit. Example: "seconds", "minute", "hour"
7566
+ # Corresponds to the JSON property `timeUnit`
7567
+ # @return [String]
7568
+ attr_accessor :time_unit
7569
+
7570
+ def initialize(**args)
7571
+ update!(**args)
7572
+ end
7573
+
7574
+ # Update properties of this object
7575
+ def update!(**args)
7576
+ @dimensions = args[:dimensions] if args.key?(:dimensions)
7577
+ @end_timestamp = args[:end_timestamp] if args.key?(:end_timestamp)
7578
+ @metrics = args[:metrics] if args.key?(:metrics)
7579
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
7580
+ @start_timestamp = args[:start_timestamp] if args.key?(:start_timestamp)
7581
+ @time_unit = args[:time_unit] if args.key?(:time_unit)
7582
+ end
7583
+ end
7584
+
7585
+ # Body structure when user makes a request to create a security report.
7586
+ class GoogleCloudApigeeV1SecurityReportQuery
7587
+ include Google::Apis::Core::Hashable
7588
+
7589
+ # Delimiter used in the CSV file, if `outputFormat` is set to `csv`. Defaults to
7590
+ # the `,` (comma) character. Supported delimiter characters include comma (`,`),
7591
+ # pipe (`|`), and tab (`\t`).
7592
+ # Corresponds to the JSON property `csvDelimiter`
7593
+ # @return [String]
7594
+ attr_accessor :csv_delimiter
7595
+
7596
+ # A list of dimensions. https://docs.apigee.com/api-platform/analytics/analytics-
7597
+ # reference#dimensions
7598
+ # Corresponds to the JSON property `dimensions`
7599
+ # @return [Array<String>]
7600
+ attr_accessor :dimensions
7601
+
7602
+ # Security Report display name which users can specify.
7603
+ # Corresponds to the JSON property `displayName`
7604
+ # @return [String]
7605
+ attr_accessor :display_name
7606
+
7607
+ # Hostname needs to be specified if query intends to run at host level. This
7608
+ # field is only allowed when query is submitted by CreateHostSecurityReport
7609
+ # where analytics data will be grouped by organization and hostname.
7610
+ # Corresponds to the JSON property `envgroupHostname`
7611
+ # @return [String]
7612
+ attr_accessor :envgroup_hostname
7613
+
7614
+ # Boolean expression that can be used to filter data. Filter expressions can be
7615
+ # combined using AND/OR terms and should be fully parenthesized to avoid
7616
+ # ambiguity. See Analytics metrics, dimensions, and filters reference https://
7617
+ # docs.apigee.com/api-platform/analytics/analytics-reference for more
7618
+ # information on the fields available to filter on. For more information on the
7619
+ # tokens that you use to build filter expressions, see Filter expression syntax.
7620
+ # https://docs.apigee.com/api-platform/analytics/asynch-reports-api#filter-
7621
+ # expression-syntax
7622
+ # Corresponds to the JSON property `filter`
7623
+ # @return [String]
7624
+ attr_accessor :filter
7625
+
7626
+ # Time unit used to group the result set. Valid values include: second, minute,
7627
+ # hour, day, week, or month. If a query includes groupByTimeUnit, then the
7628
+ # result is an aggregation based on the specified time unit and the resultant
7629
+ # timestamp does not include milliseconds precision. If a query omits
7630
+ # groupByTimeUnit, then the resultant timestamp includes milliseconds precision.
7631
+ # Corresponds to the JSON property `groupByTimeUnit`
7632
+ # @return [String]
7633
+ attr_accessor :group_by_time_unit
7634
+
7635
+ # Maximum number of rows that can be returned in the result.
7636
+ # Corresponds to the JSON property `limit`
7637
+ # @return [Fixnum]
7638
+ attr_accessor :limit
7639
+
7640
+ # A list of Metrics.
7641
+ # Corresponds to the JSON property `metrics`
7642
+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityReportQueryMetric>]
7643
+ attr_accessor :metrics
7644
+
7645
+ # Valid values include: `csv` or `json`. Defaults to `json`. Note: Configure the
7646
+ # delimiter for CSV output using the csvDelimiter property.
7647
+ # Corresponds to the JSON property `mimeType`
7648
+ # @return [String]
7649
+ attr_accessor :mime_type
7650
+
7651
+ # Report Definition ID.
7652
+ # Corresponds to the JSON property `reportDefinitionId`
7653
+ # @return [String]
7654
+ attr_accessor :report_definition_id
7655
+
7656
+ # Required. Time range for the query. Can use the following predefined strings
7657
+ # to specify the time range: `last60minutes` `last24hours` `last7days` Or,
7658
+ # specify the timeRange as a structure describing start and end timestamps in
7659
+ # the ISO format: yyyy-mm-ddThh:mm:ssZ. Example: "timeRange": ` "start": "2018-
7660
+ # 07-29T00:13:00Z", "end": "2018-08-01T00:18:00Z" `
7661
+ # Corresponds to the JSON property `timeRange`
7662
+ # @return [Object]
7663
+ attr_accessor :time_range
7664
+
7665
+ def initialize(**args)
7666
+ update!(**args)
7667
+ end
7668
+
7669
+ # Update properties of this object
7670
+ def update!(**args)
7671
+ @csv_delimiter = args[:csv_delimiter] if args.key?(:csv_delimiter)
7672
+ @dimensions = args[:dimensions] if args.key?(:dimensions)
7673
+ @display_name = args[:display_name] if args.key?(:display_name)
7674
+ @envgroup_hostname = args[:envgroup_hostname] if args.key?(:envgroup_hostname)
7675
+ @filter = args[:filter] if args.key?(:filter)
7676
+ @group_by_time_unit = args[:group_by_time_unit] if args.key?(:group_by_time_unit)
7677
+ @limit = args[:limit] if args.key?(:limit)
7678
+ @metrics = args[:metrics] if args.key?(:metrics)
7679
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
7680
+ @report_definition_id = args[:report_definition_id] if args.key?(:report_definition_id)
7681
+ @time_range = args[:time_range] if args.key?(:time_range)
7682
+ end
7683
+ end
7684
+
7685
+ # Metric of the Query
7686
+ class GoogleCloudApigeeV1SecurityReportQueryMetric
7687
+ include Google::Apis::Core::Hashable
7688
+
7689
+ # Aggregation function: avg, min, max, or sum.
7690
+ # Corresponds to the JSON property `aggregationFunction`
7691
+ # @return [String]
7692
+ attr_accessor :aggregation_function
7693
+
7694
+ # Alias for the metric. Alias will be used to replace metric name in query
7695
+ # results.
7696
+ # Corresponds to the JSON property `alias`
7697
+ # @return [String]
7698
+ attr_accessor :alias
7699
+
7700
+ # Required. Metric name.
7701
+ # Corresponds to the JSON property `name`
7702
+ # @return [String]
7703
+ attr_accessor :name
7704
+
7705
+ # One of `+`, `-`, `/`, `%`, `*`.
7706
+ # Corresponds to the JSON property `operator`
7707
+ # @return [String]
7708
+ attr_accessor :operator
7709
+
7710
+ # Operand value should be provided when operator is set.
7711
+ # Corresponds to the JSON property `value`
7712
+ # @return [String]
7713
+ attr_accessor :value
7714
+
7715
+ def initialize(**args)
7716
+ update!(**args)
7717
+ end
7718
+
7719
+ # Update properties of this object
7720
+ def update!(**args)
7721
+ @aggregation_function = args[:aggregation_function] if args.key?(:aggregation_function)
7722
+ @alias = args[:alias] if args.key?(:alias)
7723
+ @name = args[:name] if args.key?(:name)
7724
+ @operator = args[:operator] if args.key?(:operator)
7725
+ @value = args[:value] if args.key?(:value)
7726
+ end
7727
+ end
7728
+
7729
+ # Contains informations about the security report results.
7730
+ class GoogleCloudApigeeV1SecurityReportResultMetadata
7731
+ include Google::Apis::Core::Hashable
7732
+
7733
+ # Output only. Expire_time is set to 7 days after report creation. Query result
7734
+ # will be unaccessable after this time. Example: "2021-05-04T13:38:52-07:00"
7735
+ # Corresponds to the JSON property `expires`
7736
+ # @return [String]
7737
+ attr_accessor :expires
7738
+
7739
+ # Self link of the query results. Example: `/organizations/myorg/environments/
7740
+ # myenv/securityReports/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd/result` or
7741
+ # following format if query is running at host level: `/organizations/myorg/
7742
+ # hostSecurityReports/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd/result`
7743
+ # Corresponds to the JSON property `self`
7744
+ # @return [String]
7745
+ attr_accessor :self
7746
+
7747
+ def initialize(**args)
7748
+ update!(**args)
7749
+ end
7750
+
7751
+ # Update properties of this object
7752
+ def update!(**args)
7753
+ @expires = args[:expires] if args.key?(:expires)
7754
+ @self = args[:self] if args.key?(:self)
7755
+ end
7756
+ end
7757
+
7758
+ # The response for security report result view APIs.
7759
+ class GoogleCloudApigeeV1SecurityReportResultView
7760
+ include Google::Apis::Core::Hashable
7761
+
7762
+ # Error code when there is a failure.
7763
+ # Corresponds to the JSON property `code`
7764
+ # @return [Fixnum]
7765
+ attr_accessor :code
7766
+
7767
+ # Error message when there is a failure.
7768
+ # Corresponds to the JSON property `error`
7769
+ # @return [String]
7770
+ attr_accessor :error
7771
+
7772
+ # Metadata for the security report.
7773
+ # Corresponds to the JSON property `metadata`
7774
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityReportMetadata]
7775
+ attr_accessor :metadata
7776
+
7777
+ # Rows of security report result. Each row is a JSON object. Example: `sum(
7778
+ # message_count): 1, developer_app: "(not set)",…`
7779
+ # Corresponds to the JSON property `rows`
7780
+ # @return [Array<Object>]
7781
+ attr_accessor :rows
7782
+
7783
+ # State of retrieving ResultView.
7784
+ # Corresponds to the JSON property `state`
7785
+ # @return [String]
7786
+ attr_accessor :state
7787
+
7788
+ def initialize(**args)
7789
+ update!(**args)
7790
+ end
7791
+
7792
+ # Update properties of this object
7793
+ def update!(**args)
7794
+ @code = args[:code] if args.key?(:code)
7795
+ @error = args[:error] if args.key?(:error)
7796
+ @metadata = args[:metadata] if args.key?(:metadata)
7797
+ @rows = args[:rows] if args.key?(:rows)
7798
+ @state = args[:state] if args.key?(:state)
7799
+ end
7800
+ end
7801
+
7802
+ #
7803
+ class GoogleCloudApigeeV1ServiceIssuersMapping
7804
+ include Google::Apis::Core::Hashable
7805
+
7806
+ # List of trusted issuer email ids.
7807
+ # Corresponds to the JSON property `emailIds`
7808
+ # @return [Array<String>]
7809
+ attr_accessor :email_ids
7810
+
7811
+ # String indicating the Apigee service name.
7812
+ # Corresponds to the JSON property `service`
7813
+ # @return [String]
7814
+ attr_accessor :service
7815
+
7816
+ def initialize(**args)
7817
+ update!(**args)
7818
+ end
7819
+
7820
+ # Update properties of this object
7821
+ def update!(**args)
7822
+ @email_ids = args[:email_ids] if args.key?(:email_ids)
7823
+ @service = args[:service] if args.key?(:service)
7824
+ end
7825
+ end
7826
+
7827
+ # Session carries the debug session id and its creation time.
7828
+ class GoogleCloudApigeeV1Session
7829
+ include Google::Apis::Core::Hashable
7830
+
7831
+ # The debug session ID.
7832
+ # Corresponds to the JSON property `id`
7833
+ # @return [String]
7834
+ attr_accessor :id
7835
+
7836
+ # The first transaction creation timestamp in millisecond, recorded by UAP.
7837
+ # Corresponds to the JSON property `timestampMs`
7838
+ # @return [Fixnum]
7839
+ attr_accessor :timestamp_ms
7840
+
7841
+ def initialize(**args)
7842
+ update!(**args)
7843
+ end
7844
+
7845
+ # Update properties of this object
7846
+ def update!(**args)
7847
+ @id = args[:id] if args.key?(:id)
7848
+ @timestamp_ms = args[:timestamp_ms] if args.key?(:timestamp_ms)
7849
+ end
7850
+ end
7851
+
7852
+ # Request for SetAddons.
7853
+ class GoogleCloudApigeeV1SetAddonsRequest
7854
+ include Google::Apis::Core::Hashable
7855
+
7856
+ # Add-on configurations for the Apigee organization.
7857
+ # Corresponds to the JSON property `addonsConfig`
7858
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1AddonsConfig]
7859
+ attr_accessor :addons_config
7860
+
7861
+ def initialize(**args)
7862
+ update!(**args)
7863
+ end
7864
+
7865
+ # Update properties of this object
7866
+ def update!(**args)
7867
+ @addons_config = args[:addons_config] if args.key?(:addons_config)
7868
+ end
7869
+ end
7870
+
7871
+ # The metadata describing a shared flow
7872
+ class GoogleCloudApigeeV1SharedFlow
7873
+ include Google::Apis::Core::Hashable
7874
+
7875
+ # The id of the most recently created revision for this shared flow.
7876
+ # Corresponds to the JSON property `latestRevisionId`
7877
+ # @return [String]
7878
+ attr_accessor :latest_revision_id
7879
+
7880
+ # Metadata common to many entities in this API.
7881
+ # Corresponds to the JSON property `metaData`
7882
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1EntityMetadata]
7883
+ attr_accessor :meta_data
7884
+
7885
+ # The ID of the shared flow.
7886
+ # Corresponds to the JSON property `name`
7887
+ # @return [String]
7888
+ attr_accessor :name
7889
+
7890
+ # A list of revisions of this shared flow.
7891
+ # Corresponds to the JSON property `revision`
7892
+ # @return [Array<String>]
7893
+ attr_accessor :revision
7894
+
7895
+ def initialize(**args)
7896
+ update!(**args)
7897
+ end
7898
+
7899
+ # Update properties of this object
7900
+ def update!(**args)
7901
+ @latest_revision_id = args[:latest_revision_id] if args.key?(:latest_revision_id)
7902
+ @meta_data = args[:meta_data] if args.key?(:meta_data)
7903
+ @name = args[:name] if args.key?(:name)
7904
+ @revision = args[:revision] if args.key?(:revision)
7905
+ end
7906
+ end
7907
+
7908
+ # The metadata describing a shared flow revision.
7909
+ class GoogleCloudApigeeV1SharedFlowRevision
7910
+ include Google::Apis::Core::Hashable
7911
+
7912
+ # Version of the API proxy configuration schema. Currently, only 4.0 is
7913
+ # supported.
7914
+ # Corresponds to the JSON property `configurationVersion`
7915
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ConfigVersion]
7916
+ attr_accessor :configuration_version
7917
+
7918
+ # A textual description of the shared flow revision.
7919
+ # Corresponds to the JSON property `contextInfo`
7920
+ # @return [String]
7921
+ attr_accessor :context_info
7922
+
7923
+ # Time at which this shared flow revision was created, in milliseconds since
7924
+ # epoch.
7925
+ # Corresponds to the JSON property `createdAt`
7926
+ # @return [Fixnum]
7927
+ attr_accessor :created_at
7928
+
7929
+ # Description of the shared flow revision.
7930
+ # Corresponds to the JSON property `description`
7931
+ # @return [String]
7932
+ attr_accessor :description
7933
+
7934
+ # The human readable name of this shared flow.
7935
+ # Corresponds to the JSON property `displayName`
7936
+ # @return [String]
7937
+ attr_accessor :display_name
7938
+
7939
+ # A Key-Value map of metadata about this shared flow revision.
7940
+ # Corresponds to the JSON property `entityMetaDataAsProperties`
7941
+ # @return [Hash<String,String>]
7942
+ attr_accessor :entity_meta_data_as_properties
7943
+
7944
+ # Time at which this shared flow revision was most recently modified, in
7945
+ # milliseconds since epoch.
7946
+ # Corresponds to the JSON property `lastModifiedAt`
7947
+ # @return [Fixnum]
7948
+ attr_accessor :last_modified_at
7949
+
7950
+ # The resource ID of the parent shared flow.
7951
+ # Corresponds to the JSON property `name`
7952
+ # @return [String]
7953
+ attr_accessor :name
7954
+
7955
+ # A list of policy names included in this shared flow revision.
7956
+ # Corresponds to the JSON property `policies`
7957
+ # @return [Array<String>]
7958
+ attr_accessor :policies
7959
+
7960
+ # List of resource files.
7961
+ # Corresponds to the JSON property `resourceFiles`
7058
7962
  # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ResourceFiles]
7059
7963
  attr_accessor :resource_files
7060
7964
 
@@ -8321,6 +9225,36 @@ module Google
8321
9225
  end
8322
9226
  end
8323
9227
 
9228
+ # Represents a time interval, encoded as a Timestamp start (inclusive) and a
9229
+ # Timestamp end (exclusive). The start must be less than or equal to the end.
9230
+ # When the start equals the end, the interval is empty (matches no time). When
9231
+ # both start and end are unspecified, the interval matches any time.
9232
+ class GoogleTypeInterval
9233
+ include Google::Apis::Core::Hashable
9234
+
9235
+ # Optional. Exclusive end of the interval. If specified, a Timestamp matching
9236
+ # this interval will have to be before the end.
9237
+ # Corresponds to the JSON property `endTime`
9238
+ # @return [String]
9239
+ attr_accessor :end_time
9240
+
9241
+ # Optional. Inclusive start of the interval. If specified, a Timestamp matching
9242
+ # this interval will have to be the same or after the start.
9243
+ # Corresponds to the JSON property `startTime`
9244
+ # @return [String]
9245
+ attr_accessor :start_time
9246
+
9247
+ def initialize(**args)
9248
+ update!(**args)
9249
+ end
9250
+
9251
+ # Update properties of this object
9252
+ def update!(**args)
9253
+ @end_time = args[:end_time] if args.key?(:end_time)
9254
+ @start_time = args[:start_time] if args.key?(:start_time)
9255
+ end
9256
+ end
9257
+
8324
9258
  # Represents an amount of money with its currency type.
8325
9259
  class GoogleTypeMoney
8326
9260
  include Google::Apis::Core::Hashable