311 lines
12 KiB
Ruby
311 lines
12 KiB
Ruby
|
# Copyright 2020 Google LLC
|
|||
|
#
|
|||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|||
|
# you may not use this file except in compliance with the License.
|
|||
|
# You may obtain a copy of the License at
|
|||
|
#
|
|||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|||
|
#
|
|||
|
# Unless required by applicable law or agreed to in writing, software
|
|||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||
|
# See the License for the specific language governing permissions and
|
|||
|
# limitations under the License.
|
|||
|
|
|||
|
require 'date'
|
|||
|
require 'google/apis/core/base_service'
|
|||
|
require 'google/apis/core/json_representation'
|
|||
|
require 'google/apis/core/hashable'
|
|||
|
require 'google/apis/errors'
|
|||
|
|
|||
|
module Google
|
|||
|
module Apis
|
|||
|
module GmailpostmastertoolsV1beta1
|
|||
|
|
|||
|
# Metric on a particular delivery error type.
|
|||
|
class DeliveryError
|
|||
|
include Google::Apis::Core::Hashable
|
|||
|
|
|||
|
# The class of delivery error.
|
|||
|
# Corresponds to the JSON property `errorClass`
|
|||
|
# @return [String]
|
|||
|
attr_accessor :error_class
|
|||
|
|
|||
|
# The ratio of messages where the error occurred vs all authenticated traffic.
|
|||
|
# Corresponds to the JSON property `errorRatio`
|
|||
|
# @return [Float]
|
|||
|
attr_accessor :error_ratio
|
|||
|
|
|||
|
# The type of delivery error.
|
|||
|
# Corresponds to the JSON property `errorType`
|
|||
|
# @return [String]
|
|||
|
attr_accessor :error_type
|
|||
|
|
|||
|
def initialize(**args)
|
|||
|
update!(**args)
|
|||
|
end
|
|||
|
|
|||
|
# Update properties of this object
|
|||
|
def update!(**args)
|
|||
|
@error_class = args[:error_class] if args.key?(:error_class)
|
|||
|
@error_ratio = args[:error_ratio] if args.key?(:error_ratio)
|
|||
|
@error_type = args[:error_type] if args.key?(:error_type)
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
# A registered domain resource in the Postmaster API.
|
|||
|
class Domain
|
|||
|
include Google::Apis::Core::Hashable
|
|||
|
|
|||
|
# Timestamp when the user registered this domain. Assigned by the server.
|
|||
|
# Corresponds to the JSON property `createTime`
|
|||
|
# @return [String]
|
|||
|
attr_accessor :create_time
|
|||
|
|
|||
|
# The resource name of the Domain. Domain names have the form `domains/`
|
|||
|
# domain_name``, where domain_name is the fully qualified domain name (i.e.,
|
|||
|
# mymail.mydomain.com).
|
|||
|
# Corresponds to the JSON property `name`
|
|||
|
# @return [String]
|
|||
|
attr_accessor :name
|
|||
|
|
|||
|
# User’s permission for this domain. Assigned by the server.
|
|||
|
# Corresponds to the JSON property `permission`
|
|||
|
# @return [String]
|
|||
|
attr_accessor :permission
|
|||
|
|
|||
|
def initialize(**args)
|
|||
|
update!(**args)
|
|||
|
end
|
|||
|
|
|||
|
# Update properties of this object
|
|||
|
def update!(**args)
|
|||
|
@create_time = args[:create_time] if args.key?(:create_time)
|
|||
|
@name = args[:name] if args.key?(:name)
|
|||
|
@permission = args[:permission] if args.key?(:permission)
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
# [Feedback loop](https://support.google.com/mail/answer/6254652) identifier
|
|||
|
# information.
|
|||
|
class FeedbackLoop
|
|||
|
include Google::Apis::Core::Hashable
|
|||
|
|
|||
|
# Feedback loop identifier that uniquely identifies individual campaigns.
|
|||
|
# Corresponds to the JSON property `id`
|
|||
|
# @return [String]
|
|||
|
attr_accessor :id
|
|||
|
|
|||
|
# The ratio of user marked spam messages with the identifier vs the total number
|
|||
|
# of inboxed messages with that identifier.
|
|||
|
# Corresponds to the JSON property `spamRatio`
|
|||
|
# @return [Float]
|
|||
|
attr_accessor :spam_ratio
|
|||
|
|
|||
|
def initialize(**args)
|
|||
|
update!(**args)
|
|||
|
end
|
|||
|
|
|||
|
# Update properties of this object
|
|||
|
def update!(**args)
|
|||
|
@id = args[:id] if args.key?(:id)
|
|||
|
@spam_ratio = args[:spam_ratio] if args.key?(:spam_ratio)
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
# IP Reputation information for a set of IPs in a specific reputation category.
|
|||
|
class IpReputation
|
|||
|
include Google::Apis::Core::Hashable
|
|||
|
|
|||
|
# Total number of unique IPs in this reputation category. This metric only
|
|||
|
# pertains to traffic that passed [SPF](http://www.openspf.org/) or [DKIM](http:/
|
|||
|
# /www.dkim.org/).
|
|||
|
# Corresponds to the JSON property `ipCount`
|
|||
|
# @return [Fixnum]
|
|||
|
attr_accessor :ip_count
|
|||
|
|
|||
|
# Total number of unique IPs in this reputation category. This metric only
|
|||
|
# pertains to traffic that passed [SPF](http://www.openspf.org/) or [DKIM](http:/
|
|||
|
# /www.dkim.org/). Deprecated to be complied with ApiLinter for Quantities. Use
|
|||
|
# ip_count instead.
|
|||
|
# Corresponds to the JSON property `numIps`
|
|||
|
# @return [Fixnum]
|
|||
|
attr_accessor :num_ips
|
|||
|
|
|||
|
# The reputation category this IP reputation represents.
|
|||
|
# Corresponds to the JSON property `reputation`
|
|||
|
# @return [String]
|
|||
|
attr_accessor :reputation
|
|||
|
|
|||
|
# A sample of IPs in this reputation category.
|
|||
|
# Corresponds to the JSON property `sampleIps`
|
|||
|
# @return [Array<String>]
|
|||
|
attr_accessor :sample_ips
|
|||
|
|
|||
|
def initialize(**args)
|
|||
|
update!(**args)
|
|||
|
end
|
|||
|
|
|||
|
# Update properties of this object
|
|||
|
def update!(**args)
|
|||
|
@ip_count = args[:ip_count] if args.key?(:ip_count)
|
|||
|
@num_ips = args[:num_ips] if args.key?(:num_ips)
|
|||
|
@reputation = args[:reputation] if args.key?(:reputation)
|
|||
|
@sample_ips = args[:sample_ips] if args.key?(:sample_ips)
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
# Response message for ListDomains.
|
|||
|
class ListDomainsResponse
|
|||
|
include Google::Apis::Core::Hashable
|
|||
|
|
|||
|
# The list of domains.
|
|||
|
# Corresponds to the JSON property `domains`
|
|||
|
# @return [Array<Google::Apis::GmailpostmastertoolsV1beta1::Domain>]
|
|||
|
attr_accessor :domains
|
|||
|
|
|||
|
# Token to retrieve the next page of results, or empty if there are no more
|
|||
|
# results in the list.
|
|||
|
# Corresponds to the JSON property `nextPageToken`
|
|||
|
# @return [String]
|
|||
|
attr_accessor :next_page_token
|
|||
|
|
|||
|
def initialize(**args)
|
|||
|
update!(**args)
|
|||
|
end
|
|||
|
|
|||
|
# Update properties of this object
|
|||
|
def update!(**args)
|
|||
|
@domains = args[:domains] if args.key?(:domains)
|
|||
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
# Response message for ListTrafficStats.
|
|||
|
class ListTrafficStatsResponse
|
|||
|
include Google::Apis::Core::Hashable
|
|||
|
|
|||
|
# Token to retrieve the next page of results, or empty if there are no more
|
|||
|
# results in the list.
|
|||
|
# Corresponds to the JSON property `nextPageToken`
|
|||
|
# @return [String]
|
|||
|
attr_accessor :next_page_token
|
|||
|
|
|||
|
# The list of TrafficStats.
|
|||
|
# Corresponds to the JSON property `trafficStats`
|
|||
|
# @return [Array<Google::Apis::GmailpostmastertoolsV1beta1::TrafficStats>]
|
|||
|
attr_accessor :traffic_stats
|
|||
|
|
|||
|
def initialize(**args)
|
|||
|
update!(**args)
|
|||
|
end
|
|||
|
|
|||
|
# Update properties of this object
|
|||
|
def update!(**args)
|
|||
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|||
|
@traffic_stats = args[:traffic_stats] if args.key?(:traffic_stats)
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
# Email traffic statistics pertaining to a specific date.
|
|||
|
class TrafficStats
|
|||
|
include Google::Apis::Core::Hashable
|
|||
|
|
|||
|
# Delivery errors for the domain. This metric only pertains to traffic that
|
|||
|
# passed [SPF](http://www.openspf.org/) or [DKIM](http://www.dkim.org/).
|
|||
|
# Corresponds to the JSON property `deliveryErrors`
|
|||
|
# @return [Array<Google::Apis::GmailpostmastertoolsV1beta1::DeliveryError>]
|
|||
|
attr_accessor :delivery_errors
|
|||
|
|
|||
|
# The ratio of mail that successfully authenticated with DKIM vs. all mail that
|
|||
|
# attempted to authenticate with [DKIM](http://www.dkim.org/). Spoofed mail is
|
|||
|
# excluded.
|
|||
|
# Corresponds to the JSON property `dkimSuccessRatio`
|
|||
|
# @return [Float]
|
|||
|
attr_accessor :dkim_success_ratio
|
|||
|
|
|||
|
# The ratio of mail that passed [DMARC](https://dmarc.org/) alignment checks vs
|
|||
|
# all mail received from the domain that successfully authenticated with either
|
|||
|
# of [SPF](http://www.openspf.org/) or [DKIM](http://www.dkim.org/).
|
|||
|
# Corresponds to the JSON property `dmarcSuccessRatio`
|
|||
|
# @return [Float]
|
|||
|
attr_accessor :dmarc_success_ratio
|
|||
|
|
|||
|
# Reputation of the domain.
|
|||
|
# Corresponds to the JSON property `domainReputation`
|
|||
|
# @return [String]
|
|||
|
attr_accessor :domain_reputation
|
|||
|
|
|||
|
# The ratio of incoming mail (to Gmail), that passed secure transport (TLS) vs
|
|||
|
# all mail received from that domain. This metric only pertains to traffic that
|
|||
|
# passed [SPF](http://www.openspf.org/) or [DKIM](http://www.dkim.org/).
|
|||
|
# Corresponds to the JSON property `inboundEncryptionRatio`
|
|||
|
# @return [Float]
|
|||
|
attr_accessor :inbound_encryption_ratio
|
|||
|
|
|||
|
# Reputation information pertaining to the IP addresses of the email servers for
|
|||
|
# the domain. There is exactly one entry for each reputation category except
|
|||
|
# REPUTATION_CATEGORY_UNSPECIFIED.
|
|||
|
# Corresponds to the JSON property `ipReputations`
|
|||
|
# @return [Array<Google::Apis::GmailpostmastertoolsV1beta1::IpReputation>]
|
|||
|
attr_accessor :ip_reputations
|
|||
|
|
|||
|
# The resource name of the traffic statistics. Traffic statistic names have the
|
|||
|
# form `domains/`domain`/trafficStats/`date``, where domain_name is the fully
|
|||
|
# qualified domain name (i.e., mymail.mydomain.com) of the domain this traffic
|
|||
|
# statistics pertains to and date is the date in yyyymmdd format that these
|
|||
|
# statistics corresponds to. For example: domains/mymail.mydomain.com/
|
|||
|
# trafficStats/20160807
|
|||
|
# Corresponds to the JSON property `name`
|
|||
|
# @return [String]
|
|||
|
attr_accessor :name
|
|||
|
|
|||
|
# The ratio of outgoing mail (from Gmail) that was accepted over secure
|
|||
|
# transport (TLS).
|
|||
|
# Corresponds to the JSON property `outboundEncryptionRatio`
|
|||
|
# @return [Float]
|
|||
|
attr_accessor :outbound_encryption_ratio
|
|||
|
|
|||
|
# Spammy [Feedback loop identifiers] (https://support.google.com/mail/answer/
|
|||
|
# 6254652) with their individual spam rates. This metric only pertains to
|
|||
|
# traffic that is authenticated by [DKIM](http://www.dkim.org/).
|
|||
|
# Corresponds to the JSON property `spammyFeedbackLoops`
|
|||
|
# @return [Array<Google::Apis::GmailpostmastertoolsV1beta1::FeedbackLoop>]
|
|||
|
attr_accessor :spammy_feedback_loops
|
|||
|
|
|||
|
# The ratio of mail that successfully authenticated with SPF vs. all mail that
|
|||
|
# attempted to authenticate with [SPF](http://www.openspf.org/). Spoofed mail is
|
|||
|
# excluded.
|
|||
|
# Corresponds to the JSON property `spfSuccessRatio`
|
|||
|
# @return [Float]
|
|||
|
attr_accessor :spf_success_ratio
|
|||
|
|
|||
|
# The ratio of user-report spam vs. email that was sent to the inbox. This
|
|||
|
# metric only pertains to emails authenticated by [DKIM](http://www.dkim.org/).
|
|||
|
# Corresponds to the JSON property `userReportedSpamRatio`
|
|||
|
# @return [Float]
|
|||
|
attr_accessor :user_reported_spam_ratio
|
|||
|
|
|||
|
def initialize(**args)
|
|||
|
update!(**args)
|
|||
|
end
|
|||
|
|
|||
|
# Update properties of this object
|
|||
|
def update!(**args)
|
|||
|
@delivery_errors = args[:delivery_errors] if args.key?(:delivery_errors)
|
|||
|
@dkim_success_ratio = args[:dkim_success_ratio] if args.key?(:dkim_success_ratio)
|
|||
|
@dmarc_success_ratio = args[:dmarc_success_ratio] if args.key?(:dmarc_success_ratio)
|
|||
|
@domain_reputation = args[:domain_reputation] if args.key?(:domain_reputation)
|
|||
|
@inbound_encryption_ratio = args[:inbound_encryption_ratio] if args.key?(:inbound_encryption_ratio)
|
|||
|
@ip_reputations = args[:ip_reputations] if args.key?(:ip_reputations)
|
|||
|
@name = args[:name] if args.key?(:name)
|
|||
|
@outbound_encryption_ratio = args[:outbound_encryption_ratio] if args.key?(:outbound_encryption_ratio)
|
|||
|
@spammy_feedback_loops = args[:spammy_feedback_loops] if args.key?(:spammy_feedback_loops)
|
|||
|
@spf_success_ratio = args[:spf_success_ratio] if args.key?(:spf_success_ratio)
|
|||
|
@user_reported_spam_ratio = args[:user_reported_spam_ratio] if args.key?(:user_reported_spam_ratio)
|
|||
|
end
|
|||
|
end
|
|||
|
end
|
|||
|
end
|
|||
|
end
|